{"version":3,"file":"static/js/application.async.non-landing~41f9d08d.9342f7b0.chunk.js","mappings":"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,CACD,IAAO,KACP,MAAS,sBACR,CACD,IAAO,MACP,MAAS,qBACR,CACD,IAAO,MACP,MAAS,gBACR,CACD,IAAO,MACP,MAAS,4BACR,CACD,IAAO,aACP,MAAS,YACR,CACD,IAAO,OACP,MAAS,yBACR,CACD,IAAO,OACP,MAAS,iCACR,CACD,IAAO,KACP,MAAS,qBACR,CACD,IAAO,OACP,MAAS,QAEX,OAAU,CAAC,CACT,IAAO,IACP,MAAS,QACR,CACD,IAAO,IACP,MAAS,UACR,CACD,IAAO,IACP,MAAS,eACR,CACD,IAAO,KACP,MAAS,aACR,CACD,IAAO,KACP,MAAS,yBACR,CACD,IAAO,KACP,MAAS,gBACR,CACD,IAAO,MACP,MAAS,WACR,CACD,IAAO,MACP,MAAS,cACR,CACD,IAAO,OACP,MAAS,gBACR,CACD,IAAO,MACP,MAAS,kBAEX,gBAAmB,CAAC,CAClB,IAAO,IACP,MAAS,YACR,CACD,IAAO,IACP,MAAS,UACR,CACD,IAAO,IACP,MAAS,UACR,CACD,IAAO,IACP,MAAS,YAEX,iBAAoB,CAAC,CACnB,IAAO,IACP,MAAS,UACR,CACD,IAAO,IACP,MAAS,SAGb,kBAAqB,KACrB,oBAAuB,KACvB,eAAkB,KAClB,iBAAmB,EACnB,qBAAuB,EACvB,oBAAsB,GAExBC,kBAAmB,CACjB,QAAW,KACX,aAAe,EACf,WAAc,UACd,0BAA6B,CAC3B,IAAO,eACP,OAAU,eACV,WAAc,eACd,UAAa,eACb,YAAe,eACf,mBAAsB,gBACtB,YAAe,eACf,WAAc,gBACd,WAAc,gBACd,gBAAmB,eACnB,IAAO,eACP,iBAAoB,eACpB,eAAkB,eAClB,0BAA6B,eAC7B,WAAc,eACd,YAAe,eACf,WAAc,eACd,iBAAoB,eACpB,iBAAoB,eACpB,mBAAsB,eACtB,WAAc,eACd,aAAgB,cAChB,YAAe,cACf,iBAAoB,YACpB,eAAkB,YAClB,SAAY,mBACZ,wBAA2B,gBAC3B,eAAkB,eAClB,0BAA6B,eAC7B,cAAiB,eACjB,sBAAyB,eACzB,WAAc,eACd,UAAa,eACb,aAAgB,eAChB,kBAAqB,eACrB,OAAU,mBACV,2BAA8B,eAC9B,kBAAqB,eACrB,2BAA8B,eAC9B,yBAA4B,eAC5B,kBAAqB,eACrB,0BAA6B,eAC7B,iCAAoC,eACpC,0BAA6B,eAC7B,yBAA4B,eAC5B,uBAA0B,eAC1B,kCAAqC,eACrC,iCAAoC,eACpC,+BAAkC,gBAEpC,4BAA+B,CAC7B,YAAe,CAAC,WAAY,iBAAkB,aAAc,WAAY,QAAS,YACjF,cAAiB,CAAC,WAClB,aAAgB,CAAC,iBACjB,iBAAoB,CAAC,iBACrB,cAAiB,CAAC,UAAW,iBAAkB,OAAQ,cAAe,QAAS,YAC/E,aAAgB,CAAC,UAAW,iBAAkB,OAAQ,cAAe,QAAS,YAC9E,UAAa,CAAC,QAAS,WAAY,UAAW,iBAAkB,OAAQ,cAAe,WACvF,iBAAoB,CAAC,cAAe,cAAe,gBACnD,cAAiB,CAAC,SAClB,aAAgB,CAAC,SACjB,iBAAoB,CAAC,SACrB,mBAAsB,CAAC,aAEzB,oBAAuB,CACrB,eAAkB,iBAClB,SAAY,WACZ,0BAA6B,4BAC7B,cAAiB,gBACjB,2BAA8B,uBAEhC,iCAAoC,CAClC,SAAY,CAAC,CACX,IAAO,KACP,MAAS,MACR,CACD,IAAO,IACP,MAAS,QACR,CACD,IAAO,IACP,MAAS,UACR,CACD,IAAO,KACP,MAAS,UACR,CACD,IAAO,KACP,MAAS,SACR,CACD,IAAO,KACP,MAAS,UACR,CACD,IAAO,KACP,MAAS,WACR,CACD,IAAO,KACP,MAAS,WACR,CACD,IAAO,KACP,MAAS,UACR,CACD,IAAO,KACP,MAAS,WACR,CACD,IAAO,KACP,MAAS,aACR,CACD,IAAO,KACP,MAAS,cACR,CACD,IAAO,MACP,MAAS,WACR,CACD,IAAO,MACP,MAAS,WACR,CACD,IAAO,KACP,MAAS,sBACR,CACD,IAAO,MACP,MAAS,qBACR,CACD,IAAO,KACP,MAAS,SACR,CACD,IAAO,KACP,MAAS,UACR,CACD,IAAO,KACP,MAAS,aACR,CACD,IAAO,KACP,MAAS,SACR,CACD,IAAO,KACP,MAAS,YACR,CACD,IAAO,KACP,MAAS,YACR,CACD,IAAO,KACP,MAAS,aACR,CACD,IAAO,KACP,MAAS,cACR,CACD,IAAO,KACP,MAAS,WACR,CACD,IAAO,KACP,MAAS,WACR,CACD,IAAO,KACP,MAAS,YACR,CACD,IAAO,MACP,MAAS,UACR,CACD,IAAO,MACP,MAAS,aACR,CACD,IAAO,MACP,MAAS,WACR,CACD,IAAO,KACP,MAAS,WACR,CACD,IAAO,MACP,MAAS,WACR,CACD,IAAO,IACP,MAAS,YACR,CACD,IAAO,KACP,MAAS,cACR,CACD,IAAO,KACP,MAAS,aACR,CACD,IAAO,KACP,MAAS,YACR,CACD,IAAO,KACP,MAAS,UACR,CACD,IAAO,KACP,MAAS,WACR,CACD,IAAO,KACP,MAAS,SACR,CACD,IAAO,KACP,MAAS,SACR,CACD,IAAO,MACP,MAAS,QACR,CACD,IAAO,KACP,MAAS,cACR,CACD,IAAO,MACP,MAAS,WACR,CACD,IAAO,MACP,MAAS,eAEX,eAAkB,CAAC,CACjB,IAAO,KACP,MAAS,+BACR,CACD,IAAO,KACP,MAAS,wBACR,CACD,IAAO,KACP,MAAS,kBACR,CACD,IAAO,KACP,MAAS,gBACR,CACD,IAAO,KACP,MAAS,sBACR,CACD,IAAO,MACP,MAAS,qBACR,CACD,IAAO,aACP,MAAS,YACR,CACD,IAAO,KACP,MAAS,qBACR,CACD,IAAO,OACP,MAAS,OACR,CACD,IAAO,KACP,MAAS,6BACR,CACD,IAAO,KACP,MAAS,yBACR,CACD,IAAO,MACP,MAAS,iBACR,CACD,IAAO,MACP,MAAS,uBAEX,0BAA6B,CAAC,CAC5B,IAAO,IACP,MAAS,YACR,CACD,IAAO,IACP,MAAS,eACR,CACD,IAAO,IACP,MAAS,iBACR,CACD,IAAO,IACP,MAAS,uBACR,CACD,IAAO,IACP,MAAS,gBAEX,cAAiB,CAAC,CAChB,IAAO,MACP,MAAS,SACR,CACD,IAAO,MACP,MAAS,UACR,CACD,IAAO,MACP,MAAS,WACR,CACD,IAAO,MACP,MAAS,UACR,CACD,IAAO,MACP,MAAS,WACR,CACD,IAAO,MACP,MAAS,sBACR,CACD,IAAO,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","sources":["../../../node_modules/@bingads-webui-static-legacy/app/layout/index.js","../../../node_modules/@bingads-webui-static-legacy/extension/scrollTo.js","../../../node_modules/@bingads-webui-static-legacy/app/state/hotelcenter-dateFilter.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/copyPasteDescriptions.js","../../../node_modules/@bingads-webui-static-legacy/schema/account/deliveryStatus.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/bulkEdit/bulkEditi18n.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/model/audience/changeBid.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/model/audience/changeStatus.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/model/demographics/changeCashbackPercent.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/model/download/accountSelectionLists.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/model/shared/changeUrlOptions.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/view/demographics/changeCashbackPercent.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/view/escapeHelper.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/trackingTemplateActions.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/customParametersActions.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/entityProgressText.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/changeUrlOptions.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/changeUrlOptionsActions.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/finalUrlSuffixActions.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/entityTitleKeys.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/view/shared/customParams-inline.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/view/shared/changeUrlOptions.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/ad/actions.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/urlOptionsFields.js","../../../node_modules/@bingads-webui-static-legacy/cron/cron.js","../../../node_modules/@bingads-webui-static-legacy/double-list-box-datasource/doubleListBoxDataSource.js","../../../node_modules/@bingads-webui-static-legacy/wunderbar/data/schemas/new/AdGroup.js","../../../node_modules/@bingads-webui-static-legacy/wunderbar/data/models/adgroup.js","../../../node_modules/@bingads-webui-static-legacy/wunderbar/data/collections/adgroups.js","../../../node_modules/@bingads-webui-static-legacy/entity-service/EntityService.js","../../../node_modules/@bingads-webui-static-legacy/schema/adgroup/entityStatus.js","../../../node_modules/@bingads-webui-static-legacy/wunderbar/data/collections/adgroupsCollection.js","../../../node_modules/@bingads-webui-static-legacy/schema/campaign/entityStatus.js","../../../node_modules/@bingads-webui-static-legacy/schema/account/statusIconLabel.js","../../../node_modules/@bingads-webui-static-legacy/entity-selector-service/entitySelectorService.js","../../../node_modules/@bingads-webui-static-legacy/extension/ko/sectionItemBinding.js","../../../node_modules/@bingads-webui-static-legacy/schema/automatedRules/ruleAuthoringOptions.js","../../../node_modules/@bingads-webui-static-legacy/schema/bulkEdit/audienceChangeBidActions.js","../../../node_modules/@bingads-webui-static-legacy/schema/bulkEdit/textActionOptions.js","../../../node_modules/@bingads-webui-static-legacy/schema/bulkEdit/textActionProperties.js","../../../node_modules/@bingads-webui-static-legacy/schema/bulkEdit/textActionType.js","../../../node_modules/@bingads-webui-static-legacy/shared/viewmodel/doubleListBoxViewModel.js","../../../node_modules/@bingads-webui-static-legacy/shared/view/doubleListBox.js","../../../node_modules/@bingads-webui-static-legacy/shared/view/pager.js","../../../node_modules/@bingads-webui-static-legacy/shared/view/popup.js","../../../node_modules/@bingads-webui-static-legacy/shared/viewmodel/singleListBoxViewModel.js","../../../node_modules/@bingads-webui-static-legacy/shared/view/singleListBox.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/tagViewer.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/statusPoller.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/pollerTask.js","../../../node_modules/@bingads-webui-static-legacy/uet/viewmodel/uploadConversions/taskProgress.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/taskProgress.js","../../../node_modules/@bingads-webui-static-legacy/uet/viewmodel/uploadConversions/index.js","../../../node_modules/@bingads-webui-static-legacy/uet/viewmodel/uploadConversions/filePicker.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/templateFileUtil.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/filePicker.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/uploadFileTask.js","../../../node_modules/@bingads-webui-static-legacy/uet/viewmodel/uploadConversions/errorView.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/errorView.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/collaborator.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/modalManager.js","../../../node_modules/@bingads-webui-static-legacy/uet/view/uploadConversions/uploadConversions.js","../../../node_modules/@bingads-webui-static-legacy/walkme/model/index.js","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/template/demographics/changeCashbackPercent.pug","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/template/settings/changeBid.pug","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/template/shared/changeUrlOptions.pug","../../../node_modules/@bingads-webui-static-legacy/bulk-edit/template/targeting/changeCashbackPercent.pug","../../../node_modules/@bingads-webui-static-legacy/shared/template/SectionItem.pug","../../../node_modules/@bingads-webui-static-legacy/shared/template/doubleListBox/defaultLayout.pug","../../../node_modules/@bingads-webui-static-legacy/shared/template/doubleListBox/defaultSelectedItem.pug","../../../node_modules/@bingads-webui-static-legacy/shared/template/doubleListBox/defaultSourceItem.pug","../../../node_modules/@bingads-webui-static-legacy/shared/template/pager.pug","../../../node_modules/@bingads-webui-static-legacy/shared/template/singleListBox/defaultItem.pug","../../../node_modules/@bingads-webui-static-legacy/shared/template/singleListBox/defaultLayout.pug","../../../node_modules/@bingads-webui-static-legacy/static-resources/Migrated/template/2.0/pug/finalUrl-inline.pug","../../../node_modules/@bingads-webui-static-legacy/uet/template/dialog.pug","../../../node_modules/@bingads-webui-static-legacy/uet/template/tagViewerContent.pug","../../../node_modules/@bingads-webui-static-legacy/uet/template/tagViewerFooter.pug","../../../node_modules/@bingads-webui-static-legacy/uet/template/uploadConversions/errorView.pug","../../../node_modules/@bingads-webui-static-legacy/uet/template/uploadConversions/filePicker.pug","../../../node_modules/@bingads-webui-static-legacy/uet/template/uploadConversions/taskProgress.pug","../../../node_modules/@bingads-webui-static-legacy/uet/template/uploadConversions/uploadConversions.pug"],"sourcesContent":["/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport scrollTo from '@bingads-webui-static-legacy/extension/scrollTo';\r\nexport default {\r\n scrollTo: scrollTo\r\n};\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nexport default function scrollTo($e) {\r\n var $e = $($e), $nav = $('.navbar-fixed-top');\r\n if (!$e || $e.length < 1 || !$nav || $nav.length < 1) {\r\n return;\r\n }\r\n var offset = $e.offset();\r\n if (!offset) {\r\n return;\r\n }\r\n var navBarHeight = $nav.css('position') == 'absolute' ? 0 : 0 + $nav.outerHeight(), top = offset.top - navBarHeight, newTop = top < 0 ? 0 : top;\r\n window.scrollTo(0, newTop);\r\n}\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport _ from 'underscore';\r\nimport * as dateFilterPref from '@bingads-webui-component-legacy/bingads-grid/service/date-filter-preferences';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport dateUtils from '@bingads-webui-static-legacy/utils/date';\r\nimport metadata from '@bingads-webui-static-legacy/date-range-metadata';\r\nimport Promise from 'bluebird';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nfunction getFilterPromise(names) {\r\n return Promise.map(names, function (name) {\r\n return dateFilterPref.getDateFilterPreference(name).then(function () {\r\n var dateFilter = dateFilterPref.getDateFilter(name), today = dateUtils.date(dateUtils.accountTimeZoneNow()), range = dateFilter && dateFilter.dateFilters && dateFilter.dateFilters.primaryRange ? getPSTTime(dateFilter.dateFilters.primaryRange) : getDefaultRange(today), result;\r\n if (!(!!range.start && !!range.end) || !(range.start <= range.end && range.end <= today)) {\r\n range = getDefaultRange(today);\r\n }\r\n var lcid = !_.isEmpty(range) ? range.Rangelcid : 0;\r\n if (lcid > 0 && pageContext && pageContext.CurrentUser && lcid != pageContext.CurrentUser.Locale) {\r\n result = _.extend(getDefaultRange(today), {\r\n grain: 4\r\n });\r\n } else if (!!range.grain && !range.isCustom) {\r\n result = metadata.getRangeByGrainId(i18n, range.grain, null, null, today);\r\n } else if (!range.grain || !range.start || !range.end) {\r\n result = _.extend(getDefaultRange(today), {\r\n grain: 4\r\n });\r\n } else {\r\n result = range;\r\n }\r\n return {\r\n name: name,\r\n value: _.extend(result, {\r\n formattedStart: dateUtils.format(result.start),\r\n formattedEnd: dateUtils.format(result.end),\r\n formatedStart: dateUtils.format(result.start),\r\n formatedEnd: dateUtils.format(result.end),\r\n compared: range.comparedRange\r\n })\r\n };\r\n });\r\n });\r\n}\r\nfunction getDefaultRange(today) {\r\n return metadata.getRanges(i18n, null, null, today).thisMonth;\r\n}\r\nfunction getPSTTime(range) {\r\n range.start = new Date(range.start);\r\n range.end = new Date(range.end);\r\n return range;\r\n}\r\nexport default {\r\n getFilterPromise: getFilterPromise\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n actions: {\r\n 'Campaign': 'History_Description_Campaign_Copy',\r\n 'AdGroup': 'History_Description_AdGroup_Copy',\r\n 'Ad': 'History_Description_Ad_Copy',\r\n 'Keyword': 'History_Description_Keyword_Copy',\r\n 'AssetGroup': 'History_Description_AssetGroup_Copy'\r\n },\r\n args: {\r\n 'Bid/Amount': 'History_Description_Arg_Copy_IncludeBids',\r\n 'DestinationUrl': 'History_Description_Arg_Copy_IncludeDestinationURLs',\r\n 'Status': 'History_Description_Arg_Copy_PauseAfterPasting'\r\n },\r\n idBasedSelection: {\r\n 'Campaign': {\r\n 'Singular': 'History_Selection_Copy_IdBased_OneCampaign',\r\n 'Plural': 'History_Selection_Copy_IdBased_NCampaigns'\r\n },\r\n 'AdGroup': {\r\n 'Singular': 'History_Selection_Copy_IdBased_OneAdGroup',\r\n 'Plural': 'History_Selection_Copy_IdBased_NAdGroups'\r\n },\r\n 'Ad': {\r\n 'Singular': 'History_Selection_Copy_IdBased_OneAd',\r\n 'Plural': 'History_Selection_Copy_IdBased_NAds'\r\n },\r\n 'Keyword': {\r\n 'Singular': 'History_Selection_Copy_IdBased_OneKeyword',\r\n 'Plural': 'History_Selection_Copy_IdBased_NKeywords'\r\n },\r\n 'AssetGroup': {\r\n 'Singular': 'History_Selection_Copy_IdBased_OneAssetGroup',\r\n 'Plural': 'History_Selection_Copy_IdBased_NAssetGroups'\r\n }\r\n },\r\n filteredSelection: {\r\n 'Campaign': 'History_Selection_Copy_Filter_Campaign',\r\n 'AdGroup': 'History_Selection_Copy_Filter_AdGroup',\r\n 'Ad': 'History_Selection_Copy_Filter_Ad',\r\n 'Keyword': 'History_Selection_Copy_Filter_Keyword',\r\n 'AssetGroup': 'History_Selection_Copy_Filter_AssetGroup'\r\n },\r\n entityProperties: {\r\n 'AdgroupCampaignId': 'campaignId',\r\n 'AdAdgroupId': 'adGroupId',\r\n 'KeywordAdgroupId': 'adGroupId',\r\n 'CampaignName': 'campaignName',\r\n 'AdgroupName': 'adGroupName',\r\n 'AssetgroupId': 'assetGroupId'\r\n }\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n 'CreditCardExpired': 10,\r\n 'IOExceeded': 20,\r\n 'PaymentInformationMissing': 30,\r\n 'InvalidFinancialStatusOther': 40,\r\n 'MigrationPaused': 45,\r\n 'CampaignDeleted': 48,\r\n 'CampaignSuspended': 49,\r\n 'CampaignBudgetPaused': 50,\r\n 'AdGroupExpired': 60,\r\n 'AdGroupDraft': 62,\r\n 'AdGroupDeleted': 63,\r\n 'CamAssetRejected': 64,\r\n 'CamAssetDeleted': 66,\r\n 'AdGroupTargetingTooNarrow': 67,\r\n 'EditorialRejected': 70,\r\n 'EditorialUnderAppeal': 75,\r\n 'UrlInvalid': 76,\r\n 'ApplicationNotFound': 77,\r\n 'ApplicationDestinationUrlMismatch': 78,\r\n 'EditorialPending': 80,\r\n 'AssociationDeleted': 85,\r\n 'CampaignUserPaused': 90,\r\n 'AdGroupPrivacyPending': 91,\r\n 'AdGroupUserPaused': 100,\r\n 'AdUserPaused': 110,\r\n 'KeywordMatchTypeAdGroupMediumCombinationInvalid': 115,\r\n 'KeywordUserPaused': 120,\r\n 'NegativeKeywordConflicts': 130,\r\n 'EditorialApprovedLimited': 200,\r\n 'LowSupply': 300,\r\n 'LowQuality': 400,\r\n 'BidBelowFirstPageBid': 500,\r\n 'Incomplete': 1000,\r\n 'BudgetSuggestions': 1001,\r\n 'InlineOpportunity': 1060,\r\n 'GeoCodingIncomplete': 1101,\r\n 'ProductTargetUserPaused': 1102,\r\n 'AdExtensionNotPresent': 1103,\r\n 'AdExtensionDeleted': 1104,\r\n 'AdExtensionAssociationDeleted': 1105,\r\n 'StoreIdNotAssociated': 1106,\r\n 'AdGroupAudienceAssociationPaused': 1107,\r\n 'AdGroupAudienceAssociationExcluded': 1108,\r\n 'AdNotPresent': 1200,\r\n 'AdNotActive': 1201,\r\n 'ApplicationDestinationUrlValidationIncomplete': 1252,\r\n 'Eligible': 2147483647\r\n};\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport filterSerializer from '@bingads-webui-campaign-legacy/bulk-operation/util/grid-filter-serializer';\r\nimport errorMapper from '@bingads-webui-static-legacy/api-error-mapper-service';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport decimalFormat from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport campaignBudgetTypes from '@bingads-webui-static-legacy/schema/campaign/budgetTypes';\r\nimport * as safeJSON from '@bingads-webui/safe-json';\r\nimport urlOptionsFields from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/urlOptionsFields';\r\nimport copyPasteDescriptions from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/copyPasteDescriptions';\r\nimport escapeHelper from '@bingads-webui-static-legacy/bulk-edit/view/escapeHelper';\r\nimport deliveryStatus from '@bingads-webui-static-legacy/schema/account/deliveryStatus';\r\nimport * as hotelCenterUtils from '@bingads-webui-campaign-legacy/hotel-center-utils/index';\r\nimport * as RSAHelper from '@bingads-webui-campaign/summary-grid-helper';\r\nimport * as customColumnUtils from '@bingads-webui-universal/custom-column-utils';\r\nimport * as customColumnServiceWrapper from '@bingads-webui/custom-column-service-wrapper';\r\nimport * as customColumnPreference from '@bingads-webui-component-legacy/bingads-grid/service/custom-column-preferences';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nvar bidUtils = hotelCenterUtils.bidUtils;\r\nvar bidMultiplierUtils = hotelCenterUtils.bidMultiplierUtils;\r\nvar metadata = {\r\n 'AdScheduleUseSearcherTimeZone': {\r\n argFields: ['Value'],\r\n additionalArgs: []\r\n },\r\n 'BidAmount/Bid/Amount': {\r\n argFields: ['Value'],\r\n additionalArgs: []\r\n },\r\n 'BidBoost/Multiplier': {\r\n argFields: ['Value'],\r\n additionalArgs: [],\r\n formatEntityValueFunction: _formatBidMultipliersEntityValue\r\n },\r\n 'IsExcluded': {\r\n argFields: ['Value'],\r\n additionalArgs: []\r\n },\r\n 'CriterionBid/Bid/Amount': {\r\n argFields: ['Value'],\r\n additionalArgs: []\r\n },\r\n 'Bid': {\r\n argFields: ['Value'],\r\n additionalArgs: [],\r\n formatEntityValueFunction: _formatBidEntityValue\r\n },\r\n 'BidAdjustment': {\r\n argFields: ['Value'],\r\n additionalArgs: [],\r\n jobSelectionFunction: _bidAdjustmentJobSelectionFunction,\r\n summaryFunction: _bidAdjustmentSummaryFunction\r\n },\r\n 'BidMultipliers': {\r\n argFields: ['Value'],\r\n additionalArgs: [],\r\n formatEntityValueFunction: _formatBidMultipliersEntityValue\r\n },\r\n 'CampaignCashback/Percent': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryCashbackPercent\r\n },\r\n 'AdGroupCashback/Percent': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryCashbackPercent\r\n },\r\n 'CashbackAdjustment': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryCashbackPercent\r\n },\r\n 'PercentCpcBid/RateAmount/Amount': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryPercentCpcBid,\r\n localizeAdditionalArgsFunction: _localizePercentAdditionalArgs\r\n },\r\n 'CommissionRate/RateAmount/Amount': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryCommissionRate,\r\n localizeAdditionalArgsFunction: _localizePercentAdditionalArgs\r\n },\r\n 'AudienceCriterion/CashbackAdjustment': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryCashbackPercent\r\n },\r\n 'ProductGroupCashback/Percent': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryCashbackPercent\r\n },\r\n 'CampaignCashback/MonthlyBudget': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryCampaignCashbackMonthlyBudget\r\n },\r\n 'Bid/Amount': {\r\n argFields: ['Value'],\r\n additionalArgs: [],\r\n formatEntityValueFunction: _formatBidAmountEntityValue,\r\n localizeAdditionalArgsFunction: _localizeBidAmountAdditionalArgs\r\n },\r\n Status: {\r\n argFields: ['Value'],\r\n summaryFunction: _statusSummaryFunction\r\n },\r\n 'Budget/Amount': {\r\n argFields: ['Value'],\r\n summaryFunction: _getJobSummaryCampaignBudget\r\n },\r\n 'BiddingScheme': {\r\n argFields: ['Value'],\r\n formatEntityValueFunction: _formatBiddingSchemeEntityValue\r\n },\r\n 'BidStrategyId': {\r\n argFields: ['Value'],\r\n formatEntityValueFunction: _formatBidStrategyIdEntityValue\r\n },\r\n 'MatchType': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'ContentBid': {\r\n argFields: ['Value']\r\n },\r\n 'SearchBid': {\r\n argFields: ['Value']\r\n },\r\n 'Title': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'TitlePart2': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'TitlePart3': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'Text': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'TextPart2': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'BusinessName': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'Headline': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'Headlines': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'Descriptions': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'LongHeadline': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'DisplayUrl': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'DestinationUrl': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'FinalUrls': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'Path1': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'Path2': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'MobileFinalUrls': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'DevicePreference': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'TrackingUrlTemplate': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'FinalUrlSuffix': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'UrlCustomParameters': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'UrlCustomParameters/Key': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'UrlCustomParameters/Value': {\r\n argFields: ['Value', 'SearchString']\r\n },\r\n 'AudienceCriterion/BidMultiplier': {\r\n argFields: ['Value']\r\n },\r\n 'AdGroupAudienceAssociation': {\r\n argFields: ['AssociationList']\r\n },\r\n 'AudienceAssociation': {\r\n argFields: ['AssociationList']\r\n },\r\n 'CopyAction': {\r\n argFields: ['DestinationParentEntityIds'],\r\n summaryFunction: _getCopyPasteSummary,\r\n localizeAdditionalArgsFunction: _localizeCopyPasteArgs,\r\n jobSelectionFunction: _getCopyPasteSelection,\r\n formatEntityValueFunction: _formatCopyPasteEntityValue,\r\n historyJobDetails: 'CopyHistoryJobDetails'\r\n },\r\n 'QueryOnlyAction': {\r\n argFields: ['Value']\r\n },\r\n 'LabelAssociation': {\r\n argFields: ['AssociationList']\r\n },\r\n 'LabelDisassociation': {\r\n argFields: ['AssociationList']\r\n },\r\n 'Languages': {\r\n argFields: ['Value']\r\n },\r\n 'Language': {\r\n argFields: ['Value']\r\n }\r\n}, quickFilters = {\r\n enabledCampaigns: {\r\n SelectedColumn: 'CampaignStatus',\r\n SelectedOperator: 'EnumSelection',\r\n Values: ['121', '126']\r\n },\r\n enabledKeywords: {\r\n SelectedColumn: 'KeywordStatus',\r\n SelectedOperator: 'EnumSelection',\r\n Values: ['161']\r\n },\r\n enabledAdGroups: {\r\n SelectedColumn: 'AdGroupStatus',\r\n SelectedOperator: 'EnumSelection',\r\n Values: ['141', '126']\r\n },\r\n enabledAds: {\r\n SelectedColumn: 'AdUiDisplayStatus',\r\n SelectedOperator: 'EnumSelection',\r\n Values: ['1']\r\n }\r\n}, dataSourceFilters = {\r\n criterionType: {\r\n SelectedColumn: 'Criterion',\r\n SelectedOperator: '$isof',\r\n Values: ['Model.AgeCriterion', 'Model.GenderCriterion', 'Model.CompanyNameCriterion', 'Model.JobFunctionCriterion', 'Model.IndustryCriterion']\r\n },\r\n LevelOfDetails: {\r\n SelectedColumn: 'LevelOfDetails',\r\n SelectedOperator: 'Equal',\r\n Values: ['AdGroup']\r\n }\r\n};\r\nvar booleanFields = ['KeywordIsLastImported', 'CampaignIsLastImported', 'AdIsLastImported', 'AdGroupIsLastImported'];\r\nfunction _getJobModelInfo(jobModel) {\r\n var batchAction = jobModel.get('BatchAction'), firstActionModel = batchAction.Actions[0], properties = _.pluck(batchAction.Actions, 'Property'), entity = jobModel.get('Entity'), actionValueType = _getActionValueType(firstActionModel), jobMetadata = metadata[properties[0]] || metadata[actionValueType] || ({}), isCashbackPercent = typeof properties[0] === 'string' ? properties[0].search('Cashback/Percent') !== -1 || properties[0].search('CashbackAdjustment') !== -1 : false, isCashbackBudget = properties[0] === 'CampaignCashback/MontlyBudget';\r\n var isPercentCPCBid = properties[0] === 'PercentCpcBid/RateAmount/Amount';\r\n var isCommissionRate = properties[0] === 'CommissionRate/RateAmount/Amount';\r\n return {\r\n properties: properties,\r\n entity: entity,\r\n metadata: jobMetadata,\r\n actionValueType: actionValueType,\r\n actions: batchAction.Actions,\r\n isNumeric: !!(actionValueType === 'NumericAction' || actionValueType === 'BidEstimateAction'),\r\n isCurrency: firstActionModel.ActionType === 'ChangeByAmount' || firstActionModel.ActionType === 'SetToAmount' && entity !== 'AdGroupAudienceAssociation' && entity !== 'AudienceAssociation' && entity !== 'CampaignCriterion' && entity !== 'AdGroupCriterion' || isCashbackBudget,\r\n isPercent: firstActionModel.ActionType === ('SetToAmount' && (entity === 'AdGroupAudienceAssociation' || entity === 'AudienceAssociation' || entity === 'CampaignCriterion' || entity === 'AdGroupCriterion')) || isCashbackPercent || isPercentCPCBid || isCommissionRate\r\n };\r\n}\r\nfunction _getActionValueType(actionModel) {\r\n var actionValueType = _.chain(actionModel).values().find(function (item) {\r\n return item.indexOf('#Model') === 0;\r\n }).value();\r\n return actionValueType ? actionValueType.substring(('#Model.').length) : 'TextAction';\r\n}\r\nfunction getJobDescription(jobModel) {\r\n var modelInfo = _getJobModelInfo(jobModel), summaryFunction = modelInfo.metadata.summaryFunction || _getJobSummary, localizeAdditionalArgsFunction = modelInfo.metadata.localizeAdditionalArgsFunction || _localizeAdditionalArgs;\r\n return {\r\n summary: summaryFunction(jobModel, modelInfo),\r\n args: localizeAdditionalArgsFunction(modelInfo)\r\n };\r\n}\r\nfunction splitProperty(property) {\r\n var splitStr = property.replace(/([A-Z])/g, ' $1').toLowerCase().trim();\r\n return splitStr.charAt(0).toUpperCase() + splitStr.slice(1);\r\n}\r\nfunction _getJobSummary(jobModel, modelInfo) {\r\n var entityName = i18n.getString('EntityName_' + modelInfo.entity), jobSummary = '';\r\n _.each(modelInfo.actions, function (item, index) {\r\n var singleLineSummary = '';\r\n var property = modelInfo.properties[index];\r\n var propertyMsg = splitProperty(property || '');\r\n var propertyName = i18n.getString('Property_' + property) || propertyMsg;\r\n var i18nActionBasedKey = _geti18nActionBasedKey(modelInfo, index);\r\n var i18nValueBasedKey = _geti18nValueBasedKey(modelInfo, index);\r\n if (property === urlOptionsFields.customParameters && _.isArray(item.Value)) {\r\n var value = _.map(item.Value, function (param, index) {\r\n var val = safeJSON.parseSync(param) || ({});\r\n return '{_' + val.Key + '} =' + val.Value;\r\n });\r\n var localizedKey = i18nActionBasedKey;\r\n var actionType;\r\n if (item.ActionType != modelInfo.actions[0].ActionType) {\r\n localizedKey = 'History_Description_' + modelInfo.actionValueType + '_' + item.ActionType;\r\n }\r\n var summary = i18n.getString(localizedKey, entityName, propertyName, value);\r\n singleLineSummary += summary;\r\n } else {\r\n var jobArgs = _getJobArguments(modelInfo, item);\r\n var args = jobArgs.length ? jobArgs : [item.Value || ''];\r\n if (!modelInfo.isNumeric && !modelInfo.isCurrency) {\r\n _.each(args, function (item, index, list) {\r\n var localizedString = i18n.getString('History_Description_' + item);\r\n if (localizedString) {\r\n list[index] = localizedString;\r\n }\r\n ;\r\n });\r\n }\r\n var i18nActionBasedArgs = [i18nActionBasedKey, entityName, propertyName].concat(args);\r\n var i18nValueBasedArgs = [i18nValueBasedKey, entityName, propertyName].concat(args);\r\n var valueBased = i18n.getString.apply(i18n, i18nValueBasedArgs);\r\n var actionBased = i18n.getString.apply(i18n, i18nActionBasedArgs);\r\n singleLineSummary += valueBased || actionBased;\r\n }\r\n singleLineSummary = escapeHelper.escape(singleLineSummary);\r\n jobSummary = index > 0 ? jobSummary.concat('
') : jobSummary;\r\n jobSummary = jobSummary.concat(singleLineSummary);\r\n });\r\n return jobSummary;\r\n}\r\nfunction _geti18nValueBasedKey(jobInfo, index) {\r\n index = index <= 0 ? 0 : index;\r\n return 'History_Description_' + jobInfo.properties[index] + '_' + jobInfo.entity + '_' + jobInfo.actions[index].Value;\r\n}\r\n;\r\nfunction _geti18nActionBasedKey(jobInfo, index) {\r\n index = index <= 0 ? 0 : index;\r\n var key = 'History_Description_' + jobInfo.actionValueType + '_' + jobInfo.actions[index].ActionType;\r\n if (jobInfo.isNumeric && jobInfo.actions[index].Value && jobInfo.actions[index].ActionType !== 'SetToAmount') {\r\n key = key + (jobInfo.actions[index].Value > 0 ? '_Increase' : '_Decrease');\r\n }\r\n if (jobInfo.entity === 'Keyword' && jobInfo.properties[index] === 'MatchType') {\r\n key = 'History_Description_Keyword_MatchType';\r\n }\r\n if (jobInfo.entity === 'AdGroup' && jobInfo.properties[index] === 'AdGroupAudienceAssociation') {\r\n var isNewAudienceEnabled = pageContext.Permissions.IsNewAudienceEnabled;\r\n key = 'History_Description_AudienceAssociationAction' + '_' + jobInfo.actions[index].BidType + (isNewAudienceEnabled ? '_CustomInMarket' : '');\r\n } else if ((jobInfo.entity === 'AdGroup' || jobInfo.entity === 'Campaign') && jobInfo.properties[index] === 'AudienceAssociation') {\r\n key = 'History_Description_AudienceAssociationAction_Campaign_' + jobInfo.actions[index].BidType;\r\n } else if (jobInfo.properties[index] === 'LabelAssociation' || jobInfo.properties[index] === 'LabelDisassociation') {\r\n var isSingular = jobInfo.actions[index].AssociationList && jobInfo.actions[index].AssociationList.length <= 1;\r\n key = 'History_Description_' + jobInfo.properties[index] + '_' + jobInfo.entity;\r\n if (isSingular) {\r\n key += '_Singular';\r\n }\r\n }\r\n if (_.contains(['Hotel', 'HotelGroup'], jobInfo.entity)) {\r\n if (jobInfo.properties[index] === 'Bid' || jobInfo.properties[index] === 'BidMultipliers') {\r\n key = 'History_Description_NumericAction_SetToAmount';\r\n }\r\n }\r\n return key;\r\n}\r\nfunction _getJobArguments(modelInfo, action) {\r\n return _.map(modelInfo.metadata.argFields, function (argField) {\r\n return _formatActionValue(modelInfo, action[argField]);\r\n });\r\n}\r\nfunction _formatActionValue(modelInfo, value) {\r\n if (modelInfo.properties[0] === 'LabelAssociation' || modelInfo.properties[0] === 'LabelDisassociation') {\r\n return value.length;\r\n }\r\n if (modelInfo.entity === 'AdGroup' && modelInfo.properties[0] === 'AdGroupAudienceAssociation') {\r\n return value.length;\r\n }\r\n if ((modelInfo.entity === 'Campaign' || modelInfo.entity === 'AdGroup') && modelInfo.properties[0] === 'AudienceAssociation') {\r\n return value.length;\r\n }\r\n if (_.contains(['Hotel', 'HotelGroup'], modelInfo.entity)) {\r\n var jsonValue = JSON.parse(value);\r\n if (modelInfo.properties[0] === 'Bid') {\r\n return bidUtils.getText(jsonValue, i18n.getString('BulkEdit_HotelCenter_UseParent'));\r\n } else if (modelInfo.properties[0] === 'BidMultipliers') {\r\n return bidMultiplierUtils.getMultipliersText(jsonValue, false, i18n.getString('BulkEdit_HotelCenter_UseParent'));\r\n }\r\n }\r\n if (modelInfo.properties[0] === 'BidStrategyId') {\r\n return _.result(safeJSON.parseSync(value), 'Name', '');\r\n }\r\n if (modelInfo.properties[0] === 'BiddingScheme') {\r\n return 'BiddingScheme_' + _getBiddingSchemeValue(value);\r\n }\r\n if (modelInfo.properties[0] === 'AdScheduleUseSearcherTimeZone') {\r\n return value === 'true' ? 'AdSchedulingTimeZone_LocationOfPerson' : 'AdSchedulingTimeZone_LocationOfYourAccount';\r\n }\r\n if (!modelInfo.isNumeric) {\r\n return value;\r\n }\r\n var action = modelInfo.actions[0] || ({});\r\n if ((modelInfo.properties[0] === 'PercentCpcBid' || modelInfo.properties[0] === 'CommissionRate') && action.ActionType === 'ChangeByPercent') {\r\n return _formatNumericValue(modelInfo, value, false, false);\r\n }\r\n if ((modelInfo.properties[0] === 'PercentCpcBid' || modelInfo.properties[0] === 'CommissionRate') && action.ActionType === 'ChangeByAmount') {\r\n return _formatNumericValue(modelInfo, value, false, false) + '(%)';\r\n }\r\n return _formatNumericValue(modelInfo, value, modelInfo.isCurrency, modelInfo.isPercent);\r\n}\r\nfunction _localizeAdditionalArgs(modelInfo) {\r\n var additionalArgs = [];\r\n _.each(modelInfo.actions, function (item) {\r\n var mappedValues = _.map(modelInfo.actions[0] || ({}), function (value, key) {\r\n return !!value ? i18n.getString('History_Description_Arg_' + key, value, pageContext.AccountCurrencyCode) : null;\r\n });\r\n additionalArgs = _.union(additionalArgs, _.filter(mappedValues, function (val) {\r\n return !!val;\r\n }));\r\n });\r\n return additionalArgs;\r\n}\r\nfunction _localizeCopyPasteArgs(modelInfo) {\r\n var additionalArgs = [];\r\n _.each(modelInfo.actions, function (action) {\r\n if (action.Property && copyPasteDescriptions.args[action.Property]) {\r\n additionalArgs.push(i18n.getString(copyPasteDescriptions.args[action.Property]));\r\n }\r\n });\r\n return additionalArgs;\r\n}\r\nfunction _getCopyPasteSummary(jobModel, jobInfo) {\r\n return jobInfo.entity && copyPasteDescriptions.actions[jobInfo.entity] ? i18n.getString(copyPasteDescriptions.actions[jobInfo.entity]) : '';\r\n}\r\nfunction _getJobSummaryCashbackPercent(jobModel, jobInfo) {\r\n jobInfo.properties = ['CashbackPercent'];\r\n return _getJobSummary(jobModel, jobInfo);\r\n}\r\nfunction _getJobSummaryCampaignCashbackMonthlyBudget(jobModel, jobInfo) {\r\n jobInfo.properties = ['CampaignCashbackMonthlyBudget'];\r\n return _getJobSummary(jobModel, jobInfo);\r\n}\r\nfunction _getJobSummaryPercentCpcBid(jobModel, jobInfo) {\r\n jobInfo.properties = ['PercentCpcBid'];\r\n return _getJobSummary(jobModel, jobInfo);\r\n}\r\nfunction _getJobSummaryCommissionRate(jobModel, jobInfo) {\r\n jobInfo.properties = ['CommissionRate'];\r\n return _getJobSummary(jobModel, jobInfo);\r\n}\r\nfunction _getJobSummaryCampaignBudget(jobModel, jobInfo) {\r\n var selection = jobModel.get('Selection'), isMonthly = selection && selection.QueryString && (decodeURIComponent(selection.QueryString).indexOf('Budget/Type eq \\'' + campaignBudgetTypes.monthly + '\\'') >= 0 || decodeURIComponent(selection.QueryString).indexOf('Budget/Type eq Enum.BudgetType\\'' + campaignBudgetTypes.monthly + '\\'') >= 0);\r\n jobInfo.properties = isMonthly ? ['MonthlyBudget'] : ['DailyBudget'];\r\n return _getJobSummary(jobModel, jobInfo);\r\n}\r\nfunction _getJobSelection(jobModel, modelInfo) {\r\n var filter = filterSerializer.fromDescription(jobModel.get('Description')), sortedFilter = splitFilter(filter && filter.FilterExpressions || []), quickFilter = sortedFilter.quickFilter, expressions = sortedFilter.expressions;\r\n if (filter && filter.idBased) {\r\n return {\r\n scope: _getIdBasedScopeString(filter, modelInfo),\r\n idBased: true\r\n };\r\n }\r\n if (!filter || expressions.length == 0) {\r\n return {\r\n scope: _getScopeString(jobModel, modelInfo, quickFilter)\r\n };\r\n }\r\n return {\r\n scope: _getScopeString(jobModel, modelInfo, quickFilter),\r\n filter: _getFilterString(expressions)\r\n };\r\n}\r\nfunction _getCopyPasteSelection(jobModel, modelInfo) {\r\n var pasted, filter;\r\n var copied = pasted = '';\r\n var selection = _getJobSelection(jobModel, modelInfo);\r\n if (selection.idBased) {\r\n filter = filterSerializer.fromDescription(jobModel.get('Description'));\r\n copied = filter.idsCount > 1 ? i18n.getString(copyPasteDescriptions.idBasedSelection[modelInfo.entity].Plural, filter.idsCount) : i18n.getString(copyPasteDescriptions.idBasedSelection[modelInfo.entity].Singular, filter.idsCount);\r\n } else {\r\n copied = i18n.getString(copyPasteDescriptions.filteredSelection[modelInfo.entity]);\r\n }\r\n var ids = 0;\r\n _.each(modelInfo.actions, function (action) {\r\n _.each(modelInfo.metadata.argFields, function (argField) {\r\n if (action[argField] && _.isArray(action[argField])) {\r\n ids += action[argField].length;\r\n }\r\n });\r\n });\r\n if (modelInfo.entity === 'AdGroup' || modelInfo.entity === 'AssetGroup') {\r\n pasted = ids > 1 ? i18n.getString('History_Selection_Paste_NCampaigns', ids) : i18n.getString('History_Selection_Paste_OneCampaign', ids);\r\n } else if (modelInfo.entity !== 'Campaign') {\r\n pasted = ids > 1 ? i18n.getString('History_Selection_Paste_NAdGroups', ids) : i18n.getString('History_Selection_Paste_OneAdGroup', ids);\r\n }\r\n return _.extend(selection, {\r\n header: copied,\r\n footer: pasted\r\n });\r\n}\r\nfunction _bidAdjustmentJobSelectionFunction(jobModel, modelInfo) {\r\n if (!_isDemographicsJobModel(jobModel)) {\r\n return _getJobSelection(jobModel, modelInfo);\r\n }\r\n var filter = filterSerializer.fromDescription(jobModel.get('Description'));\r\n var sortedFilter = splitFilter(filter && filter.FilterExpressions || []);\r\n return {\r\n scope: _getScopeString(jobModel, modelInfo, sortedFilter.quickFilter, sortedFilter.dataSourceFilter),\r\n filter: _getFilterString(sortedFilter.expressions)\r\n };\r\n}\r\nfunction _statusSummaryFunction(jobModel, modelInfo) {\r\n if (!_isDemographicsJobModel(jobModel)) {\r\n return _getJobSummary(jobModel, modelInfo);\r\n }\r\n return _getDemographicsJobSummary(jobModel, modelInfo);\r\n}\r\nfunction _bidAdjustmentSummaryFunction(jobModel, modelInfo) {\r\n if (!_isDemographicsJobModel(jobModel)) {\r\n return _getJobSummary(jobModel, modelInfo);\r\n }\r\n return _getDemographicsJobSummary(jobModel, modelInfo);\r\n}\r\nfunction _getDemographicsJobSummary(jobModel, modelInfo) {\r\n var filter = filterSerializer.fromDescription(jobModel.get('Description'));\r\n var sortedFilter = splitFilter(filter && filter.FilterExpressions || []);\r\n var criterionType = sortedFilter.dataSourceFilter.criterionType.Values[0];\r\n var entityName = i18n.getString('EntityName_' + modelInfo.entity + '_' + criterionType);\r\n var jobSummary = '';\r\n _.each(modelInfo.actions, function (item, index) {\r\n var singleLineSummary = '';\r\n var property = modelInfo.properties[index];\r\n var propertyName = i18n.getString('Property_' + property);\r\n var i18nActionBasedKey = _geti18nActionBasedKey(modelInfo, index);\r\n var i18nValueBasedKey = _geti18nValueBasedKey(modelInfo, index);\r\n var args = _getJobArguments(modelInfo, item);\r\n var i18nActionBasedArgs = [i18nActionBasedKey, entityName, propertyName].concat(args);\r\n var i18nValueBasedArgs = [i18nValueBasedKey, entityName, propertyName].concat(args);\r\n var valueBased = i18n.getString.apply(i18n, i18nValueBasedArgs);\r\n var actionBased = i18n.getString.apply(i18n, i18nActionBasedArgs);\r\n singleLineSummary += valueBased || actionBased;\r\n singleLineSummary = escapeHelper.escape(singleLineSummary);\r\n jobSummary = index > 0 ? jobSummary.concat('
') : jobSummary;\r\n jobSummary = jobSummary.concat(singleLineSummary);\r\n });\r\n return jobSummary;\r\n}\r\nfunction _isDemographicsJobModel(jobModel) {\r\n var filter = filterSerializer.fromDescription(jobModel.get('Description'));\r\n var sortedFilter = splitFilter(filter && filter.FilterExpressions || []);\r\n return sortedFilter.dataSourceFilter && sortedFilter.dataSourceFilter.criterionType;\r\n}\r\nfunction getJobSelection(jobModel) {\r\n var modelInfo = _getJobModelInfo(jobModel);\r\n return modelInfo.metadata.jobSelectionFunction ? modelInfo.metadata.jobSelectionFunction(jobModel, modelInfo) : _getJobSelection(jobModel, modelInfo);\r\n}\r\nfunction getRuleSelection(jobModel, numberOfDigits) {\r\n var filter = filterSerializer.fromRuleDescription(jobModel.get('Description')), sortedFilter = splitFilter(filter && filter.FilterExpressions || []), quickFilter = sortedFilter.quickFilter, expressions = sortedFilter.expressions, modelInfo = _getJobModelInfo(jobModel);\r\n if (filter && filter.idBased) {\r\n var qfilter = _.find(_.values(quickFilter), function (filter) {\r\n return !_.isUndefined(filter);\r\n });\r\n if (qfilter) {\r\n expressions.splice(0, 1, qfilter);\r\n } else {\r\n expressions.splice(0, 1);\r\n }\r\n return {\r\n filter: expressions.length > 0 ? _getFilterString(expressions, numberOfDigits) : null,\r\n idBased: true\r\n };\r\n }\r\n if (!filter || expressions.length == 0) {\r\n return {\r\n scope: _getRuleScope(jobModel, modelInfo, quickFilter)\r\n };\r\n }\r\n return {\r\n scope: _getRuleScope(jobModel, modelInfo, quickFilter),\r\n filter: _getFilterString(expressions, numberOfDigits)\r\n };\r\n}\r\nfunction _getRuleScope(jobModel, modelInfo, quickFilter) {\r\n var selection = jobModel.get('Selection'), result = selection && selection.CampaignId ? i18n.getString('RulesManagementGrid_SelectedCampaign') : quickFilter && !!quickFilter.enabledCampaigns ? i18n.getString('History_Selection_AllEnabledCampaigns') : i18n.getString('History_Selection_AllCampaigns');\r\n if (modelInfo.entity == 'Campaign') {\r\n return result;\r\n }\r\n result += ' > ' + (selection && selection.AdGroupId ? i18n.getString('RulesManagementGrid_SelectedAdGroup') : quickFilter && !!quickFilter.enabledAdGroups ? i18n.getString('History_Selection_AllEnabledAdGroups') : i18n.getString('History_Selection_AllAdGroups'));\r\n if (modelInfo.entity == 'AdGroup') {\r\n return result;\r\n }\r\n if (modelInfo.entity == 'Keyword') {\r\n result += ' > ' + (quickFilter && !!quickFilter.enabledKeywords ? i18n.getString('History_Selection_AllEnabledKeywords') : i18n.getString('History_Selection_AllKeywords'));\r\n } else if (modelInfo.entity == 'Ads') {\r\n result += ' > ' + (quickFilter && !!quickFilter.enabledAds ? i18n.getString('History_Selection_AllEnabledAds') : i18n.getString('History_Selection_AllAds'));\r\n } else if (modelInfo.entity == 'DsaTarget') {\r\n result += ' > ' + (quickFilter && !!quickFilter.enabledAds ? i18n.getString('BulkEdit_History_Selection_AllEnabledDsatargets') : i18n.getString('BulkEdit_History_Selection_AllDsatargets'));\r\n }\r\n return result;\r\n}\r\nfunction _getScopeString(jobModel, modelInfo, quickFilter, dataSourceFilter) {\r\n var campaign = jobModel.get('Campaign'), adgroup = jobModel.get('AdGroup'), campaignsLabel = campaign ? campaign.Name : quickFilter && !!quickFilter.enabledCampaigns ? i18n.getString('History_Selection_AllEnabledCampaigns') : i18n.getString('History_Selection_AllCampaigns'), result = campaignsLabel;\r\n if (modelInfo.entity == 'Campaign' || modelInfo.entity == 'CampaignCriterion' || modelInfo.entity == 'NegativeCampaignCriterion') {\r\n return result;\r\n }\r\n result += ' > ' + (adgroup ? adgroup.Name : quickFilter && !!quickFilter.enabledAdGroups ? i18n.getString('History_Selection_AllEnabledAdGroups') : i18n.getString('History_Selection_AllAdGroups'));\r\n switch (modelInfo.entity) {\r\n case 'AdGroup':\r\n return result;\r\n case 'Keyword':\r\n result += ' > ' + (quickFilter && !!quickFilter.enabledKeywords ? i18n.getString('History_Selection_AllEnabledKeywords') : i18n.getString('History_Selection_AllKeywords'));\r\n break;\r\n case 'Ad':\r\n result += ' > ' + (quickFilter && !!quickFilter.enabledAds ? i18n.getString('History_Selection_AllEnabledAds') : i18n.getString('History_Selection_AllAds'));\r\n break;\r\n case 'AdGroupAudienceAssociation':\r\n result += ' > ' + i18n.getString('History_Selection_AllAdGroupAudienceAssociation');\r\n break;\r\n case 'AudienceAssociation':\r\n result += ' > ' + i18n.getString('History_Selection_AllAudienceAssociation');\r\n break;\r\n case 'DsaTarget':\r\n result += ' > ' + i18n.getString('BulkEdit_History_Selection_AllDsatargets');\r\n break;\r\n case 'PerformanceTarget':\r\n result = i18n.getString('BulkEdit_History_Selection_AllPerformancetargets');\r\n break;\r\n }\r\n return result;\r\n}\r\nfunction _getIdBasedScopeString(filter, modelInfo) {\r\n return i18n.getString('History_Selection_IdBased_' + modelInfo.entity, filter.idsCount);\r\n}\r\nfunction _getFilterString(filterExpressions, numberOfDigits) {\r\n if (filterExpressions.length == 0) {\r\n return '';\r\n }\r\n var result = i18n.getString('Filter') + ': ';\r\n _.each(filterExpressions, function (expr) {\r\n if (expr.SelectedColumn === 'DeliveryStatus') {\r\n expr.Values = _.without(expr.Values, deliveryStatus['InlineOpportunity'].toString());\r\n }\r\n if (expr.SelectedColumn === 'AdType' && pageContext.Permissions.IsMultiMediaAdsEnabled) {\r\n var index = expr.Values.indexOf('4096');\r\n if (index >= 0) {\r\n expr.Values[index] = '2048';\r\n }\r\n index = expr.Values.indexOf('Responsive');\r\n if (index >= 0) {\r\n expr.Values[index] = '2048';\r\n }\r\n }\r\n _.extend(expr, {\r\n columnLocalized: _localizeColumnName(expr),\r\n operatorLocalized: _localizeOperator(expr),\r\n valuesLocalized: _localizeValues(expr, numberOfDigits).join(' ' + i18n.getString('Filter_Ampersand') + ' ')\r\n });\r\n });\r\n result = result + _.map(filterExpressions, function (expr) {\r\n if (expr.SelectedColumn === 'Labels') {\r\n return i18n.getString('History_Selection_SelectedLabels');\r\n }\r\n return expr.columnLocalized + ' ' + expr.operatorLocalized + ' ' + expr.valuesLocalized;\r\n }).join(', ');\r\n return result;\r\n}\r\nfunction _localizeColumnName(expression) {\r\n if (expression.SelectedColumn.startsWith('CustomColumn')) {\r\n var customColumnId = expression.SelectedColumn.split('CustomColumn')[1];\r\n var customColumnService = new customColumnServiceWrapper.CustomColumnServiceWrapper({\r\n name: customColumnUtils.getCustomColumnPreferenceName(),\r\n CustomColumns: customColumnPreference.getCustomColumnPreferenceStore()\r\n });\r\n var customColumnData = customColumnService.getAll();\r\n var customColumnInfo = _.find(customColumnData, function (customColumn) {\r\n return customColumn.id === customColumnId;\r\n });\r\n if (customColumnInfo) {\r\n return customColumnInfo.name;\r\n } else {\r\n return i18n.getString('ColumnName_DeletedCustomColumn');\r\n }\r\n }\r\n return i18n.getString('FilterLocalization_DataAttribute_' + expression.SelectedColumn);\r\n}\r\nfunction _localizeOperator(expression) {\r\n return i18n.getString('FilterLocalization_FilterOperator_' + expression.SelectedOperator);\r\n}\r\nfunction _localizeValues(expression, numberOfDigits) {\r\n var valuesToUse = _.isEmpty(expression.SelectedNames) ? expression.Values : expression.SelectedNames;\r\n return _.map(valuesToUse, function (value) {\r\n if (_.contains(['CampaignCashbackScope', 'AdGroupCashbackScope', 'Coupon'], expression.SelectedColumn)) {\r\n var scopeValue;\r\n if (value == null) {\r\n scopeValue = 'None';\r\n } else {\r\n scopeValue = _.result(value.split('\\''), '1');\r\n }\r\n var i18nKey = 'ColumnField_' + expression.SelectedColumn + '_' + scopeValue;\r\n return i18n.getString(i18nKey);\r\n }\r\n if (expression.SelectedColumn === 'DisplayBiddingStrategyType' && !pageContext.Permissions.dynamic.XandrVideoCampaigns) {\r\n if (value === '12') {\r\n return i18n.getString('BidStrategy_ManualCpm');\r\n } else if (value === '11') {\r\n return i18n.getString('BidStrategy_ManualCpv');\r\n }\r\n }\r\n if (expression.SelectedOperator == 'EnumSelection') {\r\n return i18n.getString('FilterLocalization_' + expression.SelectedColumn + '_' + value);\r\n }\r\n if (_.contains(['CampaignLanguages', 'Languages'], expression.SelectedColumn)) {\r\n return i18n.getString('Language_' + value);\r\n }\r\n if (_.contains(booleanFields, expression.SelectedColumn)) {\r\n return i18n.getString('FilterLocalization_BooleanFilter_' + value);\r\n }\r\n if (expression.SelectedColumn === 'HasAuctionInsight') {\r\n return i18n.getString('FilterLocalization_BooleanFilter_Available_' + value);\r\n }\r\n if (expression.SelectedColumn === 'AvailableInsightTypeIds') {\r\n return i18n.getString('Schema_Enum_FluctuationType_' + value);\r\n }\r\n if (!expression.SelectedColumn.match('Id$') && _.isNumber(value)) {\r\n return decimalFormat.fromFloatToString(value, numberOfDigits);\r\n }\r\n if (expression.SelectedColumn === 'AdGroupType') {\r\n if (typeof value === 'string' && value.search('SearchStandard') !== -1) {\r\n return i18n.getString('AdGroupType_SearchStandard');\r\n } else if (typeof value === 'string' && value.search('SearchDynamic') !== -1) {\r\n return i18n.getString('AdGroupType_SearchDynamic');\r\n }\r\n return '-';\r\n }\r\n return value;\r\n });\r\n}\r\nfunction mapEntityErrors(entityResult) {\r\n var apiErrorMessages = _.isArray(entityResult.Errors) ? _.map(entityResult.Errors, function (error) {\r\n return errorMapper.mapCampaignApiErrorCodeShort(error) || errorMapper.mapCampaignApiErrorCode(error);\r\n }) : [], editorialErrors = _.isArray(entityResult.EditorialErrors) ? errorMapper.mapEditorialErrors(entityResult.EditorialErrors, true) : [], editorialErrorMessages = _.map(editorialErrors, function (error) {\r\n return i18n.getString('HistoryJobDetails_EditorialError', error.countryName, error.message);\r\n });\r\n return apiErrorMessages.concat(editorialErrorMessages);\r\n}\r\n;\r\nfunction formatRSAString(value, property) {\r\n var rsaString = '';\r\n if (property === 'AdHeadlines') {\r\n rsaString = RSAHelper.getTitlePreviewFromJson(value);\r\n } else if (property === 'AdDescriptions') {\r\n rsaString = RSAHelper.getDescPreviewFromJson(value);\r\n }\r\n return rsaString;\r\n}\r\nfunction _formatEntityValue(modelInfo, changes, newValue) {\r\n if (changes.length == 1) {\r\n var value = newValue ? changes[0].NewValue : changes[0].OriginalValue;\r\n if (!modelInfo.isNumeric) {\r\n var formattedValue = i18n.getString('History_Description_' + value);\r\n if (_.contains(['AdHeadlines', 'AdDescriptions'], changes[0].Property)) {\r\n value = formatRSAString(value, changes[0].Property);\r\n }\r\n return !formattedValue ? escapeHelper.escape(value) : formattedValue;\r\n }\r\n return _formatNumericValue(modelInfo, value, true, modelInfo.isPercent);\r\n } else {\r\n var formattedValue = '';\r\n _.each(changes, function (item, index) {\r\n var propertyMsg = i18n.getString('BulkEdit_Property_' + changes[index].Property) || splitProperty(changes[index].Property);\r\n var propertyName = ('
').concat(propertyMsg).concat(': '), value = newValue ? changes[index].NewValue : changes[index].OriginalValue;\r\n if (_.contains(['AdHeadlines', 'AdDescriptions'], item.Property)) {\r\n value = formatRSAString(value, item.Property);\r\n } else {\r\n value = escapeHelper.escape(value);\r\n }\r\n formattedValue = propertyName ? formattedValue.concat(propertyName).concat(value) : formattedValue.concat(value);\r\n });\r\n return formattedValue;\r\n }\r\n}\r\nfunction _formatCopyPasteEntityValue(modelInfo, changes, newValue) {\r\n var entity = {};\r\n _.each(changes, function (change) {\r\n var field = copyPasteDescriptions.entityProperties[change.Property];\r\n if (field) {\r\n entity[field] = newValue ? change.NewValue : change.OriginalValue;\r\n }\r\n });\r\n return entity;\r\n}\r\nfunction _formatBiddingSchemeEntityValue(modelInfo, changes, newValue, entityKeys) {\r\n if (changes.length >= 1) {\r\n var originalPBS = safeJSON.parseSync(_.result(_.find(entityKeys, {\r\n Key: 'BidStrategyId'\r\n }), 'Value')) || ({});\r\n if (originalPBS.Id && !newValue) {\r\n return originalPBS.Name;\r\n } else {\r\n var value = newValue ? changes[0].NewValue : changes[0].OriginalValue;\r\n var formattedValue = i18n.getString('History_Description_BiddingScheme_' + _getBiddingSchemeValue(value));\r\n return formattedValue || escapeHelper.escape(value);\r\n }\r\n }\r\n}\r\nfunction _formatBidStrategyIdEntityValue(modelInfo, changes, isNew, entityKeys) {\r\n if (changes.length >= 1) {\r\n var originalValue = safeJSON.parseSync(changes[0].OriginalValue) || ({});\r\n var newValue = safeJSON.parseSync(changes[0].NewValue) || ({});\r\n if (!originalValue.Id && !isNew) {\r\n var originalIBS = _.result(_.find(entityKeys, {\r\n Key: 'BiddingScheme'\r\n }), 'Value', '{}');\r\n var formattedValue = i18n.getString('History_Description_BiddingScheme_' + _getBiddingSchemeValue(originalIBS));\r\n return formattedValue || escapeHelper.escape(originalIBS);\r\n } else {\r\n return isNew ? newValue.Name : originalValue.Name;\r\n }\r\n }\r\n}\r\nfunction _formatBidEntityValue(modelInfo, changes, newValue) {\r\n var value = newValue ? changes[0].NewValue : changes[0].OriginalValue;\r\n try {\r\n value = JSON.parse(value);\r\n return bidUtils.getText(value, i18n.getString('BulkEdit_HotelCenter_UseParent'));\r\n } catch (e) {\r\n return '';\r\n }\r\n}\r\nfunction getHotelCenterBidAmountAddonText(modelInfo) {\r\n var action = modelInfo.actions[0] || ({});\r\n return _.result({\r\n 'ChangeByAmount': pageContext.AccountCurrencyCode,\r\n 'ChangeByPercent': ''\r\n }, action.ActionType);\r\n}\r\nfunction _formatBidAmountEntityValue(modelInfo, changes, newValue) {\r\n if (_.contains(['Hotel', 'HotelGroup'], modelInfo.entity)) {\r\n var value = newValue ? changes[0].NewValue : changes[0].OriginalValue;\r\n var formattedNumber = decimalFormat.fromFloatToString(value);\r\n var addonText = getHotelCenterBidAmountAddonText(modelInfo);\r\n return [formattedNumber, addonText].join(' ');\r\n } else {\r\n return _formatEntityValue(modelInfo, changes, newValue);\r\n }\r\n}\r\nfunction _localizePercentAdditionalArgs(modelInfo) {\r\n var action = modelInfo.actions[0] || ({});\r\n if (action.Limit) {\r\n var limitText = i18n.getString('History_Description_Arg_Limit_NoSpace', action.Limit, '%');\r\n return [limitText];\r\n }\r\n return [];\r\n}\r\nfunction _localizeBidAmountAdditionalArgs(modelInfo) {\r\n if (_.contains(['Hotel', 'HotelGroup'], modelInfo.entity)) {\r\n var action = modelInfo.actions[0] || ({});\r\n if (action.Limit) {\r\n var addonText = getHotelCenterBidAmountAddonText(modelInfo);\r\n var limitText = i18n.getString('History_Description_Arg_Limit', action.Limit, addonText);\r\n return [limitText];\r\n }\r\n return [];\r\n } else {\r\n return _localizeAdditionalArgs(modelInfo);\r\n }\r\n}\r\nfunction _formatBidMultipliersEntityValue(modelInfo, changes, newValue) {\r\n var value = newValue ? changes[0].NewValue : changes[0].OriginalValue;\r\n try {\r\n value = JSON.parse(value);\r\n return bidMultiplierUtils.getMultipliersDetailText(value, i18n.getString('BulkEdit_HotelCenter_UseParent'));\r\n } catch (e) {\r\n return '';\r\n }\r\n}\r\nfunction _getBiddingSchemeValue(value) {\r\n var typeReg = /.*\"Type\":([0-9]+).*$/;\r\n var matches = value.match(typeReg);\r\n if (matches && matches[1]) {\r\n return matches[1];\r\n } else {\r\n return '';\r\n }\r\n}\r\nfunction formatEntityValue(jobModel, changes, newValue, entityKeys) {\r\n var modelInfo = _getJobModelInfo(jobModel);\r\n return modelInfo.metadata.formatEntityValueFunction ? modelInfo.metadata.formatEntityValueFunction(modelInfo, changes, newValue, entityKeys) : _formatEntityValue(modelInfo, changes, newValue);\r\n}\r\nfunction _formatNumericValue(modelInfo, value, asCurrency, isPercent) {\r\n var coverNegativeNumber = modelInfo.entity && (modelInfo.entity === 'AdGroupAudienceAssociation' || modelInfo.entity === 'AudienceAssociation' || modelInfo.entity === 'CampaignCriterion' || modelInfo.entity === 'AdGroupCriterion') ? modelInfo.properties && modelInfo.properties.length >= 1 && (modelInfo.properties[0] === 'AudienceCriterion/BidMultiplier' || modelInfo.properties[0] === 'BidAdjustment') ? true : false : false;\r\n var formattedNumber = decimalFormat.fromFloatToString(coverNegativeNumber ? value : Math.abs(value)), currencySuffix = asCurrency ? ' ' + pageContext.AccountCurrencyCode : '';\r\n var suffix = isPercent ? '%' : currencySuffix;\r\n return formattedNumber + suffix;\r\n}\r\nfunction splitFilter(filterExpressions) {\r\n var quickFilter = _.chain(quickFilters).keys().map(function (qfKey) {\r\n var matchingExpression = _.find(filterExpressions, function (expr) {\r\n return _.isEqual(_.pick(expr, 'SelectedColumn', 'SelectedOperator', 'Values'), quickFilters[qfKey]);\r\n });\r\n return [qfKey, matchingExpression];\r\n }).object().value();\r\n var dataSourceFilter = _.chain(dataSourceFilters).keys().map(function (qfKey) {\r\n var matchingExpression = _.find(filterExpressions, function (expr) {\r\n return _.isEqual(_.pick(expr, 'SelectedColumn', 'SelectedOperator'), _.pick(dataSourceFilters[qfKey], 'SelectedColumn', 'SelectedOperator'));\r\n });\r\n return [qfKey, matchingExpression];\r\n }).object().value();\r\n return {\r\n quickFilter: quickFilter,\r\n dataSourceFilter: dataSourceFilter,\r\n expressions: _.difference(filterExpressions, _.values(quickFilter), _.values(dataSourceFilter))\r\n };\r\n}\r\nfunction getJobDetails(jobModel) {\r\n var modelInfo = _getJobModelInfo(jobModel);\r\n return modelInfo.metadata.historyJobDetails ? modelInfo.metadata.historyJobDetails : 'DefaultHistoryJobDetails';\r\n}\r\nexport default {\r\n getJobDescription: getJobDescription,\r\n getJobSelection: getJobSelection,\r\n mapEntityErrors: mapEntityErrors,\r\n formatEntityValue: formatEntityValue,\r\n getRuleSelection: getRuleSelection,\r\n splitFilter: splitFilter,\r\n getJobDetails: getJobDetails\r\n};\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport Backbone from 'backbone';\r\nimport BaseModel from '@bingads-webui-campaign-legacy/bulk-operation/util/bulk-edit-job';\r\nimport PageContext from '@bingads-webui-static-legacy/page-context';\r\n'use strict;';\r\nvar entity = 'AudienceAssociation';\r\nvar model = BaseModel.extend({\r\n defaults: $.extend({}, BaseModel.prototype.defaults, {\r\n Entity: entity,\r\n BatchAction: {\r\n Actions: [{\r\n '@odata.type': '#Model.NumericAction',\r\n 'Property': 'AudienceCriterion/BidMultiplier',\r\n 'ActionType': 'SetToAmount',\r\n 'Value': '',\r\n 'SearchString': '',\r\n 'Options': 'None'\r\n }]\r\n }\r\n })\r\n});\r\nexport default model;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport Backbone from 'backbone';\r\nimport BaseModel from '@bingads-webui-campaign-legacy/bulk-operation/util/bulk-edit-job';\r\nimport PageContext from '@bingads-webui-static-legacy/page-context';\r\n'use strict;';\r\nvar model = BaseModel.extend({\r\n defaults: function () {\r\n var entity = 'AudienceAssociation';\r\n return $.extend({}, BaseModel.prototype.defaults, {\r\n Entity: entity,\r\n BatchAction: {\r\n Actions: [{\r\n '@odata.type': '#Model.TextAction',\r\n 'Property': 'Status',\r\n 'ActionType': 'Set',\r\n 'Value': '',\r\n 'SearchString': '',\r\n 'Options': 'None'\r\n }]\r\n }\r\n });\r\n }\r\n});\r\nexport default model;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport Backbone from 'backbone';\r\nimport BaseModel from '@bingads-webui-campaign-legacy/bulk-operation/util/bulk-edit-job';\r\n'use strict;';\r\nvar model = BaseModel.extend({\r\n defaults: $.extend({}, BaseModel.prototype.defaults, {\r\n Entity: 'AdGroupCriterion',\r\n BatchAction: {\r\n Actions: [{\r\n '@odata.type': '#Model.NumericAction',\r\n 'Property': 'CashbackAdjustment',\r\n 'ActionType': 'SetToAmount',\r\n 'Value': ''\r\n }]\r\n }\r\n })\r\n});\r\nexport default model;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport backbone from 'backbone';\r\nimport odata from '@bingads-webui-static-legacy/communication/channel/odata';\r\nimport * as urlUtil from '@bingads-webui/url-util';\r\nvar Collection = backbone.Collection.extend({\r\n url: 'Advertiser/Customers()/Accounts?$orderby=Name&$select=Id,Name,Status,AccountNumber',\r\n model: null,\r\n sync: function (method, model, options) {\r\n var today = new Date();\r\n var yesterday = new Date();\r\n yesterday.setDate(today.getDate() - 1);\r\n var start = {\r\n startdate: yesterday.toISOString().slice(0, 10)\r\n };\r\n var end = {\r\n enddate: today.toISOString().slice(0, 10)\r\n };\r\n this.url = urlUtil.queryify(this.url, start);\r\n this.url = urlUtil.queryify(this.url, end);\r\n if (method === 'read') {\r\n return odata.get(this.url, null, options);\r\n }\r\n }\r\n});\r\nexport default Collection;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport BaseModel from '@bingads-webui-campaign-legacy/bulk-operation/util/bulk-edit-job';\r\nvar model = BaseModel.extend({\r\n defaults: $.extend({}, BaseModel.prototype.defaults, {\r\n Entity: '',\r\n BatchAction: {\r\n Actions: [{\r\n '@odata.type': '#Model.TextAction',\r\n 'Property': 'TrackingUrlTemplate',\r\n 'ActionType': 'Set',\r\n 'Value': '',\r\n 'SearchString': '',\r\n 'Options': 'None'\r\n }]\r\n }\r\n })\r\n});\r\nexport default model;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport template from '@bingads-webui-static-legacy/bulk-edit/template/demographics/changeCashbackPercent.pug';\r\nimport viewModel from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/changeCashbackPercent';\r\nimport BaseView from '@bingads-webui-static-legacy/bulk-edit/view/bulkEditJob';\r\nimport numericActionType from '@bingads-webui-static-legacy/schema/bulkEdit/numericActionType';\r\nimport decimalNumber from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport filterConverter from '@bingads-webui-static-legacy/odata-filter-converter';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nvar formatEntityString = function (entityKeyObject) {\r\n var name = '';\r\n if (entityKeyObject.hasOwnProperty('AgeRange')) {\r\n var ageRangeEnum = entityKeyObject.AgeRange;\r\n name = i18n.getString('Schema_Enum_AgeRange_' + ageRangeEnum);\r\n } else if (entityKeyObject.hasOwnProperty('GenderType')) {\r\n var genderTypeEnum = entityKeyObject.GenderType;\r\n name = genderTypeEnum;\r\n } else if (entityKeyObject.hasOwnProperty('ProfileType')) {\r\n var profileName = entityKeyObject.ProfileName;\r\n name = profileName;\r\n }\r\n return name;\r\n};\r\nvar formatBid = function (rows) {\r\n if (rows) {\r\n _.each(rows, function (value) {\r\n value.data = [];\r\n value.EntityKeyObject = {};\r\n _.each(value.EntityKey, function (obj) {\r\n value.EntityKeyObject[obj.Key] = obj.Value;\r\n });\r\n value.data.push({\r\n value: value.EntityKeyObject.CampaignName,\r\n isHtml: false\r\n });\r\n value.data.push({\r\n value: value.EntityKeyObject.AdgroupName,\r\n isHtml: false\r\n });\r\n var name = formatEntityString(value.EntityKeyObject);\r\n value.data.push({\r\n value: name,\r\n isHtml: false\r\n });\r\n if (value.Changes && value.Changes.length) {\r\n var originalValue = value.Changes[0].OriginalValue;\r\n value.data.push({\r\n value: originalValue === '' || +originalValue === -1 ? i18n.getString('Campaign_Cashback_Offer_Scope_InheritFromParent') : decimalNumber.fromFloatToPercentString(value.Changes[0].OriginalValue, 2),\r\n isHtml: false\r\n });\r\n var newValue = value.Changes[0].NewValue;\r\n var newValueText;\r\n if (+newValue === -1 || newValue === '') {\r\n newValueText = i18n.getString('Campaign_Cashback_Offer_Scope_InheritFromParent');\r\n } else {\r\n newValueText = decimalNumber.fromFloatToPercentString(value.Changes[0].NewValue, 2);\r\n }\r\n value.data.push({\r\n value: newValueText,\r\n isHtml: false\r\n });\r\n } else {\r\n value.data.push({\r\n value: '',\r\n isHtml: false\r\n });\r\n value.data.push({\r\n value: '',\r\n isHtml: false\r\n });\r\n }\r\n });\r\n }\r\n return rows;\r\n};\r\nvar getSelectedEntityIdStrings = function (gridView) {\r\n return _.map(gridView.selectedItems(), function (obj) {\r\n var campaignId = obj.Campaign ? obj.Campaign.Id : $.advertiser.getUrlParameter('cmpid');\r\n return _.compact(['CampaignId=' + campaignId, obj.AdGroup && 'AdGroupId=' + obj.AdGroup.Id, 'TargetGroupDetailId=' + obj.Id]).join(',');\r\n });\r\n};\r\nvar view = BaseView.extend({\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n BaseView.prototype.initialize.apply(this, arguments);\r\n this.template = template;\r\n this.entity = options.entity;\r\n this.ko_model = new viewModel({});\r\n _.extend(this, options);\r\n },\r\n render: function () {\r\n BaseView.prototype.render.apply(this, arguments);\r\n return this;\r\n },\r\n setAction: function (simulateResults) {\r\n var action = null;\r\n this.model.unset('PreviewEntityIds');\r\n this.model.unset('PreviewCompositeIds');\r\n if (simulateResults) {\r\n if (this.grid.pgridPlugins.crossPageSelectAll.isAllSelected) {\r\n this.model.set('PreviewCompositeIds', getSelectedEntityIdStrings(this.grid.gridView));\r\n }\r\n }\r\n var cashbackPercentValue = this.ko_model.getCashbackPercentValueByAction();\r\n action = {\r\n Actions: [{\r\n '@odata.type': '#Model.NumericAction',\r\n Property: 'CashbackAdjustment',\r\n ActionType: numericActionType.setAmount,\r\n Value: cashbackPercentValue\r\n }]\r\n };\r\n this.model.set('BatchAction', action);\r\n },\r\n getIdFilter: function () {\r\n return {\r\n FilterExpressions: [{\r\n SelectedColumn: 'IdString',\r\n SelectedOperator: 'Equal',\r\n Values: getSelectedEntityIdStrings(this.grid.gridView)\r\n }]\r\n };\r\n },\r\n getFilterURLParam: function (filter, entity) {\r\n var conditionString = this.grid.filterService.getCombinedFilter().odataV4();\r\n var result;\r\n if (filter.idBased) {\r\n var idFilterExperessions = _.filter(filter.FilterExpressions, function (filterExpression) {\r\n return filterExpression.SelectedColumn === 'IdString';\r\n });\r\n var idString = filterConverter.convert(idFilterExperessions, entity).$filter;\r\n var criterionTypeConditionRegex = /isof\\(Criterion, 'Model.[\\w]+Criterion'\\)/;\r\n var conditionFragment = conditionString.match(criterionTypeConditionRegex)[0];\r\n result = conditionFragment + ' and ' + idString;\r\n } else {\r\n result = conditionString;\r\n }\r\n return '$filter=(' + encodeURIComponent(result) + ')';\r\n },\r\n formatErrors: function (errors) {\r\n return formatBid(errors);\r\n },\r\n formatPreviewResults: function (results) {\r\n return formatBid(results);\r\n },\r\n getProgressText: function () {\r\n return i18n.getString('BulkEdit_Campaigns_ProgressText');\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nvar escapeMap = {\r\n '<': '<',\r\n '>': '>'\r\n};\r\nvar regObj = {};\r\n_.each(escapeMap, function (val, key) {\r\n regObj[key] = new RegExp(key, 'g');\r\n});\r\nvar escapeHtmlEntities = function (str) {\r\n if (str) {\r\n _.each(escapeMap, function (escapedVal, key) {\r\n str = str.replace(regObj[key], escapedVal);\r\n });\r\n }\r\n return str;\r\n};\r\nexport default {\r\n escape: escapeHtmlEntities\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n set: 'Set',\r\n remove: 'Remove'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n add: 'Add',\r\n replaceAll: 'ReplaceAll',\r\n removeExact: 'RemoveExact',\r\n removeContaining: 'RemoveContaining',\r\n removeAll: 'RemoveAll'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n Ad: {\r\n ProgressText: 'BulkEdit_Ads_ProgressText',\r\n EmptySetTextError: 'BulkEdit_Ads_EmptySetTextError',\r\n TrackingTemplateProperty: 'AdTrackingTemplate',\r\n FinalUrlSuffixProperty: 'AdFinalUrlSuffix'\r\n },\r\n Keyword: {\r\n ProgressText: 'BulkEdit_Keywords_ProgressText',\r\n EmptySetTextError: 'BulkEdit_Keyword_EmptySetTextError',\r\n TrackingTemplateProperty: 'KeywordTrackingTemplate',\r\n FinalUrlSuffixProperty: 'KeywordFinalUrlSuffix'\r\n },\r\n AdGroup: {\r\n ProgressText: 'BulkEdit_AdGroups_ProgressText',\r\n EmptySetTextError: 'BulkEdit_AdGroup_EmptySetTextError',\r\n TrackingTemplateProperty: 'AdGroupTrackingUrlTemplate',\r\n FinalUrlSuffixProperty: 'AdGroupFinalUrlSuffix'\r\n },\r\n Campaign: {\r\n ProgressText: 'BulkEdit_Campaigns_ProgressText',\r\n EmptySetTextError: 'BulkEdit_Campaign_EmptySetTextError',\r\n TrackingTemplateProperty: 'CampaignTrackingUrlTemplate',\r\n FinalUrlSuffixProperty: 'CampaignFinalUrlSuffix'\r\n }\r\n};\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport urlOptionsFields from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/urlOptionsFields';\r\nimport actionTypes from '@bingads-webui-static-legacy/bulk-edit/viewmodel/ad/actions';\r\nimport textActionTypes from '@bingads-webui-static-legacy/schema/bulkEdit/textActionType';\r\nimport Base from '@bingads-webui-static-legacy/bulk-edit/viewmodel/bulkEditJob';\r\nimport options from '@bingads-webui-static-legacy/schema/bulkEdit/textActionOptions';\r\nimport trackingTemplateActionTypes from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/trackingTemplateActions';\r\nimport customParametersActionTypes from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/customParametersActions';\r\nimport entityTextMessage from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/entityProgressText';\r\nimport globalConfig from '@bingads-webui-component-legacy/config/index';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nvar actionOptions = [{\r\n Value: actionTypes.set,\r\n Text: i18n.getString('BulkEdit_UrlOptions_SetTextOption')\r\n}, {\r\n Value: actionTypes.findReplace,\r\n Text: i18n.getString('BulkEdit_UrlOptions_FindAndReplaceOption')\r\n}, {\r\n Value: actionTypes.append,\r\n Text: i18n.getString('BulkEdit_UrlOptions_AppendTextOption')\r\n}];\r\nvar trackingTemplateActionOptions = [{\r\n Value: trackingTemplateActionTypes.set,\r\n Text: i18n.getString('BulkEdit_UrlOptions_TrackingTemplate_Set')\r\n}, {\r\n Value: trackingTemplateActionTypes.remove,\r\n Text: i18n.getString('BulkEdit_UrlOptions_TrackingTemplate_Remove')\r\n}];\r\nvar customParametersActionOptions = [{\r\n Value: customParametersActionTypes.add,\r\n Text: i18n.getString('BulkEdit_UrlOptions_CustomParameters_Add')\r\n}, {\r\n Value: customParametersActionTypes.replaceAll,\r\n Text: i18n.getString('BulkEdit_UrlOptions_CustomParameters_ReplaceAll')\r\n}, {\r\n Value: customParametersActionTypes.removeExact,\r\n Text: i18n.getString('BulkEdit_UrlOptions_CustomParameters_RemoveExact')\r\n}, {\r\n Value: customParametersActionTypes.removeContaining,\r\n Text: i18n.getString('BulkEdit_UrlOptions_CustomParameters_RemoveContaining')\r\n}, {\r\n Value: customParametersActionTypes.removeAll,\r\n Text: i18n.getString('BulkEdit_UrlOptions_CustomParameters_RemoveAll')\r\n}];\r\nvar fieldOptions = [{\r\n Value: urlOptionsFields.trackingTemplate,\r\n Text: i18n.getString('BulkEdit_UrlOptions_TrackingTemplate')\r\n}, {\r\n Value: urlOptionsFields.finalUrlSuffix,\r\n Text: i18n.getString('BulkEdit_UrlOptions_FinalUrlSuffix')\r\n}, {\r\n Value: urlOptionsFields.customParameters,\r\n Text: i18n.getString('BulkEdit_UrlOptions_CustomParameters')\r\n}, {\r\n Value: urlOptionsFields.customParametersName,\r\n Text: i18n.getString('BulkEdit_UrlOptions_CustomParametersName')\r\n}, {\r\n Value: urlOptionsFields.customParametersValue,\r\n Text: i18n.getString('BulkEdit_UrlOptions_CustomParametersValue')\r\n}];\r\nvar ViewModel = function (model, options) {\r\n Base.call(this);\r\n var entity = model.get('Entity');\r\n var entityLowerCase = entity ? entity.toLowerCase() : '';\r\n var finalUrlSuffixEnabledEntities = ['campaign', 'adgroup', 'keyword', 'ad', 'audience'];\r\n var IsFinalURLSuffixEnabled = finalUrlSuffixEnabledEntities.indexOf(entityLowerCase) >= 0;\r\n this.entityType = options.entityType;\r\n this.actions = actionOptions;\r\n this.showExtaWarningMessage = options.showExtaWarningMessage;\r\n this.trackingTemplateActions = trackingTemplateActionOptions;\r\n this.customParametersActions = customParametersActionOptions;\r\n var fields = _.clone(fieldOptions);\r\n if (!IsFinalURLSuffixEnabled) {\r\n fields = _.filter(fieldOptions, function (opt) {\r\n return opt.Value !== urlOptionsFields.finalUrlSuffix;\r\n });\r\n }\r\n this.fields = fields;\r\n var action = model.get('BatchAction').Actions[0];\r\n this.selectedAction = ko.observable(action.ActionType);\r\n this.selectedField = ko.observable(action.Property);\r\n this.trackingTemplateSelectedAction = ko.observable(action.ActionType);\r\n this.customParametersSelectedAction = ko.observable(action.ActionType);\r\n this.showCustomParamsInput = ko.observable(true);\r\n this.showTrackingTemplateInput = ko.computed(function () {\r\n return this.trackingTemplateSelectedAction() === trackingTemplateActionTypes.set;\r\n }, this);\r\n this.selectedAction.subscribe(function () {\r\n this.errorMessage('');\r\n }, this);\r\n this.showFindReplacePanel = ko.computed(function () {\r\n return this.selectedAction() === actionTypes.findReplace;\r\n }, this);\r\n this.showAppendTextPanel = ko.computed(function () {\r\n return this.selectedAction() === actionTypes.append;\r\n }, this);\r\n this.showSetTextPanel = ko.computed(function () {\r\n return this.selectedAction() === actionTypes.set;\r\n }, this);\r\n this.showFinalUrlSuffixInput = ko.computed(function () {\r\n return IsFinalURLSuffixEnabled && this.showSetTextPanel();\r\n }, this);\r\n this.trackingTemplate = ko.observable('');\r\n this.finalUrlSuffix = ko.observable('');\r\n this.changeTextOption = ko.observable(textActionTypes.append);\r\n this.findTextValue = ko.observable(action.SearchString);\r\n this.findText = ko.computed({\r\n read: function () {\r\n return this.findTextValue();\r\n },\r\n write: function (value) {\r\n this.errorMessage('');\r\n this.findTextValue(value);\r\n },\r\n owner: this\r\n });\r\n this.findText.subscribe(function (value) {\r\n if (value.indexOf(' ') >= 0) {\r\n this.findReplaceOptions(_.without(this.findReplaceOptions, options.MatchWholeWord));\r\n }\r\n }, this);\r\n this.replaceText = ko.observable(action.Value);\r\n this.appendTextValue = ko.observable(action.Value);\r\n this.appendText = ko.computed({\r\n read: function () {\r\n return this.appendTextValue();\r\n },\r\n write: function (value) {\r\n this.errorMessage('');\r\n this.appendTextValue(value);\r\n },\r\n owner: this\r\n });\r\n this.findReplaceOptions = ko.observableArray([]);\r\n this.selectedEntityCount(model.get('selectedEntityCount'));\r\n this.titleText = ko.computed(function () {\r\n switch (this.entityType) {\r\n case 'Ad':\r\n return i18n.getString('BulkEdit_UrlOptions_Ad_Title').replace('{0}', this.selectedEntityCount());\r\n break;\r\n case 'Keyword':\r\n return i18n.getString('BulkEdit_UrlOptions_Keyword_Title').replace('{0}', this.selectedEntityCount());\r\n break;\r\n case 'AdGroup':\r\n return i18n.getString('BulkEdit_UrlOptions_AdGroup_Title').replace('{0}', this.selectedEntityCount());\r\n break;\r\n case 'Campaign':\r\n return i18n.getString('BulkEdit_UrlOptions_Campaign_Title').replace('{0}', this.selectedEntityCount());\r\n break;\r\n }\r\n }, this);\r\n this.maxTrackingTemplateLength = 2048;\r\n this.maxFinalUrlSuffixLength = 1024;\r\n this.maxCustomParametersLength = 16;\r\n this.maxCustomParametersKeyLength = 16;\r\n this.maxCustomParametersValueLength = 200;\r\n this.maxLength = ko.computed(function () {\r\n var field = this.selectedField();\r\n switch (field) {\r\n case urlOptionsFields.trackingTemplate:\r\n return this.maxTrackingTemplateLength;\r\n break;\r\n case urlOptionsFields.finalUrlSuffix:\r\n return this.maxFinalUrlSuffixLength;\r\n break;\r\n case urlOptionsFields.customParameters:\r\n return this.maxCustomParametersLength;\r\n break;\r\n case urlOptionsFields.customParametersName:\r\n return this.maxCustomParametersKeyLength;\r\n break;\r\n case urlOptionsFields.customParametersValue:\r\n return this.maxCustomParametersValueLength;\r\n break;\r\n }\r\n return 32;\r\n }, this);\r\n this.errorRole = ko.computed(function () {\r\n var error = this.errorMessage();\r\n return error === '' ? 'none' : 'alert';\r\n }, this);\r\n this.entityHeaderName = ko.computed(function () {\r\n switch (this.entityType) {\r\n case 'Ad':\r\n return i18n.getString('BulkEdit_Ad_EntityNameHeader');\r\n break;\r\n case 'Keyword':\r\n return i18n.getString('BulkEdit_Keyword_EntityNameHeader');\r\n break;\r\n case 'AdGroup':\r\n return i18n.getString('BulkEdit_AdGroup_EntityNameHeader');\r\n break;\r\n case 'Campaign':\r\n return i18n.getString('BulkEdit_Campaign_EntityNameHeader');\r\n break;\r\n default:\r\n return 'unknown entity';\r\n break;\r\n }\r\n }, this);\r\n this.previewGrids = ko.observableArray([]);\r\n this.errorsGrids = ko.observableArray([]);\r\n this.showPreview = ko.observable(false);\r\n this.validate = function (view) {\r\n this.errorMessage('');\r\n if (this.selectedEntityCount() === 0) {\r\n alert(i18n.getString('Grid_RowSelectionRequired'));\r\n return false;\r\n }\r\n var action = this.selectedAction();\r\n if (action === actionTypes.findReplace) {\r\n if (this.findText() === '' || this.findText() === null) {\r\n this.errorMessage(i18n.getString('BulkEdit_EmptyFindTextError'));\r\n return false;\r\n }\r\n } else if (action === actionTypes.append) {\r\n if (this.appendText() === '' || this.appendText() === null) {\r\n this.errorMessage(i18n.getString('BulkEdit_EmptyAppendTextError'));\r\n return false;\r\n }\r\n } else if (action === actionTypes.set) {\r\n if (this.trackingTemplateSelectedAction() === trackingTemplateActionTypes.set && (this.trackingTemplate() === null || this.trackingTemplate().trim() === '') && (this.finalUrlSuffix() === null || this.finalUrlSuffix().trim() === '') && this.customParametersSelectedAction() !== customParametersActionTypes.removeAll && view.customParams.getValues(true).params.length === 0) {\r\n this.errorMessage(i18n.getString(entityTextMessage[entity].EmptySetTextError));\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n};\r\nexport default ViewModel;\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n set: 'Set',\r\n findReplace: 'FindReplace',\r\n append: 'Append'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n set: 'Set',\r\n remove: 'Remove'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n Keyword: 'Keyword',\r\n Ad: 'AdTitle',\r\n AdGroup: 'AdgroupName',\r\n Campaign: 'CampaignName'\r\n};\r\n\r\n","/* eslint-disable */\r\nfunction anonymous(it) {\r\n var out = '';\r\n var result, value = it.UrlCustomParametersJson || it.UrlCustomParameters;\r\n try {\r\n result = JSON.parse(value.replace(/"/g, '\"'));\r\n } catch (e) {\r\n result = value;\r\n }\r\n if (result && result.Parameters && Array.isArray(result.Parameters)) {\r\n for (var i = 0; i < result.Parameters.length; i++) {\r\n out += '
{_' + result.Parameters[i].Key + '} = ' + result.Parameters[i].Value + '
';\r\n }\r\n } else if (typeof result == 'string') {\r\n out += ' ' + result + '';\r\n }\r\n return out;\r\n}\r\nexport default anonymous;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport ChangeUrlOptionsVM from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/changeUrlOptions';\r\nimport template from '@bingads-webui-static-legacy/bulk-edit/template/shared/changeUrlOptions.pug';\r\nimport actionTypes from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/changeUrlOptionsActions';\r\nimport trackingTemplateActionTypes from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/trackingTemplateActions';\r\nimport customParametersActionTypes from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/customParametersActions';\r\nimport finalUrlSuffixActionTypes from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/finalUrlSuffixActions';\r\nimport entityTitleKeys from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/entityTitleKeys';\r\nimport entityProgressTextMap from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/entityProgressText';\r\nimport BaseView from '@bingads-webui-static-legacy/bulk-edit/view/bulkEditJob';\r\nimport filterHelper from '@bingads-webui-static-legacy/bulk-edit/view/filterHelper';\r\nimport gridHelper from '@bingads-webui-static-legacy/shared/view/gridHelper';\r\nimport customParamsGridTemplate from '@bingads-webui-static-legacy/bulk-edit/view/shared/customParams-inline';\r\nimport urlOptionsFields from '@bingads-webui-static-legacy/bulk-edit/viewmodel/shared/urlOptionsFields';\r\nimport options from '@bingads-webui-static-legacy/schema/bulkEdit/textActionOptions';\r\nimport * as upgradeUrl from '@bingads-webui-campaign/upgrade-url';\r\nimport * as safeJSON from '@bingads-webui/safe-json';\r\nimport escapeHelper from '@bingads-webui-static-legacy/bulk-edit/view/escapeHelper';\r\nimport * as instrumentation from '@bingads-webui-campaign-legacy/instrumentation/index';\r\nimport * as bulkOperationBase from '@bingads-webui-campaign/bulk-operation-base';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nvar allowedEntities = ['Campaign', 'AdGroup', 'Keyword', 'Ad'];\r\nvar helper = function (value, defaultValue) {\r\n var obj = safeJSON.parseSync(value);\r\n if (_.isEmpty(obj)) {\r\n return defaultValue;\r\n } else {\r\n obj = _.map(obj, function (item) {\r\n var param = safeJSON.parseSync(item);\r\n _.each(param, function (val, key) {\r\n param[key] = escapeHelper.escape(val);\r\n });\r\n return param;\r\n });\r\n return customParamsGridTemplate({\r\n UrlCustomParametersJson: JSON.stringify({\r\n Parameters: obj\r\n })\r\n });\r\n }\r\n};\r\nvar formatUrlOptions = function (rows, entityType, urlOptionsDisplay) {\r\n if (!rows) {\r\n return null;\r\n }\r\n _.each(rows, function (row) {\r\n var defaultValue = '--';\r\n var pair, oldTrackingTemplate, newTrackingTemplate, oldCustomParams, newCustomParams, oldFinalUrlSuffix, newFinalUrlSuffix;\r\n oldTrackingTemplate = newTrackingTemplate = oldCustomParams = newCustomParams = oldFinalUrlSuffix = newFinalUrlSuffix = defaultValue;\r\n row.data = [];\r\n var entityValues = {};\r\n _.each(row.EntityKey, function (entity) {\r\n entityValues[entity.Key] = entity.Value;\r\n });\r\n var firstCell = {\r\n value: '',\r\n isHtml: false\r\n };\r\n if (entityType === 'Ad') {\r\n firstCell = bulkOperationBase.getAdEntityPreviewCell(entityValues, i18n);\r\n } else {\r\n pair = _.find(row.EntityKey, function (item) {\r\n return item.Key === entityTitleKeys[entityType];\r\n });\r\n firstCell.value = pair ? pair.Value : '';\r\n }\r\n row.data.push(firstCell);\r\n _.each(row.Changes, function (change) {\r\n if (change.Property === entityProgressTextMap[entityType].TrackingTemplateProperty) {\r\n oldTrackingTemplate = change.OriginalValue || defaultValue;\r\n newTrackingTemplate = change.NewValue || defaultValue;\r\n if (urlOptionsDisplay.trackingTemplate) {\r\n row.data.push({\r\n value: oldTrackingTemplate,\r\n isHtml: false\r\n });\r\n row.data.push({\r\n value: newTrackingTemplate,\r\n isHtml: false\r\n });\r\n }\r\n } else if (change.Property === entityProgressTextMap[entityType].FinalUrlSuffixProperty) {\r\n oldFinalUrlSuffix = change.OriginalValue || defaultValue;\r\n newFinalUrlSuffix = change.NewValue || defaultValue;\r\n if (urlOptionsDisplay.finalUrlSuffix) {\r\n row.data.push({\r\n value: oldFinalUrlSuffix,\r\n isHtml: false\r\n });\r\n row.data.push({\r\n value: newFinalUrlSuffix,\r\n isHtml: false\r\n });\r\n }\r\n } else {\r\n oldCustomParams = helper(change.OriginalValue, defaultValue);\r\n newCustomParams = helper(change.NewValue, defaultValue);\r\n if (urlOptionsDisplay.customParameters) {\r\n row.data.push({\r\n value: oldCustomParams,\r\n isHtml: true\r\n });\r\n row.data.push({\r\n value: newCustomParams,\r\n isHtml: true\r\n });\r\n }\r\n }\r\n });\r\n });\r\n return rows;\r\n};\r\nvar view = BaseView.extend({\r\n initialize: function (options) {\r\n var scenarioName = 'bulkEditUrlOptions' + options.entityType;\r\n var senario = instrumentation.default[scenarioName].create();\r\n var activity = senario[scenarioName].create();\r\n activity.start();\r\n options.activity = activity;\r\n var selectedRows = gridHelper.getSelectedRows(options.grid);\r\n var hasExtaSelected = _.find(selectedRows, row => {\r\n return row.Type === 'ExpandedText';\r\n }) || options.entityType === 'Ad' && gridHelper.isCrossPageAllSelected(options.grid);\r\n const permissions = config.get('Permissions') || ({});\r\n BaseView.prototype.initialize.call(this, options);\r\n this.model.set('Entity', options.entityType);\r\n this.ko_model = new ChangeUrlOptionsVM(this.model, {\r\n entityType: options.entityType,\r\n showExtaWarningMessage: !permissions.IsWhiteListEXTAEnabled && hasExtaSelected\r\n });\r\n this.template = template;\r\n this.entityType = options.entityType;\r\n },\r\n render: function () {\r\n BaseView.prototype.render.apply(this, arguments);\r\n this.ko_model.customParametersSelectedAction.subscribe(function (newValue) {\r\n this.ko_model.showCustomParamsInput(newValue !== customParametersActionTypes.removeAll);\r\n switch (newValue) {\r\n case customParametersActionTypes.add:\r\n case customParametersActionTypes.replaceAll:\r\n this.customParams.goToAddReplaceMode();\r\n break;\r\n case customParametersActionTypes.removeContaining:\r\n case customParametersActionTypes.removeExact:\r\n this.customParams.goToRemoveMode();\r\n break;\r\n }\r\n }, this);\r\n this.customParams = new upgradeUrl.CustomParametersView({\r\n i18n: i18n,\r\n permissions: config.get('Permissions') || ({}),\r\n bulkEditMode: true,\r\n entityType: this.entityType,\r\n bulkEditShowAddLabel: true,\r\n bulkEditShowMatchCase: false\r\n }).render();\r\n this.$('.custom-parameters-container').html(this.customParams.$el);\r\n this.ko_model.isDisabled.subscribe(function (newValue) {\r\n this.customParams.setDisabled(newValue);\r\n }, this);\r\n return this;\r\n },\r\n createBaseActionObject: function (odataType, property, actionType) {\r\n return {\r\n '@odata.type': odataType,\r\n Property: property,\r\n ActionType: actionType\r\n };\r\n },\r\n setAction: function () {\r\n var action = {\r\n Actions: []\r\n };\r\n var selectedAction = this.ko_model.selectedAction();\r\n var customParamsValues = this.customParams.getValues(true);\r\n var actionIdx = 0;\r\n switch (selectedAction) {\r\n case actionTypes.set:\r\n if (this.ko_model.trackingTemplateSelectedAction() === trackingTemplateActionTypes.remove || !_.isEmpty(this.ko_model.trackingTemplate().trim())) {\r\n action.Actions[actionIdx] = this.createBaseActionObject('#Model.TextAction', urlOptionsFields.trackingTemplate, trackingTemplateActionTypes.set);\r\n _.extend(action.Actions[actionIdx], {\r\n Value: this.ko_model.trackingTemplateSelectedAction() === trackingTemplateActionTypes.set ? this.ko_model.trackingTemplate().trim() : '',\r\n Options: options.None\r\n });\r\n actionIdx++;\r\n }\r\n if (!_.isEmpty(this.ko_model.finalUrlSuffix().trim())) {\r\n action.Actions[actionIdx] = this.createBaseActionObject('#Model.TextAction', urlOptionsFields.finalUrlSuffix, finalUrlSuffixActionTypes.set);\r\n _.extend(action.Actions[actionIdx], {\r\n Value: this.ko_model.finalUrlSuffix().trim(),\r\n Options: options.None\r\n });\r\n actionIdx++;\r\n }\r\n if (this.ko_model.customParametersSelectedAction() === customParametersActionTypes.removeAll || customParamsValues.params.length > 0) {\r\n var matchOptions = options.None, value = [], actionType = 'Remove';\r\n value = _.map(customParamsValues.params, function (item) {\r\n return JSON.stringify(item);\r\n });\r\n switch (this.ko_model.customParametersSelectedAction()) {\r\n case customParametersActionTypes.add:\r\n actionType = 'Add';\r\n break;\r\n case customParametersActionTypes.removeAll:\r\n actionType = 'Set';\r\n value = [];\r\n break;\r\n case customParametersActionTypes.replaceAll:\r\n actionType = 'Set';\r\n break;\r\n case customParametersActionTypes.removeContaining:\r\n matchOptions = customParamsValues.matchCase ? options.MatchCase : options.None;\r\n break;\r\n case customParametersActionTypes.removeExact:\r\n matchOptions = customParamsValues.matchCase ? options.MatchWholeWord + ',' + options.MatchCase : options.MatchWholeWord;\r\n break;\r\n }\r\n action.Actions[actionIdx] = this.createBaseActionObject('#Model.ListAction', urlOptionsFields.customParameters, actionType);\r\n _.extend(action.Actions[actionIdx], {\r\n Value: value,\r\n MatchOptions: matchOptions\r\n });\r\n actionIdx++;\r\n }\r\n break;\r\n case actionTypes.findReplace:\r\n var findText = this.ko_model.findText().trim();\r\n var replaceText = this.ko_model.replaceText().trim();\r\n var property = this.ko_model.selectedField();\r\n var actionOptions = this.ko_model.findReplaceOptions();\r\n var selectedOptions = actionOptions && actionOptions.length ? actionOptions.join() : options.None;\r\n if (!_.isEmpty(findText)) {\r\n action.Actions[actionIdx] = this.createBaseActionObject('#Model.TextAction', property, selectedAction);\r\n _.extend(action.Actions[actionIdx], {\r\n SearchString: findText,\r\n Value: replaceText,\r\n Options: selectedOptions\r\n });\r\n actionIdx++;\r\n }\r\n break;\r\n case actionTypes.append:\r\n var appendText = this.ko_model.appendText().trim();\r\n var property = this.ko_model.selectedField();\r\n var actionOptions = this.ko_model.changeTextOption();\r\n if (!_.isEmpty(appendText)) {\r\n action.Actions[actionIdx] = this.createBaseActionObject('#Model.TextAction', property, actionOptions);\r\n _.extend(action.Actions[actionIdx], {\r\n SearchString: '',\r\n Value: appendText,\r\n Options: options.None\r\n });\r\n actionIdx++;\r\n }\r\n break;\r\n }\r\n this.model.set('BatchAction', action);\r\n },\r\n getIdFilter: function () {\r\n var ret = {};\r\n if (_.contains(allowedEntities, this.entityType)) {\r\n ret = filterHelper.getIdFilter(this.grid, this.entityType);\r\n }\r\n return ret;\r\n },\r\n getProgressText: function () {\r\n return i18n.getString(entityProgressTextMap[this.entityType].ProgressText) || '';\r\n },\r\n formatGridResults: function (data) {\r\n var previewGrids = [];\r\n var errorsGrids = [];\r\n var urlOptionsDisplay = {\r\n trackingTemplate: false,\r\n finalUrlSuffix: false,\r\n customParameters: false\r\n };\r\n var actions = this.model.get('BatchAction').Actions;\r\n if (actions.length > 0) {\r\n previewGrids.push(this.ko_model.entityHeaderName());\r\n errorsGrids.push(this.ko_model.entityHeaderName());\r\n }\r\n for (var i = 0; i < actions.length; i++) {\r\n var action = actions[i];\r\n var property = action.Property;\r\n if (property === urlOptionsFields.trackingTemplate) {\r\n previewGrids.push(i18n.getString('BulkEdit_UrlOptions_CurrentTrackingTemplate'));\r\n previewGrids.push(i18n.getString('BulkEdit_UrlOptions_NewTrackingTemplate'));\r\n errorsGrids.push(i18n.getString('BulkEdit_UrlOptions_CurrentTrackingTemplate'));\r\n errorsGrids.push(i18n.getString('BulkEdit_UrlOptions_AttemptedNewTrackingTemplate'));\r\n urlOptionsDisplay.trackingTemplate = true;\r\n } else if (property === urlOptionsFields.finalUrlSuffix) {\r\n previewGrids.push(i18n.getString('BulkEdit_UrlOptions_CurrentFinalUrlSuffix'));\r\n previewGrids.push(i18n.getString('BulkEdit_UrlOptions_NewFinalUrlSuffix'));\r\n errorsGrids.push(i18n.getString('BulkEdit_UrlOptions_CurrentFinalUrlSuffix'));\r\n errorsGrids.push(i18n.getString('BulkEdit_UrlOptions_AttemptedNewFinalUrlSuffix'));\r\n urlOptionsDisplay.finalUrlSuffix = true;\r\n } else if (property && property.indexOf(urlOptionsFields.customParameters) > -1) {\r\n previewGrids.push(i18n.getString('BulkEdit_UrlOptions_CurrentCustomParameters'));\r\n previewGrids.push(i18n.getString('BulkEdit_UrlOptions_NewCustomParameters'));\r\n errorsGrids.push(i18n.getString('BulkEdit_UrlOptions_CurrentCustomParameters'));\r\n errorsGrids.push(i18n.getString('BulkEdit_UrlOptions_AttemptedNewCustomParameters'));\r\n urlOptionsDisplay.customParameters = true;\r\n }\r\n }\r\n if (previewGrids.length > 0) {\r\n this.ko_model.previewGrids(previewGrids);\r\n this.ko_model.errorsGrids(errorsGrids);\r\n this.ko_model.showPreview(true);\r\n }\r\n if (actions.length > 0) {\r\n var numberOfActions = actions.length;\r\n var propertiesToChange = null;\r\n var changesToPatch = [];\r\n _.each(data, function (entityChange) {\r\n if (entityChange.Changes.length < numberOfActions) {\r\n changesToPatch.push(entityChange);\r\n } else if (!propertiesToChange) {\r\n propertiesToChange = _.map(entityChange.Changes, function (change) {\r\n return change.Property;\r\n });\r\n }\r\n });\r\n if (changesToPatch.length > 0) {\r\n _.each(changesToPatch, function (entityChange) {\r\n var presentChanges = _.reduce(entityChange.Changes, function (memo, change) {\r\n memo[change.Property] = change;\r\n return memo;\r\n }, {});\r\n var patchedChanges = [];\r\n _.each(propertiesToChange, function (property) {\r\n if (!presentChanges[property]) {\r\n patchedChanges.push({\r\n Property: property,\r\n NewValue: null,\r\n OriginalValue: null\r\n });\r\n } else {\r\n patchedChanges.push(presentChanges[property]);\r\n }\r\n });\r\n entityChange.Changes = patchedChanges;\r\n });\r\n }\r\n }\r\n return formatUrlOptions(data, this.entityType, urlOptionsDisplay);\r\n },\r\n formatPreviewResults: function (results) {\r\n return this.formatGridResults(results);\r\n },\r\n formatErrors: function (errors) {\r\n return this.formatGridResults(errors);\r\n },\r\n transformErrors: function (errors) {\r\n if (errors) {\r\n _.each(errors, function (error) {\r\n if (error.Error === 'TooMuchText') {\r\n error.message = error.message.replace('{0}', i18n.getString('BulkEdit_Property_DestinationUrl')).replace('{1}', 1024);\r\n }\r\n });\r\n }\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n set: 'Set',\r\n findReplace: 'FindReplace',\r\n append: 'Append',\r\n changeCase: 'ChangeCase',\r\n add: 'Add',\r\n remove: 'Remove',\r\n pin: 'Pin'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n trackingTemplate: 'TrackingUrlTemplate',\r\n finalUrlSuffix: 'FinalUrlSuffix',\r\n customParameters: 'UrlCustomParameters',\r\n customParametersName: 'UrlCustomParameters/Key',\r\n customParametersValue: 'UrlCustomParameters/Value'\r\n};\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport parser from 'cron-parser';\r\nvar cron;\r\nvar year = {};\r\nvar frequency = {\r\n DAILY: 0,\r\n WEEKLY: 1,\r\n MONTHLY: 2,\r\n ONCE: 3,\r\n HOURLY: 4\r\n};\r\nfunction init(cronString) {\r\n if (cronString == null || cronString == '') {\r\n return false;\r\n }\r\n var tokens = cronString.split(' ');\r\n if (tokens.length > 5) {\r\n year = tokens[tokens.length - 1];\r\n cronString = cronString.replace(year, '');\r\n }\r\n cronString = '* ' + cronString;\r\n cron = parser.parseExpressionSync(cronString);\r\n return true;\r\n}\r\nfunction parse(cronString) {\r\n var cronModel = undefined;\r\n if (init(cronString)) {\r\n var minute = getMinute(), hour = getHour(), dayofWeek = getDayofWeek(), dayofMonth = getDayofMonth(), month = getMonth();\r\n cronModel = {\r\n frequency: getFrequency()\r\n };\r\n switch (cronModel.frequency) {\r\n case frequency.ONCE:\r\n cronModel.year = year;\r\n cronModel.month = month[0];\r\n cronModel.dayOfMonth = dayofMonth[0];\r\n cronModel.hour = hour[0];\r\n break;\r\n case frequency.MONTHLY:\r\n cronModel.dayOfMonth = dayofMonth[0];\r\n cronModel.hour = hour[0];\r\n break;\r\n case frequency.WEEKLY:\r\n cronModel.dayOfWeek = dayofWeek[0];\r\n cronModel.hour = hour[0];\r\n break;\r\n case frequency.DAILY:\r\n cronModel.hour = hour[0];\r\n break;\r\n case frequency.HOURLY:\r\n cronModel.min = minute[0];\r\n break;\r\n }\r\n }\r\n return cronModel;\r\n}\r\nfunction getYear() {\r\n return year;\r\n}\r\nfunction getMonth() {\r\n return cron._fields.month;\r\n}\r\nfunction getDayofMonth() {\r\n return cron._fields.dayOfMonth;\r\n}\r\nfunction getDayofWeek() {\r\n return cron._fields.dayOfWeek;\r\n}\r\nfunction getHour() {\r\n return cron._fields.hour;\r\n}\r\nfunction getMinute() {\r\n return cron._fields.minute;\r\n}\r\nfunction generate(options) {\r\n var defaults = {\r\n min: '0',\r\n hour: '*',\r\n dayOfWeek: '*',\r\n dayOfMonth: '*',\r\n month: '*',\r\n year: '*'\r\n };\r\n return _.template('{{min}} {{hour}} {{dayOfMonth}} {{month}} {{dayOfWeek}} {{year}}')(_.defaults(options, defaults));\r\n}\r\nfunction setHourlyCron(min) {\r\n min = min || 0;\r\n if (min < 0 || min > 60) {\r\n return '';\r\n }\r\n return generate({\r\n min: min\r\n });\r\n}\r\nfunction setDailyCron(hour) {\r\n if (hour < 0 || hour > 23) {\r\n return '';\r\n }\r\n return generate({\r\n hour: hour\r\n });\r\n}\r\nfunction setWeeklyCron(hour, dayOfWeek) {\r\n if (hour < 0 || hour > 23 || dayOfWeek < 0 || dayOfWeek > 6) {\r\n return '';\r\n }\r\n return generate({\r\n hour: hour,\r\n dayOfWeek: dayOfWeek\r\n });\r\n}\r\nfunction setMonthlyCron(hour, dayOfMonth) {\r\n if (hour < 0 || hour > 23 || dayOfMonth < 1 || dayOfMonth > 31) {\r\n return '';\r\n }\r\n return generate({\r\n hour: hour,\r\n dayOfMonth: dayOfMonth\r\n });\r\n}\r\nfunction setOnceCron(hour, dayOfMonth, month, year) {\r\n if (hour < 0 || hour > 23 || dayOfMonth < 1 || dayOfMonth > 31 || month < 1 || month > 12 || year < 1 || year > 9999) {\r\n return '';\r\n }\r\n return generate({\r\n hour: hour,\r\n dayOfMonth: dayOfMonth,\r\n month: month,\r\n year: year\r\n });\r\n}\r\nfunction getFrequency() {\r\n if (year.length > 1) {\r\n return frequency.ONCE;\r\n } else if (cron._fields.dayOfMonth.length === 1) {\r\n return frequency.MONTHLY;\r\n } else if (cron._fields.dayOfWeek.length === 1) {\r\n return frequency.WEEKLY;\r\n } else if (cron._fields.hour.length === 1) {\r\n return frequency.DAILY;\r\n } else {\r\n return frequency.HOURLY;\r\n }\r\n}\r\nexport default {\r\n getYear: getYear,\r\n getMonth: getMonth,\r\n getDayofMonth: getDayofMonth,\r\n getDayofWeek: getDayofWeek,\r\n getHour: getHour,\r\n getMinute: getMinute,\r\n setHourlyCron: setHourlyCron,\r\n setDailyCron: setDailyCron,\r\n setWeeklyCron: setWeeklyCron,\r\n setMonthlyCron: setMonthlyCron,\r\n setOnceCron: setOnceCron,\r\n getFrequency: getFrequency,\r\n frequency: frequency,\r\n parse: parse,\r\n init: init\r\n};\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport _ from 'underscore';\r\nimport kendo from '@bingads-webui/kendo/kendo.data';\r\nvar defaultOptions = {\r\n schema: {\r\n model: {\r\n id: '_uniqueId'\r\n },\r\n total: 'total'\r\n },\r\n dataItems: null,\r\n dataCallback: null,\r\n itemIdField: 'id',\r\n itemIdCallback: null,\r\n itemFilterField: 'name',\r\n itemFilterCallback: null,\r\n listItemSeed: {},\r\n pageSize: 20\r\n};\r\nvar dlbDataSource = function (options) {\r\n var self = this;\r\n self.options = $.extend(true, {}, defaultOptions, options);\r\n self.schemaDataProperty = self.options.schema.data || 'items';\r\n self.options.schema.data = function (response) {\r\n return self._mapItems(response[self.schemaDataProperty]);\r\n };\r\n self.externalTransport = _.isFunction(self.options.dataCallback);\r\n self.useCallbackForFilter = self.externalTransport && !self.options.useCallbackForFetchOnly;\r\n self.dataSource = self._createDataSource();\r\n};\r\ndlbDataSource.prototype.addIfNotExists = function (item) {\r\n var self = this;\r\n var uniqueId = self._getItemId(item);\r\n if (!uniqueId) return false;\r\n if (self.dataSource.get(uniqueId)) {\r\n return false;\r\n }\r\n self.dataSource.add(self._createListItem(item));\r\n return true;\r\n};\r\ndlbDataSource.prototype.removeIfExists = function (item) {\r\n var self = this;\r\n var itemData = self._getListItemInfo(item);\r\n if (!itemData.model) {\r\n return false;\r\n }\r\n self.dataSource.remove(itemData.model);\r\n return true;\r\n};\r\ndlbDataSource.prototype.getItemData = function (item) {\r\n return this._getListItemInfo(item).data;\r\n};\r\ndlbDataSource.prototype.getItemId = function (item) {\r\n return this._getListItemInfo(item).uniqueId;\r\n};\r\ndlbDataSource.prototype.filter = function (filterString) {\r\n var self = this;\r\n if (!filterString) {\r\n self.dataSource.filter([]);\r\n } else {\r\n if (self.useCallbackForFilter) {\r\n if (_.isFunction(self.sourceLoadCancelToken)) {\r\n self.sourceLoadCancelToken();\r\n }\r\n self.dataSource.filter({\r\n value: filterString\r\n });\r\n } else if (_.isFunction(self.options.itemFilterCallback)) {\r\n self.dataSource.filter({\r\n field: 'data',\r\n operator: self.options.itemFilterCallback,\r\n value: filterString\r\n });\r\n } else {\r\n self.dataSource.filter({\r\n field: 'data.' + self.options.itemFilterField,\r\n operator: 'contains',\r\n value: filterString\r\n });\r\n }\r\n }\r\n};\r\ndlbDataSource.prototype.refresh = function () {\r\n delete this._data;\r\n this.dataSource.read();\r\n};\r\ndlbDataSource.prototype.refreshItem = function (item) {\r\n var self = this, listItem = self._getListItemInfo(item), seededItem = self._createListItem(item);\r\n if (listItem.model) {\r\n listItem.model.set('data', seededItem.data);\r\n }\r\n};\r\ndlbDataSource.prototype.getData = function () {\r\n return _.map(this.dataSource.data(), function (item) {\r\n return item.get('data').toJSON();\r\n });\r\n};\r\ndlbDataSource.prototype.getFilterData = function () {\r\n var dataSource = this.dataSource;\r\n var filterResult = kendo.data.Query.process(dataSource.data(), {\r\n filter: dataSource.filter()\r\n });\r\n return _.map(filterResult.data, function (item) {\r\n return item.get('data').toJSON();\r\n });\r\n};\r\ndlbDataSource.prototype.setItemProperty = function (item, property, value) {\r\n var sourceItemModel = this._getListItemInfo(item).model;\r\n if (sourceItemModel) {\r\n sourceItemModel.set(property, value);\r\n }\r\n ;\r\n};\r\ndlbDataSource.prototype._getListItemInfo = function (item, ignoreSourceData) {\r\n var self = this;\r\n var model;\r\n var uniqueId = self._getItemId(item);\r\n if (uniqueId && typeof item === 'object') {\r\n model = self.dataSource.get(uniqueId);\r\n return {\r\n uniqueId: uniqueId,\r\n data: item,\r\n model: model\r\n };\r\n } else {\r\n model = self.dataSource.get(item);\r\n return {\r\n uniqueId: item,\r\n data: model ? model.get('data').toJSON() : null,\r\n model: model\r\n };\r\n }\r\n};\r\ndlbDataSource.prototype._getItemId = function (item) {\r\n var self = this;\r\n return _.isFunction(self.options.itemIdCallback) ? self.options.itemIdCallback(item) : item ? item[self.options.itemIdField] : null;\r\n};\r\ndlbDataSource.prototype._mapItems = function (sourceItems) {\r\n var self = this;\r\n return _.map(sourceItems, function (item) {\r\n return self._createListItem(item);\r\n });\r\n};\r\ndlbDataSource.prototype._createListItem = function (item) {\r\n var self = this;\r\n var id = self._getItemId(item);\r\n var seed = _.isFunction(self.options.listItemSeed) ? self.options.listItemSeed(item, id) : self.options.listItemSeed;\r\n return _.extend({}, seed, {\r\n data: item,\r\n _uniqueId: id\r\n });\r\n};\r\ndlbDataSource.prototype._createDataSource = function () {\r\n var self = this;\r\n var dataSet = {};\r\n dataSet[self.schemaDataProperty] = self.options.dataItems;\r\n return new kendo.data.DataSource({\r\n data: dataSet,\r\n schema: self.options.schema,\r\n serverFiltering: self.useCallbackForFilter,\r\n serverPaging: self.useCallbackForFilter,\r\n pageSize: self.options.pageSize,\r\n transport: self.externalTransport ? {\r\n read: _.bind(!self.useCallbackForFilter ? self._loadDataWithMemoryCache : self._loadRemoteData, self)\r\n } : undefined\r\n });\r\n};\r\ndlbDataSource.prototype._loadDataWithMemoryCache = function (kendoReadOptions) {\r\n var originalSuccess = kendoReadOptions.success, self = this;\r\n if (self._data) {\r\n originalSuccess(self._data);\r\n return;\r\n }\r\n kendoReadOptions.success = function (data) {\r\n self._data = data;\r\n originalSuccess(data);\r\n };\r\n self._loadRemoteData(kendoReadOptions);\r\n};\r\ndlbDataSource.prototype._loadRemoteData = function (kendoReadOptions) {\r\n var self = this;\r\n var request = {\r\n filterText: kendoReadOptions.data.filter && kendoReadOptions.data.filter.filters[0] ? kendoReadOptions.data.filter.filters[0].value : '',\r\n skip: kendoReadOptions.data.skip,\r\n take: kendoReadOptions.data.take\r\n };\r\n self.sourceLoadCancelToken = self._getCancellationToken(request, kendoReadOptions.error);\r\n self.options.dataCallback(request, function (error, data) {\r\n self.sourceLoadCancelToken = null;\r\n if (error) {\r\n kendoReadOptions.error(error);\r\n } else if (!request.cancelled) {\r\n kendoReadOptions.success(data);\r\n }\r\n });\r\n};\r\ndlbDataSource.prototype._getCancellationToken = function (request, errorCallback) {\r\n return _.bind(function (req, error) {\r\n error(new Error('Cancel'));\r\n req.cancelled = true;\r\n }, self, request, errorCallback);\r\n};\r\nexport default dlbDataSource;\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n 'title': 'AdGroup',\r\n 'type': 'AdGroup',\r\n 'properties': {\r\n 'CampaignId': {\r\n 'type': 'Number',\r\n 'nullable': false,\r\n 'readonly': true\r\n },\r\n 'CampaignName': {\r\n 'type': 'String',\r\n 'nullable': false,\r\n 'readonly': true\r\n },\r\n 'DeliveryStatus': {\r\n 'type': 'String',\r\n 'nullable': true,\r\n 'readonly': true,\r\n 'enum': ['CreditCardExpired', 'IOExceeded', 'PaymentInformationMissing', 'InvalidFinancialStatusOther', 'MigrationPaused', 'CampaignDeleted', 'CampaignBudgetPaused', 'ShoppingCampaignStoreNotFound', 'ShoppingCampaignNoOffersPresent', 'AdGroupExpired', 'AdGroupDraft', 'CamAssetRejected', 'CamAssetDeleted', 'EditorialRejected', 'EditorialUnderAppeal', 'EditorialPending', 'AssociationDeleted', 'CampaignUserPaused', 'AdGroupUserPaused', 'AdUserPaused', 'KeywordMatchTypeAdGroupMediumCombinationInvalid', 'KeywordUserPaused', 'NegativeKeywordConflicts', 'BidBelowFirstPageBid', 'EditorialApprovedLimited', 'Incomplete', 'BudgetSuggestions', 'GeoCodingIncomplete', 'ProductTargetUserPaused', 'AdExtensionNotPresent', 'AdExtensionDeleted', 'AdExtensionAssociationDeleted', 'StoreIdNotAssociated', 'ApplicationNotFound', 'ApplicationDestinationUrlMismatch', 'PendingMetadataSync', 'Eligible']\r\n },\r\n 'NegativeKeywordCount': {\r\n 'type': 'Number',\r\n 'nullable': true,\r\n 'readonly': true\r\n },\r\n 'BiddingStrategy': {\r\n 'type': 'String',\r\n 'nullable': true,\r\n 'enum': ['Manual', 'CPA']\r\n },\r\n 'Id': {\r\n 'type': 'Number',\r\n 'nullable': false\r\n },\r\n 'MakeAllChildrenInheritCashBackInfo': {\r\n 'type': 'Boolean',\r\n 'nullable': true\r\n },\r\n 'Medium': {\r\n 'type': 'String',\r\n 'nullable': true,\r\n 'readonly': true,\r\n 'enum': ['Search', 'Content']\r\n },\r\n 'Name': {\r\n 'type': 'String',\r\n 'nullable': false,\r\n 'mergeEditable': false,\r\n 'required': true,\r\n 'aggregateType': 'count'\r\n },\r\n 'NegativeKeywords': {\r\n 'type': 'Object',\r\n 'nullable': false\r\n },\r\n 'NegativeSiteURLs': {\r\n 'type': 'Object',\r\n 'nullable': false\r\n },\r\n 'Network': {\r\n 'type': 'String',\r\n 'nullable': true,\r\n 'enum': ['BingYahooAndSearchPartners', 'BingYahooOnly', 'SearchPartnersOnly']\r\n },\r\n 'OptimizationTarget': {\r\n 'type': 'Number',\r\n 'nullable': true\r\n },\r\n 'PricingModel': {\r\n 'type': 'String',\r\n 'nullable': true,\r\n 'enum': ['CPC', 'CPM']\r\n },\r\n 'PublisherCountries': {\r\n 'type': 'Object',\r\n 'nullable': false\r\n },\r\n 'StartDate': {\r\n 'type': 'DateTime',\r\n 'nullable': true\r\n },\r\n 'Status': {\r\n 'type': 'String',\r\n 'nullable': true,\r\n 'enum': ['CampaignUserPaused', 'CampaignBudgetPaused', 'CampaignBudgetUserPaused', 'Draft', 'Active', 'Deleted', 'Paused', 'Expired']\r\n },\r\n 'Timestamp': {\r\n 'type': 'Object',\r\n 'nullable': false\r\n }\r\n }\r\n};\r\n\r\n","/* eslint-disable */\r\nimport schema from '@bingads-webui-static-legacy/wunderbar/data/schemas/new/AdGroup';\r\nimport backbone_schema from '@bingads-webui-static-legacy/wunderbar/libs/int/schema/factory/backbone';\r\nexport default {\r\n name: 'adgroup',\r\n backbone: backbone_schema.from(schema),\r\n schema: schema\r\n};\r\n\r\n","/* eslint-disable */\r\nimport base from '@bingads-webui-static-legacy/wunderbar/data/collections/base';\r\nimport model from '@bingads-webui-static-legacy/wunderbar/data/models/adgroup';\r\nvar collection = base.extend({\r\n model: model.backbone,\r\n url: '/Campaign/WunderBar/GetAdGroups'\r\n});\r\nexport default collection;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport $ from 'jquery';\r\nimport Promise from 'bluebird';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport AdGroupCollection from '@bingads-webui-static-legacy/wunderbar/data/collections/adgroups';\r\nimport CampaignCollection from '@bingads-webui-static-legacy/wunderbar/data/collections/campaigns';\r\nimport Pristine from '@bingads-webui-static-legacy/wunderbar/data/collections/pristine';\r\nvar adgroupRequest = {\r\n promise: null,\r\n campaignId: null,\r\n adgroupId: null\r\n}, campaignRequest = {\r\n promise: null,\r\n campaignId: null\r\n};\r\nvar adgroups = new Pristine(new AdGroupCollection());\r\nvar campaigns = new Pristine(new CampaignCollection());\r\nfunction userParameters() {\r\n var params = {\r\n cid: pageContext.CurrentCustomer.Id,\r\n uid: pageContext.CurrentUser.Id,\r\n aid: pageContext.CurrentAccount.Id\r\n };\r\n return $.param(params) + '&';\r\n}\r\nfunction clearPromise(request) {\r\n return function () {\r\n request.promise = null;\r\n request.campaignId = null;\r\n if (request.adgroupId) {\r\n request.adgroupId = null;\r\n }\r\n };\r\n}\r\nvar getPristineRequest = function (options) {\r\n options = options || ({});\r\n options.data = options.data || ({});\r\n options.http_method = 'GET';\r\n options.hideLoadingPanelOnSuccess = false;\r\n options.ignoreBeforeAjax = true;\r\n return options;\r\n};\r\nexport default {\r\n getAdgroup: function (campaignId, adgroupId) {\r\n if (adgroupRequest.campaignId === campaignId && adgroupRequest.adgroupId === adgroupId && adgroupRequest.promise) {\r\n return adgroupRequest.promise;\r\n } else {\r\n adgroupRequest.campaignId = campaignId;\r\n adgroupRequest.adgroupId = adgroupId;\r\n adgroupRequest.promise = $.get('/campaign/wunderbar/getAdgroup?' + userParameters() + $.param({\r\n 'cmpid': campaignId,\r\n 'adgid': adgroupId\r\n }));\r\n adgroupRequest.promise.then(function (data) {\r\n window.selectedAdgroupLanguage = data ? data.Language : undefined;\r\n });\r\n adgroupRequest.promise.then(clearPromise(adgroupRequest), clearPromise(adgroupRequest));\r\n return adgroupRequest.promise;\r\n }\r\n },\r\n getCampaign: function (campaignId, experimentId) {\r\n if (campaignRequest.campaignId === campaignId && campaignRequest.promise) {\r\n return campaignRequest.promise;\r\n } else {\r\n campaignRequest.campaignId = campaignId;\r\n campaignRequest.promise = $.get('/campaign/wunderbar/getCampaign?' + userParameters() + $.param({\r\n 'cmpid': campaignId\r\n }));\r\n if (experimentId) {\r\n var fetchExperimentTask = jsdata.Experiment.find(experimentId, {\r\n bypassCache: true,\r\n cacheResponse: true\r\n });\r\n campaignRequest.promise = Promise.join(campaignRequest.promise, fetchExperimentTask).then(function (results) {\r\n return _.defaults({}, results[1], results[0]);\r\n });\r\n }\r\n campaignRequest.promise.then(clearPromise(campaignRequest), clearPromise(campaignRequest));\r\n return campaignRequest.promise;\r\n }\r\n },\r\n getCampaigns: function (options) {\r\n campaigns.fetch(getPristineRequest(options), Pristine.getPristineKey('Campaigns'));\r\n },\r\n getAdgroups: function (options) {\r\n adgroups.fetch(getPristineRequest(options), Pristine.getPristineKey('AdGroups', options.data.campaignId));\r\n }\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n 141: 'Active',\r\n 143: 'Deleted',\r\n 8: 'Suspended',\r\n 140: 'Draft',\r\n 144: 'Paused',\r\n 150: 'Expired'\r\n};\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport $ from 'jquery';\r\nimport backbone from 'backbone';\r\nimport PageContext from '@bingads-webui-static-legacy/page-context';\r\nimport memSto from '@bingads-webui-component-legacy/storage/memoryStorage';\r\nimport odata from '@bingads-webui-static-legacy/communication/channel/odata';\r\nimport base from '@bingads-webui-static-legacy/wunderbar/data/collections/base';\r\nimport model from '@bingads-webui-static-legacy/wunderbar/data/models/adgroup';\r\nimport adgroupStatus from '@bingads-webui-static-legacy/schema/adgroup/entityStatus';\r\nimport * as odataQuery from '@bingads-webui/filter-entity';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nvar keys = [];\r\nvar collection = base.extend({\r\n model: model.backbone,\r\n url: 'Advertiser/Customers()/Accounts()/',\r\n initialize: function () {\r\n this._meta = {};\r\n this.set('adgroupOptions', {});\r\n var adgroupChangedEvent = 'adGroupDeleted adGroupUpdated adGroupCreated';\r\n var adgroupChangeCallback = function (res, options) {\r\n var changed = res && _.isArray(res.data) ? res.data : options && _.isArray(options.models) ? options.models : [];\r\n _.each(changed, function (adGroup) {\r\n if (!adGroup.CampaignId) {\r\n _.each(keys, function (key) {\r\n memSto.invalidate(key);\r\n });\r\n keys = [];\r\n } else {\r\n var campaignId = adGroup.CampaignId.toString();\r\n _.each(keys, function (key, i) {\r\n if (key.indexOf(campaignId) > -1) {\r\n memSto.invalidate(key);\r\n keys.splice(i, 1);\r\n }\r\n });\r\n }\r\n });\r\n };\r\n window.App.off(adgroupChangedEvent, adgroupChangeCallback).on(adgroupChangedEvent, adgroupChangeCallback);\r\n },\r\n set: function (prop, value) {\r\n this._meta[prop] = value;\r\n },\r\n get: function (prop) {\r\n return this._meta[prop];\r\n },\r\n sync: function (method, model, options) {\r\n var self = this, adgroupOptions = self.get('adgroupOptions'), canCache = adgroupOptions.allowCaching === true && self._eligibleForCaching(adgroupOptions), adgroups, adgPro;\r\n if (method === 'read') {\r\n if (canCache) {\r\n adgPro = $.Deferred();\r\n adgroups = self._getFromCache(adgroupOptions);\r\n if (adgroups) {\r\n adgPro.resolve(adgroups);\r\n return adgPro.promise();\r\n }\r\n }\r\n var url = self._augmentUrl(self.url, options);\r\n adgPro = odata.get(url, null, options);\r\n if (canCache) {\r\n adgPro.done(function (data) {\r\n self._setCache(adgroupOptions, data);\r\n });\r\n }\r\n return adgPro;\r\n }\r\n },\r\n _eligibleForCaching: function (options) {\r\n return !(_.isUndefined(options.campaignId) || _.isUndefined(options.skip)) && !options.nameFilterText;\r\n },\r\n _setCache: function (options, data) {\r\n var newKey = this._getCacheKey(options), firstKey;\r\n if (keys.length === (options.maxCacheSize || 10)) {\r\n firstKey = keys[0];\r\n memSto.invalidate(firstKey);\r\n keys.shift();\r\n }\r\n memSto.set(newKey, data);\r\n keys.push(newKey);\r\n },\r\n _getFromCache: function (options) {\r\n return memSto.get(this._getCacheKey(options));\r\n },\r\n _getCacheKey: function (options) {\r\n return options.campaignId + '_' + options.skip;\r\n },\r\n _augmentUrl: function (url, options) {\r\n var urlEntity = 'AdGroups', resultUrl = url, adgroupOptions = this.get('adgroupOptions'), currentScope = adgroupOptions.scope ? adgroupOptions.scope.currentScope : null, campaignId = adgroupOptions.campaignId, filterText = adgroupOptions.nameFilterText ? adgroupOptions.nameFilterText : '', filterOptions = adgroupOptions.predicate, filterExpression = '';\r\n if (_.isArray(filterOptions)) {\r\n _.each(filterOptions, function (opt, idx) {\r\n if (idx !== 0) filterExpression += ' and ';\r\n _.each(opt, function (option, index) {\r\n if (index !== 0) filterExpression += ' or '; else filterExpression += '(';\r\n filterExpression += option.operand + ' ' + option.operator + ' ' + option.value;\r\n if (index === opt.length - 1) filterExpression += ')';\r\n });\r\n });\r\n }\r\n if ((filterText === '' || (adgroupOptions.controlMode === 'campaign' || currentScope === 'campaign')) && campaignId) resultUrl += 'Campaigns(' + campaignId + ')/' + urlEntity; else resultUrl += urlEntity;\r\n resultUrl += '?';\r\n resultUrl += '$expand=Campaign($select=Id,Name,CampaignType,CampaignSubType)';\r\n resultUrl += '&$select=Name,Id,Status,Medium,Language';\r\n var isDSAMixedModeCampaignEnabled = _.result(config.get('Permissions'), 'IsDSAMixedModeCampaignEnabled', false);\r\n if (isDSAMixedModeCampaignEnabled) {\r\n resultUrl += ',AdGroupType';\r\n }\r\n resultUrl += '&$top=' + adgroupOptions.take;\r\n resultUrl += '&$skip=' + adgroupOptions.skip;\r\n if (filterText !== '') {\r\n var $filter = odataQuery.convertToOData({\r\n Name: {\r\n $contains: encodeURIComponent(filterText)\r\n }\r\n }, {});\r\n resultUrl += '&$filter=' + $filter;\r\n if (filterExpression !== '') resultUrl += ' and ' + filterExpression;\r\n } else {\r\n if (filterExpression !== '') resultUrl += '&$filter=' + filterExpression;\r\n }\r\n resultUrl += '&$count=true';\r\n return resultUrl;\r\n }\r\n});\r\nexport default collection;\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n 121: 'Active',\r\n 123: 'Deleted',\r\n 8: 'Suspended',\r\n 124: 'UserPaused',\r\n 126: 'BudgetPaused',\r\n 127: 'BudgetUserPaused'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n 'statusEnabled_icon': 'EntityStatus_Active',\r\n 'statusExcluded_icon': 'EntityStatus_Exclude',\r\n 'statusDeleted_icon': 'EntityStatus_Deleted',\r\n 'statusSuspended_icon': 'EntityStatus_InActive',\r\n 'statusPaused_icon': 'EntityStatus_Paused'\r\n};\r\n\r\n","/* eslint-disable */\r\nimport legacy$ from 'jquery';\r\nimport _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport uiBlocker from '@bingads-webui-component-legacy/uiblocker/service/uiBlocker';\r\nimport odata from '@bingads-webui-component-legacy/http/channel/odata';\r\nimport appConfig from '@bingads-webui-component-legacy/config/index';\r\nimport entityService from '@bingads-webui-static-legacy/entity-service';\r\nimport AdGroupCollection from '@bingads-webui-static-legacy/wunderbar/data/collections/adgroupsCollection';\r\nimport campaignStatusList from '@bingads-webui-static-legacy/schema/campaign/entityStatus';\r\nimport adgroupStatusList from '@bingads-webui-static-legacy/schema/adgroup/entityStatus';\r\nimport statusIconLabelList from '@bingads-webui-static-legacy/schema/account/statusIconLabel';\r\nimport setting from '@bingads-webui-static-legacy/instrumentation/campaignSchemaAndSetting';\r\nimport instruSvc from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport '@bingads-webui-static-legacy/instrumentation/instrumentation';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nvar Service = function (entityServiceImplementation, viewModel, options, blockerContainer) {\r\n var serviceInjected = false;\r\n this.useInjectedAdgroupFetch = false;\r\n if (entityServiceImplementation) {\r\n if (_.isFunction(entityServiceImplementation.getCampaigns) && _.isFunction(entityServiceImplementation.getAdgroups)) {\r\n serviceInjected = true;\r\n this.useInjectedAdgroupFetch = !!entityServiceImplementation.useInjectedAdgroupFetch;\r\n } else {\r\n throw new Error('entityServiceImplementation should contain the methods: getCampaigns and getAdgroups');\r\n }\r\n }\r\n this.entityService = serviceInjected ? entityServiceImplementation : entityService;\r\n this.options = options;\r\n this.blockerContainer = blockerContainer;\r\n this.viewModel = viewModel;\r\n};\r\nvar shouldKeepSmartShoppingCampaignAdGroup = function (adgroup, adsCountMap) {\r\n if (adgroup.Campaign.CampaignSubType !== 'ShoppingSmartAds') {\r\n return true;\r\n }\r\n var permissions = appConfig.get('Permissions');\r\n var isResponsiveAdForSSCEnabled = permissions.IsResponsiveAdForSSCEnabled;\r\n var result;\r\n if (isResponsiveAdForSSCEnabled) {\r\n result = adgroup.Campaign.CampaignSubType === 'ShoppingSmartAds' && (!adsCountMap[adgroup.Id] || !adsCountMap[adgroup.Id].Product || !adsCountMap[adgroup.Id].Responsive);\r\n } else {\r\n result = adgroup.Campaign.CampaignSubType === 'ShoppingSmartAds' && (!adsCountMap[adgroup.Id] || !adsCountMap[adgroup.Id].Product);\r\n }\r\n return result;\r\n};\r\nService.shouldKeepSmartShoppingCampaignAdGroup = shouldKeepSmartShoppingCampaignAdGroup;\r\nService.prototype = (function () {\r\n var getCampaignData = function (controlOptions, options, cb) {\r\n uiBlocker.block(this.blockerContainer, 'getCampaignBlocker', true);\r\n var campaignId = this.viewModel.selectedCampaign() ? this.viewModel.selectedCampaign().Id : null, campaign = this.viewModel.selectedCampaign() ? this.viewModel.selectedCampaign() : null, predicate = controlOptions.filterPredicate, campaignPredicate = predicate ? predicate.campaign : null;\r\n this.entityService.getCampaigns({\r\n success: _.bind(_filterCampaigns, this, options, cb),\r\n fail: function (error) {\r\n uiBlocker.unblock(this.blockerContainer, 'getCampaignBlocker');\r\n },\r\n filterPredicate: campaignPredicate,\r\n filterText: options.filterText,\r\n skip: options.skip,\r\n take: options.take,\r\n data: {\r\n campaignId: campaignId,\r\n campaign: campaign\r\n }\r\n });\r\n if (_.isFunction(this.viewModel.RefreshAdgroups)) {\r\n this.viewModel.filterText(options.filterText);\r\n this.viewModel.RefreshAdgroups();\r\n }\r\n };\r\n var _filterCampaigns = function (options, cb, data) {\r\n var scope = this.options && this.options.scope;\r\n if (!data || !data.data) {\r\n return;\r\n }\r\n var campaignData = data.data, query = _.chain(campaignData).filter(_getSearchPredicate(options.filterText)).filter(function (campaign) {\r\n return campaign.CampaignType !== 16;\r\n }).filter(function (campaign) {\r\n var scenario = scope && scope.scenario;\r\n var level = scope && scope.level;\r\n var adgroupLevel = 1;\r\n if ((scenario === 'locations-grid' || scenario === 'ad-schedules-grid') && campaign.CampaignSubType === 12 && level === adgroupLevel) {\r\n return false;\r\n }\r\n if ((scenario === 'negative-keywords-grid' || scenario === 'negative-keyword-lists-grid' || scenario === 'devices-grid') && campaign.CampaignSubType === 12) {\r\n return false;\r\n }\r\n return true;\r\n }).map(function (cam) {\r\n return _.extend(cam, {\r\n name: cam.Name,\r\n statusHtml: getStatusHtml(campaignStatusList, cam.Status, 'Campaign')\r\n });\r\n }), total = data.HasPaged ? data.total : query.value().length, items = data.HasPaged ? query.value() : query.rest(options.skip || 0).first(options.take || Math.pow(2, 31)).value();\r\n cb(null, {\r\n items: items,\r\n total: total\r\n });\r\n uiBlocker.unblock(this.blockerContainer, 'getCampaignBlocker');\r\n };\r\n var removeAllBlockers = function (blockerContext) {\r\n var blockerContainer = blockerContext.blockerContainer;\r\n if (this.blockerContainer && this.blockerContainer.length == 1) {\r\n blockerContainer = this.blockerContainer;\r\n }\r\n uiBlocker.unblock(blockerContainer, 'getCampaignBlocker');\r\n uiBlocker.unblock(blockerContainer, 'getAdgroupBlocker');\r\n };\r\n var getAdgroupDataServer = function (controlOptions, options, cb) {\r\n var campaignId = this.viewModel.selectedCampaign() ? this.viewModel.selectedCampaign().Id : null, campaign = this.viewModel.selectedCampaign() ? this.viewModel.selectedCampaign() : null, predicate = controlOptions.filterPredicate, scope = controlOptions.scope, controlMode = controlOptions.controlMode, filterText = this.viewModel.filterText() || options.filterText, adgroupPredicate = predicate ? predicate.adgroup : null, self = this;\r\n options = _.extend(options, {\r\n data: {\r\n campaignId: campaignId,\r\n campaign: campaign\r\n },\r\n customFilter: adgroupPredicate\r\n });\r\n if (!campaignId && (!filterText || filterText === '')) {\r\n cb(null, {\r\n items: [],\r\n total: 0\r\n });\r\n this.viewModel.adgroups([]);\r\n } else {\r\n instruSvc.startActivity(setting.ACTIVITYNAME.AdgroupSelectorLoadAdgroups);\r\n uiBlocker.block(this.blockerContainer, 'getAdgroupBlocker', true);\r\n var adgroups = new AdGroupCollection();\r\n adgroups.set('adgroupOptions', {\r\n allowCaching: false,\r\n skip: options.skip || 0,\r\n take: options.take || 20000,\r\n campaignId: campaignId,\r\n nameFilterText: filterText,\r\n predicate: adgroupPredicate,\r\n scope: scope,\r\n controlMode: controlMode\r\n });\r\n $.advertiser.clearErrorSummary();\r\n adgroups.fetch().done(_.bind(_filterAdgroupsServer, this, options, scope, cb)).fail(function (error) {\r\n if (_.isFunction(controlOptions.errorCb)) {\r\n controlOptions.errorCb(error);\r\n }\r\n cb(error);\r\n legacy$.advertiser.appendErrorSummary(i18n.getString('GenericErrorMessage'));\r\n uiBlocker.unblock(self.blockerContainer, 'getAdgroupBlocker');\r\n instruSvc.endActivity(setting.ACTIVITYNAME.AdgroupSelectorLoadAdgroups, false);\r\n });\r\n }\r\n };\r\n var getAdgroupDataClient = function (controlOptions, options, cb) {\r\n var campaignId = this.viewModel.selectedCampaign() ? this.viewModel.selectedCampaign().Id : null, campaign = this.viewModel.selectedCampaign() ? this.viewModel.selectedCampaign() : null, scope = controlOptions.scope, filterText = options.filterText || this.viewModel.filterText(), predicate = controlOptions.filterPredicate, adgroupPredicate = predicate ? predicate.adgroup : null;\r\n options = _.extend(options, {\r\n data: {\r\n campaignId: campaignId,\r\n campaign: campaign\r\n },\r\n customFilter: adgroupPredicate,\r\n filterText: filterText,\r\n skip: options.skip,\r\n take: options.take\r\n });\r\n if (!campaignId && !filterText) {\r\n cb(null, {\r\n items: [],\r\n total: 0\r\n });\r\n } else {\r\n uiBlocker.block(this.blockerContainer, 'getAdgroupBlocker', true);\r\n this.entityService.getAdgroups(_.extend(options, {\r\n success: _.bind(_filterAdgroups, this, options, scope, cb),\r\n fail: function (error) {\r\n cb(error);\r\n uiBlocker.unblock(this.blockerContainer, 'getAdgroupBlocker');\r\n },\r\n filterPredicate: adgroupPredicate\r\n }));\r\n }\r\n };\r\n var getAdgroupData = function (controlOptions, options, cb) {\r\n if (this.useInjectedAdgroupFetch) {\r\n return this.getAdgroupDataClient(controlOptions, options, cb);\r\n } else {\r\n return this.getAdgroupDataServer(controlOptions, options, cb);\r\n }\r\n };\r\n var _filterAdgroupsServer = function (options, scope, cb, data) {\r\n var result = {};\r\n result.data = data.value;\r\n result.total = data.hasOwnProperty('@odata.count') ? data['@odata.count'] : 0;\r\n _filterAdgroups.call(this, options, scope, cb, result);\r\n instruSvc.endActivity(setting.ACTIVITYNAME.AdgroupSelectorLoadAdgroups);\r\n };\r\n var getAdsCount = function (adgroupData, campaign, account, customer) {\r\n return new Promise(function (resolve) {\r\n if (campaign && campaign.CampaignSubType !== 12 && campaign.CampaignSubType !== 'ShoppingSmartAds') {\r\n resolve({});\r\n } else if (adgroupData && adgroupData.length === 0) {\r\n resolve({});\r\n } else {\r\n if (!campaign) {\r\n campaign = _.first(adgroupData).Campaign;\r\n }\r\n if (!Array.isArray(adgroupData)) {\r\n adgroupData = [adgroupData];\r\n }\r\n var adgroupIds = _.map(adgroupData, function (adgroup) {\r\n return adgroup.Id;\r\n });\r\n odata.post('Customers(' + customer.Id + ')/Accounts(' + account.Id + ')/Campaigns(' + campaign.Id + ')/Ads/Default.GetAdCount', {\r\n data: {\r\n adGroupIds: adgroupIds\r\n }\r\n }).then(function (obj) {\r\n var adsCount = _.result(obj, 'value', []);\r\n var adsCountMap = {};\r\n adsCount.forEach(function (item) {\r\n adsCountMap[item.AdGroupId] = _.object(item.AdsCountByAdType.Keys, item.AdsCountByAdType.Values);\r\n });\r\n resolve(adsCountMap);\r\n }).catch(function (e) {\r\n console.log(e);\r\n resolve({});\r\n });\r\n }\r\n });\r\n };\r\n var _filterAdgroups = function (options, scope, cb, data) {\r\n var scenario = scope && scope.scenario;\r\n if (!data || !data.data) {\r\n return;\r\n }\r\n var adgroupData = data.data, campaign = options.data.campaign;\r\n _.each(adgroupData, function (ag) {\r\n if (campaign && ag.Campaign.Id === campaign.Id) {\r\n ag.isFeedBasedCampaign = !!_.result(_.take(campaign.CampaignSettings), 'ProviderId');\r\n }\r\n });\r\n Promise.resolve(scenario === 'ads-create' ? getAdsCount(adgroupData, campaign, scope.account, scope.customer) : {}).bind(this).then(function (adsCountMap) {\r\n var query = _.chain(adgroupData).filter(function (adgroup) {\r\n return shouldKeepSmartShoppingCampaignAdGroup(adgroup, adsCountMap);\r\n }).map(function (adg) {\r\n return _.extend(adg, {\r\n parentId: adg.Campaign.Id,\r\n parentName: adg.Campaign.Name,\r\n name: adg.Name,\r\n statusHtml: getStatusHtml(adgroupStatusList, adg.Status, 'Adgroup'),\r\n adsCountMap: adsCountMap\r\n });\r\n });\r\n if (_.isFunction(options.customFilter)) {\r\n query = query.filter(options.customFilter);\r\n }\r\n var items = query.value();\r\n var isShoppingSmartAd = campaign && (campaign.CampaignSubType === 12 || campaign.CampaignSubType === 'ShoppingSmartAds');\r\n var total = !isShoppingSmartAd && data.total ? data.total : items.length;\r\n cb(null, {\r\n items: items,\r\n total: total\r\n });\r\n uiBlocker.unblock(this.blockerContainer, 'getAdgroupBlocker');\r\n });\r\n };\r\n var _getSearchPredicate = function (filterText) {\r\n return function (item) {\r\n if (!item) {\r\n return;\r\n }\r\n return item.Name.toLowerCase().indexOf(filterText.toLowerCase()) !== -1;\r\n };\r\n };\r\n var _getStatusClass = function (status, original) {\r\n var resultClass = original;\r\n switch (status) {\r\n case 'Active':\r\n resultClass = 'statusEnabled_icon';\r\n break;\r\n case 'Excluded':\r\n resultClass = 'statusExcluded_icon';\r\n break;\r\n case 'Deleted':\r\n resultClass = 'statusDeleted_icon';\r\n break;\r\n case 'Suspended':\r\n resultClass = 'statusSuspended_icon';\r\n break;\r\n case 'UserPaused':\r\n case 'BudgetPaused':\r\n case 'BudgetUserPaused':\r\n case 'Paused':\r\n resultClass = 'statusPaused_icon';\r\n break;\r\n }\r\n return resultClass;\r\n };\r\n var getStatusHtml = function (statusList, status, entityType) {\r\n var className = _getStatusClass(status, 'statusEnabled_icon');\r\n className = _getStatusClass(statusList[status], className);\r\n var prefix = '';\r\n if (entityType === 'Adgroup') {\r\n prefix = i18n.getString('EntityType_AdGroup_Singular') + ' ';\r\n } else if (entityType === 'Campaign') {\r\n prefix = i18n.getString('EntityType_Campaign_Singular') + ' ';\r\n }\r\n return '';\r\n };\r\n var setControlScope = function (scope, viewModel) {\r\n switch (scope.currentScope) {\r\n default:\r\n viewModel.scope = viewModel.controlModes.account;\r\n break;\r\n case 'campaign':\r\n var campaign = extendProperties(scope.campaign);\r\n viewModel.selectedCampaign(campaign);\r\n viewModel.scope = viewModel.controlModes.campaign;\r\n break;\r\n case 'adgroup':\r\n var campaign = extendProperties(scope.campaign), adgroup = extendProperties(scope.adgroup);\r\n adgroup = _.extend(adgroup, {\r\n Campaign: campaign\r\n });\r\n viewModel.selectedCampaign(campaign);\r\n if (viewModel.hasOwnProperty('selectedAdgroup')) {\r\n viewModel.selectedAdgroup(adgroup);\r\n }\r\n viewModel.scope = viewModel.controlModes.adgroup;\r\n break;\r\n }\r\n };\r\n var extendProperties = function (entity) {\r\n return _.extend(entity, {\r\n Id: entity.Id || entity.id,\r\n Name: entity.Name || entity.name\r\n });\r\n };\r\n var extendAdgroup = (function (observable, adgroup) {\r\n uiBlocker.block(this.blockerContainer, 'getAdgroupBlocker', true);\r\n entityService.getAdgroup(adgroup.Campaign.Id, adgroup.Id).then(_.bind(function (adg) {\r\n observable(_.extend(adgroup, adg));\r\n uiBlocker.unblock(this.blockerContainer, 'getAdgroupBlocker');\r\n }, this), _.bind(function (error) {\r\n observable(adgroup);\r\n uiBlocker.unblock(this.blockerContainer, 'getAdgroupBlocker');\r\n }, this));\r\n }).asLoggingStart(setting.ACTIVITYNAME.AdgroupSelectorLoadExtendedAdgroup);\r\n return {\r\n getCampaignData: getCampaignData,\r\n getAdgroupData: getAdgroupData,\r\n getAdgroupDataServer: getAdgroupDataServer,\r\n getAdgroupDataClient: getAdgroupDataClient,\r\n removeAllBlockers: removeAllBlockers,\r\n getStatusHtml: getStatusHtml,\r\n setControlScope: setControlScope,\r\n extendProperties: extendProperties,\r\n extendAdgroup: extendAdgroup,\r\n getAdsCount: getAdsCount\r\n };\r\n})();\r\nexport default Service;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport ko from 'knockout';\r\nimport sectionItemTemplate from '@bingads-webui-static-legacy/shared/template/SectionItem.pug';\r\nko.bindingHandlers.sectionItem = {\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {\r\n var bindingOptions = valueAccessor();\r\n var innerBindingContext = bindingContext.extend({\r\n bindingOptions: bindingOptions\r\n });\r\n var $element = $(element);\r\n var $newContent = $(sectionItemTemplate()).addClass($element.attr('class'));\r\n $element.children().detach().appendTo($newContent.find('.section-item-editor'));\r\n $(element).replaceWith($newContent);\r\n ko.applyBindingsToDescendants(innerBindingContext, $newContent[0]);\r\n return {\r\n controlsDescendantBindings: true\r\n };\r\n }\r\n};\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nvar Permissions = pageContext.Permissions;\r\nexport default {\r\n dataDateRanges: {\r\n 'Today': 'Today',\r\n 'Yesterday': 'Yesterday',\r\n 'ThisWeekFromSun': 'ThisWeekFromSun',\r\n 'ThisWeekFromMon': 'ThisWeekFromMon',\r\n 'Last7Days': 'LastSevenDays',\r\n 'LastWeekStartingSun': 'LastWeekStartingSun',\r\n 'LastWeekStartingMon': 'LastWeekStartingMon',\r\n 'LastBusinessWeek': 'LastBusinessWeek',\r\n 'Last14Days': 'LastFourteenDays',\r\n 'ThisMonth': 'ThisMonth',\r\n 'Last30Days': 'LastThirtyDays',\r\n 'LastMonth': 'LastMonth',\r\n 'Last3Month': 'LastThreeMonths',\r\n 'Last6Month': 'LastSixMonths',\r\n 'ThisYear': 'ThisYear',\r\n 'LastYear': 'LastYear',\r\n 'AllTime': 'AllTime'\r\n },\r\n frequencyGrain: {\r\n 'Hourly': 4,\r\n 'Daily': 0,\r\n 'Weekly': 1,\r\n 'Monthly': 2,\r\n 'Once': 3\r\n },\r\n weeklyOptions: {\r\n 'Monday': 1,\r\n 'Tuesday': 2,\r\n 'Wednesday': 3,\r\n 'Thursday': 4,\r\n 'Friday': 5,\r\n 'Saturday': 6,\r\n 'Sunday': 0\r\n },\r\n dailyOptions: {\r\n '12AM': 0,\r\n '1AM': 1,\r\n '2AM': 2,\r\n '3AM': 3,\r\n '4AM': 4,\r\n '5AM': 5,\r\n '6AM': 6,\r\n '7AM': 7,\r\n '8AM': 8,\r\n '9AM': 9,\r\n '10AM': 10,\r\n '11AM': 11,\r\n '12PM': 12,\r\n '1PM': 13,\r\n '2PM': 14,\r\n '3PM': 15,\r\n '4PM': 16,\r\n '5PM': 17,\r\n '6PM': 18,\r\n '7PM': 19,\r\n '8PM': 20,\r\n '9PM': 21,\r\n '10PM': 22,\r\n '11PM': 23\r\n },\r\n emailOptions: {\r\n 'Always': 'Always',\r\n 'OnChangeOrError': 'OnChange, OnError',\r\n 'OnError': 'OnError',\r\n 'None': 'None'\r\n },\r\n scopeOptions: {\r\n 'Selected': 0,\r\n 'AllEnabled': 1,\r\n 'AllButRemoved': 2,\r\n 'SelectCampaignOrAdGroup': 3\r\n },\r\n entityRelatedOptions: {\r\n 'EnabledStatusFilterValue': {\r\n 'Campaign': ['121', '126'],\r\n 'Ad': ['1'],\r\n 'AdGroup': ['141', '126'],\r\n 'Keyword': ['161']\r\n },\r\n 'EnabledStatusFilterColumn': {\r\n 'Campaign': 'CampaignStatus',\r\n 'Ad': 'AdUiDisplayStatus',\r\n 'AdGroup': 'AdGroupStatus',\r\n 'Keyword': 'KeywordStatus'\r\n },\r\n 'PauseActionValue': {\r\n 'Campaign': 'UserPaused',\r\n 'Ad': 'Paused',\r\n 'AdGroup': 'Paused',\r\n 'Keyword': 'Paused'\r\n },\r\n 'EntityGridFilterName': {\r\n 'Campaign': 'campaignsFilters',\r\n 'Ad': 'adFilters',\r\n 'AdGroup': 'adGroupFilters',\r\n 'Keyword': 'gridFilter'\r\n },\r\n 'PreviewEntityKey': {\r\n 'Campaign': 'CampaignName',\r\n 'Ad': 'AdTitle',\r\n 'AdGroup': 'AdgroupName',\r\n 'Keyword': 'Keyword'\r\n }\r\n },\r\n campaignFilterData: {\r\n 'Filters': null,\r\n 'UseOrFilter': false,\r\n 'DataDomain': 'Campaign',\r\n 'ColumnToFilterTypeMapping': {\r\n 'CampaignId': 'NumericValue',\r\n 'CTR': 'NumericValue',\r\n 'Clicks': 'NumericValue',\r\n 'ClickShare': 'NumericValue',\r\n 'TotalCost': 'NumericValue',\r\n 'Impressions': 'NumericValue',\r\n 'TotalEffectiveCost': 'CurrencyValue',\r\n 'Conversions': 'NumericValue',\r\n 'AverageCPC': 'CurrencyValue',\r\n 'AverageCPM': 'CurrencyValue',\r\n 'AveragePosition': 'NumericValue',\r\n 'CPA': 'NumericValue',\r\n 'RevenueOnAdSpend': 'NumericValue',\r\n 'ConversionRate': 'NumericValue',\r\n 'AdvertiserReportedRevenue': 'NumericValue',\r\n 'AverageCPP': 'NumericValue',\r\n 'ManualCalls': 'NumericValue',\r\n 'PhoneSpent': 'NumericValue',\r\n 'PhoneImpressions': 'NumericValue',\r\n 'PhoneThroughRate': 'NumericValue',\r\n 'ClickAndPhoneSpent': 'NumericValue',\r\n 'ClickCalls': 'NumericValue',\r\n 'CampaignName': 'StringValue',\r\n 'CampaignStatus': 'EnumSelector',\r\n 'DeliveryStatus': 'EnumSelector',\r\n 'CampaignCampaignType': 'EnumSelector',\r\n 'CampaignIsLastImported': 'BooleanValue',\r\n 'CampaignBudgetAmount': 'NumericValue',\r\n 'CampaignLanguages': 'IdentitySelector',\r\n 'QualityScore': 'NumericValue',\r\n 'HasAuctionInsight': 'BooleanValue',\r\n 'Labels': 'IdentitySelector',\r\n 'DisplayBiddingStrategyType': 'EnumSelector',\r\n 'AuctionWonPercent': 'NumericValue',\r\n 'AuctionLostToBudgetPercent': 'NumericValue',\r\n 'AuctionLostToRankPercent': 'NumericValue',\r\n 'TopImpressionRate': 'NumericValue',\r\n 'AbsoluteTopImpressionRate': 'NumericValue',\r\n 'ExactMatchImpressionSharePercent': 'NumericValue',\r\n 'TopImpressionSharePercent': 'NumericValue',\r\n 'TopISLostToBudgetPercent': 'NumericValue',\r\n 'TopISLostToRankPercent': 'NumericValue',\r\n 'AbsoluteTopImpressionSharePercent': 'NumericValue',\r\n 'AbsoluteTopISLostToBudgetPercent': 'NumericValue',\r\n 'AbsoluteTopISLostToRankPercent': 'NumericValue'\r\n },\r\n 'FilterTypeToOperatorMapping': {\r\n 'StringValue': ['Contains', 'DoesNotContain', 'BeginsWith', 'EndsWith', 'Equal', 'NotEqual'],\r\n 'ExactStringValue': ['Equal'],\r\n 'PartialStringValue': ['Contains'],\r\n 'RangeSelector': ['Between'],\r\n 'EnumSelector': ['EnumSelection'],\r\n 'CurrencyValue': ['Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Equal', 'NotEqual'],\r\n 'NumericValue': ['Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Equal', 'NotEqual'],\r\n 'DateValue': ['Equal', 'NotEqual', 'Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Between'],\r\n 'IdentityValue': ['Equal'],\r\n 'IdentitySelector': ['ContainsAll', 'ContainsAny', 'ContainsNone'],\r\n 'BooleanValue': ['Equal']\r\n },\r\n 'ColumnToEnumMapping': {\r\n 'CampaignStatus': 'CampaignStatus',\r\n 'DeliveryStatus': 'DeliveryStatus',\r\n 'CampaignCampaignType': 'CampaignType',\r\n 'DisplayBiddingStrategyType': 'BiddingStrategyType'\r\n },\r\n 'EnumTypeToAvailableValuesMapping': {\r\n 'CampaignStatus': [{\r\n 'Key': '121',\r\n 'Value': 'Active'\r\n }, {\r\n 'Key': '123',\r\n 'Value': 'Deleted'\r\n }, {\r\n 'Key': '124',\r\n 'Value': 'UserPaused'\r\n }, {\r\n 'Key': '126',\r\n 'Value': 'BudgetPaused'\r\n }, {\r\n 'Key': '127',\r\n 'Value': 'BudgetUserPaused'\r\n }, {\r\n 'Key': '8',\r\n 'Value': 'Suspended'\r\n }],\r\n 'DeliveryStatus': [{\r\n 'Key': '40',\r\n 'Value': 'InvalidFinancialStatusOther'\r\n }, {\r\n 'Key': '50',\r\n 'Value': 'CampaignBudgetPaused'\r\n }, {\r\n 'Key': '90',\r\n 'Value': 'CampaignUserPaused'\r\n }, {\r\n 'Key': '2147483647',\r\n 'Value': 'Eligible'\r\n }, {\r\n 'Key': '49',\r\n 'Value': 'CampaignSuspended'\r\n }, {\r\n 'Key': '1001',\r\n 'Value': 'BudgetSuggestions'\r\n }, {\r\n 'Key': '2000',\r\n 'Value': 'New'\r\n }, {\r\n 'Key': '190',\r\n 'Value': 'AutoBiddingLimitedByNotEnoughConversions'\r\n }, {\r\n 'Key': '107',\r\n 'Value': 'NoEligibleAdGroups'\r\n }],\r\n 'CampaignType': [{\r\n 'Key': '1',\r\n 'Value': 'Default'\r\n }, {\r\n 'Key': '2',\r\n 'Value': 'Shopping'\r\n }, {\r\n 'Key': '4',\r\n 'Value': 'DynamicSearchAds'\r\n }],\r\n 'BiddingStrategyType': _.compact([{\r\n 'Key': '1',\r\n 'Value': 'ManualCpc'\r\n }, {\r\n 'Key': '2',\r\n 'Value': 'MaxClicks'\r\n }, {\r\n 'Key': '3',\r\n 'Value': 'MaxConversions'\r\n }, {\r\n 'Key': '4',\r\n 'Value': 'TargetCpa'\r\n }, {\r\n 'Key': '5',\r\n 'Value': 'EnhancedCpc'\r\n }, (Permissions.IsCampaignTargetROASBidStrategyEnabled || Permissions.IsNewCampaignTargetROASBidStrategyEnabled) && ({\r\n 'Key': '6',\r\n 'Value': 'TargetRoas'\r\n }), (Permissions.IsMaximizeConversionValueEnabled || Permissions.IsSmartShoppingCampaignEnabled) && ({\r\n 'Key': '8',\r\n 'Value': 'MaxConversionValue'\r\n }), Permissions.IsTargetImpressionShareEnabled && ({\r\n 'Key': '9',\r\n 'Value': 'TargetImpressionShare'\r\n })])\r\n },\r\n 'QuickFilterColumn': 'CampaignName',\r\n 'QuickFilterOperator': 'Contains',\r\n 'SelectedFilter': null,\r\n 'FilterByAdgroup': false,\r\n 'OverThresholdFilter': false,\r\n 'ClientLocalization': true\r\n },\r\n adFilterData: {\r\n 'Filters': null,\r\n 'UseOrFilter': false,\r\n 'DataDomain': 'Ad',\r\n 'ColumnToFilterTypeMapping': {\r\n 'CTR': 'NumericValue',\r\n 'Clicks': 'NumericValue',\r\n 'Impressions': 'NumericValue',\r\n 'TotalEffectiveCost': 'CurrencyValue',\r\n 'Conversions': 'NumericValue',\r\n 'AverageCPC': 'CurrencyValue',\r\n 'AveragePosition': 'NumericValue',\r\n 'CPA': 'NumericValue',\r\n 'RevenueOnAdSpend': 'NumericValue',\r\n 'ConversionRate': 'NumericValue',\r\n 'AdvertiserReportedRevenue': 'NumericValue',\r\n 'AdId': 'NumericValue',\r\n 'CampaignName': 'StringValue',\r\n 'AdAdGroupName': 'StringValue',\r\n 'AdTitle': 'StringValue',\r\n 'AdDescription': 'StringValue',\r\n 'AdDisplayUrl': 'StringValue',\r\n 'AdDestinationUrl': 'StringValue',\r\n 'DeliveryStatus': 'EnumSelector',\r\n 'AdType': 'EnumSelector',\r\n 'AdUiDisplayStatus': 'EnumSelector',\r\n 'DevicePreference': 'EnumSelector',\r\n 'AdIsLastImported': 'BooleanValue',\r\n 'CampaignId': 'NumericValue',\r\n 'AdGroupId': 'NumericValue',\r\n 'Labels': 'IdentitySelector',\r\n 'FinalUrls': 'ContainsOrNotContainsStringValue',\r\n 'MobileFinalUrls': 'ContainsOrNotContainsStringValue',\r\n 'TrackingTemplate': 'ExactOrContainsOrNotContainsOrStartsWithStringValue',\r\n 'FinalUrlSuffix': 'ExactOrContainsOrNotContainsOrStartsWithStringValue',\r\n 'AbsoluteTopImpressionSharePercent': 'NumericValue',\r\n 'AdsByBing': 'BooleanValue'\r\n },\r\n 'FilterTypeToOperatorMapping': {\r\n 'StringValue': ['Contains', 'DoesNotContain', 'BeginsWith', 'EndsWith', 'Equal', 'NotEqual'],\r\n 'ContainsOrNotContainsStringValue': ['Contains', 'DoesNotContain'],\r\n 'ExactOrContainsOrNotContainsOrStartsWithStringValue': ['Contains', 'DoesNotContain', 'BeginsWith', 'Equal'],\r\n 'RangeSelector': ['Between'],\r\n 'EnumSelector': ['EnumSelection'],\r\n 'CurrencyValue': ['Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Equal', 'NotEqual'],\r\n 'NumericValue': ['Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Equal', 'NotEqual'],\r\n 'DateValue': ['Equal', 'NotEqual', 'Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Between'],\r\n 'IdentityValue': ['Equal'],\r\n 'IdentitySelector': ['ContainsAll', 'ContainsAny', 'ContainsNone'],\r\n 'BooleanValue': ['Equal'],\r\n 'ExactStringValue': ['Equal'],\r\n 'PartialStringValue': ['Contains']\r\n },\r\n 'ColumnToEnumMapping': {\r\n 'DeliveryStatus': 'DeliveryStatus',\r\n 'AdType': 'AdType',\r\n 'AdUiDisplayStatus': 'UiDisplayStatus',\r\n 'DevicePreference': 'DevicePreference'\r\n },\r\n 'EnumTypeToAvailableValuesMapping': {\r\n 'DeliveryStatus': [{\r\n 'Key': '40',\r\n 'Value': 'InvalidFinancialStatusOther'\r\n }, {\r\n 'Key': '50',\r\n 'Value': 'CampaignBudgetPaused'\r\n }, {\r\n 'Key': '60',\r\n 'Value': 'AdGroupExpired'\r\n }, {\r\n 'Key': '62',\r\n 'Value': 'AdGroupDraft'\r\n }, {\r\n 'Key': '64',\r\n 'Value': 'CamAssetRejected'\r\n }, {\r\n 'Key': '66',\r\n 'Value': 'CamAssetDeleted'\r\n }, {\r\n 'Key': '70',\r\n 'Value': 'EditorialRejected'\r\n }, {\r\n 'Key': '75',\r\n 'Value': 'EditorialUnderAppeal'\r\n }, {\r\n 'Key': '76',\r\n 'Value': 'UrlInvalid'\r\n }, {\r\n 'Key': '77',\r\n 'Value': 'ApplicationNotFound'\r\n }, {\r\n 'Key': '78',\r\n 'Value': 'ApplicationDestinationUrlMismatch'\r\n }, {\r\n 'Key': '79',\r\n 'Value': 'PendingMetadataSync'\r\n }, {\r\n 'Key': '80',\r\n 'Value': 'EditorialPending'\r\n }, {\r\n 'Key': '90',\r\n 'Value': 'CampaignUserPaused'\r\n }, {\r\n 'Key': '100',\r\n 'Value': 'AdGroupUserPaused'\r\n }, {\r\n 'Key': '110',\r\n 'Value': 'AdUserPaused'\r\n }, {\r\n 'Key': '200',\r\n 'Value': 'EditorialApprovedLimited'\r\n }, {\r\n 'Key': '2147483647',\r\n 'Value': 'Eligible'\r\n }, {\r\n 'Key': '1103',\r\n 'Value': 'AdExtensionNotPresent'\r\n }, {\r\n 'Key': '1105',\r\n 'Value': 'AdExtensionAssociationDeleted'\r\n }, {\r\n 'Key': '49',\r\n 'Value': 'CampaignSuspended'\r\n }, {\r\n 'Key': '2000',\r\n 'Value': 'New'\r\n }],\r\n 'AdType': [{\r\n 'Key': '1',\r\n 'Value': 'Text'\r\n }, {\r\n 'Key': '2',\r\n 'Value': 'Mobile'\r\n }, {\r\n 'Key': '4',\r\n 'Value': 'BannerImage'\r\n }, {\r\n 'Key': '16',\r\n 'Value': 'RichMedia'\r\n }, {\r\n 'Key': '32',\r\n 'Value': 'ThirdPartyServedAsset'\r\n }, {\r\n 'Key': '64',\r\n 'Value': 'RichSearchAd'\r\n }, {\r\n 'Key': '128',\r\n 'Value': 'Product'\r\n }, {\r\n 'Key': '256',\r\n 'Value': 'AppInstall'\r\n }, {\r\n 'Key': '1024',\r\n 'Value': 'ExpandedText'\r\n }, {\r\n 'Key': '512',\r\n 'Value': 'DynamicSearch'\r\n }],\r\n 'UiDisplayStatus': [{\r\n 'Key': '0',\r\n 'Value': 'Inactive'\r\n }, {\r\n 'Key': '1',\r\n 'Value': 'Active'\r\n }, {\r\n 'Key': '2',\r\n 'Value': 'Paused'\r\n }, {\r\n 'Key': '3',\r\n 'Value': 'Deleted'\r\n }],\r\n 'DevicePreference': [{\r\n 'Key': '2',\r\n 'Value': 'Mobile'\r\n }, {\r\n 'Key': '0',\r\n 'Value': 'All'\r\n }]\r\n },\r\n 'QuickFilterColumn': null,\r\n 'QuickFilterOperator': null,\r\n 'SelectedFilter': null,\r\n 'FilterByAdgroup': true,\r\n 'OverThresholdFilter': false,\r\n 'ClientLocalization': true\r\n },\r\n adGroupFilterData: {\r\n 'Filters': null,\r\n 'UseOrFilter': false,\r\n 'DataDomain': 'AdGroup',\r\n 'ColumnToFilterTypeMapping': {\r\n 'CTR': 'NumericValue',\r\n 'Clicks': 'NumericValue',\r\n 'ClickShare': 'NumericValue',\r\n 'TotalCost': 'NumericValue',\r\n 'Impressions': 'NumericValue',\r\n 'TotalEffectiveCost': 'CurrencyValue',\r\n 'Conversions': 'NumericValue',\r\n 'AverageCPC': 'CurrencyValue',\r\n 'AverageCPM': 'CurrencyValue',\r\n 'AveragePosition': 'NumericValue',\r\n 'CPA': 'NumericValue',\r\n 'RevenueOnAdSpend': 'NumericValue',\r\n 'ConversionRate': 'NumericValue',\r\n 'AdvertiserReportedRevenue': 'NumericValue',\r\n 'AverageCPP': 'NumericValue',\r\n 'ManualCalls': 'NumericValue',\r\n 'PhoneSpent': 'NumericValue',\r\n 'PhoneImpressions': 'NumericValue',\r\n 'PhoneThroughRate': 'NumericValue',\r\n 'ClickAndPhoneSpent': 'NumericValue',\r\n 'ClickCalls': 'NumericValue',\r\n 'CampaignName': 'StringValue',\r\n 'AdGroupName': 'StringValue',\r\n 'AdGroupStartDate': 'DateValue',\r\n 'AdGroupEndDate': 'DateValue',\r\n 'Language': 'DropdownSelector',\r\n 'AdGroupDefaultSearchBid': 'CurrencyValue',\r\n 'DeliveryStatus': 'EnumSelector',\r\n 'AdGroupCallTrackingStatus': 'EnumSelector',\r\n 'AdGroupStatus': 'EnumSelector',\r\n 'AdGroupIsLastImported': 'BooleanValue',\r\n 'CampaignId': 'NumericValue',\r\n 'AdGroupId': 'NumericValue',\r\n 'QualityScore': 'NumericValue',\r\n 'HasAuctionInsight': 'BooleanValue',\r\n 'Labels': 'IdentitySelector',\r\n 'DisplayBiddingStrategyType': 'EnumSelector',\r\n 'AuctionWonPercent': 'NumericValue',\r\n 'AuctionLostToBudgetPercent': 'NumericValue',\r\n 'AuctionLostToRankPercent': 'NumericValue',\r\n 'TopImpressionRate': 'NumericValue',\r\n 'AbsoluteTopImpressionRate': 'NumericValue',\r\n 'ExactMatchImpressionSharePercent': 'NumericValue',\r\n 'TopImpressionSharePercent': 'NumericValue',\r\n 'TopISLostToBudgetPercent': 'NumericValue',\r\n 'TopISLostToRankPercent': 'NumericValue',\r\n 'AbsoluteTopImpressionSharePercent': 'NumericValue',\r\n 'AbsoluteTopISLostToBudgetPercent': 'NumericValue',\r\n 'AbsoluteTopISLostToRankPercent': 'NumericValue'\r\n },\r\n 'FilterTypeToOperatorMapping': {\r\n 'StringValue': ['Contains', 'DoesNotContain', 'BeginsWith', 'EndsWith', 'Equal', 'NotEqual'],\r\n 'RangeSelector': ['Between'],\r\n 'EnumSelector': ['EnumSelection'],\r\n 'DropdownSelector': ['EnumSelection'],\r\n 'CurrencyValue': ['Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Equal', 'NotEqual'],\r\n 'NumericValue': ['Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Equal', 'NotEqual'],\r\n 'DateValue': ['Equal', 'NotEqual', 'Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Between'],\r\n 'IdentitySelector': ['ContainsAll', 'ContainsAny', 'ContainsNone'],\r\n 'IdentityValue': ['Equal'],\r\n 'BooleanValue': ['Equal'],\r\n 'ExactStringValue': ['Equal'],\r\n 'PartialStringValue': ['Contains']\r\n },\r\n 'ColumnToEnumMapping': {\r\n 'DeliveryStatus': 'DeliveryStatus',\r\n 'Language': 'Language',\r\n 'AdGroupCallTrackingStatus': 'AdGroupCallTrackingStatus',\r\n 'AdGroupStatus': 'AdGroupStatus',\r\n 'DisplayBiddingStrategyType': 'BiddingStrategyType'\r\n },\r\n 'EnumTypeToAvailableValuesMapping': {\r\n 'Language': [{\r\n 'Key': null,\r\n 'Value': null\r\n }, {\r\n 'Key': '0',\r\n 'Value': 'None'\r\n }, {\r\n 'Key': '7',\r\n 'Value': 'Arabic'\r\n }, {\r\n 'Key': '28',\r\n 'Value': 'Danish'\r\n }, {\r\n 'Key': '29',\r\n 'Value': 'Dutch'\r\n }, {\r\n 'Key': '40',\r\n 'Value': 'German'\r\n }, {\r\n 'Key': '30',\r\n 'Value': 'English'\r\n }, {\r\n 'Key': '35',\r\n 'Value': 'Finnish'\r\n }, {\r\n 'Key': '36',\r\n 'Value': 'French'\r\n }, {\r\n 'Key': '55',\r\n 'Value': 'Italian'\r\n }, {\r\n 'Key': '82',\r\n 'Value': 'Norwegian'\r\n }, {\r\n 'Key': '88',\r\n 'Value': 'Portuguese'\r\n }, {\r\n 'Key': '109',\r\n 'Value': 'Spanish'\r\n }, {\r\n 'Key': '112',\r\n 'Value': 'Swedish'\r\n }, {\r\n 'Key': '24',\r\n 'Value': 'TraditionalChinese'\r\n }, {\r\n 'Key': '137',\r\n 'Value': 'SimplifiedChinese'\r\n }, {\r\n 'Key': '41',\r\n 'Value': 'Greek'\r\n }, {\r\n 'Key': '87',\r\n 'Value': 'Polish'\r\n }, {\r\n 'Key': '19',\r\n 'Value': 'Bulgarian'\r\n }, {\r\n 'Key': '27',\r\n 'Value': 'Czech'\r\n }, {\r\n 'Key': '32',\r\n 'Value': 'Estonian'\r\n }, {\r\n 'Key': '26',\r\n 'Value': 'Croatian'\r\n }, {\r\n 'Key': '48',\r\n 'Value': 'Hungarian'\r\n }, {\r\n 'Key': '70',\r\n 'Value': 'Lithuanian'\r\n }, {\r\n 'Key': '68',\r\n 'Value': 'Latvian'\r\n }, {\r\n 'Key': '75',\r\n 'Value': 'Maltese'\r\n }, {\r\n 'Key': '92',\r\n 'Value': 'Romanian'\r\n }, {\r\n 'Key': '106',\r\n 'Value': 'Slovak'\r\n }, {\r\n 'Key': '107',\r\n 'Value': 'Slovenian'\r\n }, {\r\n 'Key': '123',\r\n 'Value': 'Turkish'\r\n }, {\r\n 'Key': '98',\r\n 'Value': 'Serbian'\r\n }, {\r\n 'Key': '138',\r\n 'Value': 'Bosnian'\r\n }, {\r\n 'Key': '5',\r\n 'Value': 'Albanian'\r\n }, {\r\n 'Key': '71',\r\n 'Value': 'Macedonian'\r\n }, {\r\n 'Key': '49',\r\n 'Value': 'Icelandic'\r\n }, {\r\n 'Key': '56',\r\n 'Value': 'Japanese'\r\n }, {\r\n 'Key': '46',\r\n 'Value': 'Hebrew'\r\n }, {\r\n 'Key': '93',\r\n 'Value': 'Russian'\r\n }, {\r\n 'Key': '47',\r\n 'Value': 'Hindi'\r\n }, {\r\n 'Key': '73',\r\n 'Value': 'Malay'\r\n }, {\r\n 'Key': '118',\r\n 'Value': 'Thai'\r\n }, {\r\n 'Key': '50',\r\n 'Value': 'Indonesian'\r\n }, {\r\n 'Key': '113',\r\n 'Value': 'Tagalog'\r\n }, {\r\n 'Key': '126',\r\n 'Value': 'Vietnamese'\r\n }],\r\n 'DeliveryStatus': [{\r\n 'Key': '40',\r\n 'Value': 'InvalidFinancialStatusOther'\r\n }, {\r\n 'Key': '50',\r\n 'Value': 'CampaignBudgetPaused'\r\n }, {\r\n 'Key': '60',\r\n 'Value': 'AdGroupExpired'\r\n }, {\r\n 'Key': '62',\r\n 'Value': 'AdGroupDraft'\r\n }, {\r\n 'Key': '90',\r\n 'Value': 'CampaignUserPaused'\r\n }, {\r\n 'Key': '100',\r\n 'Value': 'AdGroupUserPaused'\r\n }, {\r\n 'Key': '2147483647',\r\n 'Value': 'Eligible'\r\n }, {\r\n 'Key': '49',\r\n 'Value': 'CampaignSuspended'\r\n }, {\r\n 'Key': '2000',\r\n 'Value': 'New'\r\n }, {\r\n 'Key': '67',\r\n 'Value': 'AdGroupTargetingTooNarrow'\r\n }, {\r\n 'Key': '91',\r\n 'Value': 'AdGroupPrivacyPending'\r\n }, {\r\n 'Key': '105',\r\n 'Value': 'NoEligibleAds'\r\n }, {\r\n 'Key': '106',\r\n 'Value': 'NoEligibleKeywords'\r\n }],\r\n 'AdGroupCallTrackingStatus': [{\r\n 'Key': '1',\r\n 'Value': 'Eligible'\r\n }, {\r\n 'Key': '2',\r\n 'Value': 'NotEligible'\r\n }, {\r\n 'Key': '0',\r\n 'Value': 'NotApplicable'\r\n }, {\r\n 'Key': '3',\r\n 'Value': 'ProvisioningPending'\r\n }, {\r\n 'Key': '4',\r\n 'Value': 'Provisioned'\r\n }],\r\n 'AdGroupStatus': [{\r\n 'Key': '140',\r\n 'Value': 'Draft'\r\n }, {\r\n 'Key': '141',\r\n 'Value': 'Active'\r\n }, {\r\n 'Key': '143',\r\n 'Value': 'Deleted'\r\n }, {\r\n 'Key': '144',\r\n 'Value': 'Paused'\r\n }, {\r\n 'Key': '150',\r\n 'Value': 'Expired'\r\n }, {\r\n 'Key': '124',\r\n 'Value': 'CampaignUserPaused'\r\n }, {\r\n 'Key': '126',\r\n 'Value': 'CampaignBudgetPaused'\r\n }, {\r\n 'Key': '127',\r\n 'Value': 'CampaignBudgetUserPaused'\r\n }],\r\n 'BiddingStrategyType': _.compact([{\r\n 'Key': '1',\r\n 'Value': 'ManualCpc'\r\n }, {\r\n 'Key': '2',\r\n 'Value': 'MaxClicks'\r\n }, {\r\n 'Key': '3',\r\n 'Value': 'MaxConversions'\r\n }, {\r\n 'Key': '4',\r\n 'Value': 'TargetCpa'\r\n }, {\r\n 'Key': '5',\r\n 'Value': 'EnhancedCpc'\r\n }, (Permissions.IsCampaignTargetROASBidStrategyEnabled || Permissions.IsNewCampaignTargetROASBidStrategyEnabled) && ({\r\n 'Key': '6',\r\n 'Value': 'TargetRoas'\r\n }), (Permissions.IsMaximizeConversionValueEnabled || Permissions.IsSmartShoppingCampaignEnabled) && ({\r\n 'Key': '8',\r\n 'Value': 'MaxConversionValue'\r\n }), Permissions.IsTargetImpressionShareEnabled && ({\r\n 'Key': '9',\r\n 'Value': 'TargetImpressionShare'\r\n })])\r\n },\r\n 'QuickFilterColumn': 'AdGroupName',\r\n 'QuickFilterOperator': 'Contains',\r\n 'SelectedFilter': null,\r\n 'FilterByAdgroup': false,\r\n 'OverThresholdFilter': false,\r\n 'ClientLocalization': true\r\n },\r\n keywordFilterData: {\r\n 'Filters': null,\r\n 'UseOrFilter': false,\r\n 'DataDomain': 'Keyword',\r\n 'ColumnToFilterTypeMapping': {\r\n 'CTR': 'NumericValue',\r\n 'Clicks': 'NumericValue',\r\n 'Impressions': 'NumericValue',\r\n 'TotalEffectiveCost': 'CurrencyValue',\r\n 'Conversions': 'NumericValue',\r\n 'AverageCPC': 'CurrencyValue',\r\n 'AverageCPM': 'CurrencyValue',\r\n 'AveragePosition': 'NumericValue',\r\n 'CPA': 'NumericValue',\r\n 'RevenueOnAdSpend': 'NumericValue',\r\n 'ConversionRate': 'NumericValue',\r\n 'AdvertiserReportedRevenue': 'NumericValue',\r\n 'FirstPageBid': 'NumericValue',\r\n 'MainlineBid': 'NumericValue',\r\n 'BestPositionBid': 'NumericValue',\r\n 'KeywordName': 'StringValue',\r\n 'DeliveryStatus': 'EnumSelector',\r\n 'KeywordStatus': 'EnumSelector',\r\n 'MatchType': 'EnumSelector',\r\n 'QualityScore': 'NumericValue',\r\n 'OrderItemBid': 'NumericValue',\r\n 'CampaignName': 'StringValue',\r\n 'KeywordAdGroupName': 'StringValue',\r\n 'KeywordIsLastImported': 'BooleanValue',\r\n 'CampaignId': 'NumericValue',\r\n 'AdGroupId': 'NumericValue',\r\n 'HasAuctionInsight': 'BooleanValue',\r\n 'OrderItemId': 'NumericValue',\r\n 'Labels': 'IdentitySelector',\r\n 'DisplayBiddingStrategyType': 'EnumSelector',\r\n 'AuctionWonPercent': 'NumericValue',\r\n 'AuctionLostToBudgetPercent': 'NumericValue',\r\n 'AuctionLostToRankPercent': 'NumericValue',\r\n 'ClickShare': 'NumericValue',\r\n 'FinalUrls': 'ContainsOrNotContainsStringValue',\r\n 'MobileFinalUrls': 'ContainsOrNotContainsStringValue',\r\n 'TrackingTemplate': 'ExactOrContainsOrNotContainsOrStartsWithStringValue',\r\n 'FinalUrlSuffix': 'ExactOrContainsOrNotContainsOrStartsWithStringValue',\r\n 'TopImpressionRate': 'NumericValue',\r\n 'AbsoluteTopImpressionRate': 'NumericValue',\r\n 'ExactMatchImpressionSharePercent': 'NumericValue',\r\n 'TopImpressionSharePercent': 'NumericValue',\r\n 'TopISLostToBudgetPercent': 'NumericValue',\r\n 'TopISLostToRankPercent': 'NumericValue',\r\n 'AbsoluteTopImpressionSharePercent': 'NumericValue',\r\n 'AbsoluteTopISLostToBudgetPercent': 'NumericValue',\r\n 'AbsoluteTopISLostToRankPercent': 'NumericValue'\r\n },\r\n 'FilterTypeToOperatorMapping': {\r\n 'StringValue': ['Contains', 'DoesNotContain', 'BeginsWith', 'EndsWith', 'Equal', 'NotEqual'],\r\n 'ContainsOrNotContainsStringValue': ['Contains', 'DoesNotContain'],\r\n 'ExactOrContainsOrNotContainsOrStartsWithStringValue': ['Contains', 'DoesNotContain', 'BeginsWith', 'Equal'],\r\n 'RangeSelector': ['Between'],\r\n 'EnumSelector': ['EnumSelection'],\r\n 'CurrencyValue': ['Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Equal', 'NotEqual'],\r\n 'NumericValue': ['Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Equal', 'NotEqual'],\r\n 'DateValue': ['Equal', 'NotEqual', 'Greater', 'GreaterOrEqual', 'Less', 'LessOrEqual', 'Between'],\r\n 'IdentityValue': ['Equal'],\r\n 'IdentitySelector': ['ContainsAll', 'ContainsAny', 'ContainsNone'],\r\n 'BooleanValue': ['Equal'],\r\n 'ExactStringValue': ['Equal'],\r\n 'PartialStringValue': ['Contains']\r\n },\r\n 'ColumnToEnumMapping': {\r\n 'DeliveryStatus': 'DeliveryStatus',\r\n 'KeywordStatus': 'KeywordStatus',\r\n 'MatchType': 'MatchType',\r\n 'DisplayBiddingStrategyType': 'BiddingStrategyType'\r\n },\r\n 'EnumTypeToAvailableValuesMapping': {\r\n 'DeliveryStatus': [{\r\n 'Key': '40',\r\n 'Value': 'InvalidFinancialStatusOther'\r\n }, {\r\n 'Key': '50',\r\n 'Value': 'CampaignBudgetPaused'\r\n }, {\r\n 'Key': '60',\r\n 'Value': 'AdGroupExpired'\r\n }, {\r\n 'Key': '62',\r\n 'Value': 'AdGroupDraft'\r\n }, {\r\n 'Key': '70',\r\n 'Value': 'EditorialRejected'\r\n }, {\r\n 'Key': '75',\r\n 'Value': 'EditorialUnderAppeal'\r\n }, {\r\n 'Key': '80',\r\n 'Value': 'EditorialPending'\r\n }, {\r\n 'Key': '90',\r\n 'Value': 'CampaignUserPaused'\r\n }, {\r\n 'Key': '100',\r\n 'Value': 'AdGroupUserPaused'\r\n }, {\r\n 'Key': '130',\r\n 'Value': 'NegativeKeywordConflicts'\r\n }, {\r\n 'Key': '135',\r\n 'Value': 'PartialNegativeKeywordConflicts'\r\n }, {\r\n 'Key': '200',\r\n 'Value': 'EditorialApprovedLimited'\r\n }, {\r\n 'Key': '300',\r\n 'Value': 'LowSupply'\r\n }, {\r\n 'Key': '400',\r\n 'Value': 'LowQuality'\r\n }, {\r\n 'Key': '500',\r\n 'Value': 'BidBelowFirstPageBid'\r\n }, {\r\n 'Key': '2000',\r\n 'Value': 'New'\r\n }, {\r\n 'Key': '2147483647',\r\n 'Value': 'Eligible'\r\n }, {\r\n 'Key': '49',\r\n 'Value': 'CampaignSuspended'\r\n }],\r\n 'KeywordStatus': [{\r\n 'Key': '161',\r\n 'Value': 'Active'\r\n }, {\r\n 'Key': '162',\r\n 'Value': 'Paused'\r\n }, {\r\n 'Key': '163',\r\n 'Value': 'Deleted'\r\n }],\r\n 'MatchType': [{\r\n 'Key': '1',\r\n 'Value': 'Exact'\r\n }, {\r\n 'Key': '2',\r\n 'Value': 'Phrase'\r\n }, {\r\n 'Key': '3',\r\n 'Value': 'Broad'\r\n }],\r\n 'BiddingStrategyType': _.compact([{\r\n 'Key': '1',\r\n 'Value': 'ManualCpc'\r\n }, {\r\n 'Key': '2',\r\n 'Value': 'MaxClicks'\r\n }, {\r\n 'Key': '3',\r\n 'Value': 'MaxConversions'\r\n }, {\r\n 'Key': '4',\r\n 'Value': 'TargetCpa'\r\n }, {\r\n 'Key': '5',\r\n 'Value': 'EnhancedCpc'\r\n }, (Permissions.IsCampaignTargetROASBidStrategyEnabled || Permissions.IsNewCampaignTargetROASBidStrategyEnabled) && ({\r\n 'Key': '6',\r\n 'Value': 'TargetRoas'\r\n }), (Permissions.IsMaximizeConversionValueEnabled || Permissions.IsSmartShoppingCampaignEnabled) && ({\r\n 'Key': '8',\r\n 'Value': 'MaxConversionValue'\r\n }), Permissions.IsTargetImpressionShareEnabled && ({\r\n 'Key': '9',\r\n 'Value': 'TargetImpressionShare'\r\n })])\r\n },\r\n 'QuickFilterColumn': 'KeywordName',\r\n 'QuickFilterOperator': 'Contains',\r\n 'SelectedFilter': null,\r\n 'FilterByAdgroup': true,\r\n 'OverThresholdFilter': false,\r\n 'ClientLocalization': true\r\n }\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n IncreaseBid: 'IncreaseBid',\r\n DecreaseBid: 'DecreaseBid'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n None: 'None',\r\n MatchCase: 'MatchCase',\r\n MatchWholeWord: 'MatchWholeWord',\r\n PreserveCapitalization: 'PreserveCapitalization',\r\n StartsWith: 'StartsWith'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n Title: 'Title',\r\n TitlePart1: 'TitlePart1',\r\n TitlePart2: 'TitlePart2',\r\n TitlePart3: 'TitlePart3',\r\n Text: 'Text',\r\n TextPart2: 'TextPart2',\r\n Headline: 'Headline',\r\n LongHeadline: 'LongHeadline',\r\n LongHeadlines: 'LongHeadlines',\r\n BusinessName: 'BusinessName',\r\n DisplayUrl: 'DisplayUrl',\r\n FinalUrl: 'FinalUrls',\r\n Path1: 'Path1',\r\n Path2: 'Path2',\r\n MobileFinalUrl: 'MobileFinalUrls',\r\n DestinationUrl: 'DestinationUrl',\r\n DevicePreference: 'DevicePreference',\r\n Headlines: 'Headlines',\r\n Descriptions: 'Descriptions'\r\n};\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n set: 'Set',\r\n findReplace: 'FindReplace',\r\n append: 'Append',\r\n prepend: 'Prepend',\r\n toTitleCase: 'ToTitleCase',\r\n toLowerCase: 'ToLowerCase',\r\n toSentenceCase: 'ToSentenceCase'\r\n};\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport dlbDataSource from '@bingads-webui-static-legacy/double-list-box-datasource';\r\nvar viewModel = function (options) {\r\n var self = this;\r\n self.options = options;\r\n self.strings = _.defaults(options.strings || ({}), {\r\n maximumSelectionAlertString: ko.observable(),\r\n maxSelectedItems: ''\r\n });\r\n self.features = _.defaults(options.features || ({}), {\r\n maxSelectedItemsCount: options && options.features && _.isNumber(options.features.maxSelectedItemsCount) ? options.features.maxSelectedItemsCount : -1\r\n });\r\n self.customData = options.customData || ({});\r\n self.processItem = options.processItem || (function (item) {\r\n return item || ({});\r\n });\r\n self.showMaximumSelectionAlert = ko.observable(false);\r\n self.selectedData = self._createSelectedData();\r\n self.sourceData = self._createSourceData(self.selectedData);\r\n self.sourceDataSource = self.sourceData.dataSource;\r\n self.selectedDataSource = self.selectedData.dataSource;\r\n if (self.selectedDataSource && _.isFunction(self.selectedDataSource.read)) {\r\n self.selectedDataSource.read();\r\n }\r\n self.selectedItems = ko.observable(self.selectedData.getFilterData());\r\n self._initializeFilter();\r\n self._initializeSourceItemsCount();\r\n self.refreshSource = _.bind(self.sourceData.refresh, self.sourceData);\r\n self.selectedItemsCount = ko.computed(function () {\r\n return _.isArray(this.selectedItems()) ? this.selectedItems().length : 0;\r\n }, self);\r\n self.hasMaxSelectedItems = ko.computed(function () {\r\n if (self.features.maxSelectedItemsCount > 0 && self.selectedItemsCount() >= self.features.maxSelectedItemsCount) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n self.showMaximumSelectionAlert = ko.computed(function () {\r\n if (self.hasMaxSelectedItems() && !_.isEmpty(self.strings.maximumSelectionAlertString())) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n self.hasMaxSelectedItems.subscribe((function (newValue) {\r\n var value = newValue ? 'disabled' : '';\r\n _.each(self.sourceData.getData(), (function (item) {\r\n this.sourceData.setItemProperty(item, 'disabled', value);\r\n }).bind(this));\r\n }).bind(this));\r\n};\r\nviewModel.prototype.selectItem = function (item, silent) {\r\n var self = this, changed = false;\r\n if (self.hasMaxSelectedItems()) {\r\n return changed;\r\n } else {\r\n changed = self.selectedData.addIfNotExists(item);\r\n }\r\n if (changed) {\r\n if (!silent || self.features.maxSelectedItemsCount > 0) {\r\n self._notifySubscribers();\r\n }\r\n self.sourceData.setItemProperty(item, 'selected', 'selected');\r\n }\r\n return changed;\r\n};\r\nviewModel.prototype.deselectItem = function (item, silent) {\r\n var self = this;\r\n if (self.selectedData.removeIfExists(item)) {\r\n self.sourceData.setItemProperty(item, 'selected', '');\r\n if (!silent || self.features.maxSelectedItemsCount > 0) {\r\n self._notifySubscribers();\r\n }\r\n }\r\n};\r\nviewModel.prototype.setSelection = function (selection) {\r\n var self = this;\r\n var newSelectionIds = _.map(selection, function (item) {\r\n return self.sourceData.getItemId(item);\r\n });\r\n var oldSelectionIds = _.map(self.selectedItems(), function (item) {\r\n return self.selectedData.getItemId(item);\r\n });\r\n var toSelect = _.filter(selection, function (item) {\r\n return !_.contains(oldSelectionIds, self.sourceData.getItemId(item));\r\n });\r\n var toDeselect = _.difference(oldSelectionIds, newSelectionIds);\r\n _.each(toSelect, function (item) {\r\n self.selectItem(item, true);\r\n });\r\n _.each(toDeselect, function (item) {\r\n self.deselectItem(item, true);\r\n });\r\n if (toSelect.length > 0 || toDeselect.length > 0) {\r\n self._notifySubscribers();\r\n }\r\n};\r\nviewModel.prototype.selectAll = function () {\r\n var sourceItems = this.sourceData.getFilterData(), self = this, changed = false;\r\n _.each(sourceItems, function (item) {\r\n if (self.selectItem(item, true)) {\r\n changed = true;\r\n }\r\n });\r\n if (changed) {\r\n self._notifySubscribers();\r\n }\r\n};\r\nviewModel.prototype.deselectAll = function () {\r\n this.setSelection([]);\r\n};\r\nviewModel.prototype.refreshItem = function (item) {\r\n var self = this;\r\n self.sourceData.refreshItem(item);\r\n self.selectedData.refreshItem(item);\r\n};\r\nviewModel.prototype._notifySubscribers = function () {\r\n this.selectedItems(this.selectedData.getFilterData());\r\n};\r\nviewModel.prototype._initializeFilter = function () {\r\n var self = this;\r\n self.filterText = ko.observable('');\r\n self.filterText.subscribe(function (newValue) {\r\n self.sourceData.filter(newValue);\r\n });\r\n};\r\nviewModel.prototype._initializeSourceItemsCount = function () {\r\n var self = this, total = self.sourceDataSource.total();\r\n self.showEmptyMessage = ko.observable(false);\r\n self.sourceItemsCount = ko.observable(total);\r\n self.sourceDataSource.bind('change', function () {\r\n var newTotal = self.sourceDataSource.total();\r\n self.sourceItemsCount(newTotal);\r\n newTotal === 0 ? self.showEmptyMessage(true) : self.showEmptyMessage(false);\r\n });\r\n};\r\nviewModel.prototype._createSelectedData = function () {\r\n var self = this;\r\n var selectedCustomActions = [];\r\n _.each(self.options.itemActions.selected, function (value, key) {\r\n selectedCustomActions.push({\r\n name: key,\r\n caption: value.caption\r\n });\r\n });\r\n return new dlbDataSource({\r\n dataItems: self.options.data.selectedItems,\r\n itemIdField: self.options.data.itemIdField,\r\n itemIdCallback: self.options.data.itemIdCallback,\r\n listItemSeed: (function (item, id) {\r\n return _.extend(this.processItem(item, id), {\r\n customActions: selectedCustomActions,\r\n strings: self.strings\r\n });\r\n }).bind(this),\r\n pageSize: self.features.paging ? self.options.data.selectedPageSize || self.options.data.pageSize : Math.pow(2, 31)\r\n });\r\n};\r\nviewModel.prototype._createSourceData = function (selectedDataSource) {\r\n var self = this;\r\n var sourceCustomActions = [];\r\n _.each(self.options.itemActions.source, function (value, key) {\r\n sourceCustomActions.push({\r\n name: key,\r\n caption: value.caption\r\n });\r\n });\r\n return new dlbDataSource({\r\n dataCallback: _.isFunction(self.options.data.sourceItems) ? self.options.data.sourceItems : null,\r\n dataItems: !_.isFunction(self.options.data.sourceItems) ? self.options.data.sourceItems : null,\r\n useCallbackForFetchOnly: self.options.data.useCallbackForFetchOnly,\r\n itemIdField: self.options.data.itemIdField,\r\n itemIdCallback: self.options.data.itemIdCallback,\r\n itemFilterField: self.options.data.itemFilterField,\r\n itemFilterCallback: self.options.data.itemFilterCallback,\r\n pageSize: self.features.paging ? self.options.data.pageSize : Math.pow(2, 31),\r\n listItemSeed: (function (item, id) {\r\n return _.extend(this.processItem(item, id), {\r\n customActions: sourceCustomActions,\r\n selected: selectedDataSource.getItemData(id) ? 'selected' : '',\r\n disabled: self.hasMaxSelectedItems() ? 'disabled' : '',\r\n strings: self.strings\r\n });\r\n }).bind(this)\r\n });\r\n};\r\nexport default viewModel;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport _ from 'underscore';\r\nimport backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport viewModel from '@bingads-webui-static-legacy/shared/viewmodel/doubleListBoxViewModel';\r\nimport defaultLayoutTemplate from '@bingads-webui-static-legacy/shared/template/doubleListBox/defaultLayout.pug';\r\nimport defaultSourceItemTemplate from '@bingads-webui-static-legacy/shared/template/doubleListBox/defaultSourceItem.pug';\r\nimport defaultSelectedItemTemplate from '@bingads-webui-static-legacy/shared/template/doubleListBox/defaultSelectedItem.pug';\r\nimport Pager from '@bingads-webui-static-legacy/shared/view/pager';\r\nimport '@bingads-webui/kendo/kendo.listview';\r\nimport '@bingads-webui/kendo/kendo.draganddrop';\r\nimport '@bingads-webui-component-legacy/searchbox/ko/searchboxBinding';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nvar defaultTemplates = {\r\n layoutTemplate: defaultLayoutTemplate({\r\n i18n: i18n\r\n }),\r\n sourceContainerSelector: '.dlb-source',\r\n selectedContainerSelector: '.dlb-selected',\r\n sourcePagerSelector: '.pager-container',\r\n selectedPagerSelector: '.pager-selected-container',\r\n sourceItemLayoutTemplate: defaultSourceItemTemplate({\r\n i18n: i18n\r\n }),\r\n sourceItemContentSelector: '.dlbItem-content',\r\n sourceItemContentTemplate: '#:data.name#',\r\n selectedItemLayoutTemplate: defaultSelectedItemTemplate({\r\n i18n: i18n\r\n }),\r\n selectedItemContentSelector: '.dlbItem-content',\r\n selectedItemContentTemplate: '#:data.name#'\r\n};\r\nvar listItemCssClass = 'dlbItem';\r\nvar controlView = backbone.View.extend({\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n this.options.data = this.options.data || ({});\r\n var self = this;\r\n self._applyDefaultTemplates();\r\n self.options.features = _.defaults(self.options.features || ({}), {\r\n filtering: true,\r\n paging: true,\r\n selectAll: true,\r\n deselectAll: true,\r\n dragAndDrop: true,\r\n maxSelectedItemsCount: -1\r\n });\r\n self.options.strings = _.defaults({}, self.options.strings, {\r\n filterWatermark: i18n.getString('DoubleListBox_Search')\r\n });\r\n self._viewModel = new viewModel(_.pick(self.options, 'data', 'itemActions', 'strings', 'features', 'customData', 'processItem'));\r\n self.selectItem = _.bind(self._viewModel.selectItem, self._viewModel);\r\n self.deselectItem = _.bind(self._viewModel.deselectItem, self._viewModel);\r\n self.refreshItem = _.bind(self._viewModel.refreshItem, self._viewModel);\r\n self.setSelection = _.bind(self._viewModel.setSelection, self._viewModel);\r\n self.refreshSource = _.bind(self._viewModel.refreshSource, self._viewModel);\r\n self.selectedItems = ko.computed({\r\n read: function () {\r\n return _.clone(self._viewModel.selectedItems());\r\n },\r\n write: function (newSelection) {\r\n self._viewModel.setSelection(newSelection);\r\n }\r\n });\r\n self.selectedItems.subscribe(function (newSelection) {\r\n self.trigger('selectionChanged', newSelection);\r\n });\r\n this._initializeActions();\r\n this._initializeEventHandlers();\r\n },\r\n render: function () {\r\n this._initializeLayout();\r\n this._initializeSource();\r\n this._initializeSelected();\r\n if (this.options.features.dragAndDrop) {\r\n this._initializeDragAndDrop();\r\n }\r\n if (this.options.features.paging) {\r\n this._initializeSourcePager();\r\n this._initializeSelectedPager();\r\n }\r\n return this;\r\n },\r\n _initializeLayout: function () {\r\n var self = this;\r\n self.$wrapper = $('
').appendTo(self.$el).html(self.options.templates.layoutTemplate);\r\n ko.applyBindings(self._viewModel, self.$wrapper[0]);\r\n self.elements = {\r\n $source: self.$(self.options.templates.sourceContainerSelector),\r\n $selection: self.$(self.options.templates.selectedContainerSelector)\r\n };\r\n },\r\n _initializeSource: function () {\r\n var self = this;\r\n self.elements.$source.kendoListView({\r\n navigatable: true,\r\n selectable: true,\r\n dataSource: self._viewModel.sourceDataSource,\r\n template: self._getEffectiveItemTemplate(this.options.templates.sourceItemLayoutTemplate, this.options.templates.sourceItemContentTemplate)\r\n });\r\n },\r\n _initializeSelected: function () {\r\n var self = this;\r\n self.elements.$selection.kendoListView({\r\n navigatable: true,\r\n selectable: true,\r\n dataSource: self._viewModel.selectedDataSource,\r\n template: self._getEffectiveItemTemplate(this.options.templates.selectedItemLayoutTemplate, this.options.templates.selectedItemContentTemplate)\r\n });\r\n },\r\n _getEffectiveItemTemplate: function (layoutTemplate, contentTemplate) {\r\n return layoutTemplate.replace('', contentTemplate);\r\n },\r\n _initializeDragAndDrop: function () {\r\n var self = this;\r\n self._initializeDragAndDropGroup(self.elements.$source, self.elements.$selection, 'select', self._viewModel.sourceData, self.selectItem, self.options.templates.sourceItemContentSelector);\r\n self._initializeDragAndDropGroup(self.elements.$selection, self.elements.$source, 'deselect', self._viewModel.selectedData, self.deselectItem, self.options.templates.selectedItemContentSelector);\r\n },\r\n _initializeDragAndDropGroup: function ($dragContainer, $dropContainer, groupName, dataSource, dropAction, contentSelector) {\r\n var self = this;\r\n $dragContainer.kendoDraggable({\r\n filter: '.' + listItemCssClass,\r\n group: groupName,\r\n container: self.$el,\r\n hint: function (element) {\r\n var $element = $(element);\r\n var hint = $element.find(contentSelector).eq(0).clone();\r\n $(hint).data('_uniqueId', $element.attr('data-id'));\r\n return hint;\r\n }\r\n });\r\n $dropContainer.kendoDropTarget({\r\n group: groupName,\r\n drop: function (e) {\r\n var item = dataSource.getItemData(e.draggable.hint.data()._uniqueId);\r\n if (item) {\r\n dropAction(item);\r\n }\r\n }\r\n });\r\n },\r\n _initializeEventHandlers: function () {\r\n var self = this;\r\n self.events = self.events || ({});\r\n var getEventHandler = function (dataSource, callback, eventType, eventName) {\r\n var proxy = _.bind(callback, this);\r\n return function (event) {\r\n var $itemelement = $(event.target).closest('.' + listItemCssClass);\r\n var item = dataSource.getItemData($itemelement.attr('data-id'));\r\n proxy(item);\r\n self.trigger(eventType, eventName, item);\r\n };\r\n };\r\n _.each(self.sourceActions, function (action, key) {\r\n self.events['click .sourceAction-' + key] = getEventHandler(self._viewModel.sourceData, action.callback, 'sourceItemAction', key);\r\n });\r\n _.each(self.selectedActions, function (action, key) {\r\n self.events['click .selectedAction-' + key] = getEventHandler(self._viewModel.selectedData, action.callback, 'selectedItemAction', key);\r\n });\r\n },\r\n _applyDefaultTemplates: function () {\r\n var self = this;\r\n self.options.templates = self.options.templates || ({});\r\n _.defaults(self.options.templates, defaultTemplates);\r\n },\r\n _initializeActions: function () {\r\n var self = this;\r\n self.sourceActions = {\r\n select: {\r\n callback: self.selectItem\r\n }\r\n };\r\n self.selectedActions = {\r\n deselect: {\r\n callback: self.deselectItem\r\n }\r\n };\r\n _.extend(self.sourceActions, self.options.itemActions.source || ({}));\r\n _.extend(self.selectedActions, self.options.itemActions.selected || ({}));\r\n },\r\n _initializeSourcePager: function () {\r\n var self = this;\r\n var pagerEl = self.$(self.options.templates.sourcePagerSelector);\r\n if (!pagerEl.length) {\r\n return;\r\n }\r\n var dataSource = self._viewModel.sourceDataSource;\r\n var pager = new Pager({\r\n el: pagerEl,\r\n pageSize: _.bind(dataSource.pageSize, dataSource),\r\n pageCount: _.bind(dataSource.totalPages, dataSource),\r\n currentPage: _.bind(dataSource.page, dataSource),\r\n enablePageJump: this.options.data.enablePageJump,\r\n refreshTriggers: [_.bind(dataSource.bind, dataSource, 'change')]\r\n });\r\n pager.currentPage.subscribe(function (newPage) {\r\n if (newPage && newPage !== dataSource.page()) {\r\n dataSource.page(newPage);\r\n }\r\n });\r\n },\r\n _initializeSelectedPager: function () {\r\n var self = this;\r\n var pagerEl = self.$(self.options.templates.selectedPagerSelector);\r\n if (!pagerEl.length) {\r\n return;\r\n }\r\n var dataSource = self._viewModel.selectedDataSource;\r\n var pager = new Pager({\r\n el: pagerEl,\r\n pageSize: _.bind(dataSource.pageSize, dataSource),\r\n totalCount: function () {\r\n return self._viewModel.selectedItems().length;\r\n },\r\n currentPage: _.bind(dataSource.page, dataSource),\r\n enablePageJump: this.options.data.enablePageJump,\r\n refreshTriggers: [_.bind(self._viewModel.selectedItems.subscribe, self._viewModel.selectedItems)]\r\n });\r\n pager.currentPage.subscribe(function (newPage) {\r\n if (newPage && newPage !== dataSource.page()) {\r\n if (dataSource.totalPages() === 0) {\r\n dataSource.page(newPage);\r\n }\r\n dataSource.page(newPage);\r\n }\r\n });\r\n }\r\n});\r\nexport default controlView;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport pagerTemplate from '@bingads-webui-static-legacy/shared/template/pager.pug';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport * as _preferencesService from '@bingads-webui-component-legacy/preference/service/index';\r\nimport stateManager from '@bingads-webui-component-legacy/statemanager/campaignStateManager';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nvar preferencesService = _preferencesService.default || _preferencesService;\r\nvar pagerView = backbone.View.extend({\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n _.defaults(this.options, {\r\n template: pagerTemplate,\r\n id: undefined,\r\n pageSize: undefined,\r\n totalCount: undefined,\r\n pageCount: undefined,\r\n currentPage: 1,\r\n refreshTriggers: [],\r\n enablePageJump: true,\r\n features: {\r\n pageSizeSelector: false,\r\n saveState: true,\r\n loadState: false\r\n },\r\n pageSizes: pageContext.Permissions && pageContext.Permissions.Support500RowsInGrid ? [20, 50, 100, 200, 500] : [20, 50, 100, 200]\r\n });\r\n this.options.pageSize = this.options.pageSize || this.options.pageSizes && this.options.pageSizes[0] || 20;\r\n if (!this.options.totalCount && this.options.features.pageSizeSelector) {\r\n throw new Error('TotalCount must be specified in order to opt Page Size Selector');\r\n }\r\n this._initializeViewModel();\r\n this._viewModel.value.subscribe(_.bind(this.trigger, this, 'change'));\r\n this.currentPage = this._viewModel.currentPage;\r\n this.pageSize = this._viewModel.pageSize;\r\n this.pageCount = this._viewModel.pageCount;\r\n this.value = this._viewModel.value;\r\n this.refresh = _.bind(this._updateViewModel, this, true);\r\n this.readyPromise = this._initStatePersistence().then(_.bind(function () {\r\n this._initializeSubscriptions();\r\n this._initializeLayout();\r\n }, this));\r\n },\r\n destroy: function () {\r\n ko.cleanNode(this.$el);\r\n this.$el.empty();\r\n },\r\n _initializeLayout: function () {\r\n var template = _.isFunction(this.options.template) ? this.options.template({\r\n i18n: i18n,\r\n features: this.options.features\r\n }) : this.options.template;\r\n this.$el.html(template);\r\n ko.applyBindings(this._viewModel, this.el);\r\n },\r\n _initializeViewModel: function () {\r\n var viewModel = {\r\n pageSize: ko.observable(),\r\n totalCount: ko.observable(),\r\n currentPage: ko.observable(),\r\n nextPage: _.bind(this._nextPage, this),\r\n prevPage: _.bind(this._prevPage, this),\r\n enablePageJump: ko.observable(this.options.enablePageJump),\r\n features: this.options.features,\r\n pageSizes: this.options.pageSizes\r\n };\r\n viewModel.pageCount = !this.options.totalCount ? ko.observable() : ko.computed(function () {\r\n return Math.ceil(viewModel.totalCount() / viewModel.pageSize());\r\n });\r\n _.extend(viewModel, {\r\n pages: ko.computed(function () {\r\n return viewModel.pageCount() >= 1 ? _.range(1, viewModel.pageCount() + 1) : [1];\r\n }),\r\n isFirstPage: ko.computed(function () {\r\n return viewModel.currentPage() == 1;\r\n }),\r\n isLastPage: ko.computed(function () {\r\n return viewModel.currentPage() == viewModel.pageCount();\r\n }),\r\n onKeyPress: function (data, event) {\r\n var keyCode = event.which || event.keyCode;\r\n if (keyCode === 13) {\r\n event.target.blur();\r\n return false;\r\n }\r\n return true;\r\n }\r\n });\r\n this._viewModel = viewModel;\r\n this._updateViewModel(false);\r\n viewModel.value = ko.observable();\r\n this._updateValue();\r\n viewModel.pageSize.subscribe(_.bind(this._updateValue, this));\r\n viewModel.currentPage.subscribe(_.bind(this._updateValue, this));\r\n },\r\n _initializeSubscriptions: function () {\r\n var self = this;\r\n _.each(self.options.refreshTriggers, function (trigger) {\r\n trigger(_.bind(self._updateViewModel, self, true));\r\n });\r\n },\r\n _nextPage: function () {\r\n if (!this._viewModel.isLastPage()) {\r\n this._viewModel.currentPage(this._viewModel.currentPage() + 1);\r\n }\r\n },\r\n _prevPage: function () {\r\n if (!this._viewModel.isFirstPage()) {\r\n this._viewModel.currentPage(this._viewModel.currentPage() - 1);\r\n }\r\n },\r\n _updateViewModel: function (funcOnly) {\r\n this._setValue('pageSize', this.options.pageSize, funcOnly);\r\n this._setValue('totalCount', this.options.totalCount, funcOnly);\r\n this._setValue('currentPage', this.options.currentPage, funcOnly);\r\n if (!ko.isComputed(this._viewModel.pageCount)) {\r\n this._setValue('pageCount', this.options.pageCount, funcOnly);\r\n }\r\n },\r\n _setValue: function (propertyName, valueSource, funcOnly) {\r\n var oldValue = this._viewModel[propertyName](), newValue = _.isFunction(valueSource) ? valueSource() : valueSource;\r\n if (!funcOnly || _.isFunction(valueSource)) {\r\n if (oldValue != newValue) {\r\n this._viewModel[propertyName](newValue);\r\n }\r\n }\r\n },\r\n _updateValue: function () {\r\n var valueObservable = this._viewModel.value;\r\n var currentPageNumber = decimal.fromLocalToFloat(this._viewModel.currentPage(), 0);\r\n if (!_.isNumber(this._viewModel.currentPage()) && _.isNumber(currentPageNumber)) {\r\n this._viewModel.currentPage(currentPageNumber);\r\n }\r\n if (!_.isNumber(currentPageNumber) && _.isNumber(valueObservable().currentPage)) {\r\n this._viewModel.currentPage(valueObservable().currentPage);\r\n } else if (this._viewModel.pageCount() > 0 && this._viewModel.currentPage() > this._viewModel.pageCount()) {\r\n this._viewModel.currentPage(this._viewModel.pageCount());\r\n } else if (this._viewModel.currentPage() < 1) {\r\n this._viewModel.currentPage(1);\r\n }\r\n if (valueObservable() && valueObservable().pageSize == this._viewModel.pageSize() && valueObservable().currentPage == this._viewModel.currentPage()) {\r\n return;\r\n }\r\n valueObservable({\r\n pageSize: this._viewModel.pageSize(),\r\n currentPage: this._viewModel.currentPage(),\r\n skip: (this._viewModel.currentPage() - 1) * this._viewModel.pageSize(),\r\n take: this._viewModel.pageSize()\r\n });\r\n },\r\n _initStatePersistence: function () {\r\n var promise;\r\n if (!this.options.features.loadState) {\r\n promise = $.Deferred().resolve().promise();\r\n } else {\r\n if (!this.options.id) {\r\n throw new Error('You must specifiy \"id\" option to use statePersistance');\r\n }\r\n promise = this._loadState();\r\n }\r\n return promise.then(_.bind(this._initSaveState, this));\r\n },\r\n _initSaveState: function () {\r\n if (!!this.options.id) {\r\n this._viewModel.pageSize.subscribe(_.bind(function (newValue) {\r\n var IsUsePreferencesServiceEnabled = _.result(config.get('permissions'), 'IsUsePreferencesServiceEnabled');\r\n if (IsUsePreferencesServiceEnabled) {\r\n preferencesService.setAtUserLevel({\r\n Name: 'WebApp.CampaignUI.pager_' + this.options.id,\r\n Data: {\r\n pageSize: newValue\r\n }\r\n });\r\n } else {\r\n stateManager.setItem('permanent', 'pager_' + this.options.id, {\r\n pageSize: newValue\r\n });\r\n }\r\n }, this));\r\n }\r\n },\r\n _loadState: function () {\r\n var IsUsePreferencesServiceEnabled = _.result(config.get('permissions'), 'IsUsePreferencesServiceEnabled');\r\n if (IsUsePreferencesServiceEnabled) {\r\n return preferencesService.initialize().then(_.bind(function () {\r\n var preference = preferencesService.findByName('WebApp.CampaignUI.pager_' + this.options.id) || ({});\r\n if (preference.Data && preference.Data.pageSize) {\r\n this._viewModel.pageSize(preference.Data.pageSize);\r\n }\r\n }, this));\r\n } else {\r\n return stateManager.getItem('pager_' + this.options.id).then(_.bind(function (value) {\r\n if (value.permanent.pageSize) {\r\n this._viewModel.pageSize(value.permanent.pageSize);\r\n }\r\n }, this));\r\n }\r\n }\r\n});\r\nexport default pagerView;\r\n\r\n","/* eslint-disable */\r\nfunction alertInternal(message) {\r\n alert(message);\r\n}\r\n;\r\nfunction confirmInternal(message) {\r\n return confirm(message);\r\n}\r\n;\r\nfunction promptInternal(message, defaultText) {\r\n return prompt(message, defaultText);\r\n}\r\n;\r\nexport default {\r\n alert: alertInternal,\r\n confirm: confirmInternal,\r\n prompt: promptInternal\r\n};\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport dlbDataSource from '@bingads-webui-static-legacy/double-list-box-datasource';\r\nvar ViewModel = function (options) {\r\n var self = this;\r\n self.options = options;\r\n self.strings = options.strings || ({});\r\n self.features = options.features || ({});\r\n self.customData = options.customData || ({});\r\n self.dataSource = self._createDataSource();\r\n self.kendoDataSource = self.dataSource.dataSource;\r\n self.selectedItem = ko.observable(self.options.data.selectedItem);\r\n self._initializeFilter();\r\n self._initializeSourceItemsCount();\r\n self.refreshSource = _.bind(self.dataSource.refresh, self.dataSource);\r\n};\r\nViewModel.prototype.setSelectedItem = function (item) {\r\n var self = this, changed = false, currentId = !!self.selectedItem() ? self.dataSource.getItemId(self.selectedItem()) : null, newId = !!item ? self.dataSource.getItemId(item) : null;\r\n if (currentId !== newId) {\r\n self.dataSource.setItemProperty(self.selectedItem(), 'selected', '');\r\n self.selectedItem(item);\r\n self.dataSource.setItemProperty(item, 'selected', 'selected');\r\n changed = true;\r\n }\r\n return changed;\r\n};\r\nViewModel.prototype.refreshItem = function (item) {\r\n var self = this;\r\n self.dataSource.refreshItem(item);\r\n};\r\nViewModel.prototype._initializeFilter = function () {\r\n var self = this;\r\n self.filterText = ko.observable('');\r\n self.filterText.subscribe(function (newValue) {\r\n self.dataSource.filter(newValue);\r\n });\r\n};\r\nViewModel.prototype._initializeSourceItemsCount = function () {\r\n var self = this, total = self.kendoDataSource.total();\r\n self.showEmptyMessage = ko.observable(false);\r\n self.sourceItemsCount = ko.observable(total);\r\n self.kendoDataSource.bind('change', function () {\r\n var newTotal = self.kendoDataSource.total();\r\n self.sourceItemsCount(newTotal);\r\n newTotal === 0 ? self.showEmptyMessage(true) : self.showEmptyMessage(false);\r\n });\r\n};\r\nViewModel.prototype._createDataSource = function () {\r\n var self = this;\r\n var sourceCustomActions = [];\r\n _.each(self.options.itemActions, function (value, key) {\r\n sourceCustomActions.push({\r\n name: key,\r\n caption: value.caption\r\n });\r\n });\r\n return new dlbDataSource({\r\n dataCallback: _.isFunction(self.options.data.sourceItems) ? self.options.data.sourceItems : null,\r\n dataItems: !_.isFunction(self.options.data.sourceItems) ? self.options.data.sourceItems : null,\r\n useCallbackForFetchOnly: self.options.data.useCallbackForFetchOnly,\r\n itemIdField: self.options.data.itemIdField,\r\n itemIdCallback: self.options.data.itemIdCallback,\r\n itemFilterField: self.options.data.itemFilterField,\r\n itemFilterCallback: self.options.data.itemFilterCallback,\r\n pageSize: self.features.paging ? self.options.data.pageSize : Math.pow(2, 31),\r\n listItemSeed: function (item, id) {\r\n return {\r\n customActions: sourceCustomActions,\r\n selected: self.dataSource.getItemId(self.selectedItem()) == id ? 'selected' : '',\r\n strings: self.strings\r\n };\r\n }\r\n });\r\n};\r\nexport default ViewModel;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport _ from 'underscore';\r\nimport backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport viewModel from '@bingads-webui-static-legacy/shared/viewmodel/singleListBoxViewModel';\r\nimport defaultLayoutTemplate from '@bingads-webui-static-legacy/shared/template/singleListBox/defaultLayout.pug';\r\nimport defaultItemTemplate from '@bingads-webui-static-legacy/shared/template/singleListBox/defaultItem.pug';\r\nimport Pager from '@bingads-webui-static-legacy/shared/view/pager';\r\nimport '@bingads-webui/kendo/kendo.listview';\r\nimport '@bingads-webui-component-legacy/searchbox/ko/searchboxBinding';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!global');\r\nvar defaultTemplates = {\r\n layoutTemplate: defaultLayoutTemplate({\r\n i18n: i18n\r\n }),\r\n listContainerSelector: '.dlb-source',\r\n pagerSelector: '.pager-container',\r\n itemLayoutTemplate: defaultItemTemplate({\r\n i18n: i18n\r\n }),\r\n itemContentSelector: '.dlbItem-content',\r\n itemContentTemplate: '#:data.name#'\r\n};\r\nvar listItemCssClass = 'dlbItem';\r\nvar ControlView = backbone.View.extend({\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n this.options.data = this.options.data || ({});\r\n var self = this;\r\n self._applyDefaultTemplates();\r\n self.options.features = _.defaults(self.options.features || ({}), {\r\n filtering: true,\r\n paging: true\r\n });\r\n self._viewModel = new viewModel(_.pick(self.options, 'data', 'itemActions', 'strings', 'features', 'customData'));\r\n self.refreshItem = _.bind(self._viewModel.refreshItem, self._viewModel);\r\n self.selectItem = _.bind(self._viewModel.setSelectedItem, self._viewModel);\r\n self.refreshSource = _.bind(self._viewModel.refreshSource, self._viewModel);\r\n self.selectedItem = ko.computed({\r\n read: function () {\r\n return self._viewModel.selectedItem();\r\n },\r\n write: function (newSelection) {\r\n self._viewModel.setSelectedItem(newSelection);\r\n }\r\n });\r\n self.selectedItem.subscribe(function (newSelection) {\r\n self.trigger('selectionChanged', newSelection);\r\n });\r\n this._initializeActions();\r\n this._initializeEventHandlers();\r\n },\r\n render: function () {\r\n this._initializeLayout();\r\n this._initializeList();\r\n if (this.options.features.paging) {\r\n this._initializePager();\r\n }\r\n return this;\r\n },\r\n _initializeLayout: function () {\r\n var self = this;\r\n self.$wrapper = $('
').appendTo(self.$el).html(self.options.templates.layoutTemplate);\r\n ko.applyBindings(self._viewModel, self.$wrapper[0]);\r\n self.elements = {\r\n $list: self.$(self.options.templates.listContainerSelector)\r\n };\r\n },\r\n _initializeList: function () {\r\n var self = this;\r\n self.elements.$list.kendoListView({\r\n navigatable: true,\r\n selectable: true,\r\n change: _.partial(self._onSelectChange, self),\r\n dataSource: self._viewModel.kendoDataSource,\r\n template: self._getEffectiveItemTemplate(this.options.templates.itemLayoutTemplate, this.options.templates.itemContentTemplate)\r\n });\r\n },\r\n _getEffectiveItemTemplate: function (layoutTemplate, contentTemplate) {\r\n return layoutTemplate.replace('', contentTemplate);\r\n },\r\n _initializeEventHandlers: function () {\r\n var self = this;\r\n self.events = self.events || ({});\r\n var getEventHandler = function (dataSource, callback, eventType, eventName) {\r\n var proxy = _.bind(callback, self);\r\n return function (event) {\r\n var $itemelement = $(event.target).closest('.' + listItemCssClass);\r\n var item = dataSource.getItemData($itemelement.attr('data-id'));\r\n proxy(item);\r\n self.trigger(eventType, eventName, item);\r\n };\r\n };\r\n _.each(self.itemActions, function (action, key) {\r\n if (key !== 'select') {\r\n self.events['click .itemAction-' + key] = getEventHandler(self._viewModel.dataSource, action.callback, 'itemAction', key);\r\n }\r\n });\r\n },\r\n _onSelectChange: function (view) {\r\n var selectAction = view.itemActions['select'];\r\n if (selectAction) {\r\n var $itemelement = $(this.select());\r\n if ($itemelement.find('.itemAction-select').length) {\r\n var item = view._viewModel.dataSource.getItemData($itemelement.attr('data-id'));\r\n selectAction.callback(item);\r\n view.trigger('itemAction', 'select', item);\r\n }\r\n }\r\n },\r\n _applyDefaultTemplates: function () {\r\n var self = this;\r\n self.options.templates = self.options.templates || ({});\r\n _.defaults(self.options.templates, defaultTemplates);\r\n },\r\n _initializeActions: function () {\r\n var self = this;\r\n self.itemActions = {\r\n select: {\r\n callback: self.selectItem\r\n }\r\n };\r\n _.extend(self.itemActions, self.options.itemActions || ({}));\r\n },\r\n _initializePager: function () {\r\n var self = this;\r\n var pagerEl = self.$(self.options.templates.pagerSelector);\r\n if (!pagerEl.length) {\r\n return;\r\n }\r\n var dataSource = self._viewModel.kendoDataSource;\r\n var pager = new Pager({\r\n el: pagerEl,\r\n pageSize: _.bind(dataSource.pageSize, dataSource),\r\n pageCount: _.bind(dataSource.totalPages, dataSource),\r\n currentPage: _.bind(dataSource.page, dataSource),\r\n refreshTriggers: [_.bind(dataSource.bind, dataSource, 'change')],\r\n enablePageJump: this.options.data.enablePageJump\r\n });\r\n pager.currentPage.subscribe(function (newPage) {\r\n if (newPage && newPage !== dataSource.page()) {\r\n dataSource.page(newPage);\r\n }\r\n });\r\n }\r\n});\r\nexport default ControlView;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport $ from 'jquery';\r\nimport backbone from 'backbone';\r\nimport dialogTemplate from '@bingads-webui-static-legacy/uet/template/dialog.pug';\r\nimport tagViewerContent from '@bingads-webui-static-legacy/uet/template/tagViewerContent.pug';\r\nimport tagViewerFooter from '@bingads-webui-static-legacy/uet/template/tagViewerFooter.pug';\r\nimport download from '@bingads-webui-component-legacy/download/index';\r\nimport * as url from '@bingads-webui/url-util';\r\nimport instrumentationSettings from '@bingads-webui-static-legacy/instrumentation/campaignSchemaAndSetting';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport '@bingads-webui-static-legacy/instrumentation/instrumentation';\r\nimport 'bootstrap';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!uet');\r\nvar view = backbone.View.extend({\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n this.renderThirdPartyIntegrationView = this.options.renderThirdPartyIntegrationView;\r\n },\r\n events: {\r\n 'click .btn-uet-email-tag': 'emailTag',\r\n 'click .btn-uet-copy-tag': 'copyTag',\r\n 'click .btn-uet-download-tag': 'downloadTag',\r\n 'click .btn-uet-gtm-tag': 'startGTMIntegrationFlow',\r\n 'hidden.bs.modal': 'onClose'\r\n },\r\n render: (function () {\r\n var tag = Object.assign({}, this.options.tag);\r\n const isUetAutoSpaTrackingEnabled = _.result(pageContext.Permissions.dynamic, 'UetAutoSpaTracking');\r\n var scriptMatches = (/`;\r\n }\r\n var isGTMIntegrationEnabled = pageContext.Permissions.IsGTMTagIntegrationForUETGridEnabled && !!this.renderThirdPartyIntegrationView;\r\n var dialog = dialogTemplate({\r\n title: i18n.getString('UnifiedEventTracking_TagViewer_Title'),\r\n content: tagViewerContent({\r\n _,\r\n i18n: i18n,\r\n tag: tag\r\n }),\r\n footer: tagViewerFooter({\r\n i18n: i18n,\r\n isGTMIntegrationEnabled\r\n }),\r\n i18n: i18n,\r\n dialogClass: 'uet tag-viewer'\r\n });\r\n this.setElement(dialog);\r\n this.$el.modal('show');\r\n if ($.support.transition) {\r\n this.$el.on($.support.transition.end, function (event) {\r\n $('.btn-primary', this).focus();\r\n });\r\n }\r\n return this;\r\n }).asLoggingStart(instrumentationSettings.ACTIVITYNAME.OpenUetTrackingCodePopup, instrumentationSettings.SCENARIONAME.ViewUetTrackingCodePopup),\r\n hide: function () {\r\n this.$el.modal('hide');\r\n },\r\n copyTag: (function () {\r\n window.prompt(i18n.getString('UnifiedEventTracking_TagViewer_CopyPrompt'), this.$('.tab-pane.active').val());\r\n }).asLoggingStart(instrumentationSettings.ACTIVITYNAME.CopyTrackingCode, instrumentationSettings.SCENARIONAME.ViewUetTrackingCodePopup),\r\n emailTag: (function () {\r\n var subject = encodeURIComponent(i18n.getString('UnifiedEventTracking_TagViewer_EmailSubject') + this.$('.tag-name').text());\r\n window.location.href = url.mailto('', subject, encodeURIComponent(this.getEmailDownloadBody()));\r\n }).asLoggingStart(instrumentationSettings.ACTIVITYNAME.EmailTrackingCode, instrumentationSettings.SCENARIONAME.ViewUetTrackingCodePopup),\r\n downloadTag: (function () {\r\n download.downloadify(this.$('.tag-name').text() + '.txt', this.getEmailDownloadBody(), 'text/plain');\r\n }).asLoggingStart(instrumentationSettings.ACTIVITYNAME.DownloadTrackingCode, instrumentationSettings.SCENARIONAME.ViewUetTrackingCodePopup),\r\n startGTMIntegrationFlow: (function () {\r\n this.hide();\r\n this.renderThirdPartyIntegrationView(this.options.tag);\r\n }).asLoggingStart(instrumentationSettings.ACTIVITYNAME.IntegrateTrackingCodeWithGTM, instrumentationSettings.SCENARIONAME.ViewUetTrackingCodePopup),\r\n onClose: function () {\r\n this.remove();\r\n },\r\n getEmailDownloadBody: function () {\r\n return i18n.getString('UnifiedEventTracking_TagViewer_EmailHeader') + '\\r\\n\\r\\n' + i18n.getString('UnifiedEventTracking_TagViewer_EmailHelp') + '\\r\\n\\r\\n' + this.$('.tab-pane.active').val();\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport asyncScheduler from '@bingads-webui-static-legacy/async-scheduler';\r\nimport odata from '@bingads-webui-component-legacy/http/channel/odata';\r\nimport instrumentation from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport constants from '@bingads-webui-static-legacy/instrumentation/constants';\r\nimport * as errors from '@bingads-webui-campaign-legacy/instrumentation/error-codes';\r\nimport '@bingads-webui-static-legacy/instrumentation/instrumentation';\r\nvar urlTemplate = '/Customers()/Accounts()/TaskItemExecutions({{ExecutionId}})';\r\nfunction handleUpdates(result) {\r\n var data = result.data || ({});\r\n this.consecutiveFailureCount = 0;\r\n var isSucceed = _.contains(['Completed'], data.Status);\r\n var isInProgress = _.contains(['InProgress', 'PendingExecution'], data.Status);\r\n var isFailed = !(isSucceed || isInProgress);\r\n if (isFailed && !_.contains(['Failed', 'RetryNeeded', 'AccessDenied', 'UserError'], data.Status)) {\r\n instrumentation.logError('UploadConversions/statusPoller/handleUpdates', 'Unexpected status: ' + data.Status + ', treat is as a failure');\r\n }\r\n if (isSucceed || isFailed) {\r\n this.job.stop();\r\n }\r\n if (data.RowsProcessed && data.TotalRows) {\r\n this.options.parentTask.trigger('update', data.RowsProcessed, data.TotalRows);\r\n }\r\n if (isSucceed) {\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, '/UploadConversions/statusPoller/handleUpdates', 'Finish polling');\r\n this.options.parentTask.trigger('done', data);\r\n } else if (isFailed) {\r\n var trackingid, requestid;\r\n var xhr = this.lastSuccessXHR || ({});\r\n if (_.isFunction(xhr.getResponseHeader)) {\r\n trackingid = xhr.getResponseHeader('x-ms-trackingid');\r\n requestid = xhr.getResponseHeader('x-ms-requestid');\r\n }\r\n this.errorLog = _.extend({}, this.errorLog, _.pick(xhr, 'readyState', 'responseText', 'status', 'statusText'), {\r\n 'x-ms-trackingid': trackingid,\r\n 'x-ms-requestid': requestid\r\n });\r\n var isUserError = false;\r\n try {\r\n var errorCode = xhr.responseJSON && xhr.responseJSON.Errors[0].Code;\r\n isUserError = errors.odataErrorCodes.includes(errorCode.toUpperCase());\r\n } catch (e) {}\r\n if (!isUserError) {\r\n instrumentation.logError('UploadConversions/statusPoller/handleUpdates', 'Details:' + JSON.stringify(this.errorLog));\r\n }\r\n this.options.parentTask.trigger('error', {\r\n errorMsgKey: 'UnifiedEventTracking_UploadConversions_GenericError',\r\n log: this.errorLog,\r\n isUserError: isUserError\r\n });\r\n }\r\n}\r\nfunction handleFailures(result) {\r\n var err = result.error || ({});\r\n this.consecutiveFailureCount++;\r\n if (this.consecutiveFailureCount >= 5) {\r\n this.job.stop();\r\n this.errorLog = _.extend({}, this.errorLog, _.pick(err, 'readyState', 'responseText', 'status', 'statusText'), _.pick(err.headers, 'x-ms-requestid', 'x-ms-trackingid'));\r\n var isUserError = false;\r\n var xhr = this.lastSuccessXHR || ({});\r\n try {\r\n var errorCode = xhr.responseJSON && xhr.responseJSON.Errors[0].Code;\r\n isUserError = errors.odataErrorCodes.includes(errorCode);\r\n } catch (e) {}\r\n if (!isUserError) {\r\n instrumentation.logError('UploadConversions/statusPoller/handleFailures', 'Polling failed ' + this.consecutiveFailureCount + ' times. Details: ' + JSON.stringify(this.errorLog));\r\n }\r\n this.options.parentTask.trigger('error', {\r\n errorMsgKey: 'UnifiedEventTracking_UploadConversions_GenericError',\r\n log: this.errorLog\r\n });\r\n }\r\n}\r\nfunction scheduledTask() {\r\n var options = {\r\n success: (function (data, status, xhr) {\r\n this.lastSuccessXHR = xhr;\r\n }).bind(this)\r\n };\r\n return odata.get(this.url, options);\r\n}\r\nvar Poller = function (options) {\r\n this.options = options || ({});\r\n this.consecutiveFailureCount = 0;\r\n this.url = _.template(urlTemplate)({\r\n ExecutionId: this.options.ExecutionId\r\n });\r\n this.job = asyncScheduler.createTask({\r\n schedule: 2000,\r\n task: scheduledTask.bind(this),\r\n overlapping: 'wait'\r\n });\r\n this.job.on('success', handleUpdates.bind(this));\r\n this.job.on('error', handleFailures.bind(this));\r\n this.errorLog = {\r\n Url: this.url\r\n };\r\n};\r\nPoller.prototype.start = function () {\r\n this.job.start();\r\n};\r\nexport default Poller;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport backbone from 'backbone';\r\nimport TaskProgressView from '@bingads-webui-static-legacy/uet/view/uploadConversions/taskProgress';\r\nimport StatusPoller from '@bingads-webui-static-legacy/uet/view/uploadConversions/statusPoller';\r\nimport instrumentation from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport constants from '@bingads-webui-static-legacy/instrumentation/constants';\r\nimport '@bingads-webui-static-legacy/instrumentation/instrumentation';\r\nvar Task = function (options) {\r\n this.options = options || ({});\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, '/UploadConversions/pollerTask', 'ExecutionId passed in: ' + this.options.ExecutionId);\r\n this.view = new TaskProgressView({\r\n model: {\r\n statusText: this.options.statusText,\r\n completeText: this.options.completeText\r\n },\r\n task: this\r\n });\r\n this.poller = new StatusPoller({\r\n ExecutionId: this.options.ExecutionId,\r\n parentTask: this\r\n });\r\n};\r\nTask.prototype.run = function () {\r\n this.poller.start();\r\n};\r\n_.extend(Task.prototype, backbone.Events);\r\nexport default Task;\r\n\r\n","/* eslint-disable */\r\nimport ko from 'knockout';\r\nimport humanize from '@bingads-webui-component-legacy/humanize/byte';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!uet');\r\nexport default function (model) {\r\n this.statusText = ko.observable(model.statusText);\r\n this.showProgress = ko.observable(model.showProgress);\r\n this.completed = ko.observable(model.completed);\r\n this.total = ko.observable(model.total);\r\n this.progressDetails = ko.computed((function () {\r\n if (model.type === 'Upload') {\r\n return i18n.getString('UnifiedEventTracking_UploadConversions_UploadProgress_Details', humanize.fileSize(this.completed()), humanize.fileSize(this.total()));\r\n } else {\r\n return i18n.getString('UnifiedEventTracking_UploadConversions_TaskProgress_Details', this.completed(), this.total());\r\n }\r\n }).bind(this));\r\n this.percentage = ko.computed((function () {\r\n return (this.total() === 0 ? 0 : this.completed() / this.total()) * 100 + '%';\r\n }).bind(this));\r\n}\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport taskProgressTemplate from '@bingads-webui-static-legacy/uet/template/uploadConversions/taskProgress.pug';\r\nimport TaskProgressViewModel from '@bingads-webui-static-legacy/uet/viewmodel/uploadConversions/taskProgress';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!uet');\r\nvar defaults = {\r\n showProgress: false,\r\n statusText: '',\r\n completeText: '',\r\n completed: 0,\r\n total: 100\r\n};\r\nfunction close() {\r\n this.options.task && this.options.task.trigger('close');\r\n}\r\nvar view = backbone.View.extend({\r\n events: {\r\n 'click .btn-close': close\r\n },\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n this.options.model = _.defaults({}, this.options.model, defaults);\r\n this.ko_model = new TaskProgressViewModel(this.options.model);\r\n this.isNewUI = config.get('IsNewUI');\r\n if (this.options.task) {\r\n this.options.task.on('update', (function (completed, total) {\r\n this.ko_model.showProgress(!this.isNewUI).completed(completed).total(total);\r\n }).bind(this));\r\n this.options.task.on('done', (function () {\r\n this.ko_model.completed(this.ko_model.total());\r\n this.ko_model.showProgress(false).statusText(this.options.model.completeText);\r\n }).bind(this));\r\n }\r\n },\r\n render: function () {\r\n this.$el.html(taskProgressTemplate({\r\n i18n: i18n,\r\n isNewUI: this.isNewUI\r\n }));\r\n ko.applyBindings(this.ko_model, this.el);\r\n return this;\r\n },\r\n recoverBinding: function () {\r\n ko.cleanNode(this.el);\r\n this.undelegateEvents();\r\n this.delegateEvents();\r\n ko.applyBindings(this.ko_model, this.el);\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nimport ko from 'knockout';\r\nimport localStorage from '@bingads-webui-component-legacy/storage/localStorage';\r\nexport default function (options) {\r\n this.options = options || ({});\r\n this.hasError = ko.observable('');\r\n this.tutorialSectionExplandClass = this.options.hideTutorial ? ko.observable('expanderImage') : ko.observable('expandedImage');\r\n this.updateTutorialSectionStatus = function () {\r\n if (this.tutorialSectionExplandClass() === 'expandedImage') {\r\n this.tutorialSectionExplandClass('expanderImage');\r\n localStorage.set('uet_upload_tut_hide', true);\r\n } else {\r\n this.tutorialSectionExplandClass('expandedImage');\r\n localStorage.set('uet_upload_tut_hide', false);\r\n }\r\n };\r\n}\r\n\r\n","/* eslint-disable */\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!uet');\r\nconst tranformFileName = function (filename) {\r\n if (!filename || filename.length <= 25) {\r\n return filename;\r\n }\r\n var preFileName = filename.substr(0, 12);\r\n var postFileName = filename.substr(filename.length - 12, 12);\r\n var newFileName = preFileName + '...' + postFileName;\r\n return newFileName;\r\n};\r\nexport default function (model) {\r\n this.maximumFileSize = _.constant(200 * 1024 * 1024);\r\n this.enableUpload = ko.observable(false);\r\n this.showWarning = ko.observable(false);\r\n this.warningMessage = ko.observable('');\r\n this.fileName = ko.observable('');\r\n const {OnlineConversionRestateRetractUI} = model;\r\n this.showUploadButton = ko.observable(model.isNewUI);\r\n if (!OnlineConversionRestateRetractUI) {\r\n this.uploadButtonClicked = (function () {\r\n this.showUploadButton(false);\r\n }).bind(this);\r\n this.cancelButtonClicked = (function () {\r\n this.showUploadButton(true);\r\n }).bind(this);\r\n }\r\n this.fileDidPick = (function (inputElement) {\r\n if (!_.isUndefined(inputElement.files) && inputElement.files.length > 0) {\r\n var file = _.first(inputElement.files);\r\n var fileSizeExceeded = file && file.size && file.size >= this.maximumFileSize();\r\n var fileEmpty = file && file.size <= 0;\r\n if (!fileEmpty) {\r\n this.fileName(tranformFileName(file.name));\r\n }\r\n var fileNameIsInvalid = file && (function (name) {\r\n var reg = /\\.([^\\.]+)$/;\r\n var matches = name.match(reg);\r\n return !(matches && _.contains(['csv', 'tsv', 'xlsx'], matches[1].toLowerCase()));\r\n })(file.name);\r\n if (fileSizeExceeded || fileEmpty || fileNameIsInvalid) {\r\n this.enableUpload(false);\r\n this.showWarning(true);\r\n if (fileNameIsInvalid) {\r\n this.warningMessage(i18n.getString('UnifiedEventTracking_UploadConversions_Unsupported_Format'));\r\n } else if (fileEmpty) {\r\n this.warningMessage(i18n.getString('UnifiedEventTracking_UploadConversions_File_Empty'));\r\n } else {\r\n this.warningMessage(i18n.getString('UnifiedEventTracking_UploadConversions_UploadError_FileSizeExceeded'));\r\n }\r\n } else {\r\n this.enableUpload(true);\r\n this.showWarning(false);\r\n this.warningMessage('');\r\n }\r\n }\r\n }).bind(this);\r\n}\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nvar excelFileName = 'EXCEL_Conversion_Import_Template.xlsx';\r\nvar csvFileName = 'CSV_Conversion_Import_Template.csv';\r\nfunction getFileUrl(filename) {\r\n return pageContext.TemplatesPathUrl + 'Import/' + filename;\r\n}\r\n;\r\nexport default {\r\n excelFileUrl: getFileUrl(excelFileName),\r\n csvFileUrl: getFileUrl(csvFileName)\r\n};\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport filePickerTemplate from '@bingads-webui-static-legacy/uet/template/uploadConversions/filePicker.pug';\r\nimport FilePickerViewModel from '@bingads-webui-static-legacy/uet/viewmodel/uploadConversions/filePicker';\r\nimport TemplateFileUtil from '@bingads-webui-static-legacy/uet/view/uploadConversions/templateFileUtil';\r\nimport instrumentation from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport setting from '@bingads-webui-static-legacy/instrumentation/campaignSchemaAndSetting';\r\nimport '@bingads-webui-static-legacy/instrumentation/instrumentation';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!uet');\r\nvar uploadFile = (function () {\r\n var file = _.first(_.first(this.$('.file-input')).files);\r\n this.trigger('fileSelected', file);\r\n}).asLoggingStart(setting.ACTIVITYNAME.ClickOnUploadAndPreview);\r\nvar view = backbone.View.extend({\r\n events: {\r\n 'click .btn-upload': uploadFile\r\n },\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n this.options.isNewUI = this.options.isNewUI || false;\r\n const permissions = pageContext.Permissions;\r\n const {dynamic = {}} = permissions;\r\n const {OnlineConversionRestateRetractUI = false} = dynamic;\r\n this.options.OnlineConversionRestateRetractUI = OnlineConversionRestateRetractUI;\r\n this.ko_model = new FilePickerViewModel(this.options);\r\n },\r\n render: function () {\r\n var excelLink = '' + i18n.getString('UnifiedEventTracking_UploadConversions_Excel') + '';\r\n var csvLink = '' + i18n.getString('UnifiedEventTracking_UploadConversions_Csv') + '';\r\n const permissions = pageContext.Permissions;\r\n const {dynamic = {}} = permissions;\r\n const {OnlineConversionRestateRetractUI = false} = dynamic;\r\n var html = filePickerTemplate({\r\n i18n: i18n,\r\n isNewUI: this.options.isNewUI,\r\n IsOfflineConversionRestateRetractFromUIAllowed: this.options.isNewUI && permissions.IsOfflineConversionRestateRetractFromUIAllowed,\r\n OnlineConversionRestateRetractUI: dynamic.OnlineConversionRestateRetractUI\r\n }).replace('{{fileTemplateExcel}}', excelLink).replace('{{fileTemplateCsv}}', csvLink);\r\n this.$el.html(html);\r\n if (this.$('.new-filepicker-tip').length > 0) {\r\n this.$('.new-filepicker-tip').empty().append(this.options.newFilePickerTip.render().$el);\r\n }\r\n ko.applyBindings(this.ko_model, this.el);\r\n instrumentation.endActivity();\r\n return this;\r\n },\r\n recoverBinding: function () {\r\n ko.cleanNode(this.el);\r\n this.undelegateEvents();\r\n this.delegateEvents();\r\n ko.applyBindings(this.ko_model, this.el);\r\n instrumentation.endActivity();\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport backbone from 'backbone';\r\nimport TaskProgressView from '@bingads-webui-static-legacy/uet/view/uploadConversions/taskProgress';\r\nimport UploadService from '@bingads-webui-component-legacy/azure-upload/index';\r\nimport odata from '@bingads-webui-component-legacy/http/channel/odata';\r\nimport * as safeJson from '@bingads-webui/safe-json';\r\nimport dateUtils from '@bingads-webui-component-legacy/humanize/date';\r\nimport instrumentation from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport constants from '@bingads-webui-static-legacy/instrumentation/constants';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport '@bingads-webui-static-legacy/instrumentation/instrumentation';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!uet');\r\nfunction processBlobUrl(url) {\r\n var urlWithoutSas = url && url.slice(0, url.indexOf('?'));\r\n this.fileUrl = urlWithoutSas;\r\n this.fileIdentifier = getFileIdentifier(urlWithoutSas);\r\n var message = 'Uploaded successfully. File name: ' + this.options.file.name + ', size: ' + this.options.file.size + 'bytes, blobUrl: ' + urlWithoutSas;\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, 'UploadConversions/uploadFileTask', message);\r\n}\r\nfunction getFileIdentifier(url) {\r\n return url.substr(url.lastIndexOf('/') + 1);\r\n}\r\nfunction createPreviewTask(fileIdentifier) {\r\n var utcNow = dateUtils.utcNow();\r\n this.postData = {\r\n data: {\r\n '@odata.type': '#Model.OfflineConversionUploadTaskItem',\r\n 'FileIdentifier': fileIdentifier,\r\n 'Name': this.options.file.name + dateUtils.toString(utcNow, '_yyyy_MM_dd_HH_mm_ss', 'en-US'),\r\n 'Type': 'OfflineConversionUploadPreview',\r\n 'Cron': '',\r\n 'NotificationType': 'Always',\r\n 'NotificationMedium': 'Email',\r\n 'TimeZoneId': 50\r\n }\r\n };\r\n this.postTaskUrl = '/Customers()/Accounts()/TaskItems?$expand=TaskItemExecutions';\r\n}\r\nfunction processErrorResponse(err) {\r\n if (_.isEmpty(err)) {\r\n err = {};\r\n }\r\n if (_.isString(err)) {\r\n try {\r\n var parsedErr = JSON.parse(err);\r\n err = parsedErr;\r\n } catch (e) {}\r\n }\r\n var errorMsgKey = 'UnifiedEventTracking_UploadConversions_GenericError';\r\n this.errorLog = _.extend({}, this.errorLog, _.pick(err, 'readyState', 'responseText', 'status', 'statusText'), _.pick(err.headers, 'x-ms-requestid', 'x-ms-trackingid'));\r\n if (_.isEmpty(this.errorLog)) {\r\n if (_.isString(err.error) && (err.error.includes('NotReadableError') || err.error.includes('NotFoundError'))) {\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, 'UploadConversions/uploadFileTask', 'Non XHR error:' + JSON.stringify(err));\r\n errorMsgKey = 'FileUpload_FileNotReadableError';\r\n } else {\r\n instrumentation.logMessage([constants.LOGCATEGORY.ERROR], constants.LOGLEVEL.INFO, 'UploadConversions/uploadFileTask', 'Non XHR error:' + JSON.stringify(err));\r\n }\r\n } else {\r\n instrumentation.logMessage([constants.LOGCATEGORY.ERROR], constants.LOGLEVEL.INFO, 'UploadConversions/uploadFileTask', JSON.stringify(this.errorLog));\r\n }\r\n this.trigger('error', {\r\n errorMsgKey: errorMsgKey,\r\n log: this.errorLog\r\n });\r\n}\r\nfunction parseTaskId(data) {\r\n var executionObj = _.first(data.TaskItemExecutions);\r\n this.taskId = data.Id;\r\n this.executionId = executionObj && executionObj.Id;\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, '/UploadConversions/uploadFileTask/run', 'TaskId: ' + this.taskId + ', ExecutionId: ' + this.executionId);\r\n}\r\nvar Task = function (options) {\r\n this.options = options || ({});\r\n this.view = new TaskProgressView({\r\n model: {\r\n type: 'Upload',\r\n statusText: this.options.statusText,\r\n completeText: this.options.completeText\r\n },\r\n task: this\r\n });\r\n};\r\nTask.prototype.run = function (cb) {\r\n var uploadService = new UploadService({\r\n file: this.options.file,\r\n bulkFileType: 'OfflineConversionInputFile',\r\n onProgress: (function (e) {\r\n if (!config.get('IsNewUI')) {\r\n this.trigger('update', e.loaded, e.total);\r\n }\r\n }).bind(this)\r\n });\r\n uploadService.start().bind(this).then(function (data) {\r\n processBlobUrl.call(this, data);\r\n }).then(function () {\r\n createPreviewTask.call(this, this.fileIdentifier);\r\n return odata.post(this.postTaskUrl, this.postData).bind(this);\r\n }).then(function (data) {\r\n parseTaskId.call(this, data);\r\n this.trigger('done', {\r\n TaskId: this.taskId,\r\n ExecutionId: this.executionId,\r\n FileName: this.options.file.name\r\n });\r\n }).catch(function (err) {\r\n processErrorResponse.call(this, err);\r\n }).nodeify(cb);\r\n};\r\n_.extend(Task.prototype, backbone.Events);\r\nexport default Task;\r\n\r\n","/* eslint-disable */\r\nimport ko from 'knockout';\r\nexport default function (model) {\r\n this.hasDetails = model.hasDetails;\r\n this.showDetails = ko.observable(false);\r\n}\r\n\r\n","/* eslint-disable */\r\nimport backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport * as safeJson from '@bingads-webui/safe-json';\r\nimport * as i18nErrors from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport errorViewTemplate from '@bingads-webui-static-legacy/uet/template/uploadConversions/errorView.pug';\r\nimport ErrorViewVM from '@bingads-webui-static-legacy/uet/viewmodel/uploadConversions/errorView';\r\nimport instrumentation from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport setting from '@bingads-webui-static-legacy/instrumentation/campaignSchemaAndSetting';\r\nimport '@bingads-webui-static-legacy/instrumentation/instrumentation';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!uet');\r\nvar close = (function () {\r\n this.trigger('close');\r\n}).asLoggingStart(setting.ACTIVITYNAME.ClickOnCloseInErrorView);\r\nvar showDetails = function () {\r\n this.ko_model.showDetails(true);\r\n};\r\nvar view = backbone.View.extend({\r\n events: {\r\n 'click .btn-close': close,\r\n 'click .btn-details': showDetails\r\n },\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n this.errorMessage = this.getFriendlyError(this.options.log) || i18n.getString(this.options.errorMsgKey || 'UnifiedEventTracking_UploadConversions_GenericError');\r\n this.detailLogs = this.generateLogContent(this.options.log);\r\n this.ko_model = new ErrorViewVM({\r\n hasDetails: this.detailLogs && this.detailLogs.length > 0\r\n });\r\n this.errorMessage = this.ko_model.hasDetails ? this.errorMessage + ' ' : this.errorMessage;\r\n },\r\n render: function () {\r\n this.$el.html(errorViewTemplate({\r\n i18n: i18n,\r\n errorMsg: this.errorMessage,\r\n logArr: this.detailLogs\r\n }));\r\n ko.applyBindings(this.ko_model, this.el);\r\n instrumentation.endActivity();\r\n return this;\r\n },\r\n generateLogContent: function (log) {\r\n var ret = [];\r\n var line = '';\r\n _.each(_.keys(_.pick(log, 'Date', 'TaskId', 'ExecutionId', 'Url', 'ErrorCode')), function (key) {\r\n line = key + ': ' + log[key];\r\n ret.push(line);\r\n });\r\n return ret;\r\n },\r\n getFriendlyError: function (log) {\r\n var errObj;\r\n if (log && log.responseText) {\r\n var resObj = safeJson.parseSync(log.responseText);\r\n if (resObj && resObj.Errors && resObj.Errors.length > 0) {\r\n errObj = _.first(i18nErrors.getODataErrors(resObj.Errors));\r\n } else if (resObj && resObj.value && resObj.value.length > 0) {\r\n errObj = _.first(i18nErrors.getODataErrors(resObj.value));\r\n }\r\n if (errObj) {\r\n this.options.log = _.extend({}, this.options.log, {\r\n ErrorCode: errObj.code\r\n });\r\n return errObj.message === errObj.code ? null : errObj.message;\r\n }\r\n }\r\n return null;\r\n },\r\n recoverBinding: function () {\r\n ko.cleanNode(this.el);\r\n this.undelegateEvents();\r\n this.delegateEvents();\r\n ko.applyBindings(this.ko_model, this.el);\r\n instrumentation.endActivity();\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nfunction Collaborator(definitions) {\r\n this.definitions = definitions || ({});\r\n this.instances = {};\r\n}\r\nCollaborator.prototype.role = function (name, options) {\r\n if (typeof options === 'undefined' && this.instances[name]) {\r\n return this.instances[name];\r\n }\r\n var definition = this.definitions[name];\r\n if (!definition) {\r\n throw new Error('Role \"' + name + '\" is not defined.');\r\n }\r\n var factory = definition.factory;\r\n if (!factory) {\r\n throw new Error('Role \"' + name + '\" does not have a factory.');\r\n }\r\n this.instances[name] && factory.release && factory.release(this.instances[name]);\r\n this.instances[name] = null;\r\n var instance = factory.create(options);\r\n _.each(definition.events, function (handler, eventName) {\r\n factory.bindEvent(name, instance, eventName, handler);\r\n });\r\n definition.extend && _.extend(instance, definition.extend);\r\n this.instances[name] = instance;\r\n return instance;\r\n};\r\nCollaborator.prototype.clear = function (options) {\r\n var opt = _.defaults({}, options, {\r\n filter: function () {\r\n return true;\r\n }\r\n });\r\n _.each(this.instances, (function (instance, name) {\r\n if (instance && opt.filter(name, instance)) {\r\n this.definitions[name].factory.release(instance);\r\n this.instances[name] = null;\r\n }\r\n }).bind(this));\r\n};\r\nCollaborator.factory = function (Type, strategy, defaults) {\r\n return {\r\n create: function (options) {\r\n var opt = _.defaults({}, options, defaults, strategy.defaults);\r\n var instance = new Type(opt);\r\n strategy.extend && _.extend(instance, strategy.extend);\r\n strategy.initialize && strategy.initialize.call(instance);\r\n return instance;\r\n },\r\n release: function (instance) {\r\n strategy.destroy && strategy.destroy.call(instance);\r\n },\r\n bindEvent: strategy.bindEvent || (function (roleName, instance, eventName, handler) {\r\n instance.on(eventName, handler);\r\n })\r\n };\r\n};\r\nexport default Collaborator;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nfunction ModalManager(message) {\r\n this.handler = function () {\r\n return message;\r\n };\r\n this.active = false;\r\n}\r\nModalManager.prototype.on = function () {\r\n if (!this.active) {\r\n $(window).on('beforeunload', this.handler);\r\n this.active = true;\r\n }\r\n};\r\nModalManager.prototype.off = function () {\r\n if (this.active) {\r\n $(window).off('beforeunload', this.handler);\r\n this.active = false;\r\n }\r\n};\r\nexport default ModalManager;\r\n\r\n","/* eslint-disable */\r\nimport legacy$ from 'jquery';\r\nimport $ from 'jquery';\r\nimport ko from 'knockout';\r\nimport backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport UploadConversionsTemplate from '@bingads-webui-static-legacy/uet/template/uploadConversions/uploadConversions.pug';\r\nimport UploadConversionsViewModel from '@bingads-webui-static-legacy/uet/viewmodel/uploadConversions/index';\r\nimport FilePickerView from '@bingads-webui-static-legacy/uet/view/uploadConversions/filePicker';\r\nimport * as _HistoryGrid from '@bingads-webui-campaign-legacy/conversion-tracking/upload-conversions/history-grid';\r\nimport UploadFileTask from '@bingads-webui-static-legacy/uet/view/uploadConversions/uploadFileTask';\r\nimport PollerTask from '@bingads-webui-static-legacy/uet/view/uploadConversions/pollerTask';\r\nimport * as _ChangesView from '@bingads-webui-campaign-legacy/conversion-tracking/upload-conversions/changes-view';\r\nimport ErrorView from '@bingads-webui-static-legacy/uet/view/uploadConversions/errorView';\r\nimport Collaborator from '@bingads-webui-static-legacy/uet/view/uploadConversions/collaborator';\r\nimport ModalManager from '@bingads-webui-static-legacy/uet/view/uploadConversions/modalManager';\r\nimport TemplateFileUtil from '@bingads-webui-static-legacy/uet/view/uploadConversions/templateFileUtil';\r\nimport localStorage from '@bingads-webui-component-legacy/storage/localStorage';\r\nimport dateUtils from '@bingads-webui-component-legacy/humanize/date';\r\nimport instrumentation from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport constants from '@bingads-webui-static-legacy/instrumentation/constants';\r\nimport setting from '@bingads-webui-static-legacy/instrumentation/campaignSchemaAndSetting';\r\nimport '@bingads-webui-static-legacy/instrumentation/instrumentation';\r\nimport '@bingads-webui-component-legacy/bingads-grid/service/fetch-pagination';\r\nvar i18n = window.globalLegacyI18n.get('module/extension/requirejs/i18n!uet');\r\nvar HistoryGrid = _HistoryGrid.default;\r\nvar ChangesView = _ChangesView.default;\r\nvar modalManager = new ModalManager(i18n.getString('UnifiedEventTracking_UploadConversions_ModalMessage'));\r\nfunction displayRole(name, options, keepCurrent) {\r\n return function (args) {\r\n var $el = this.$('.operation-area');\r\n if (!keepCurrent) {\r\n $el.empty();\r\n this.currentRoles = {};\r\n }\r\n if (!this.currentRoles[name]) {\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, '/uploadConversions/index/displayRole', 'Passed-in name: ' + name + ', keepCurrent: ' + keepCurrent);\r\n var role = this.collab.role(name, _.isFunction(options) ? options(args) : options);\r\n var view = role.getView();\r\n !options && _.isFunction(view.recoverBinding) && view.recoverBinding();\r\n this.$('.operation-area').append(view.el);\r\n this.currentRoles[name] = role;\r\n if (role.modal) {\r\n modalManager.on();\r\n } else {\r\n modalManager.off();\r\n }\r\n }\r\n };\r\n}\r\nfunction displayHistoryGrid() {\r\n this.historyGrid = new HistoryGrid();\r\n this.historyGrid.on('error:system', this.options.onError);\r\n this.$('.upload-history').empty().html(this.historyGrid.render().el);\r\n}\r\nfunction refreshHistoryGrid() {\r\n if (this.historyGrid) {\r\n this.historyGrid.grid.refresh({\r\n force: true\r\n });\r\n } else {\r\n displayHistoryGrid.apply(this);\r\n }\r\n}\r\nfunction setStatus(status) {\r\n if (!pageContext || !pageContext.CurrentAccount) {\r\n return;\r\n }\r\n var aid = pageContext.CurrentAccount.Id;\r\n var cid = pageContext.CurrentAccount.AdvertiserCustomerID;\r\n localStorage.set('uet_upload_status', _.extend({}, _.pick(status, 'state', 'TaskId', 'ExecutionId', 'FileName'), {\r\n time: dateUtils.toString(new Date(), 'u'),\r\n cid: cid,\r\n aid: aid\r\n }));\r\n}\r\nfunction getStatus() {\r\n if (!pageContext || !pageContext.CurrentAccount) {\r\n return null;\r\n }\r\n var stat = localStorage.get('uet_upload_status');\r\n var aid = pageContext.CurrentAccount.Id;\r\n var cid = pageContext.CurrentAccount.AdvertiserCustomerID;\r\n if (!stat || !stat.aid || !stat.cid || stat.aid !== aid || stat.cid !== cid) {\r\n return null;\r\n }\r\n if (stat && stat.time && stat.state === 'processing') {\r\n var start = dateUtils.parse(stat.time, 'u');\r\n var now = new Date();\r\n if (now - start > 900000) {\r\n resetStatus();\r\n return null;\r\n }\r\n }\r\n return stat;\r\n}\r\nfunction resetStatus() {\r\n localStorage.invalidate('uet_upload_status');\r\n}\r\nfunction resume() {\r\n return Promise.resolve(getStatus());\r\n}\r\nfunction closeView() {\r\n this.sharedInfo = {};\r\n resetStatus();\r\n displayRole('filePickerView', this.filePickerOptions).call(this);\r\n}\r\nfunction composePreviewTableData(data, fileName) {\r\n var identifierOf = function (type) {\r\n return _.chain(data.OfflineConversionFiles).where({\r\n Type: type\r\n }).first().result('Identifier').value();\r\n };\r\n return {\r\n data: data,\r\n sessionId: data.SessionId,\r\n filename: fileName,\r\n errorsIdentifier: identifierOf('ErrorOnlyResultFile')\r\n };\r\n}\r\nfunction composeReviewTableData(data) {\r\n var identifierOf = function (type) {\r\n return _.chain(data.OfflineConversionFiles).where({\r\n Type: type\r\n }).first().result('Identifier').value();\r\n };\r\n return {\r\n data: data,\r\n resultsIdentifier: identifierOf('AllRecordsResultFile'),\r\n errorsIdentifier: identifierOf('ErrorOnlyResultFile')\r\n };\r\n}\r\nfunction composeErrorViewOptions(obj) {\r\n var ret;\r\n ret = obj || ({});\r\n ret.log = _.extend({}, _.pick(this.options, 'trackingId', 'sessionId', 'customerId'), {\r\n Date: new Date().toUTCString()\r\n }, this.sharedInfo, ret.log);\r\n if (ret.errorMsgKey === 'UnifiedEventTracking_UploadConversions_GenericError') {\r\n var msg = JSON.stringify(ret.log);\r\n this.options.logError(msg);\r\n if (!ret.isUserError) {\r\n instrumentation.logError('UploadConverions/index/composeErrorViewOptions', msg);\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction extractSharedInfo(key) {\r\n return function (obj) {\r\n var ret = {};\r\n this.sharedInfo = _.extend({}, this.sharedInfo, _.pick(obj, 'TaskId', 'ExecutionId', 'FileName'));\r\n ret[key] = obj[key];\r\n return ret;\r\n };\r\n}\r\nfunction wrapWithKey(key) {\r\n return function (obj) {\r\n var result = {};\r\n result[key] = obj;\r\n return result;\r\n };\r\n}\r\nvar view = backbone.View.extend({\r\n initialize: function (options) {\r\n this.options = _.defaults({}, options, {\r\n helpId: 'help:app72000',\r\n onError: (function () {\r\n this.ko_model.hasError(true);\r\n }).bind(this),\r\n logError: function () {}\r\n });\r\n this.filePickerOptions = {\r\n newFilePickerTip: this.options.newFilePickerTip,\r\n isNewUI: this.options.isNewUI,\r\n offlineConversionUploadButton: this.options.offlineConversionUploadButton\r\n };\r\n this.options.onError = _.wrap(this.options.onError, (function (func, err) {\r\n func();\r\n var log = _.extend({}, err, _.pick(this.options, 'trackingId', 'sessionId', 'customerId'), {\r\n Date: new Date().toUTCString()\r\n });\r\n var msg = JSON.stringify(log);\r\n instrumentation.logError('uploadConversions/index/onError', msg);\r\n this.options.logError(msg);\r\n }).bind(this));\r\n var self = this;\r\n this.currentRoles = {};\r\n var bindEvent = function (roleName, instance, eventName, handler) {\r\n instance.on(eventName, function () {\r\n if (self.currentRoles[roleName] === instance) {\r\n return handler.apply(instance, arguments);\r\n }\r\n });\r\n };\r\n var viewStrategy = {\r\n initialize: function () {\r\n this.render();\r\n },\r\n destroy: function () {\r\n this.remove();\r\n },\r\n bindEvent: bindEvent,\r\n extend: {\r\n getView: function () {\r\n return this;\r\n }\r\n }\r\n };\r\n var taskStrategy = {\r\n initialize: function () {\r\n this.view.render();\r\n this.run();\r\n },\r\n destroy: function () {\r\n this.view.remove();\r\n },\r\n bindEvent: bindEvent,\r\n extend: {\r\n getView: function () {\r\n return this.view;\r\n }\r\n }\r\n };\r\n this.collab = new Collaborator({\r\n 'filePickerView': {\r\n factory: Collaborator.factory(FilePickerView, viewStrategy, this.filePickerOptions),\r\n events: {\r\n 'fileSelected': displayRole('uploadFileTask', wrapWithKey('file')).bind(this)\r\n }\r\n },\r\n 'uploadFileTask': {\r\n factory: Collaborator.factory(UploadFileTask, taskStrategy, {\r\n statusText: this.options.isNewUI ? i18n.getString('BulkUpload_Processing_Message') : i18n.getString('UnifiedEventTracking_UploadConversions_UploadFile_Status'),\r\n completeText: this.options.isNewUI ? i18n.getString('BulkUpload_Processing_Message') : i18n.getString('UnifiedEventTracking_UploadConversions_UploadFile_CompleteStatus')\r\n }),\r\n events: {\r\n 'done': (function (args) {\r\n setStatus({\r\n state: 'processing',\r\n TaskId: args.TaskId,\r\n ExecutionId: args.ExecutionId,\r\n FileName: args.FileName\r\n });\r\n displayRole('processFileTask', extractSharedInfo('ExecutionId').bind(this)).call(this, args);\r\n }).bind(this),\r\n 'error': displayRole('errorView', composeErrorViewOptions.bind(this)).bind(this)\r\n },\r\n extend: {\r\n modal: true\r\n }\r\n },\r\n 'processFileTask': {\r\n factory: Collaborator.factory(PollerTask, taskStrategy, {\r\n statusText: this.options.isNewUI ? i18n.getString('BulkUpload_Processing_Message') : i18n.getString('UnifiedEventTracking_UploadConversions_ProcessFile_Status'),\r\n completeText: i18n.getString('UnifiedEventTracking_UploadConversions_ProcessFile_CompleteStatus')\r\n }),\r\n events: {\r\n 'done': (function (args) {\r\n var stat = getStatus();\r\n displayRole('changesPreviewView', composePreviewTableData(args, stat.FileName), true).call(this, args);\r\n }).bind(this),\r\n 'error': displayRole('errorView', composeErrorViewOptions.bind(this)).bind(this)\r\n }\r\n },\r\n 'changesPreviewView': {\r\n factory: Collaborator.factory(ChangesView, viewStrategy, {\r\n type: 'preview',\r\n isNewUI: this.options.isNewUI\r\n }),\r\n events: {\r\n 'discard': (function () {\r\n this.sharedInfo = {};\r\n resetStatus();\r\n displayRole('filePickerView').call(this);\r\n }).bind(this),\r\n 'error': (function (obj) {\r\n resetStatus();\r\n displayRole('errorView', composeErrorViewOptions.bind(this, obj)).call(this);\r\n }).bind(this),\r\n 'startApply': (function (args) {\r\n setStatus({\r\n state: 'applying',\r\n TaskId: args.TaskId,\r\n ExecutionId: args.ExecutionId,\r\n FileName: args.FileName\r\n });\r\n displayRole('applyChangesTask', extractSharedInfo('ExecutionId').bind(this)).call(this, args);\r\n }).bind(this)\r\n }\r\n },\r\n 'applyChangesTask': {\r\n factory: Collaborator.factory(PollerTask, taskStrategy, {\r\n statusText: i18n.getString('UnifiedEventTracking_UploadConversions_ApplyChanges_Status'),\r\n completeText: i18n.getString('UnifiedEventTracking_UploadConversions_ApplyChanges_CompleteStatus')\r\n }),\r\n events: {\r\n 'done': (function (data) {\r\n resetStatus();\r\n displayRole('changesReviewView', composeReviewTableData, true).call(this, data);\r\n refreshHistoryGrid.call(this);\r\n }).bind(this),\r\n 'error': displayRole('errorView', composeErrorViewOptions.bind(this)).bind(this)\r\n }\r\n },\r\n 'changesReviewView': {\r\n factory: Collaborator.factory(ChangesView, viewStrategy, {\r\n type: 'review',\r\n isNewUI: this.options.isNewUI\r\n }),\r\n events: {\r\n 'error': displayRole('errorView', composeErrorViewOptions.bind(this)).bind(this),\r\n 'close': (function () {\r\n closeView.call(this);\r\n var emptyFunc = function () {};\r\n emptyFunc.asLoggingStart(setting.ACTIVITYNAME.ReturnToFilePicker, setting.SCENARIONAME.UploadBulkSheet)();\r\n }).bind(this)\r\n }\r\n },\r\n 'errorView': {\r\n factory: Collaborator.factory(ErrorView, viewStrategy),\r\n events: {\r\n 'close': closeView.bind(this)\r\n }\r\n }\r\n });\r\n this.historyGrid = null;\r\n this.ko_model = new UploadConversionsViewModel({\r\n hideTutorial: localStorage.get('uet_upload_tut_hide') || false\r\n });\r\n this.p$status = resume.call(this);\r\n this.sharedInfo = {};\r\n },\r\n events: {\r\n 'click .goal-page-link': 'goToGoalsPage'\r\n },\r\n render: (function () {\r\n if (this.options.perfMarker) {\r\n this.options.perfMarker.willRender();\r\n }\r\n this.$el.html(UploadConversionsTemplate({\r\n i18n: i18n,\r\n _: _,\r\n goalLink: '' + i18n.getString('UnifiedEventTracking_Goal_Page') + '',\r\n helpId: this.options.helpId,\r\n isNewUI: this.options.isNewUI\r\n }));\r\n if (!this.options.isNewUI) {\r\n this.$('a#tutFileXls').attr('href', TemplateFileUtil.excelFileUrl);\r\n this.$('a#tutFileCsv').attr('href', TemplateFileUtil.csvFileUrl);\r\n } else if (this.options.tutorialView) {\r\n this.$('.tutorial-section-for-uinext').empty().append(this.options.tutorialView.render().$el);\r\n }\r\n ko.applyBindings(this.ko_model, this.el);\r\n displayHistoryGrid.call(this);\r\n this.p$status.then((function (status) {\r\n if (status && status.state === 'processing') {\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, '/uploadConversions/index/render', 'Cached status: processing, TaskId: ' + status.TaskId + ' , ExecutionId: ' + status.ExecutionId);\r\n displayRole('processFileTask', extractSharedInfo('ExecutionId').bind(this)).call(this, {\r\n TaskId: status.TaskId,\r\n ExecutionId: status.ExecutionId,\r\n FileName: status.FileName\r\n });\r\n } else if (status && status.state === 'applying') {\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, '/uploadConversions/index/render', 'Cached status: applying, TaskId: ' + status.TaskId + ' , ExecutionId: ' + status.ExecutionId);\r\n displayRole('applyChangesTask', extractSharedInfo('ExecutionId').bind(this)).call(this, {\r\n TaskId: status.TaskId,\r\n ExecutionId: status.ExecutionId,\r\n FileName: status.FileName\r\n });\r\n } else {\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, '/uploadConversions/index/render', 'No cached status');\r\n displayRole('filePickerView', this.filePickerOptions).call(this);\r\n }\r\n }).bind(this)).catch(this.options.onError);\r\n if (this.options.perfMarker) {\r\n this.options.perfMarker.done();\r\n }\r\n return this;\r\n }).asLoggingStart(setting.ACTIVITYNAME.RenderBulkUpload, setting.SCENARIONAME.UploadConverions),\r\n goToGoalsPage: (function () {\r\n window.App.navigate('customer/:customer_id/account/:account_id/uet/goals');\r\n }).asLoggingStart(setting.ACTIVITYNAME.ClickOnPageLink, setting.SCENARIONAME.GoToUetGoalsPageViaHelpLinkInEntryPage),\r\n reactivate: (function () {\r\n displayHistoryGrid.call(this);\r\n this.recoverBinding();\r\n _.each(this.currentRoles, function (role, name) {\r\n instrumentation.logMessage([constants.LOGCATEGORY.TRACE], constants.LOGLEVEL.INFO, '/UploadConversions/index/reactivate', 'Recover binding for role ' + name);\r\n role.getView().recoverBinding();\r\n });\r\n }).asLoggingStart(setting.ACTIVITYNAME.ReactivateBulkUpload, setting.SCENARIONAME.uploadConversions),\r\n recoverBinding: function () {\r\n ko.cleanNode(this.el);\r\n this.undelegateEvents();\r\n this.delegateEvents();\r\n ko.applyBindings(this.ko_model, this.el);\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nexport default {\r\n keyword: {\r\n dropdown: {\r\n tour: [{\r\n id: 147930\r\n }, {\r\n id: 142297\r\n }]\r\n },\r\n link: {\r\n addKeyword: {\r\n id: 147930\r\n },\r\n changeBid: {\r\n id: 142297\r\n }\r\n }\r\n },\r\n settings: {\r\n dropdown: {\r\n tour: [{\r\n id: 141547\r\n }]\r\n },\r\n link: {\r\n id: 141547\r\n }\r\n },\r\n audience: {\r\n dropdown: {\r\n tour: [{\r\n id: 144778\r\n }, {\r\n id: 125409\r\n }]\r\n },\r\n link: [{\r\n id: 144778\r\n }, {\r\n id: 125409\r\n }, {\r\n id: 144779\r\n }, {\r\n id: 144780\r\n }, {\r\n id: 144781\r\n }]\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 (i18n) {pug_mixins[\"previewGrid\"] = pug_interp = function(columns){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showPreview\\\"\\u003E\\u003Cdiv data-bind=\\\"html: changeText\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"previewTable grid\\\" data-bind=\\\"if: results().length > 0, visible: results().length > 0\\\"\\u003E\\u003Ctable\\u003E\\u003Cthead\\u003E\\u003C!--ko if: $root.previewGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\" data-bind=\\\"foreach: previewGrids\\\"\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\" data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C!--ko ifnot: $root.previewGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\"\\u003E\";\n// iterate columns\n;(function(){\n var $$obj = columns;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var column = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var column = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody data-bind=\\\"foreach: results\\\"\\u003E\\u003Ctr class=\\\"grid-row\\\" data-bind=\\\"foreach: $data.data\\\"\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003C!-- ko if: $data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"html: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko if: !$data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"text: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"errorsGrid\"] = pug_interp = function(columns, errorColumnIsHtml){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showErrors() && !isCampaignAdGroupCopyPasteOperation()\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorCountString\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ca class=\\\"errorCountLink\\\" data-bind=\\\"html: errorCountLinkText\\\" href=\\\"javascript:void(0)\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003Cbr\\u003E\\u003Cdiv class=\\\"previewTable grid\\\" data-bind=\\\"visible: showErrorGrid\\\"\\u003E\\u003Ctable\\u003E\\u003Cthead\\u003E\\u003C!--ko if: $root.errorsGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\" data-bind=\\\"foreach: errorsGrids\\\"\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\" data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C!--ko if: $index() === $parent.errorsGrids().length - 1--\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_InlineError_ErrorHeader')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C!--ko ifnot: $root.errorsGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\"\\u003E\";\n// iterate columns\n;(function(){\n var $$obj = columns;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var column = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var column = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_InlineError_ErrorHeader')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody data-bind=\\\"foreach: inlineErrors\\\"\\u003E\\u003Ctr class=\\\"grid-row\\\"\\u003E\\u003C!-- ko foreach: $data.data--\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003C!-- ko if: $data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"html: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko if: !$data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"text: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftd\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" role=\\\"alert\\\"\\u003E\\u003C!-- ko foreach: $data.combinedErrors --\\u003E\";\nif (errorColumnIsHtml) {\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"html: $data\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003Cbr\\u003E\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showErrors() && isCampaignAdGroupCopyPasteOperation()\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: completedWithErrorsBulkEditResultsString\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"changeCashbackPercentBase\"] = pug_interp = function(i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Ch2 class=\\\"panel-heading\\\" role=\\\"heading\\\" aria-level=\\\"2\\\"\\u003E\\u003Cdiv class=\\\"panel-title\\\" data-bind=\\\"html: titleText\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fh2\\u003E\\u003Cdiv class=\\\"panel-body form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"pull-left control-label\\\" id=\\\"actionLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Action')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\\u003Cselect class=\\\"form-control\\\" data-bind=\\\"options: actions, optionsText: "Text", optionsValue: "Value", value: selectedAction, disable: isDisabled\\\" aria-labelledby=\\\"actionLabel\\\"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-6 form-inline\\\" data-bind=\\\"visible: showSetPanel\\\"\\u003E\\u003Cinput class=\\\"bulkEdit-bid form-control\\\" type=\\\"text\\\" data-bind=\\\"value: cashbackPercentValue, valueUpdate: "input", disable: isDisabled\\\" aria-describedby=\\\"percentLabel\\\"\\u003E\\u003Cspan class=\\\"control-label\\\" id=\\\"currencyLabel1\\\" data-bind=\\\"html: selectedUnit\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorMessage\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- ko if: cashbackPercentDescription() != null--\\u003E\\u003Cdiv class=\\\"alert alert-info\\\" role=\\\"alert\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert__content\\\"\\u003E\\u003Cspan class=\\\"alert__message\\\" data-bind=\\\"html: cashbackPercentDescription\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel\\\"\\u003E\";\npug_mixins[\"changeCashbackPercentBase\"](i18n);\npug_html = pug_html + (null == (pug_interp = require(\"../status.pug\").call(this, locals)) ? \"\" : pug_interp);\nvar header1 = i18n.getString('BulkEdit_Campaign_EntityNameHeader')\nvar header2 = i18n.getString('BulkEdit_AdGroup_EntityNameHeader')\nvar header3 = i18n.getString('BulkEdit_EntityNameHeader')\nvar header4 = i18n.getString('BulkEdit_OldCashbackPercentHeader')\nvar header5 = i18n.getString('BulkEdit_NewCashbackPercentHeader')\npug_mixins[\"previewGrid\"]([header1, header2, header3, header4, header5]);\nvar header5 = i18n.getString('BulkEdit_EntityNameHeader')\nvar header6 = i18n.getString('BulkEdit_OldCashbackPercentHeader')\nvar header7 = i18n.getString('BulkEdit_AttemptedCashbackPercentHeader')\npug_mixins[\"errorsGrid\"]([header5, header6, header7]);\npug_html = pug_html + (null == (pug_interp = require(\"../footer.pug\").call(this, locals)) ? \"\" : 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, viewModel) {pug_mixins[\"previewGrid\"] = pug_interp = function(columns){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showPreview\\\"\\u003E\\u003Cdiv data-bind=\\\"html: changeText\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"previewTable grid\\\" data-bind=\\\"if: results().length > 0, visible: results().length > 0\\\"\\u003E\\u003Ctable\\u003E\\u003Cthead\\u003E\\u003C!--ko if: $root.previewGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\" data-bind=\\\"foreach: previewGrids\\\"\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\" data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C!--ko ifnot: $root.previewGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\"\\u003E\";\n// iterate columns\n;(function(){\n var $$obj = columns;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var column = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var column = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody data-bind=\\\"foreach: results\\\"\\u003E\\u003Ctr class=\\\"grid-row\\\" data-bind=\\\"foreach: $data.data\\\"\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003C!-- ko if: $data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"html: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko if: !$data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"text: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"errorsGrid\"] = pug_interp = function(columns, errorColumnIsHtml){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showErrors() && !isCampaignAdGroupCopyPasteOperation()\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorCountString\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ca class=\\\"errorCountLink\\\" data-bind=\\\"html: errorCountLinkText\\\" href=\\\"javascript:void(0)\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003Cbr\\u003E\\u003Cdiv class=\\\"previewTable grid\\\" data-bind=\\\"visible: showErrorGrid\\\"\\u003E\\u003Ctable\\u003E\\u003Cthead\\u003E\\u003C!--ko if: $root.errorsGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\" data-bind=\\\"foreach: errorsGrids\\\"\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\" data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C!--ko if: $index() === $parent.errorsGrids().length - 1--\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_InlineError_ErrorHeader')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C!--ko ifnot: $root.errorsGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\"\\u003E\";\n// iterate columns\n;(function(){\n var $$obj = columns;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var column = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var column = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_InlineError_ErrorHeader')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody data-bind=\\\"foreach: inlineErrors\\\"\\u003E\\u003Ctr class=\\\"grid-row\\\"\\u003E\\u003C!-- ko foreach: $data.data--\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003C!-- ko if: $data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"html: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko if: !$data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"text: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftd\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" role=\\\"alert\\\"\\u003E\\u003C!-- ko foreach: $data.combinedErrors --\\u003E\";\nif (errorColumnIsHtml) {\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"html: $data\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003Cbr\\u003E\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showErrors() && isCampaignAdGroupCopyPasteOperation()\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: completedWithErrorsBulkEditResultsString\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_html = pug_html + (\"\\u003Cdiv class=\\\"panel\\\"\\u003E\\u003Cdiv class=\\\"panel-heading\\\" role=\\\"heading\\\" aria-level=\\\"2\\\"\\u003E\\u003Cdiv class=\\\"panel-title\\\" data-bind=\\\"html: titleText\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-body form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cspan class=\\\"type-normal\\\"\\u003E\" + (pug.escape(null == (pug_interp = viewModel.bulkEditInfo()) ? \"\" : pug_interp)) + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp)) + \"\\u003Ca class=\\\"HelpTopic\\\" query=\\\"help:app54613\\\" href=\\\"javascript:void(0);\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Learn_more_link_text')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv id=\\\"bid-adjustment-bulk-edit\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group alert alert-warning\\\" data-bind=\\\"visible: showAdgroupSelectedAllMixInheritWarning\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cspan class=\\\"type-normal\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_BidAdjustment_SelectedAll_MixInheritWarning')) ? \"\" : pug_interp)) + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp)) + \"\\u003Ca class=\\\"HelpTopic\\\" query=\\\"help:app54604\\\" href=\\\"javascript:void(0);\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Learn_more_link_text')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\" + (null == (pug_interp = require(\"../status.pug\").call(this, locals)) ? \"\" : pug_interp));\nvar header1 = viewModel.entityNameHeader()\nvar header2 = i18n.getString('BulkEdit_BidAdjustment_OldBidHeader')\nvar header3 = i18n.getString('BulkEdit_BidAdjustment_NewBidHeader')\npug_mixins[\"previewGrid\"]([header1, header2, header3]);\nvar header5 = viewModel.entityNameHeader()\nvar header6 = i18n.getString('BulkEdit_BidAdjustment_OldBidHeader')\nvar header7 = i18n.getString('BulkEdit_BidAdjustment_AttemptedBidHeader')\npug_mixins[\"errorsGrid\"]([header5, header6, header7]);\npug_html = pug_html + (null == (pug_interp = require(\"../footer.pug\").call(this, locals)) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"viewModel\" in locals_for_with?locals_for_with.viewModel:typeof viewModel!==\"undefined\"?viewModel: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, viewModel) {pug_mixins[\"previewGrid\"] = pug_interp = function(columns){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showPreview\\\"\\u003E\\u003Cdiv data-bind=\\\"html: changeText\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"previewTable grid\\\" data-bind=\\\"if: results().length > 0, visible: results().length > 0\\\"\\u003E\\u003Ctable\\u003E\\u003Cthead\\u003E\\u003C!--ko if: $root.previewGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\" data-bind=\\\"foreach: previewGrids\\\"\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\" data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C!--ko ifnot: $root.previewGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\"\\u003E\";\n// iterate columns\n;(function(){\n var $$obj = columns;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var column = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var column = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody data-bind=\\\"foreach: results\\\"\\u003E\\u003Ctr class=\\\"grid-row\\\" data-bind=\\\"foreach: $data.data\\\"\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003C!-- ko if: $data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"html: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko if: !$data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"text: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"errorsGrid\"] = pug_interp = function(columns, errorColumnIsHtml){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showErrors() && !isCampaignAdGroupCopyPasteOperation()\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorCountString\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ca class=\\\"errorCountLink\\\" data-bind=\\\"html: errorCountLinkText\\\" href=\\\"javascript:void(0)\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003Cbr\\u003E\\u003Cdiv class=\\\"previewTable grid\\\" data-bind=\\\"visible: showErrorGrid\\\"\\u003E\\u003Ctable\\u003E\\u003Cthead\\u003E\\u003C!--ko if: $root.errorsGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\" data-bind=\\\"foreach: errorsGrids\\\"\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\" data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C!--ko if: $index() === $parent.errorsGrids().length - 1--\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_InlineError_ErrorHeader')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C!--ko ifnot: $root.errorsGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\"\\u003E\";\n// iterate columns\n;(function(){\n var $$obj = columns;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var column = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var column = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_InlineError_ErrorHeader')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody data-bind=\\\"foreach: inlineErrors\\\"\\u003E\\u003Ctr class=\\\"grid-row\\\"\\u003E\\u003C!-- ko foreach: $data.data--\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003C!-- ko if: $data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"html: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko if: !$data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"text: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftd\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" role=\\\"alert\\\"\\u003E\\u003C!-- ko foreach: $data.combinedErrors --\\u003E\";\nif (errorColumnIsHtml) {\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"html: $data\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003Cbr\\u003E\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showErrors() && isCampaignAdGroupCopyPasteOperation()\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: completedWithErrorsBulkEditResultsString\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this); event.stopPropagation();\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel\\\"\\u003E\\u003Cdiv class=\\\"panel-heading\\\" role=\\\"heading\\\" aria-level=\\\"2\\\"\\u003E\\u003Cdiv class=\\\"panel-title\\\" data-bind=\\\"html: titleText\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-body form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"form-group form-inline\\\"\\u003E\\u003C!-- ko if: showExtaWarningMessage--\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"warn warn-info form-group col-sm-10\\\"\\u003E\\u003Cdiv class=\\\"warn-image iconba-Warning iconba\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"warn-info-inline\\\"\\u003E\" + (pug.escape(null == (pug_interp = (i18n.getString('BulkEdit_NotApplyForEXTA'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Clabel class=\\\"col-sm-2 control-label\\\" id=\\\"actionLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Action')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cselect class=\\\"form-control\\\" id=\\\"changeAdOptions\\\" data-bind=\\\"options: actions, optionsText: "Text", optionsValue: "Value", value: selectedAction, disable: isDisabled\\\" aria-labelledby=\\\"actionLabel\\\"\\u003E\\u003C\\u002Fselect\\u003E\\u003Cspan class=\\\"form-text\\\" id=\\\"inLabel\\\" data-bind=\\\"ifnot: showSetTextPanel()\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Ad_In')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cselect class=\\\"form-control\\\" data-bind=\\\"visible: !showSetTextPanel(), options: fields, optionsText: "Text", optionsValue: "Value", value: selectedField\\\" aria-labelledby=\\\"inLabel\\\"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!--ko if: showFindReplacePanel--\\u003E\\u003Cdiv class=\\\"find-replace-section\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-2 control-label\\\" id=\\\"findLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Keyword_FindUrl')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-5\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" data-bind=\\\"value: findText, valueUpdate: "input", disable: isDisabled, attr: { maxLength: maxLength }\\\" aria-labelledby=\\\"findLabel\\\"\\u003E\\u003Cdiv data-bind=\\\"attr: { role: errorRole }\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorMessage\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"checkbox\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"checkbox\\\" value=\\\"MatchCase\\\" data-bind=\\\"checked: findReplaceOptions, disable: isDisabled\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Keyword_MatchCase')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-2 control-label\\\" id=\\\"replaceLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Keyword_ReplaceUrl')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-5\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" data-bind=\\\"value: replaceText, disable: isDisabled, attr: { maxLength: maxLength }\\\" aria-labelledby=\\\"replaceLabel\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--ko if:showAppendTextPanel--\\u003E\\u003Cdiv class=\\\"append-section\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-2 control-label\\\" id=\\\"appendLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Keyword_AppendUrl')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-5\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" data-bind=\\\"value: appendText, valueUpdate: "input", disable: isDisabled, attr: { maxLength: maxLength }\\\" aria-labelledby=\\\"appendLabel\\\"\\u003E\\u003Cdiv data-bind=\\\"attr: { role: errorRole }\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorMessage\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"appendOption\\\" value=\\\"Append\\\" data-bind=\\\"checked: changeTextOption, disable: isDisabled\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Ad_AppendText')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"appendOption\\\" value=\\\"Prepend\\\" data-bind=\\\"checked: changeTextOption, disable: isDisabled\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Ad_PrependText')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--ko if: showSetTextPanel--\\u003E\";\nvar placeHolderText = i18n.getString('Input_NoChange_PlaceHolder')\npug_html = pug_html + (\"\\u003C!--set tracking template--\\u003E\\u003Cdiv class=\\\"form-group form-inline\\\"\\u003E\\u003Clabel class=\\\"col-sm-2 control-label\\\" id=\\\"trackingLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TrackingTemplate_Label')) ? \"\" : pug_interp)));\npug_mixins[\"popupHelp\"]('pop_BA_NewCampaignCreate_Ad_TrackTemplate', i18n.getString('TrackingTemplate_Label'), i18n);\npug_html = pug_html + (\"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" name=\\\"tracking-template-actions\\\" data-bind=\\\"options: trackingTemplateActions, optionsText: "Text", optionsValue: "Value", value: trackingTemplateSelectedAction, disable: isDisabled\\\"\"+pug.attr(\"aria-label\", (i18n.getString('Select an action for {{item}}') || '').replace('{{item}}', i18n.getString('TrackingTemplate_Label')), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!--ko if: showTrackingTemplateInput--\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-offset-2 col-sm-5\\\"\\u003E\\u003Cinput\" + (\" class=\\\"form-control\\\"\"+\" name=\\\"tracking-template-field\\\" type=\\\"text\\\"\"+pug.attr(\"placeholder\", placeHolderText, true, true)+pug.attr(\"aria-label\", i18n.getString('TrackingTemplate_Label'), true, true)+\" data-bind=\\\"value: trackingTemplate, valueUpdate: "input", disable: isDisabled\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--ko if: showFinalUrlSuffixInput--\\u003E\\u003C!--set final url suffix--\\u003E\\u003Cdiv class=\\\"form-group form-inline\\\"\\u003E\\u003Clabel class=\\\"col-sm-2 control-label\\\" id=\\\"finalUrlSuffixLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('FinalUrlSuffix_Label')) ? \"\" : pug_interp)));\npug_mixins[\"popupHelp\"]('pop_BA_NewAdCreate_FinalURLSuffix', i18n.getString('FinalUrlSuffix_Label'), i18n);\npug_html = pug_html + (\"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\\u003Cinput\" + (\" class=\\\"form-control\\\"\"+\" name=\\\"final-url-suffix-field\\\" type=\\\"text\\\"\"+pug.attr(\"placeholder\", placeHolderText, true, true)+pug.attr(\"aria-label\", i18n.getString('FinalUrlSuffix_Label'), true, true)+\" data-bind=\\\"value: finalUrlSuffix, valueUpdate: "input", disable: isDisabled\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--set custom parameters--\\u003E\\u003Cdiv class=\\\"form-group\\\" data-bind=\\\"visible: showSetTextPanel\\\"\\u003E\\u003Clabel class=\\\"col-sm-2 control-label\\\" id=\\\"customLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('CustomParameters_Label')) ? \"\" : pug_interp)));\npug_mixins[\"popupHelp\"]('pop_BA_NewCampaignCreate_Ad_Parameters', i18n.getString('CustomParameters_Label'), i18n);\npug_html = pug_html + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-5\\\"\\u003E\\u003Cselect\" + (\" class=\\\"form-control custom-param__select\\\"\"+\" name=\\\"custom-parameters-actions\\\" data-bind=\\\"options: customParametersActions, optionsText: "Text", optionsValue: "Value", value: customParametersSelectedAction, disable: isDisabled\\\"\"+pug.attr(\"aria-label\", (i18n.getString('Select an action for {{item}}') || '').replace('{{item}}', i18n.getString('CustomParameters_Label')), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003Cdiv data-bind=\\\"visible: showCustomParamsInput\\\"\\u003E\\u003Cdiv class=\\\"custom-parameters-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"attr: { role: errorRole }\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorMessage\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\" + (null == (pug_interp = require(\"../status.pug\").call(this, locals)) ? \"\" : pug_interp) + \"\\u003C!--ko if: showPreview--\\u003E\";\npug_mixins[\"previewGrid\"](viewModel.previewGrids());\npug_mixins[\"errorsGrid\"](viewModel.errorsGrids(), true);\npug_html = pug_html + \"\\u003C!--\\u002Fko--\\u003E\" + (null == (pug_interp = require(\"../footer.pug\").call(this, locals)) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"viewModel\" in locals_for_with?locals_for_with.viewModel:typeof viewModel!==\"undefined\"?viewModel: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_mixins[\"previewGrid\"] = pug_interp = function(columns){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showPreview\\\"\\u003E\\u003Cdiv data-bind=\\\"html: changeText\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"previewTable grid\\\" data-bind=\\\"if: results().length > 0, visible: results().length > 0\\\"\\u003E\\u003Ctable\\u003E\\u003Cthead\\u003E\\u003C!--ko if: $root.previewGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\" data-bind=\\\"foreach: previewGrids\\\"\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\" data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C!--ko ifnot: $root.previewGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\"\\u003E\";\n// iterate columns\n;(function(){\n var $$obj = columns;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var column = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var column = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody data-bind=\\\"foreach: results\\\"\\u003E\\u003Ctr class=\\\"grid-row\\\" data-bind=\\\"foreach: $data.data\\\"\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003C!-- ko if: $data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"html: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko if: !$data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"text: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"errorsGrid\"] = pug_interp = function(columns, errorColumnIsHtml){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showErrors() && !isCampaignAdGroupCopyPasteOperation()\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorCountString\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ca class=\\\"errorCountLink\\\" data-bind=\\\"html: errorCountLinkText\\\" href=\\\"javascript:void(0)\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003Cbr\\u003E\\u003Cdiv class=\\\"previewTable grid\\\" data-bind=\\\"visible: showErrorGrid\\\"\\u003E\\u003Ctable\\u003E\\u003Cthead\\u003E\\u003C!--ko if: $root.errorsGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\" data-bind=\\\"foreach: errorsGrids\\\"\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\" data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C!--ko if: $index() === $parent.errorsGrids().length - 1--\\u003E\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_InlineError_ErrorHeader')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C!--ko ifnot: $root.errorsGrids--\\u003E\\u003Ctr class=\\\"grid-header-row\\\"\\u003E\";\n// iterate columns\n;(function(){\n var $$obj = columns;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var column = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var column = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = column) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003Cth class=\\\"grid-header-cell grid-disabledsort\\\"\\u003E\\u003Cdiv class=\\\"grid-header-textcontainer\\\"\\u003E\\u003Ca class=\\\"grid-header-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_InlineError_ErrorHeader')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C!--\\u002Fko--\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody data-bind=\\\"foreach: inlineErrors\\\"\\u003E\\u003Ctr class=\\\"grid-row\\\"\\u003E\\u003C!-- ko foreach: $data.data--\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003C!-- ko if: $data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"html: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko if: !$data.isHtml--\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" data-bind=\\\"text: $data.value\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftd\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Ctd class=\\\"grid-cell\\\"\\u003E\\u003Cdiv class=\\\"grid-content-container\\\" role=\\\"alert\\\"\\u003E\\u003C!-- ko foreach: $data.combinedErrors --\\u003E\";\nif (errorColumnIsHtml) {\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"html: $data\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"text: $data\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003Cbr\\u003E\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-footer\\\" data-bind=\\\"visible: showErrors() && isCampaignAdGroupCopyPasteOperation()\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: completedWithErrorsBulkEditResultsString\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"changeCashbackPercentBase\"] = pug_interp = function(i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Ch2 class=\\\"panel-heading\\\" role=\\\"heading\\\" aria-level=\\\"2\\\"\\u003E\\u003Cdiv class=\\\"panel-title\\\" data-bind=\\\"html: titleText\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fh2\\u003E\\u003Cdiv class=\\\"panel-body form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"pull-left control-label\\\" id=\\\"actionLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BulkEdit_Action')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\\u003Cselect class=\\\"form-control\\\" data-bind=\\\"options: actions, optionsText: "Text", optionsValue: "Value", value: selectedAction, disable: isDisabled\\\" aria-labelledby=\\\"actionLabel\\\"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-6 form-inline\\\" data-bind=\\\"visible: showSetPanel\\\"\\u003E\\u003Cinput class=\\\"bulkEdit-bid form-control\\\" type=\\\"text\\\" data-bind=\\\"value: cashbackPercentValue, valueUpdate: "input", disable: isDisabled\\\" aria-describedby=\\\"percentLabel\\\"\\u003E\\u003Cspan class=\\\"control-label\\\" id=\\\"currencyLabel1\\\" data-bind=\\\"html: selectedUnit\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: errorMessage\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- ko if: cashbackPercentDescription() != null--\\u003E\\u003Cdiv class=\\\"alert alert-info\\\" role=\\\"alert\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert__content\\\"\\u003E\\u003Cspan class=\\\"alert__message\\\" data-bind=\\\"html: cashbackPercentDescription\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel\\\"\\u003E\";\npug_mixins[\"changeCashbackPercentBase\"](i18n);\npug_html = pug_html + (null == (pug_interp = require(\"../status.pug\").call(this, locals)) ? \"\" : pug_interp);\nvar header1 = i18n.getString('BulkEdit_EntityNameHeader')\nvar header2 = i18n.getString('BulkEdit_OldCashbackPercentHeader')\nvar header3 = i18n.getString('BulkEdit_OldCashbackPercentHeader')\npug_mixins[\"previewGrid\"]([header1, header2, header3]);\nvar header4 = i18n.getString('BulkEdit_EntityNameHeader')\nvar header5 = i18n.getString('BulkEdit_OldCashbackPercentHeader')\nvar header6 = i18n.getString('BulkEdit_AttemptedCashbackPercentHeader')\npug_mixins[\"errorsGrid\"]([header4, header5, header6]);\npug_html = pug_html + (null == (pug_interp = require(\"../footer.pug\").call(this, locals)) ? \"\" : 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;pug_html = pug_html + \"\\u003Cdiv class=\\\"section-item\\\" data-bind=\\\"visible: bindingOptions.visible\\\"\\u003E\\u003Cdiv class=\\\"layout-marked-element\\\"\\u003E \\u003Cdiv class=\\\"decorated-element\\\"\\u003E\\u003Cdiv class=\\\"item-label section-item-label h3\\\" data-bind=\\\"text: bindingOptions.label\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"section-item-editor\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\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 (i18n) {pug_html = pug_html + \"\\u003Cdiv class=\\\"doubleListBox layout-columns\\\"\\u003E\\u003Cdiv class=\\\"layout-columns-container row\\\"\\u003E\\u003Cdiv class=\\\"layout-columns-element col-sm-12\\\" data-bind=\\\"visible: features.filtering || showMaximumSelectionAlert\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\" data-bind=\\\"visible: features.filtering\\\"\\u003E\\u003Cdiv class=\\\"dlb-filter-alignPlaceholder col-sm-3\\\"\\u003E\\u003Cdiv data-bind=\\\"searchbox: filterText, defaultText:strings.filterWatermark, filterAriaLabel: strings.filterAriaLabel, visible: features.filtering\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"visible: showMaximumSelectionAlert\\\"\\u003E\\u003Cdiv class=\\\"alert alert-info\\\"\\u003E\\u003Cspan data-bind=\\\"text: strings.maximumSelectionAlertString\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"layout-columns-element col-sm-6\\\"\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cdiv class=\\\"panel-form noPadding\\\"\\u003E\\u003Cdiv class=\\\"panel-heading\\\"\\u003E\\u003Ch4 class=\\\"panel-title\\\"\\u003E\\u003Cspan data-bind=\\\"text : strings.sourceItems\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan\\u003E:  \\u003C\\u002Fspan\\u003E\\u003Cspan data-bind=\\\"text: sourceItemsCount\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-body noPadding\\\"\\u003E\\u003Cdiv class=\\\"dlb-selectAll clickable\\\" data-bind=\\\"visible: features.selectAll, click: selectAll\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('DoubleListBox_SelectAll')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Ca class=\\\"enabled arrow-button\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlb-emptyMessage\\\" data-bind=\\\"visible: showEmptyMessage()\\\"\\u003E\\u003Cspan data-bind=\\\"text: strings.emptyMessage\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlb-source\\\" data-bind=\\\"attr: {'aria-label' : strings.sourceItems}\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlb-pager-container\\\" data-bind=\\\"visible: features.paging\\\"\\u003E\\u003Cdiv class=\\\"pager-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"layout-columns-element col-sm-6\\\"\\u003E\\u003Cdiv class=\\\"row form-group non-empty\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cdiv class=\\\"panel-form noPadding\\\"\\u003E\\u003Cdiv class=\\\"panel-heading\\\"\\u003E\\u003Ch4 class=\\\"panel-title\\\"\\u003E\\u003Cspan class=\\\"selectedItemsHeader\\\" data-bind=\\\"text: strings.selectedItems\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"headerDelimiter\\\"\\u003E:  \\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"selectedItemsCount\\\" data-bind=\\\"text: selectedItemsCount\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"headerDelimiter\\\"\\u003E \\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"selectedItemsHeader\\\" data-bind=\\\"text: strings.maxSelectedItems\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-body noPadding\\\"\\u003E\\u003Cdiv class=\\\"dlb-deselectAll clickable\\\" data-bind=\\\"visible: features.deselectAll, click: deselectAll\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\\u003E\\u003Ca class=\\\"remove arrow-button\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('DoubleListBox_DeselectAll')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlb-selected\\\" data-bind=\\\"attr: {'aria-label' : strings.selectedItems}\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlb-pager-container\\\" data-bind=\\\"visible: features.paging\\\"\\u003E\\u003Cdiv class=\\\"pager-selected-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\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) {pug_html = pug_html + \"\\u003Cdiv class=\\\"dlbItem\\\" data-id=\\\"#:_uniqueId#\\\" id=\\\"default-dlb-selected-#:_uniqueId#\\\" role=\\\"option\\\" aria-selected=\\\"true\\\"\\u003E\\u003Ca\" + (\" class=\\\"arrow-button remove a11y-k-listview-button selectedAction-deselect\\\"\"+\" href=\\\"javascript:void(0);\\\" tabindex=\\\"-1\\\" role=\\\"button\\\"\"+pug.attr(\"title\", i18n.getString('DoubleListBox_Deselect'), true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\\u003Cdiv class=\\\"dlbItem-actions\\\" aria-hidden=\\\"true\\\"\\u003E# for (var i = 0; i \\u003C customActions.length; i++) { #\\u003Ca class=\\\"dlbItem-customAction a11y-k-listview-button selectedAction-#:customActions[i].name #\\\" href=\\\"javascript:void(0);\\\" tabindex=\\\"-1\\\" role=\\\"button\\\"\\u003E#= customActions[i].caption #\\u003C\\u002Fa\\u003E    \\n# } #\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlbItem-content\\\"\\u003E\\u003C!--content--\\u003E\\u003C\\u002Fdiv\\u003E# if (customActions.length \\u003E 0) { #\\u003Cdiv class=\\\"sr-only\\\"\\u003E\" + (null == (pug_interp = i18n.getString('DoubleListBox_HasActionButtons')) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E# } #\\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) {pug_html = pug_html + \"# var isSelected = typeof(selected) !== 'undefined' && selected === 'selected'; #\\u003Cdiv class=\\\"dlbItem #:selected# #:disabled#\\\" data-id=\\\"#:_uniqueId#\\\" id=\\\"default-dlb-source-#:_uniqueId#\\\" role=\\\"option\\\" aria-selected=\\\"#if (isSelected) {# true #} else{# false#}#\\\" aria-disabled=\\\"#if (isSelected) {# true #} else{# false #}#\\\"\\u003E\\u003Cdiv class=\\\"dlbItem-actions\\\" aria-hidden=\\\"true\\\"\\u003E# for (var i = 0; i \\u003C customActions.length; i++) { #\\n   \\u003Ca class=\\\"dlbItem-customAction a11y-k-listview-button sourceAction-#:customActions[i].name #\\\" href=\\\"javascript:void(0);\\\" tabindex=\\\"-1\\\" role=\\\"button\\\"\\u003E#= customActions[i].caption #\\u003C\\u002Fa\\u003E# } #\\u003Ca\" + (\" class=\\\"arrow-button a11y-k-listview-button sourceAction-select #if (isSelected) {# disabled #} else {# enabled #}#\\\"\"+\" href=\\\"javascript:void(0);\\\" tabindex=\\\"-1\\\" style=\\\"#if (isSelected) {# display:none #}#\\\" role=\\\"button\\\"\"+pug.attr(\"title\", i18n.getString('DoubleListBox_Select'), true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlbItem-content\\\"\\u003E\\u003C!--content--\\u003E\\u003C\\u002Fdiv\\u003E# if (customActions.length \\u003E 0 || !isSelected) { #\\u003Cdiv class=\\\"sr-only\\\"\\u003E\" + (null == (pug_interp = i18n.getString('DoubleListBox_HasActionButtons')) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E# } #\\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) {pug_html = pug_html + \"\\u003Cdiv class=\\\"pager\\\"\\u003E\\u003C!-- ko if: features.pageSizeSelector === true --\\u003E\\u003Cdiv class=\\\"pager-sizeselector\\\" data-bind=\\\"visible: features.pageSizeSelector === true\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Grid_ShowRows')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cselect\" + (\" data-bind=\\\"options: pageSizes, value: pageSize\\\"\"+pug.attr(\"aria-label\", i18n.getString('Grid_ShowRows'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko --\\u003E\\n\\u003C!-- ko if: pageCount() \\u003E 1 --\\u003E\\u003Cdiv class=\\\"pager-page\\\"\\u003E\\u003Cdiv\" + (\" class=\\\"spritedimage clickable\\\"\"+\" data-bind=\\\"click: prevPage, css:{"pager-previous": !isFirstPage(), "pager-previous-disabled": isFirstPage()}, attr:{"tabindex": isFirstPage() ? "-1" : "0"}\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.getString('Component_Pagination_PreviousPage'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Grid_Page') + ':') ? \"\" : pug_interp)) + \"\\u003C!-- ko if: (enablePageJump === true) && (features.usePageInput !== true) --\\u003E\\u003Cselect\" + (\" class=\\\"pager-input\\\"\"+\" data-bind=\\\"options: pages, value: currentPage\\\"\"+pug.attr(\"aria-label\", i18n.getString('Grid_Page'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C!-- \\u002Fko --\\u003E\\n\\u003C!-- ko if: (enablePageJump !== true) || (features.usePageInput === true) --\\u003E\\u003Cinput class=\\\"grid-pager-input\\\" data-bind=\\\"value: currentPage, enable: enablePageJump, event: { keypress: onKeyPress }\\\" type=\\\"text\\\"\\u003E\\u003C!-- \\u002Fko --\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Grid_PageOf')) ? \"\" : pug_interp)) + \"\\u003Cspan class=\\\"pager-totalCount\\\" data-bind=\\\"text:pageCount\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cdiv\" + (\" class=\\\"spritedimage clickable\\\"\"+\" data-bind=\\\"click: nextPage, css:{"pager-next": !isLastPage(), "pager-next-disabled": isLastPage()}, attr:{"tabindex": isLastPage() ? "-1" : "0"}\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.getString('Component_Pagination_NextPage'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko --\\u003E\\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) {pug_html = pug_html + \"\\u003C!-- Initial verison. Mostly copied from doubleListBox. should be customized--\\u003E\\u003Cdiv class=\\\"dlbItem #:selected#\\\" data-id=\\\"#:_uniqueId#\\\" id=\\\"default-slb-item-#:_uniqueId#\\\"\\u003E\\u003Cdiv class=\\\"itemAction-select\\\"\\u003E\\u003Cdiv class=\\\"dlbItem-actions\\\"\\u003E# for (var i = 0; i \\u003C customActions.length; i++) { #\\n   \\u003Ca class=\\\"dlbItem-customAction a11y-k-listview-button itemAction-#:customActions[i].name #\\\" href=\\\"javascript:void(0);\\\" tabindex=\\\"-1\\\" role=\\\"button\\\"\\u003E#= customActions[i].caption #\\u003C\\u002Fa\\u003E# } #\\u003Ca\" + (\" class=\\\"arrow-button a11y-k-listview-button #if (selected) {# disabled #} else {# enabled #}#\\\"\"+\" href=\\\"javascript:void(0);\\\" tabindex=\\\"-1\\\" style=\\\"#if (selected) {# display:none #}#\\\"\"+pug.attr(\"title\", i18n.getString('DoubleListBox_Select'), true, true)+\" role=\\\"button\\\"\") + \"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlbItem-content\\\"\\u003E\\u003C!--content--\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\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;pug_html = pug_html + \"\\u003C!-- Initial verison. Mostly copied from doubleListBox. should be customized--\\u003E\\u003Cdiv class=\\\"doubleListBox singleListBox layout-columns\\\"\\u003E\\u003Cdiv class=\\\"layout-columns-container\\\"\\u003E\\u003Cdiv class=\\\"layout-columns-element\\\"\\u003E\\u003Cdiv class=\\\"form-group filter_quickFilterContainer form-group\\\" name=\\\"filter_quickFilterContainer\\\"\\u003E\\u003Cdiv class=\\\"dlb-filter-alignPlaceholder col-sm-9\\\" data-bind=\\\"visible: features.filtering\\\"\\u003E\\u003Cdiv data-bind=\\\"searchbox: filterText, defaultText:strings.filterWatermark, filterAriaLabel: strings.filterAriaLabel, visible: features.filtering\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cdiv class=\\\"panel-form noPadding\\\"\\u003E\\u003Cdiv class=\\\"panel-heading\\\"\\u003E\\u003Ch4 class=\\\"panel-title\\\"\\u003E\\u003Cspan data-bind=\\\"text : strings.sourceItems\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"headerDelimiter\\\"\\u003E:  \\u003C\\u002Fspan\\u003E\\u003Cspan data-bind=\\\"text: sourceItemsCount\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-body noPadding\\\"\\u003E\\u003Cdiv class=\\\"dlb-emptyMessage\\\" data-bind=\\\"visible: showEmptyMessage()\\\"\\u003E\\u003Cspan data-bind=\\\"text: strings.emptyMessage\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlb-source\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dlb-pager-container\\\" data-bind=\\\"visible: features.paging\\\"\\u003E\\u003Cdiv class=\\\"pager-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\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 (JSON) {var obj = JSON.parse(locals.FinalUrlJson.replace(/"/g, \"\\\"\").replace(/(\\\\u0026|&)/g, \"&\"));\nif (obj.IsFinal) {\nif (obj.URL && obj.URL !== \"\") {\nif (locals.DisableSuffix) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"control-label\\\"\\u003E\" + (pug.escape(null == (pug_interp = obj.URL) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"control-label\\\"\\u003E\" + (pug.escape(null == (pug_interp = locals.i18n.getString('FinalUrl_Suffix', obj.URL)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\nif (obj.MobileFinalURL && obj.MobileFinalURL != \"\") {\nif (locals.DisableSuffix) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"control-label\\\"\\u003E\" + (pug.escape(null == (pug_interp = obj.MobileFinalURL) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"control-label\\\"\\u003E\" + (pug.escape(null == (pug_interp = locals.i18n.getString('MobileFinalUrl_Suffix', obj.MobileFinalURL)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\n}\nelse\nif (obj.URL != null && obj.URL != \"\") {\nif (locals.DisableSuffix) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"control-label\\\"\\u003E\" + (pug.escape(null == (pug_interp = obj.URL) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"control-label\\\"\\u003E\" + (pug.escape(null == (pug_interp = locals.i18n.getString('DestinationUrl_Suffix', obj.URL)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"control-label\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"JSON\" in locals_for_with?locals_for_with.JSON:typeof JSON!==\"undefined\"?JSON: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 (content, dialogClass, footer, i18n, title) {pug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"modal\",\"fade\",\"uet-modal\",dialogClass], [false,false,false,true]), false, true)) + \"\\u003E\\u003Cdiv\" + (\" class=\\\"modal-dialog\\\"\"+\" role=\\\"dialog\\\"\"+pug.attr(\"aria-label\", title, true, true)) + \"\\u003E\\u003Cdiv class=\\\"modal-content\\\"\\u003E\\u003Cdiv class=\\\"modal-header\\\"\\u003E\\u003Cdiv class=\\\"close\\\" data-dismiss=\\\"modal\\\"\\u003E\\u003Cspan\" + (\" class=\\\"dialog-close-button clickable\\\"\"+\" role=\\\"button\\\" tabindex=\\\"0\\\"\"+pug.attr(\"aria-label\", i18n.getString('CloseLabel'), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ch4 class=\\\"modal-title type-bold\\\"\\u003E\" + (null == (pug_interp = title) ? \"\" : pug_interp) + \"\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"modal-body\\\"\\u003E\" + (null == (pug_interp = content) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\" + (null == (pug_interp = footer) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"content\" in locals_for_with?locals_for_with.content:typeof content!==\"undefined\"?content:undefined,\"dialogClass\" in locals_for_with?locals_for_with.dialogClass:typeof dialogClass!==\"undefined\"?dialogClass:undefined,\"footer\" in locals_for_with?locals_for_with.footer:typeof footer!==\"undefined\"?footer:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title: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, tag) {pug_mixins[\"fwLink\"] = pug_interp = function(linkId, displayText, ariaLabelContext){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", 'https://go.microsoft.com/fwlink/?linkid=' + linkId, true, true)+\" target=\\\"_blank\\\"\"+pug.attr(\"aria-label\", (ariaLabelContext || '') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n};\npug_mixins[\"helpLink\"] = pug_interp = function(topic, displayText, ariaLabelContext, fBindQuery){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nif (fBindQuery) {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"data-bind\", 'attr: { \"query\": \"help:\" + ' + topic + '}', true, true)+pug.attr(\"aria-label\", (ariaLabelContext || '') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+pug.attr(\"query\", 'help:' + topic, true, true)+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", (ariaLabelContext || ' ') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n};\nvar clarityTemplate = _.template(i18n.getString('UnifiedEventTracking_TagViewer_Clarity'))\npug_html = pug_html + (\"\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_Desc_CopyPaste') + ' ') ? \"\" : pug_interp));\npug_mixins[\"helpLink\"]('app51203', i18n.getString('UnifiedEventTracking_TagViewer_Desc_CopyPasteHelp'), i18n.getString('UnifiedEventTracking_TagViewer_Desc_CopyPaste_Text'));\npug_html = pug_html + (pug.escape(null == (pug_interp = ' | ') ? \"\" : pug_interp));\npug_mixins[\"fwLink\"]('717465', i18n.getString('UnifiedEventTracking_SeeExamples'));\npug_html = pug_html + (\"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_Desc_EmailDownload')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Ch6 class=\\\"type-bold colon col-sm-2\\\" style=\\\"line-height: 2;\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_TagName')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh6\\u003E\\u003Ch6 class=\\\"col-sm-9 tag-name\\\" style=\\\"line-height: 2;\\\"\\u003E\" + (pug.escape(null == (pug_interp = tag.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh6\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-5\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Ch6 class=\\\"type-bold colon col-sm-1\\\" style=\\\"line-height: 2; width: auto\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_TagId')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh6\\u003E\\u003Ch6 class=\\\"col-sm-8\\\" style=\\\"line-height: 2;\\\"\\u003E\" + (pug.escape(null == (pug_interp = tag.id) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh6\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"tab-content\\\"\\u003E\\u003Clabel\\u003E\\u003Ctextarea class=\\\"form-control active tab-pane\\\" id=\\\"uet-tag-javascript\\\" readonly\\u003E\" + (pug.escape(null == (pug_interp = tag.script) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_1stPartyCookie')) ? \"\" : pug_interp)));\npug_mixins[\"helpLink\"]('app54460', i18n.getString('UnifiedEventTracking_LearnMore'), i18n.getString('UnifiedEventTracking_TagViewer_1stPartyCookie'));\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (null == (pug_interp = clarityTemplate({ MicrosoftClarityAccount: '' + i18n.getString('UnifiedEventTracking_TagViewer_Clarity_Account') + ''})) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"_\" in locals_for_with?locals_for_with._:typeof _!==\"undefined\"?_:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"tag\" in locals_for_with?locals_for_with.tag:typeof tag!==\"undefined\"?tag: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, isGTMIntegrationEnabled) {pug_html = pug_html + \"\\u003Cdiv class=\\\"footer pull-right\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cbutton class=\\\"col-sm-3 btn btn-primary btn-uet-copy-tag\\\" data-analyticsid=\\\"omniture-UET-copy-tag\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_CopyTag')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"col-sm-5 btn btn-default btn-uet-download-tag\\\" data-analyticsid=\\\"omniture-UET-download-tag\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_Download')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"col-sm-3 btn btn-default btn-uet-email-tag\\\" data-analyticsid=\\\"omniture-UET-email-tag\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_EmailTag')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\";\nif (isGTMIntegrationEnabled) {\npug_html = pug_html + \"\\u003Cbutton class=\\\"col-sm-3 btn btn-default btn-uet-gtm-tag\\\" data-analyticsid=\\\"omniture-UET-gtm-tag\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagViewer_IntegrateTagWithGTM')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"isGTMIntegrationEnabled\" in locals_for_with?locals_for_with.isGTMIntegrationEnabled:typeof isGTMIntegrationEnabled!==\"undefined\"?isGTMIntegrationEnabled: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 (errorMsg, i18n) {pug_html = pug_html + \"\\u003Cdiv class=\\\"alert-panel panel panel-white\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" role=\\\"alert\\\"\\u003E\\u003Cdiv class=\\\"status-icon\\\"\\u003E\\u003Cdiv class=\\\"status_error spritedimagealign\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = errorMsg) ? \"\" : pug_interp)) + \"\\u003Cbr \\u002F\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-default btn-close\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_Close_Button')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"errorMsg\" in locals_for_with?locals_for_with.errorMsg:typeof errorMsg!==\"undefined\"?errorMsg: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 (IsOfflineConversionRestateRetractFromUIAllowed, OnlineConversionRestateRetractUI, i18n) {if (!OnlineConversionRestateRetractUI) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"button btn btn-primary btn-main-upload\\\" data-bind=\\\"visible: showUploadButton(), click: uploadButtonClicked\\\"\\u003E\" + (pug.escape(null == (pug_interp = '+ '+i18n.getString('UnifiedEventTracking_UploadConversions_UploadTitle')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"file-picker panel panel-white\\\" data-bind=\\\"visible: !showUploadButton()\\\"\\u003E\";\nif (IsOfflineConversionRestateRetractFromUIAllowed) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"new-filepicker-tip\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cform enctype=\\\"multipart\\u002Fform-data\\\"\\u003E\\u003Cdiv class=\\\"offline-file-input-comp\\\"\\u003E\\u003Cspan class=\\\"offline-file-text\\\" data-bind=\\\"text: fileName\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Clabel class=\\\"btn btn-primary offline-file-broswer-btn clickable\\\" for=\\\"file-input\\\" role=\\\"button\\\" tabindex=\\\"0\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_File_Browse_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cinput\" + (\" class=\\\"offline-file-input file-input\\\"\"+\" id=\\\"file-input\\\" type=\\\"file\\\" data-bind=\\\"event : {change: fileDidPick.bind($data, $element)}\\\" aria-describedby=\\\"UploadConversionsFileWarningMessage\\\"\"+pug.attr(\"aria-label\", i18n.getString('UnifiedEventTracking_UploadConversions_File_Browse_Label'), true, true)) + \"\\u003E\\u003C\\u002Fform\\u003E\";\nif (!IsOfflineConversionRestateRetractFromUIAllowed) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"h3 filepicker-tip\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_Supported_Formats')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-danger\\\" id=\\\"UploadConversionsFileWarningMessage\\\" role=\\\"alert\\\" data-bind=\\\"visible: showWarning\\\"\\u003E\\u003Cdiv class=\\\"status-icon\\\"\\u003E\\u003Cdiv class=\\\"status_error spritedimagealign alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cspan data-bind=\\\"text: warningMessage\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"h3 filepicker-tip\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_Wait_Message')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-upload\\\" data-bind=\\\"enable: enableUpload, css:{'btn-upload-disabled': !enableUpload()}\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_UploadPreview_Button')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-default btn-upload-cancel\\\" data-bind=\\\"click: cancelButtonClicked\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_Cancel')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"file-picker panel panel-white\\\"\\u003E\\u003Cdiv class=\\\"new-filepicker-tip\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cform enctype=\\\"multipart\\u002Fform-data\\\"\\u003E\\u003Cdiv class=\\\"offline-file-input-comp\\\"\\u003E\\u003Cspan class=\\\"offline-file-text\\\" data-bind=\\\"text: fileName\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Clabel class=\\\"btn btn-primary offline-file-broswer-btn clickable\\\" for=\\\"file-input\\\" role=\\\"button\\\" tabindex=\\\"0\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_File_Browse_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cinput\" + (\" class=\\\"offline-file-input file-input\\\"\"+\" id=\\\"file-input\\\" type=\\\"file\\\" data-bind=\\\"event : {change: fileDidPick.bind($data, $element)}\\\" aria-describedby=\\\"UploadConversionsFileWarningMessage\\\"\"+pug.attr(\"aria-label\", i18n.getString('UnifiedEventTracking_UploadConversions_File_Browse_Label'), true, true)) + \"\\u003E\\u003C\\u002Fform\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" id=\\\"UploadConversionsFileWarningMessage\\\" role=\\\"alert\\\" data-bind=\\\"visible: showWarning\\\"\\u003E\\u003Cdiv class=\\\"status-icon\\\"\\u003E\\u003Cdiv class=\\\"status_error spritedimagealign alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cspan data-bind=\\\"text: warningMessage\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"h3 filepicker-tip\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_Wait_Message')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-upload\\\" data-bind=\\\"enable: enableUpload, css:{'btn-upload-disabled': !enableUpload()}\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_UploadPreview_Button')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"IsOfflineConversionRestateRetractFromUIAllowed\" in locals_for_with?locals_for_with.IsOfflineConversionRestateRetractFromUIAllowed:typeof IsOfflineConversionRestateRetractFromUIAllowed!==\"undefined\"?IsOfflineConversionRestateRetractFromUIAllowed:undefined,\"OnlineConversionRestateRetractUI\" in locals_for_with?locals_for_with.OnlineConversionRestateRetractUI:typeof OnlineConversionRestateRetractUI!==\"undefined\"?OnlineConversionRestateRetractUI: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;pug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-6\\\"\\u003E\\u003Cdiv class=\\\"progress-text\\\"\\u003E\\u003Cspan class=\\\"spinner-header\\\"\\u003E\\u003Cspan class=\\\"status-text\\\" data-bind=\\\"text: statusText\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"status-progress\\\" data-bind=\\\"visible: showProgress, text: progressDetails\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cimg class=\\\"spinner-image\\\" data-bind=\\\"visible: showProgress\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"progress\\\"\\u003E\\u003Cdiv class=\\\"progress-bar\\\" data-bind=\\\"style:{width: percentage}\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\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 (_, i18n, isNewUI) {pug_mixins[\"helpLink\"] = pug_interp = function(topic, displayText, ariaLabelContext, fBindQuery){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nif (fBindQuery) {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"data-bind\", 'attr: { \"query\": \"help:\" + ' + topic + '}', true, true)+pug.attr(\"aria-label\", (ariaLabelContext || '') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+pug.attr(\"query\", 'help:' + topic, true, true)+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", (ariaLabelContext || ' ') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n};\npug_mixins[\"pageHeader\"] = pug_interp = function(headerText, subheaderText, subheaderTitle, learnMoreLinkText, learnMoreLinkTopicId){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Csection class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\";\nif (headerText) {\npug_html = pug_html + \"\\u003Ch1 class=\\\"top-page-header type-bold\\\"\\u003E\" + (pug.escape(null == (pug_interp = headerText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh1\\u003E\";\n}\nif (subheaderTitle) {\npug_html = pug_html + \"\\u003Ch3 class=\\\"type-bold\\\"\\u003E\" + (pug.escape(null == (pug_interp = subheaderTitle) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh3\\u003E\";\n}\nif (subheaderText) {\npug_html = pug_html + (\"\\u003Ch3\\u003E\" + (null == (pug_interp = subheaderText) ? \"\" : pug_interp));\nif (learnMoreLinkText && learnMoreLinkTopicId) {\npug_mixins[\"helpLink\"](learnMoreLinkTopicId, learnMoreLinkText, subheaderText);\n}\npug_html = pug_html + \"\\u003C\\u002Fh3\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\";\n};\n\n\n\n\n\n\n\n\n\n\n\n\npug_mixins[\"helpLink\"] = pug_interp = function(topic, displayText, ariaLabelContext, fBindQuery){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nif (fBindQuery) {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"data-bind\", 'attr: { \"query\": \"help:\" + ' + topic + '}', true, true)+pug.attr(\"aria-label\", (ariaLabelContext || '') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+pug.attr(\"query\", 'help:' + topic, true, true)+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", (ariaLabelContext || ' ') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n};\npug_mixins[\"tutorialItem\"] = pug_interp = function(headerText, subheaderText, contentText, contentCss, hasNext, learnMoreLinkText, topicId, helpContext){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + (\"\\u003Csection class=\\\"row tutorial-item\\\"\\u003E\\u003Cdiv class=\\\"col-sm-11\\\"\\u003E\\u003Cdiv class=\\\"item-panel\\\"\\u003E\\u003Ch2 class=\\\"title\\\"\\u003E\" + (pug.escape(null == (pug_interp = headerText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh2\\u003E\\u003Cdiv class=\\\"desc\\\"\\u003E\" + (null == (pug_interp = subheaderText) ? \"\" : pug_interp));\nif (learnMoreLinkText && topicId) {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\npug_mixins[\"helpLink\"](topicId, learnMoreLinkText, helpContext || subheaderText);\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\nif (contentCss !== '') {\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([contentCss], [true]), false, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = contentText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (hasNext) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-1 arrow-panel\\\"\\u003E\\u003Cdiv class=\\\"arrow\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fsection\\u003E\";\n};\npug_mixins[\"helpLink\"] = pug_interp = function(topic, displayText, ariaLabelContext, fBindQuery){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nif (fBindQuery) {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"data-bind\", 'attr: { \"query\": \"help:\" + ' + topic + '}', true, true)+pug.attr(\"aria-label\", (ariaLabelContext || '') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+pug.attr(\"query\", 'help:' + topic, true, true)+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", (ariaLabelContext || ' ') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n};\nvar learnMore = i18n.getString('UnifiedEventTracking_LearnMore')\nvar DontHaveUetTagTmpl = _.template(i18n.getString('UnifiedEventTracking_Goals_DontHaveUetTag_Desc'))\nvar goalTmpl = _.template(i18n.getString('UnifiedEventTracking_Tutorial_UploadConversiona_Desc'))\nvar goalTextTmpl = _.template(i18n.getString('UnifiedEventTracking_Tutorial_UploadConversiona_Desc_Text'))\nvar fileTmpl = _.template(i18n.getString('UnifiedEventTracking_Tutorial_OfflineConversionsToFile_Desc'))\nvar validationTextTmpl = _.template(i18n.getString('UnifiedEventTracking_Tutorial_Validation_Desc'))\nvar createGoalTextTmpl = _.template(i18n.getString('UnifiedEventTracking_Tutorial_Create_Desc'))\nvar edgeLink = '' + i18n.getString('UnifiedEventTracking_Tutorial_EdgeLink_Title') + ''\nvar chromeLink = '' + i18n.getString('UnifiedEventTracking_Tutorial_ChromeLink_Title') + ''\npug_html = pug_html + \"\\u003C!--type tag=1, goal=2, uploadConversions=3--\\u003E\";\npug_mixins[\"tutorialSection\"] = pug_interp = function(title, id, i18n, type, _){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"tutorialAccordion panel-group\\\"\"+pug.attr(\"id\", id, true, true)) + \"\\u003E\\u003Cdiv class=\\\"panel\\\"\\u003E\\u003Cdiv class=\\\"panel-heading\\\" role=\\\"heading\\\"\\u003E\\u003Cdiv class=\\\"panel-title\\\"\\u003E\\u003Cspan\" + (\" class=\\\"spritedimage clickable\\\"\"+pug.attr(\"href\", '#'+id+'FirstPanel', true, true)+pug.attr(\"data-parent\", '#'+id, true, true)+\" data-bind=\\\"css: tutorialSectionExplandClass(), click: updateTutorialSectionStatus, attr: {"aria-expanded": tutorialSectionExplandClass() === "expandedImage" ? "true" : "false"}\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", title, true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cstrong\" + (pug.attr(\"href\", '#'+id+'FirstPanel', true, true)+pug.attr(\"data-parent\", '#'+id, true, true)+\" data-bind=\\\"click: updateTutorialSectionStatus\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"panel-collapse firstTutorialPanel\\\"\"+pug.attr(\"id\", id+'FirstPanel', true, true)+\" data-bind=\\\"css: tutorialSectionExplandClass() === "expandedImage" ? "in": "collapse"\\\"\") + \"\\u003E\\u003Csection class=\\\"row panel panel-white\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Ch3 class=\\\"type-bold\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_Tutorial_What_It_Is')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh3\\u003E\";\nif (type === 1) {\npug_html = pug_html + (\"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_TagsPage_Intro') + ' ') ? \"\" : pug_interp)));\npug_mixins[\"helpLink\"]('app51201', learnMore, i18n.getString('UnifiedEventTracking_TagsPage_Intro'));\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (type === 2) {\npug_html = pug_html + (\"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_GoalsPage_Intro') + ' ') ? \"\" : pug_interp)));\npug_mixins[\"helpLink\"]('app51200', learnMore, i18n.getString('UnifiedEventTracking_GoalsPage_Intro'));\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (type === 3) {\npug_html = pug_html + (\"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_Intro') + ' ') ? \"\" : pug_interp)));\npug_mixins[\"helpLink\"]('app54554', learnMore, i18n.getString('UnifiedEventTracking_UploadConversions_Intro'));\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003Csection class=\\\"row panel panel-white tutorial-panel\\\"\\u003E\";\nif (type === 1) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\";\npug_mixins[\"tutorialItem\"](i18n.getString('UnifiedEventTracking_Tutorial_Tag_Title'), i18n.getString('UnifiedEventTracking_Tutorial_TagPage_Tag_Desc'), '', 'help-tag', true, learnMore, 'app51202');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\";\npug_mixins[\"tutorialItem\"](i18n.getString('UnifiedEventTracking_Tutorial_Tracking_Title'), i18n.getString('UnifiedEventTracking_Tutorial_Tracking_Desc'), '', 'help-tracking', true, learnMore, 'app51203');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\";\npug_mixins[\"tutorialItem\"](i18n.getString('UnifiedEventTracking_Tutorial_Create_Title'), createGoalTextTmpl({goalLink: '' + i18n.getString('UnifiedEventTracking_Goal_Page') + '', audienceLink: '' + i18n.getString('UnifiedEventTracking_Tags_Audience') + '', createConversionGoal: '' + i18n.getString('UnifiedEventTracking_Goals_CreateConversionGoal') + '', createRemarketingList: '' + i18n.getString('UnifiedEventTracking_Audiences_CreateRemarketingList') + '', goalHelp: '' + i18n.getString('UnifiedEventTracking_LearnMore') + '

'}), '', '', true, learnMore, 'app51222');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\";\npug_mixins[\"tutorialItem\"](i18n.getString('UnifiedEventTracking_Tutorial_Validation_Title'), validationTextTmpl({edgeExtLink: edgeLink, chromeExtLink: chromeLink}), '', 'help-validation', false, learnMore, 'app54548');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (type === 2) {\npug_html = pug_html + (\"\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Ch3 class=\\\"type-bold\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_Goals_HowItWorks')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh3\\u003E\\u003Cdiv\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_Goals_HowItWorks_Desc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_Tutorial_MobileAppNote') + ' ') ? \"\" : pug_interp)));\npug_mixins[\"helpLink\"]('app51209', learnMore, i18n.getString('UnifiedEventTracking_Tutorial_MobileAppNote'));\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12\\\" data-bind=\\\"if: isCreateTagHelpVisible\\\"\\u003E\\u003Ch3 class=\\\"type-bold\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_Goals_DontHaveUetTag')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fh3\\u003E\\u003Cspan\\u003E\" + (null == (pug_interp = DontHaveUetTagTmpl({ uetTagLink: '' + i18n.getString('UnifiedEventTracking_UET_Tag_Page') + '', createUetTag: '' + i18n.getString('UnifiedEventTracking_Tags_CreateNewTag') + '', createConversionGoal: '' + i18n.getString('UnifiedEventTracking_Goals_CreateConversionGoal') + '' })) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (type === 3) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\";\npug_mixins[\"tutorialItem\"](i18n.getString('UnifiedEventTracking_Tutorial_UploadConversions_Title'), goalTmpl({goalLink: '' + i18n.getString('UnifiedEventTracking_Goal_Page') + ''}), '', 'help-import-conversions', true, learnMore, 'app54504', goalTextTmpl({goalLink: '' + i18n.getString('UnifiedEventTracking_Goal_Page') + ''}));\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\";\npug_mixins[\"tutorialItem\"](i18n.getString('UnifiedEventTracking_Tutorial_OfflineConversionsToFile_Title'), fileTmpl({fileTemplateExcel: '\"tutFileXls\"', fileTemplateCsv: '\"tutFileCsv\"'}), '', 'help-add-offline-conversions-to-file', true, learnMore, 'app54554');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\";\npug_mixins[\"tutorialItem\"](i18n.getString('UnifiedEventTracking_Tutorial_UploadOfflineConversionFile_Title'), i18n.getString('UnifiedEventTracking_Tutorial_UploadOfflineConversionFile_Desc'), '', '', false, learnMore, 'app54554', i18n.getString('UnifiedEventTracking_Tutorial_UploadOfflineConversionFile_Desc_Text'));\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fsection\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\nvar header = i18n.getString('UnifiedEventTracking_UploadConversions_Title');\nvar subheader = i18n.getString('UnifiedEventTracking_UploadConversions_Description');\npug_html = pug_html + \"\\u003Cdiv class=\\\"uet\\\"\\u003E\\u003Cdiv railviewid=\\\"OfflineConversions_Load\\\" style=\\\"display: none\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-banner\\\" data-bind=\\\"visible: hasError\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" role=\\\"alert\\\"\\u003E\\u003Cdiv class=\\\"status-icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"status_error spritedimagealign\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- ko if: hasError --\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UnifiedEventTracking_UploadConversions_GenericError')) ? \"\" : pug_interp)) + \"\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (isNewUI) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"tutorial-section-for-uinext\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_mixins[\"pageHeader\"](header, subheader);\npug_mixins[\"tutorialSection\"](i18n.getString('UnifiedEventTracking_Tutorial_About_UetUploadConversions'), 'tutorialAccordion', i18n, 3, _);\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"operation-area section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"history-area section\\\"\\u003E\\u003Cdiv class=\\\"upload-history\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"_\" in locals_for_with?locals_for_with._:typeof _!==\"undefined\"?_:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"isNewUI\" in locals_for_with?locals_for_with.isNewUI:typeof isNewUI!==\"undefined\"?isNewUI:undefined));;return pug_html;};\nmodule.exports = template;"],"names":["scrollTo","$e","$","$nav","length","offset","navBarHeight","css","outerHeight","top","newTop","window","i18n","globalLegacyI18n","get","getDefaultRange","today","metadata","getRanges","thisMonth","getFilterPromise","names","Promise","name","dateFilterPref","then","result","dateFilter","dateUtils","date","accountTimeZoneNow","range","dateFilters","primaryRange","start","Date","end","getPSTTime","lcid","_","Rangelcid","pageContext","CurrentUser","Locale","grain","isCustom","getRangeByGrainId","value","formattedStart","format","formattedEnd","formatedStart","formatedEnd","compared","comparedRange","actions","args","idBasedSelection","filteredSelection","entityProperties","bidUtils","hotelCenterUtils","bidMultiplierUtils","argFields","additionalArgs","formatEntityValueFunction","_formatBidMultipliersEntityValue","modelInfo","changes","newValue","NewValue","OriginalValue","JSON","parse","getText","getString","e","jobSelectionFunction","jobModel","_isDemographicsJobModel","_getJobSelection","filter","filterSerializer","fromDescription","sortedFilter","splitFilter","FilterExpressions","scope","_getScopeString","quickFilter","dataSourceFilter","_getFilterString","expressions","summaryFunction","_getJobSummary","_getDemographicsJobSummary","_getJobSummaryCashbackPercent","jobInfo","properties","localizeAdditionalArgsFunction","_localizePercentAdditionalArgs","entity","decimalFormat","fromFloatToString","getHotelCenterBidAmountAddonText","join","_formatEntityValue","action","Limit","addonText","_localizeAdditionalArgs","Status","selection","isMonthly","QueryString","decodeURIComponent","indexOf","campaignBudgetTypes","monthly","entityKeys","originalPBS","safeJSON","Key","Id","Name","_getBiddingSchemeValue","escapeHelper","escape","isNew","originalValue","originalIBS","copyPasteDescriptions","Property","push","pasted","copied","idBased","idsCount","Plural","Singular","ids","argField","header","footer","change","field","historyJobDetails","quickFilters","enabledCampaigns","SelectedColumn","SelectedOperator","Values","enabledKeywords","enabledAdGroups","enabledAds","dataSourceFilters","criterionType","LevelOfDetails","booleanFields","_getJobModelInfo","batchAction","firstActionModel","Actions","actionValueType","actionModel","values","find","item","substring","_getActionValueType","jobMetadata","isCashbackPercent","search","isCashbackBudget","isPercentCPCBid","isCommissionRate","isNumeric","isCurrency","ActionType","isPercent","splitProperty","property","splitStr","replace","toLowerCase","trim","charAt","toUpperCase","slice","entityName","jobSummary","index","singleLineSummary","propertyMsg","propertyName","i18nActionBasedKey","_geti18nActionBasedKey","i18nValueBasedKey","_geti18nValueBasedKey","urlOptionsFields","customParameters","Value","param","val","localizedKey","jobArgs","_getJobArguments","list","localizedString","i18nActionBasedArgs","concat","i18nValueBasedArgs","valueBased","apply","actionBased","key","isNewAudienceEnabled","Permissions","IsNewAudienceEnabled","BidType","isSingular","AssociationList","jsonValue","getMultipliersText","_formatNumericValue","_formatActionValue","mappedValues","AccountCurrencyCode","_getIdBasedScopeString","_getRuleScope","CampaignId","AdGroupId","campaign","adgroup","filterExpressions","numberOfDigits","expr","deliveryStatus","toString","IsMultiMediaAdsEnabled","expression","columnLocalized","_localizeColumnName","operatorLocalized","valuesLocalized","_localizeValues","startsWith","customColumnId","split","customColumnData","customColumnServiceWrapper","customColumnUtils","CustomColumns","customColumnPreference","getAll","customColumnInfo","customColumn","id","valuesToUse","SelectedNames","scopeValue","i18nKey","dynamic","XandrVideoCampaigns","match","formatRSAString","rsaString","RSAHelper","formattedValue","getMultipliersDetailText","matches","asCurrency","coverNegativeNumber","formattedNumber","Math","abs","currencySuffix","keys","map","qfKey","matchingExpression","object","getJobDescription","summary","getJobSelection","mapEntityErrors","entityResult","apiErrorMessages","Errors","error","errorMapper","mapCampaignApiErrorCodeShort","mapCampaignApiErrorCode","editorialErrors","EditorialErrors","mapEditorialErrors","editorialErrorMessages","countryName","message","formatEntityValue","getRuleSelection","fromRuleDescription","qfilter","splice","getJobDetails","model","BaseModel","extend","defaults","prototype","Entity","BatchAction","Collection","backbone","url","sync","method","options","yesterday","setDate","getDate","startdate","toISOString","enddate","this","urlUtil","odata","formatBid","rows","data","EntityKeyObject","EntityKey","obj","CampaignName","isHtml","AdgroupName","entityKeyObject","hasOwnProperty","ageRangeEnum","AgeRange","GenderType","ProfileName","formatEntityString","Changes","decimalNumber","fromFloatToPercentString","newValueText","getSelectedEntityIdStrings","gridView","selectedItems","campaignId","Campaign","getUrlParameter","AdGroup","view","BaseView","initialize","arguments","template","ko_model","viewModel","render","setAction","simulateResults","unset","grid","pgridPlugins","crossPageSelectAll","isAllSelected","set","cashbackPercentValue","getCashbackPercentValueByAction","numericActionType","setAmount","getIdFilter","getFilterURLParam","conditionString","filterService","getCombinedFilter","odataV4","idFilterExperessions","filterExpression","idString","filterConverter","convert","$filter","encodeURIComponent","formatErrors","errors","formatPreviewResults","results","getProgressText","escapeMap","regObj","RegExp","str","escapedVal","Ad","ProgressText","EmptySetTextError","TrackingTemplateProperty","FinalUrlSuffixProperty","Keyword","actionOptions","actionTypes","Text","findReplace","append","trackingTemplateActionOptions","trackingTemplateActionTypes","customParametersActionOptions","customParametersActionTypes","fieldOptions","trackingTemplate","finalUrlSuffix","customParametersName","customParametersValue","Base","call","entityLowerCase","IsFinalURLSuffixEnabled","entityType","showExtaWarningMessage","trackingTemplateActions","customParametersActions","fields","opt","selectedAction","ko","selectedField","trackingTemplateSelectedAction","customParametersSelectedAction","showCustomParamsInput","showTrackingTemplateInput","subscribe","errorMessage","showFindReplacePanel","showAppendTextPanel","showSetTextPanel","showFinalUrlSuffixInput","changeTextOption","textActionTypes","findTextValue","SearchString","findText","read","write","owner","findReplaceOptions","MatchWholeWord","replaceText","appendTextValue","appendText","selectedEntityCount","titleText","maxTrackingTemplateLength","maxFinalUrlSuffixLength","maxCustomParametersLength","maxCustomParametersKeyLength","maxCustomParametersValueLength","maxLength","errorRole","entityHeaderName","previewGrids","errorsGrids","showPreview","validate","alert","customParams","getValues","params","entityTextMessage","it","out","UrlCustomParametersJson","UrlCustomParameters","Parameters","Array","isArray","i","allowedEntities","helper","defaultValue","customParamsGridTemplate","stringify","scenarioName","activity","instrumentation","create","selectedRows","gridHelper","getSelectedRows","hasExtaSelected","row","Type","isCrossPageAllSelected","permissions","config","ChangeUrlOptionsVM","IsWhiteListEXTAEnabled","goToAddReplaceMode","goToRemoveMode","upgradeUrl","bulkEditMode","bulkEditShowAddLabel","bulkEditShowMatchCase","html","$el","isDisabled","setDisabled","createBaseActionObject","odataType","actionType","customParamsValues","actionIdx","Options","None","finalUrlSuffixActionTypes","matchOptions","matchCase","MatchCase","MatchOptions","selectedOptions","ret","filterHelper","entityProgressTextMap","formatGridResults","urlOptionsDisplay","numberOfActions","propertiesToChange","changesToPatch","entityChange","presentChanges","memo","patchedChanges","pair","oldTrackingTemplate","newTrackingTemplate","oldCustomParams","newCustomParams","oldFinalUrlSuffix","newFinalUrlSuffix","entityValues","firstCell","bulkOperationBase","entityTitleKeys","formatUrlOptions","transformErrors","Error","changeCase","add","remove","pin","cron","year","frequency","DAILY","WEEKLY","MONTHLY","ONCE","HOURLY","init","cronString","tokens","parser","getMonth","_fields","month","getDayofMonth","dayOfMonth","getDayofWeek","dayOfWeek","getHour","hour","getMinute","minute","generate","min","getFrequency","getYear","setHourlyCron","setDailyCron","setWeeklyCron","setMonthlyCron","setOnceCron","cronModel","undefined","dayofWeek","dayofMonth","defaultOptions","schema","total","dataItems","dataCallback","itemIdField","itemIdCallback","itemFilterField","itemFilterCallback","listItemSeed","pageSize","dlbDataSource","self","schemaDataProperty","response","_mapItems","externalTransport","useCallbackForFilter","useCallbackForFetchOnly","dataSource","_createDataSource","addIfNotExists","uniqueId","_getItemId","_createListItem","removeIfExists","itemData","_getListItemInfo","getItemData","getItemId","filterString","sourceLoadCancelToken","operator","refresh","_data","refreshItem","listItem","seededItem","getData","toJSON","getFilterData","filterResult","kendo","Query","process","setItemProperty","sourceItemModel","ignoreSourceData","sourceItems","seed","_uniqueId","dataSet","DataSource","serverFiltering","serverPaging","transport","_loadRemoteData","_loadDataWithMemoryCache","kendoReadOptions","originalSuccess","success","request","filterText","filters","skip","take","_getCancellationToken","cancelled","errorCallback","req","backbone_schema","from","base","adgroupRequest","promise","adgroupId","campaignRequest","adgroups","Pristine","AdGroupCollection","campaigns","CampaignCollection","userParameters","cid","CurrentCustomer","uid","aid","CurrentAccount","clearPromise","getPristineRequest","http_method","hideLoadingPanelOnSuccess","ignoreBeforeAjax","getAdgroup","selectedAdgroupLanguage","Language","getCampaign","experimentId","fetchExperimentTask","jsdata","Experiment","bypassCache","cacheResponse","getCampaigns","fetch","getPristineKey","getAdgroups","collection","_meta","adgroupChangedEvent","adgroupChangeCallback","res","changed","models","adGroup","memSto","invalidate","App","off","on","prop","adgPro","adgroupOptions","canCache","allowCaching","_eligibleForCaching","_getFromCache","resolve","_augmentUrl","done","_setCache","nameFilterText","firstKey","newKey","_getCacheKey","maxCacheSize","shift","urlEntity","resultUrl","currentScope","filterOptions","predicate","idx","option","operand","controlMode","odataQuery","$contains","Service","entityServiceImplementation","blockerContainer","serviceInjected","useInjectedAdgroupFetch","entityService","shouldKeepSmartShoppingCampaignAdGroup","adsCountMap","CampaignSubType","appConfig","IsResponsiveAdForSSCEnabled","Product","Responsive","_filterCampaigns","cb","campaignData","query","_getSearchPredicate","CampaignType","scenario","level","cam","statusHtml","getStatusHtml","campaignStatusList","HasPaged","items","rest","first","pow","uiBlocker","unblock","_filterAdgroupsServer","_filterAdgroups","instruSvc","endActivity","setting","ACTIVITYNAME","AdgroupSelectorLoadAdgroups","getAdsCount","adgroupData","account","customer","adgroupIds","post","adGroupIds","adsCount","forEach","AdsCountByAdType","Keys","catch","console","log","ag","isFeedBasedCampaign","CampaignSettings","bind","adg","parentId","parentName","adgroupStatusList","customFilter","_getStatusClass","status","original","resultClass","statusList","className","prefix","statusIconLabelList","extendProperties","extendAdgroup","observable","block","asLoggingStart","AdgroupSelectorLoadExtendedAdgroup","getCampaignData","controlOptions","selectedCampaign","filterPredicate","campaignPredicate","fail","RefreshAdgroups","getAdgroupData","getAdgroupDataClient","getAdgroupDataServer","adgroupPredicate","startActivity","advertiser","clearErrorSummary","errorCb","legacy$","appendErrorSummary","removeAllBlockers","blockerContext","setControlScope","controlModes","selectedAdgroup","sectionItem","element","valueAccessor","allBindings","bindingContext","bindingOptions","innerBindingContext","$element","$newContent","sectionItemTemplate","addClass","attr","children","detach","appendTo","replaceWith","controlsDescendantBindings","dataDateRanges","frequencyGrain","weeklyOptions","dailyOptions","emailOptions","scopeOptions","entityRelatedOptions","campaignFilterData","IsCampaignTargetROASBidStrategyEnabled","IsNewCampaignTargetROASBidStrategyEnabled","IsMaximizeConversionValueEnabled","IsSmartShoppingCampaignEnabled","IsTargetImpressionShareEnabled","adFilterData","adGroupFilterData","keywordFilterData","IncreaseBid","DecreaseBid","PreserveCapitalization","StartsWith","Title","TitlePart1","TitlePart2","TitlePart3","TextPart2","Headline","LongHeadline","LongHeadlines","BusinessName","DisplayUrl","FinalUrl","Path1","Path2","MobileFinalUrl","DestinationUrl","DevicePreference","Headlines","Descriptions","prepend","toTitleCase","toSentenceCase","strings","maximumSelectionAlertString","maxSelectedItems","features","maxSelectedItemsCount","customData","processItem","showMaximumSelectionAlert","selectedData","_createSelectedData","sourceData","_createSourceData","sourceDataSource","selectedDataSource","_initializeFilter","_initializeSourceItemsCount","refreshSource","selectedItemsCount","hasMaxSelectedItems","selectItem","silent","_notifySubscribers","deselectItem","setSelection","newSelectionIds","oldSelectionIds","toSelect","toDeselect","selectAll","deselectAll","showEmptyMessage","sourceItemsCount","newTotal","selectedCustomActions","itemActions","selected","caption","customActions","paging","selectedPageSize","sourceCustomActions","source","disabled","defaultTemplates","layoutTemplate","defaultLayoutTemplate","sourceContainerSelector","selectedContainerSelector","sourcePagerSelector","selectedPagerSelector","sourceItemLayoutTemplate","defaultSourceItemTemplate","sourceItemContentSelector","sourceItemContentTemplate","selectedItemLayoutTemplate","defaultSelectedItemTemplate","selectedItemContentSelector","selectedItemContentTemplate","listItemCssClass","_applyDefaultTemplates","filtering","dragAndDrop","filterWatermark","_viewModel","newSelection","trigger","_initializeActions","_initializeEventHandlers","_initializeLayout","_initializeSource","_initializeSelected","_initializeDragAndDrop","_initializeSourcePager","_initializeSelectedPager","$wrapper","templates","elements","$source","$selection","kendoListView","navigatable","selectable","_getEffectiveItemTemplate","contentTemplate","_initializeDragAndDropGroup","$dragContainer","$dropContainer","groupName","dropAction","contentSelector","kendoDraggable","group","container","hint","eq","clone","kendoDropTarget","drop","draggable","events","getEventHandler","callback","eventType","eventName","proxy","event","$itemelement","target","closest","sourceActions","selectedActions","select","deselect","pagerEl","Pager","el","pageCount","totalPages","currentPage","page","enablePageJump","refreshTriggers","newPage","totalCount","preferencesService","_preferencesService","pagerView","pagerTemplate","pageSizeSelector","saveState","loadState","pageSizes","Support500RowsInGrid","_initializeViewModel","_updateViewModel","readyPromise","_initStatePersistence","_initializeSubscriptions","destroy","empty","nextPage","_nextPage","prevPage","_prevPage","ceil","pages","isFirstPage","isLastPage","onKeyPress","which","keyCode","blur","_updateValue","funcOnly","_setValue","valueSource","oldValue","valueObservable","currentPageNumber","decimal","fromLocalToFloat","_loadState","_initSaveState","setAtUserLevel","Data","stateManager","setItem","preference","findByName","getItem","permanent","confirm","prompt","defaultText","ViewModel","kendoDataSource","selectedItem","setSelectedItem","listContainerSelector","pagerSelector","itemLayoutTemplate","defaultItemTemplate","itemContentSelector","itemContentTemplate","_initializeList","_initializePager","$list","_onSelectChange","selectAction","renderThirdPartyIntegrationView","tag","Object","assign","isUetAutoSpaTrackingEnabled","scriptMatches","exec","script","isGTMIntegrationEnabled","IsGTMTagIntegrationForUETGridEnabled","dialog","dialogTemplate","title","content","tagViewerContent","tagViewerFooter","dialogClass","setElement","modal","transition","focus","instrumentationSettings","OpenUetTrackingCodePopup","SCENARIONAME","ViewUetTrackingCodePopup","hide","copyTag","CopyTrackingCode","emailTag","subject","text","location","href","getEmailDownloadBody","EmailTrackingCode","downloadTag","download","downloadify","DownloadTrackingCode","startGTMIntegrationFlow","IntegrateTrackingCodeWithGTM","onClose","handleUpdates","consecutiveFailureCount","isSucceed","isInProgress","isFailed","logError","job","stop","RowsProcessed","TotalRows","parentTask","logMessage","constants","LOGCATEGORY","TRACE","LOGLEVEL","INFO","trackingid","requestid","xhr","lastSuccessXHR","getResponseHeader","errorLog","isUserError","errorCode","responseJSON","Code","includes","errorMsgKey","handleFailures","err","headers","scheduledTask","Poller","ExecutionId","asyncScheduler","createTask","schedule","task","overlapping","Url","Task","TaskProgressView","statusText","completeText","poller","StatusPoller","run","showProgress","completed","progressDetails","type","humanize","fileSize","percentage","TaskProgressViewModel","isNewUI","taskProgressTemplate","recoverBinding","undelegateEvents","delegateEvents","hasError","tutorialSectionExplandClass","hideTutorial","updateTutorialSectionStatus","localStorage","maximumFileSize","enableUpload","showWarning","warningMessage","fileName","OnlineConversionRestateRetractUI","showUploadButton","uploadButtonClicked","cancelButtonClicked","fileDidPick","inputElement","files","file","fileSizeExceeded","size","fileEmpty","filename","substr","fileNameIsInvalid","getFileUrl","TemplatesPathUrl","excelFileUrl","csvFileUrl","uploadFile","ClickOnUploadAndPreview","_permissions$dynamic","_dynamic$OnlineConver","FilePickerViewModel","excelLink","TemplateFileUtil","csvLink","_permissions$dynamic2","filePickerTemplate","IsOfflineConversionRestateRetractFromUIAllowed","newFilePickerTip","processBlobUrl","urlWithoutSas","fileUrl","fileIdentifier","lastIndexOf","getFileIdentifier","createPreviewTask","utcNow","postData","postTaskUrl","processErrorResponse","ERROR","parseTaskId","executionObj","TaskItemExecutions","taskId","executionId","UploadService","bulkFileType","onProgress","loaded","TaskId","FileName","nodeify","hasDetails","showDetails","close","ClickOnCloseInErrorView","getFriendlyError","detailLogs","generateLogContent","ErrorViewVM","errorViewTemplate","errorMsg","logArr","line","errObj","responseText","resObj","safeJson","i18nErrors","ErrorCode","code","Collaborator","definitions","instances","role","definition","factory","release","instance","handler","bindEvent","clear","strategy","roleName","ModalManager","active","HistoryGrid","_HistoryGrid","ChangesView","_ChangesView","modalManager","displayRole","keepCurrent","currentRoles","collab","getView","displayHistoryGrid","historyGrid","onError","refreshHistoryGrid","force","setStatus","AdvertiserCustomerID","time","getStatus","stat","state","resetStatus","resume","closeView","sharedInfo","filePickerOptions","composeReviewTableData","identifierOf","OfflineConversionFiles","where","resultsIdentifier","errorsIdentifier","composeErrorViewOptions","toUTCString","msg","extractSharedInfo","helpId","offlineConversionUploadButton","func","viewStrategy","taskStrategy","FilePickerView","UploadFileTask","PollerTask","sessionId","SessionId","composePreviewTableData","ReturnToFilePicker","UploadBulkSheet","emptyFunc","ErrorView","UploadConversionsViewModel","p$status","perfMarker","willRender","UploadConversionsTemplate","goalLink","tutorialView","RenderBulkUpload","UploadConverions","goToGoalsPage","navigate","ClickOnPageLink","GoToUetGoalsPageViaHelpLinkInEntryPage","reactivate","ReactivateBulkUpload","uploadConversions","keyword","dropdown","tour","link","addKeyword","changeBid","settings","audience","pug","module","exports","locals","pug_interp","pug_html","pug_mixins","locals_for_with","columns","attributes","$$obj","pug_index0","$$l","column","errorColumnIsHtml","pug_index1","header1","header2","header3","header4","header5","header6","header7","bulkEditInfo","entityNameHeader","popupId","ariaLabelContext","templateString","placeHolderText","FinalUrlJson","IsFinal","URL","DisableSuffix","MobileFinalURL","classes","linkId","displayText","topic","fBindQuery","clarityTemplate","MicrosoftClarityAccount","headerText","subheaderText","subheaderTitle","learnMoreLinkText","learnMoreLinkTopicId","contentText","contentCss","hasNext","topicId","helpContext","learnMore","DontHaveUetTagTmpl","goalTmpl","goalTextTmpl","fileTmpl","validationTextTmpl","createGoalTextTmpl","edgeLink","chromeLink","audienceLink","createConversionGoal","createRemarketingList","goalHelp","edgeExtLink","chromeExtLink","uetTagLink","createUetTag","fileTemplateExcel","fileTemplateCsv","subheader"],"sourceRoot":""}