{"version":3,"file":"static/js/application.async.landing~1623af59.1a9b75a5.chunk.js","mappings":"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","sources":["../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/step-utils.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-website.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-language-targeting.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/styles/bid-adjustments-styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/audience-bid-adjustment.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/shared/bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/shared/bulk-upsert-errors.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/shared/map-bulk-upsert-errors.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/shared/constants.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/dynamic-search-ad.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/dynamic-search-ad-bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/responsive-search-ad.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/responsive-search-ad-bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/multimedia-ad.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/multimedia-ad-bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-load.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/campaign-conversion.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/utils.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/campaign-criterion.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-extension.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/adjustment.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/dsa-settings.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/predictive-matching.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/campaign.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/campaign-bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/campaign-load.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-group.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-group-for-budget.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-group-load.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/keywords-load.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/budget.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/budget-bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/keyword-bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/adgroup-criterion.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/dsa-target.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-group-setting.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-rotation.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/dsa-target-load.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/ad-group-bulk.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/category-target-load.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-data/src/model/page-feeds.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-location-targeting.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/styles/disclaimer-styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-disclaimer.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-auto-generated-assets.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-conversion-goals.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/predictive-matching.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-no-protocol-website.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-dsa-setting.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-ad-group.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/utils.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/styles/default-bid-description-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/default-bid-description.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/styles/action-bar-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/action-bar.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/fluent-list-component/editable-fluent-list.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/styles/category-target-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/styles/shared-constant.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/styles/category-selector-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/list-header.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/list-item.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/utils.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/input-slot.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/category-selector.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/styles/category-target-item-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/category-target-item.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category/category-target.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/styles/panel-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/with-side-panel.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/category-target-panel.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/styles/specific-target-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/styles/exact-url-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/exact-url-target.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/styles/rule-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/rule-target.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/specific-target-panel.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/styles/custom-label-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/dynamic-ad-target-panel/custom-label-target-panel.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-dynamic-ad-target.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-campaign-dsa-setting.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/validated-brand-lists.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard-controls/src/with-use-campaign-settings.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/shared/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/campaign-settings/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/shared/step-header.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/campaign-settings/campaign-settings-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/shared/keyword-suggestion-util.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/campaign-settings/use-campaign-settings-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/util/parser.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/style/keyword-step-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/section-shimmer.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/style/keyword-suggestion-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/keyword-suggestion.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/util/use-circular-buffer-view.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/style/keyword-input-style.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/util/keyword-parse-helper.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/keywords-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/keyword-input.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/keywords/use-keywords-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/switch-ad-type-dialog.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/constants/ad-type.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/ad-type-selector.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/ad-footer.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/editors/rsa-styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/editors/rsa-editor.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/editors/mma-styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/editors/mma-editor.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/editors/dsa-styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/editors/dsa-editor.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/editors/index.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/ad-editor.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/use-ads-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/ads-management/rsa-preview.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/ads-management/mma-preview.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/ads-management/dsa-preview.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/ads-management/ad-list-item.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/ads-management/ad-list.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/ads-management/create-ad-button.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/ads-management/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/ads-management/ads-manager.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/add-text/add-text-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/extensions/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/extensions/extensions-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/extensions/use-extensions-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/budget/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/budget/budget-and-bids-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/budget/use-budget-and-bid-settings-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/summary/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/summary/use-summary-schema-data.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/summary/summary-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/summary/schema.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/summary/use-summary-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/campaign-edit-settings/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/wizards/constants.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/campaign-edit-settings/campaign-edit-settings-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/campaign-edit-settings/use-campaign-edit-settings-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/adgroup-edit-settings/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/adgroup-edit-settings/adgroup-edit-settings-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/adgroup-edit-settings/use-adgroup-edit-settings-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/adgroup-settings/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/adgroup-settings/adgroup-settings-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/adgroup-settings/use-adgroup-settings-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/bid-and-target/styles.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/bid-and-target/bid-and-target-step.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/bid-and-target/use-bid-and-target-repository.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/step-configs.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/steps/summary/back-to-summary-toast.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/shared/creation-footer.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/shared/logger-under-activity.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/constants/logger.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/shared/with-step-activity.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/wizards/creation-wizard.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/wizards/search-campaign-creation-wizard.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/shared/edit-footer.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/wizards/edit-wizard.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/wizards/search-campaign-edit-wizard.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/wizards/search-adgroup-creation-wizard.js","../../../node_modules/@bingads-webui-campaign-react/search-campaign-wizard/src/wizards/search-adgroup-edit-wizard.js","../../../node_modules/@bingads-webui-campaign-react/search-theme-selector/src/alerts.js","../../../node_modules/@bingads-webui-campaign-react/search-theme-selector/src/search-theme-selector-section-impl.js","../../../node_modules/@bingads-webui-campaign-react/search-theme-selector/src/search-theme-selector-section.js","../../../node_modules/@bingads-webui-campaign-react/shared-app-capi/src/urls.js","../../../node_modules/@bingads-webui-campaign-react/shared-app-capi/src/shared-wizard-context.js","../../../node_modules/@bingads-webui-campaign-react/shared-app-capi/src/wizard-scope-context.js","../../../node_modules/@bingads-webui-campaign-react/shared-app-capi/src/wizard-server-context.js","../../../node_modules/@bingads-webui-campaign-react/shared-app-capi/src/ab-testing-event-log.js","../../../node_modules/@bingads-webui-campaign-react/shared-app-capi/src/customer-journey-provider.js","../../../node_modules/@bingads-webui-campaign-react/shared-app-capi/src/signup-flow-provider.js","../../../node_modules/@bingads-webui-campaign-react/shared-app-capi/src/signup-flow-logger.js","../../../node_modules/@bingads-webui-campaign-react/shared-image-preview-styles/src/common-preview-container-styles.js","../../../node_modules/@bingads-webui-campaign-react/shared-tile/src/shared-props.js","../../../node_modules/@bingads-webui-campaign-react/shared-tile/src/get-styles.js","../../../node_modules/@bingads-webui-campaign-react/shared-tile/src/tile-header.js","../../../node_modules/@bingads-webui-campaign-react/shared-tile/src/tile-footer.js","../../../node_modules/@bingads-webui-campaign-react/shared-tile/src/tile.js","../../../node_modules/@bingads-webui-campaign-react/shared-tile/src/components/page-navigation-footer.js","../../../node_modules/@bingads-webui-campaign-react/shared-tile/src/components/page-navigation-footer-styles.js","../../../node_modules/@bingads-webui-campaign-react/shopping-coupon-callout/src/constants.js","../../../node_modules/@bingads-webui-campaign-react/shopping-coupon-callout/src/use-shopping-fac.js","../../../node_modules/@bingads-webui-campaign-react/shopping-coupon-callout/src/index.js","../../../node_modules/@bingads-webui-campaign-react/shopping-coupon-callout/src/with-shopping-fac.js","../../../node_modules/@bingads-webui-campaign-react/signup-user-info-form/src/signup-user-info-form.js","../../../node_modules/@bingads-webui-campaign-react/signup-user-info-form/src/signup-user-info-dialog.js","../../../node_modules/@bingads-webui-campaign-react/signup-user-info-form/src/use-user-info.js","../../../node_modules/@bingads-webui-campaign-react/simplified-sign-up-suggestions/src/config/states.js","../../../node_modules/@bingads-webui-campaign-react/simplified-sign-up-suggestions/src/config/events.js","../../../node_modules/@bingads-webui-campaign-react/simplified-sign-up-suggestions/src/config/actions.js","../../../node_modules/@bingads-webui-campaign-react/simplified-sign-up-suggestions/src/config/machine-config.js","../../../node_modules/@bingads-webui-campaign-react/simplified-sign-up-suggestions/src/config/guards.js","../../../node_modules/@bingads-webui-campaign-react/simplified-sign-up-suggestions/src/config/services.js","../../../node_modules/@bingads-webui-campaign-react/simplified-sign-up-suggestions/src/use-suggestions-service.js","../../../node_modules/@bingads-webui-campaign-react/searchable-multi-selector-input/src/components/styles.ts","../../../node_modules/@bingads-webui-campaign-react/searchable-multi-selector-input/src/components/combobox.tsx","../../../node_modules/@bingads-webui-campaign-react/searchable-multi-selector-input/src/searchable-multi-selector-input.tsx","../../../node_modules/@bingads-webui-campaign-react/searchable-multi-selector-input/src/hooks/use-paginated-fetching-state.ts","../../../node_modules/@bingads-webui-campaign-react/searchable-multi-selector-input/src/hooks/use-fetching-state.ts","../../../node_modules/@bingads-webui-campaign-react/searchable-multi-selector-input/src/hooks/use-filter-on-client.ts"],"sourcesContent":["export const SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS = {\r\n CAMPAIGN_SETTINGS: 'CAMPAIGN_SETTINGS',\r\n KEYWORDS: 'KEYWORDS',\r\n CREATE_AD: 'CREATE_AD',\r\n ADD_MORE_ASSETS: 'ADD_MORE_ASSETS',\r\n BUDGET_AND_BIDS: 'BUDGET_AND_BIDS',\r\n SUMMARY: 'SUMMARY',\r\n};\r\n\r\nexport const getCampaignCreationStepListConfig = ({ i18n, showExtensionsStep = false }) => [{\r\n id: SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.CAMPAIGN_SETTINGS,\r\n title: i18n.getString(_TL_('Campaign settings')),\r\n}, {\r\n id: SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.KEYWORDS,\r\n title: i18n.getString(_TL_('Keywords')),\r\n}, {\r\n id: SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.CREATE_AD,\r\n title: i18n.getString(_TL_('Create ad')),\r\n ...showExtensionsStep && {\r\n steps: [{\r\n id: SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.CREATE_AD,\r\n title: i18n.getString(_TL_('Add text')),\r\n }, {\r\n id: SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.ADD_MORE_ASSETS,\r\n title: i18n.getString(_TL_('Add more assets')),\r\n }],\r\n },\r\n}, {\r\n id: SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.BUDGET_AND_BIDS,\r\n title: i18n.getString(_TL_('Budget & bids')),\r\n}, {\r\n id: SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.SUMMARY,\r\n title: i18n.getString(_TL_('Summary')),\r\n}];\r\n\r\nexport const getSearchCampaignCreationFlow = (flowFactors) => {\r\n const { showExtensions = false } = flowFactors;\r\n\r\n if (showExtensions) {\r\n return [\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.CAMPAIGN_SETTINGS,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.KEYWORDS,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.CREATE_AD,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.ADD_MORE_ASSETS,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.BUDGET_AND_BIDS,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.SUMMARY,\r\n ];\r\n }\r\n\r\n return [\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.CAMPAIGN_SETTINGS,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.KEYWORDS,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.CREATE_AD,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.BUDGET_AND_BIDS,\r\n SEARCH_CAMPAIGN_CREATION_WIZARD_STEP_PATHS.SUMMARY,\r\n ];\r\n};\r\n\r\nexport const SEARCH_CAMPAIGN_EDIT_WIZARD_STEP_PATHS = {\r\n CAMPAIGN_EDIT_SETTINGS: 'CAMPAIGN_EDIT_SETTINGS',\r\n};\r\n\r\nexport const SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS = {\r\n AD_GROUP_SETTINGS: 'AD_GROUP_SETTINGS',\r\n KEYWORDS: 'KEYWORDS',\r\n CREATE_AD: 'CREATE_AD',\r\n CREATE_DSA_AD: 'CREATE_DSA_AD',\r\n BID_AND_TARGET: 'BID_AND_TARGET',\r\n BID_AND_TARGET_DSA: 'BID_AND_TARGET_DSA',\r\n};\r\n\r\nexport const getAdGroupCreationStepListConfig = ({ i18n }) => [{\r\n id: SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.AD_GROUP_SETTINGS,\r\n title: i18n.getString(_TL_('Ad group')),\r\n}, {\r\n id: SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.KEYWORDS,\r\n title: i18n.getString(_TL_('Keywords')),\r\n}, {\r\n id: SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.CREATE_AD,\r\n title: i18n.getString(_TL_('Create ads')),\r\n}, {\r\n id: SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.CREATE_DSA_AD,\r\n title: i18n.getString(_TL_('Create ads')),\r\n}, {\r\n id: SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.BID_AND_TARGET,\r\n title: i18n.getString(_TL_('Targets & bids')),\r\n}, {\r\n id: SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.BID_AND_TARGET_DSA,\r\n title: i18n.getString(_TL_('Targets & bids')),\r\n}];\r\n\r\nexport const SEARCH_AD_GROUP_EDIT_WIZARD_STEP_PATHS = {\r\n AD_GROUP_EDIT_SETTINGS: 'AD_GROUP_EDIT_SETTINGS',\r\n};\r\n\r\nexport const AD_GROUP_TYPES = {\r\n SearchStandard: 'SearchStandard',\r\n SearchDynamic: 'SearchDynamic',\r\n};\r\n\r\nexport const AD_GROUP_TYPE_STRINGS = {\r\n [AD_GROUP_TYPES.SearchStandard]: _TL_('Standard'),\r\n [AD_GROUP_TYPES.SearchDynamic]: _TL_('Dynamic'),\r\n};\r\n\r\nexport const getSearchAdGroupCreationFlow = (flowFactors) => {\r\n const { adGroupType } = flowFactors;\r\n\r\n if (adGroupType === AD_GROUP_TYPES.SearchStandard) {\r\n return [\r\n SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.AD_GROUP_SETTINGS,\r\n SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.KEYWORDS,\r\n SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.CREATE_AD,\r\n SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.BID_AND_TARGET,\r\n ];\r\n }\r\n\r\n return [\r\n SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.AD_GROUP_SETTINGS,\r\n SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.CREATE_DSA_AD,\r\n SEARCH_AD_GROUP_CREATION_WIZARD_STEP_PATHS.BID_AND_TARGET_DSA,\r\n ];\r\n};\r\n","import { first, contains, isEmpty } from 'underscore';\r\nimport React, { useContext, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { Label, Stack } from '@fluentui/react';\r\nimport { UrlInputFluent } from '@bingads-webui-campaign-react/url-input-fluent';\r\nimport { UrlInputFluent as UrlInputFluentV2 } from '@bingads-webui-campaign-react/url-input-fluent-v2';\r\nimport { HelpPopupInline } from '@bingads-webui-react/help-popup';\r\nimport { withError, withCustomValidation } from '@bingads-webui-react/validation';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { Input } from '@fluentui/react-components';\r\n\r\n\r\nconst getStyles = () =>\r\n ({\r\n websiteTitle: {\r\n '& .title': {\r\n fontSize: '16px',\r\n fontWeight: '600',\r\n },\r\n },\r\n websiteContent: {\r\n width: '380px',\r\n '& .url-field': {\r\n width: '380px',\r\n },\r\n },\r\n });\r\n\r\nexport const emptyUrls = ['http://', 'https://'];\r\n\r\nexport const ValidatedWebsiteTitle = () => {\r\n const classes = useDefaultStyles(getStyles);\r\n const i18n = useContext(I18nContext);\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nconst ValidatedWebsiteContent = ({\r\n validationProps, updateValidation, validateOnRender, enableSpecialCharactersValidation, useFluentV2, isEmptyValid, disabled,\r\n}) => {\r\n const { data: websites } = validationProps;\r\n const website = first(websites);\r\n\r\n const classes = useDefaultStyles(getStyles);\r\n const i18n = useContext(I18nContext);\r\n const activity = useContext(ActivityContext);\r\n\r\n const onChange = useCallback((errors, value) => {\r\n if (isEmptyValid && (!value || contains(emptyUrls, value))) {\r\n // website is optional\r\n updateValidation([], { websites: [value] });\r\n } else {\r\n updateValidation(errors, { websites: [value] }, (!isEmpty(errors) && !!website));\r\n }\r\n\r\n if (activity) {\r\n activity.signal(`onWebsiteChanged - ${JSON.stringify(value)}`);\r\n }\r\n }, [activity, updateValidation, isEmptyValid, website]);\r\n\r\n return (\r\n
\r\n {\r\n disabled && (\r\n \r\n )\r\n }\r\n {\r\n !disabled && (\r\n useFluentV2 ? (\r\n ) : (\r\n \r\n )\r\n )\r\n }\r\n
\r\n );\r\n};\r\n\r\nValidatedWebsiteContent.propTypes = {\r\n validationProps: PropTypes.shape({\r\n data: PropTypes.shape([]),\r\n }).isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n validateOnRender: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n enableSpecialCharactersValidation: PropTypes.bool,\r\n useFluentV2: PropTypes.bool,\r\n isEmptyValid: PropTypes.bool,\r\n};\r\n\r\nValidatedWebsiteContent.defaultProps = {\r\n validateOnRender: false,\r\n disabled: false,\r\n enableSpecialCharactersValidation: false,\r\n useFluentV2: false,\r\n isEmptyValid: false,\r\n};\r\n\r\nexport const ValidatedWebsite = withError(withCustomValidation(ValidatedWebsiteContent));\r\n","import { contains, isEmpty } from 'underscore';\r\nimport { withValidation, withError, AdapterFactory } from '@bingads-webui-react/validation';\r\nimport { globalizationModelSetup } from '@bingads-webui-campaign/ads-globalization';\r\nimport { LanguageTarget, campaignLanguageStrings } from '@bingads-webui-campaign-react/language-target';\r\nimport { get } from '@bingads-webui-component-legacy/language-selector/util/defaultLanguage';\r\n\r\nexport { campaignLanguageStrings };\r\n\r\nconst LanguageTargetValidationAdapter = AdapterFactory({\r\n defaultValue: [],\r\n valueToInject: 'selectedLanguages',\r\n functionToInject: 'setSelectedLanguages',\r\n});\r\n\r\nexport const getDefaultLanguage = (permissions, locale) => {\r\n const { LANGUAGES: supportedLanguages } = globalizationModelSetup({ permissions, culture: locale });\r\n let defaultLanguage = [get()].filter(language => contains(supportedLanguages, language));\r\n if (isEmpty(defaultLanguage)) {\r\n defaultLanguage = [];\r\n }\r\n return defaultLanguage;\r\n};\r\n\r\nexport const LanguageTargetValidatorFactory = i18n => function LanguageTargetValidator(value, defaultValidator) {\r\n const defaultErrors = defaultValidator(value);\r\n return [\r\n ...isEmpty(defaultErrors) ? [] : defaultErrors,\r\n ...value.length < 1 ? [i18n.getString(_TL_('Select at least one language'))] : [],\r\n ];\r\n};\r\n\r\nexport const ValidatedLanguageTarget = withError(withValidation(LanguageTarget, LanguageTargetValidationAdapter));\r\n","import {\r\n audienceAssociationSectionStyle,\r\n commonDoubleListBoxStyle,\r\n convertToLocalStyle,\r\n glyphIconStyle,\r\n helpbuttonStyle,\r\n paginationStyle,\r\n searchboxStyle,\r\n uiblockerStyle,\r\n audienceModalStyles,\r\n audienceExpressionStyle,\r\n audienceCombinedListStyle,\r\n tableStyle,\r\n} from '@bingads-webui-campaign-react/common-styles';\r\nimport {\r\n audienceTargetsSettingsStyles,\r\n criterionSettingIndustryStyles,\r\n audienceBudgetBidsStyles,\r\n} from '@bingads-webui-campaign-react/campaign-adgroup-settings-shared-styles';\r\n\r\nexport const getBidAdjustmentStylesTargetStyles = (_, { palette }) => ({\r\n '@global': {\r\n ...uiblockerStyle({ palette }),\r\n ...audienceModalStyles({ palette }, { modalWidth: 500 }),\r\n ...audienceExpressionStyle(),\r\n ...audienceCombinedListStyle({ palette }),\r\n },\r\n pickerContainer: {\r\n ...criterionSettingIndustryStyles({ palette }, { targetGridWidth: 816 }),\r\n ...audienceAssociationSectionStyle({ palette }, { singleListBoxWidth: 450 }),\r\n ...audienceTargetsSettingsStyles({ palette }),\r\n ...audienceBudgetBidsStyles({ palette }),\r\n ...commonDoubleListBoxStyle({ palette }),\r\n ...paginationStyle({ palette }),\r\n ...tableStyle({ palette }),\r\n ...searchboxStyle({ palette }),\r\n ...convertToLocalStyle(glyphIconStyle({ palette })),\r\n ...convertToLocalStyle(helpbuttonStyle({ palette })),\r\n '& .statusEnabled_icon::before': {\r\n color: '#107c10',\r\n content: '\"\\\\ECCC\"',\r\n fontFamily: 'MsAds MDL2 Assets',\r\n },\r\n '& .statusPaused_icon::before': { // Todo: find icons for status disabled etc.\r\n color: '#323130',\r\n content: '\"\\\\F6B0\"',\r\n fontFamily: 'MsAds MDL2 Assets',\r\n },\r\n '& .statusExcluded_icon::before': { // Todo: find icons for status disabled etc.\r\n color: '#A80000',\r\n content: '\"\\\\E733\"',\r\n fontFamily: 'MsAds MDL2 Assets',\r\n },\r\n '& table[target-type=\"OriginalDevice\"]': {\r\n '& tr': {\r\n '&.deviceSettings.target': {\r\n '& .checkbox input.targetDevice': {\r\n position: 'static',\r\n marginLeft: 10,\r\n display: 'inline-block',\r\n verticalAlign: 'middle',\r\n },\r\n\r\n '& td>div:last-child .link': {\r\n verticalAlign: 'middle',\r\n },\r\n },\r\n\r\n '& .bidBoost-options': {\r\n width: 97,\r\n marginRight: 8,\r\n },\r\n\r\n '& .bidBoost-percentValue': {\r\n width: 66,\r\n marginRight: 8,\r\n },\r\n },\r\n },\r\n },\r\n editTargetButtonContainer: {\r\n paddingBottom: '8px',\r\n },\r\n noTargetSelected: {\r\n marginRight: '5px',\r\n },\r\n hide: {\r\n display: 'none',\r\n },\r\n});\r\n","import { size } from 'underscore';\r\nimport React, { useEffect, useState, useMemo, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Switch } from '@fluentui/react-components';\r\nimport { BidAdjustment } from '@bingads-webui-campaign/target-bid-adjustment';\r\nimport { AgeRange } from '@bingads-webui-campaign-react/xandr-campaign';\r\nimport { AudienceTargetInfo } from '@bingads-webui-campaign/audience-target-info';\r\nimport { withCustomValidation } from '@bingads-webui-react/validation';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\n\r\nimport { getBidAdjustmentStylesTargetStyles } from './styles/bid-adjustments-styles';\r\n\r\nexport const AgeRanges = {\r\n EighteenToTwentyFive: '18-24',\r\n TwentyFiveToThirtyFive: '25-34',\r\n ThirtyFiveToFifty: '35-49',\r\n FiftyToSixtyFive: '50-64',\r\n SixtyFiveAndAbove: '65+',\r\n};\r\n\r\nexport const AdGroupAgeRanges = {\r\n ...AgeRanges,\r\n Unknown: 'Unknown',\r\n};\r\n\r\nconst getTarget = (target, type) => {\r\n switch (type) {\r\n case 'Device':\r\n return target && target.DeviceCriterion && target.DeviceCriterion.DeviceName;\r\n case 'Gender':\r\n return target && target.GenderCriterion && target.GenderCriterion.Target;\r\n case 'Age':\r\n return target && target.AgeCriterion && AdGroupAgeRanges[target.AgeCriterion.Target];\r\n case 'CompanyName':\r\n return target && target.CompanyNameCriterion && target.CompanyNameCriterion.Target;\r\n case 'Industry':\r\n return target && target.IndustryCriterion && target.IndustryCriterion.Target;\r\n case 'JobFunction':\r\n return target && target.JobFunctionCriterion && target.JobFunctionCriterion.Target;\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nconst localizedCriterionType = (i18n, criterionType) => {\r\n switch (criterionType) {\r\n case 'Device':\r\n return i18n.getString(_TL_('Device'));\r\n case 'Gender':\r\n return i18n.getString(_TL_('Gender'));\r\n case 'Age':\r\n return i18n.getString(_TL_('Age'));\r\n case 'CompanyName':\r\n return i18n.getString(_TL_('Company name'));\r\n case 'Industry':\r\n return i18n.getString(_TL_('Industry'));\r\n case 'JobFunction':\r\n return i18n.getString(_TL_('Job function'));\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nexport const getBidAdjuestmentTitleDetails = (i18n, params = [], type, useCampaignSettings = false) => {\r\n let details = '';\r\n const len = params.length;\r\n params.forEach((key, index) => {\r\n const { BidAdjustment: bid } = key && key.Criterion;\r\n details += `${i18n.getString(_TL_('Targeted'))}: ${i18n.getString(_TL_(getTarget(key && key.Criterion, type)))}, `;\r\n details += `${bid < 0 ? i18n.getString(_TL_('Decrease by')) : i18n.getString(_TL_('Increase by'))}: ${Math.abs(bid)}%`;\r\n if (details && index < len - 1) {\r\n details += ', ';\r\n }\r\n });\r\n return useCampaignSettings ? i18n.getString(_TL_('Using campaign settings: {{settings}}'), { settings: details }) : details;\r\n};\r\n\r\nexport const getBidAdjuestmentTitleSummary = (i18n, targets, strings, useCampaignSettings = false) => {\r\n const {\r\n noTarget = _TL_('No targets set'),\r\n singleTarget = '',\r\n multipleTargets = '',\r\n } = strings;\r\n const number = size(targets);\r\n let formattedTargets = '';\r\n switch (number) {\r\n case 0:\r\n formattedTargets = i18n.getString(noTarget);\r\n break;\r\n case 1:\r\n formattedTargets = i18n.getString(singleTarget, { number });\r\n break;\r\n default:\r\n formattedTargets = i18n.getString(multipleTargets, { number });\r\n break;\r\n }\r\n return useCampaignSettings ? i18n.getString(_TL_('Using campaign settings: {{settings}}'), { settings: formattedTargets }) : formattedTargets;\r\n};\r\n\r\nconst BidAdjustmentInternal = ({\r\n cid,\r\n aid,\r\n campaignId,\r\n adGroupId,\r\n criterionType,\r\n criterionLevel,\r\n level,\r\n updateValidation,\r\n i18n,\r\n data,\r\n ranges,\r\n readOnly,\r\n parentData,\r\n}) => {\r\n const [bidAdjustmentRef, setBidAdjustmentRef] = useState();\r\n const [checked, setChecked] = useState(readOnly);\r\n\r\n const classes = useDefaultStyles(getBidAdjustmentStylesTargetStyles);\r\n\r\n const currentLevelTargetInfo = useMemo(() => (\r\n new AudienceTargetInfo({\r\n resourceName: criterionLevel,\r\n isForVNext: true,\r\n initAudienceAssociationView: false,\r\n })), [criterionLevel]);\r\n\r\n const currentParentLevelTargetInfo = useMemo(() => new AudienceTargetInfo({\r\n resourceName: 'CampaignCriterion',\r\n isForVNext: true,\r\n initAudienceAssociationView: false,\r\n }), []);\r\n\r\n const onSwitchChange = useCallback((e) => {\r\n setChecked(e.currentTarget.checked);\r\n const updatedValue = { [`currentSelected${criterionType}Level`]: e.currentTarget.checked ? 'campaign' : 'adgroup' };\r\n\r\n updateValidation([], updatedValue);\r\n }, [criterionType, updateValidation]);\r\n\r\n const onChange = useCallback((valid = true, newValue) => {\r\n const updatedValue = { [criterionType]: newValue || currentLevelTargetInfo.getSnapshot(false) };\r\n\r\n updateValidation(valid ? [] : [i18n.getString(_TL_('{{criterionType}} target has validation errors'), { criterionType: localizedCriterionType(i18n, criterionType) })], updatedValue);\r\n }, [criterionType, currentLevelTargetInfo, i18n, updateValidation]);\r\n\r\n const bidAdjustmentGridview = useMemo(() => {\r\n const view = new BidAdjustment({\r\n currentLevelTargetInfo: readOnly ? currentParentLevelTargetInfo : currentLevelTargetInfo,\r\n isForVNext: true,\r\n campaignId,\r\n adGroupId,\r\n criterionTypes: [criterionType],\r\n supportCashbackSettings: false,\r\n showExclusion: false,\r\n isAudienceCampaign: false,\r\n level,\r\n onChange,\r\n readonly: readOnly,\r\n });\r\n\r\n view.render();\r\n\r\n return view;\r\n }, [adGroupId, campaignId, criterionType, currentLevelTargetInfo, currentParentLevelTargetInfo, level, onChange, readOnly]);\r\n\r\n useEffect(() => {\r\n if (bidAdjustmentRef && bidAdjustmentGridview) {\r\n bidAdjustmentRef.innerHTML = '';\r\n bidAdjustmentRef.append(bidAdjustmentGridview.el);\r\n }\r\n }, [bidAdjustmentRef, bidAdjustmentGridview]);\r\n\r\n useEffect(() => {\r\n if (bidAdjustmentRef) {\r\n currentLevelTargetInfo.off(`${criterionLevel}${criterionType}Changed`, () => onChange());\r\n if (data && data.length > 0) {\r\n currentLevelTargetInfo.destroyAllAsync();\r\n currentLevelTargetInfo.createMultipleAsync(data);\r\n }\r\n if (parentData && parentData.length > 0) {\r\n currentParentLevelTargetInfo.destroyAllAsync();\r\n currentParentLevelTargetInfo.createMultipleAsync(parentData);\r\n }\r\n\r\n currentLevelTargetInfo.on(`${criterionLevel}${criterionType}Changed`, () => onChange());\r\n }\r\n }, [aid, bidAdjustmentRef, campaignId, adGroupId, cid, onChange, criterionType, criterionLevel, level, readOnly, ranges]);\r\n\r\n return (\r\n
\r\n {level === 'adgroup' && \r\n }\r\n {level === 'adgroup' && !readOnly && criterionType === 'Age' && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
setBidAdjustmentRef(newRef)} />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nBidAdjustmentInternal.propTypes = {\r\n criterionType: PropTypes.string.isRequired,\r\n cid: PropTypes.string.isRequired,\r\n aid: PropTypes.string.isRequired,\r\n campaignId: PropTypes.string.isRequired,\r\n adGroupId: PropTypes.string.isRequired,\r\n criterionLevel: PropTypes.string,\r\n updateValidation: PropTypes.func.isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }).isRequired,\r\n level: PropTypes.string,\r\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n ranges: PropTypes.arrayOf(PropTypes.string),\r\n readOnly: PropTypes.bool,\r\n parentData: PropTypes.arrayOf(PropTypes.shape({})),\r\n};\r\n\r\nBidAdjustmentInternal.defaultProps = {\r\n criterionLevel: 'CampaignCriterion',\r\n level: 'campaign',\r\n readOnly: false,\r\n parentData: null,\r\n ranges: undefined,\r\n};\r\n\r\nexport const ValidatedBidAdjustment = withCustomValidation(BidAdjustmentInternal);\r\n","import { identity } from 'underscore';\r\nimport { convertToAdModelInResponse } from '@bingads-webui-campaign-react/responsive-ad-editor-utils';\r\n\r\nconst convertFuncs = {\r\n Responsive: convertToAdModelInResponse,\r\n ResponsiveSearch: identity,\r\n};\r\n\r\nexport const viewModelToModelInResponseForAd = (adViewModel = { data: {} }, adType) => {\r\n const { data } = adViewModel;\r\n const convertFunc = convertFuncs[adType] || identity;\r\n return {\r\n ...adViewModel,\r\n data: convertFunc(data),\r\n };\r\n};\r\n","import { has } from 'underscore';\r\n\r\nexport const isBulkWrappedResponse = bulkResult => has(bulkResult, 'entity'); // && has(bulkResult, 'errors');\r\n","import { identity, contains, isEmpty, isEqual } from 'underscore';\r\nimport { mapBulkUpsertErrors } from './map-bulk-upsert-errors';\r\n\r\nexport const ERROR_ENTITY = {\r\n Campaign: 'campaign',\r\n AdGroup: 'adGroup',\r\n Keyword: 'keyword',\r\n ResponsiveAd: 'ResponsiveAd',\r\n ResponsiveSearchAd: 'ResponsiveSearchAd',\r\n DynamicSearchAd: 'DynamicSearchAd',\r\n CampaignConversionGoal: 'campaignConversionGoal',\r\n CampaignDayTimeCriterion: 'campaignDayTimeCriterion',\r\n AdGroupDayTimeCriterion: 'adGroupDayTimeCriterion',\r\n CampaignDeviceOSCriterion: 'campaignDeviceOSCriterion',\r\n AdGroupDeviceOSCriterion: 'adGroupDeviceOSCriterion',\r\n CampaignDisclaimerAdExtension: 'Campaign Disclaimer Ad Extension Error',\r\n CampaignGenderCriterion: 'campaignGenderCriterion',\r\n AdGroupGenderCriterion: 'adGroupGenderCriterion',\r\n CampaignAgeCriterion: 'campaignAgeCriterion',\r\n AdGroupAgeCriterion: 'adGroupAgeCriterion',\r\n CampaignCompanyNameCriterion: 'campaignCompanyNameCriterion',\r\n AdGroupCompanyNameCriterion: 'adGroupCompanyNameCriterion',\r\n CampaignIndustryCriterion: 'campaignIndustryCriterion',\r\n AdGroupIndustryCriterion: 'adGroupIndustryCriterion',\r\n CampaignJobFunctionCriterion: 'campaignJobFunctionCriterion',\r\n AdGroupJobFunctionCriterion: 'adGroupJobFunctionCriterion',\r\n AdGroupDynamicSearchAdTargetError: 'Ad Group Dynamic Search Ad Target Error',\r\n BrandListAssociation: 'brandListAssociation',\r\n CampaignLocation: 'campaignLocation',\r\n CampaignRadius: 'campaignRadius',\r\n CampaignNegativeLocation: 'campaignNegativeLocation',\r\n CampaignLocationIntent: 'campaignLocationIntent',\r\n AdGroupLocation: 'adGroupLocation',\r\n AdGroupRadius: 'adGroupRadius',\r\n AdGroupNegativeLocation: 'adGroupNegativeLocation',\r\n AdGroupLocationIntent: 'adGroupLocationIntent',\r\n};\r\n\r\nexport const serverErrorsCompare = (prev, curr) => !(!isEmpty(curr) && !isEqual(prev, curr));\r\n\r\nconst getBulkUploadEntityType = entitySchema =>\r\n (entitySchema.properties['bulk-upload-type'] || {}).value ||\r\n entitySchema.name;\r\n\r\nexport const getBulkUploadErrorType = entitySchema =>\r\n `${getBulkUploadEntityType(entitySchema)} Error`;\r\n\r\nexport const modelToViewModelForBulkErrors = (errors, bulkUpsertEntityErrorMap, scenario, i18n, activityLogger, errorProcessor = identity) =>\r\n mapBulkUpsertErrors(errors, bulkUpsertEntityErrorMap, errorProcessor, scenario, i18n, activityLogger);\r\n\r\nconst ReferencedEntityInvalidIdErrors = ['CampaignServiceInvalidCampaignId', 'CampaignServiceFutureFeatureCode', 'CampaignServiceInvalidAdGroupId'];\r\nexport const removeReferencedEntityInvalidIdErrors = bulkErrors =>\r\n bulkErrors.filter(({ Error }) => !contains(ReferencedEntityInvalidIdErrors, Error));\r\n\r\nexport const getPanelErrorProps = ({ needsAttention }) => (needsAttention ? {\r\n error: _TL_(\"* Something's wrong\"),\r\n} : {});\r\n","import { identity, result } from 'underscore';\r\nimport { getBulkApiErrors } from '@bingads-webui-campaign/api-errors';\r\n\r\nexport const mapBulkUpsertErrors = (errors, bulkUpsertEntityErrorMap, errorProcessor = identity, scenario, i18n, activityLogger) =>\r\n getBulkApiErrors(errors, scenario, i18n, activityLogger).map((error) => {\r\n const errorType = error.type;\r\n const mappedErrorType = result(bulkUpsertEntityErrorMap, errorType, errorType);\r\n // eslint-disable-next-line no-param-reassign\r\n error.type = mappedErrorType;\r\n return errorProcessor(error);\r\n });\r\n","export const GENERIC_ERROR_MESSAGE_KEY = _TL_(\"We've encountered an error and can't continue. Please contact support for further assistance.\");\r\n\r\nexport const getErrorsPlaceholders = () => ({\r\n systemErrors: [],\r\n serverErrors: [],\r\n});\r\n\r\nexport const CAMPAIGN_NEGATIVE_REFERENCE_ID = -1;\r\nexport const KEYWORDS_SHOW_COUNT = 100;\r\n","import { filter, isEmpty, pick } from 'underscore';\r\n\r\nconst whitelistedSchemaPropertyKeysForModel = [\r\n 'Id',\r\n 'Text',\r\n 'TextPart2',\r\n 'Path1',\r\n 'Path2',\r\n 'FinalUrlSuffix',\r\n 'TrackingUrlTemplate',\r\n 'UrlCustomParameters',\r\n 'Type',\r\n];\r\n\r\nexport const viewModelToModelForDSA = (adViewModel, campaignId, adGroupId) => ({\r\n ...pick(adViewModel, whitelistedSchemaPropertyKeysForModel),\r\n UrlCustomParameters: filter(adViewModel.UrlCustomParameters, ({ Key }) => !isEmpty(Key)),\r\n Campaign: { Id: campaignId },\r\n AdGroup: { Id: adGroupId },\r\n});\r\n\r\nexport const bulkModelToViewModelForDSA = ({\r\n adModel,\r\n errors,\r\n}) => ({\r\n ...pick(adModel, whitelistedSchemaPropertyKeysForModel),\r\n errors,\r\n});\r\n","import { all, extend } from 'underscore';\r\nimport { Campaign, AdGroup, DynamicSearchAd } from '@bingads-webui/campaign-odata-schemas';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport CampaignCacheManager from '@bingads-webui-campaign-legacy/cache-manager';\r\nimport { isBulkWrappedResponse } from '../shared/bulk';\r\nimport { ERROR_ENTITY, getBulkUploadErrorType, modelToViewModelForBulkErrors, removeReferencedEntityInvalidIdErrors } from '../shared/bulk-upsert-errors';\r\nimport { GENERIC_ERROR_MESSAGE_KEY } from '../shared/constants';\r\nimport { viewModelToModelForDSA, bulkModelToViewModelForDSA } from './dynamic-search-ad';\r\n\r\nconst adResource = new (edmCampaign.types.resolve('Model.DynamicSearchAd')).ResourceIdentifier();\r\n\r\nconst createOrUpdateAd = (ad) => {\r\n const createOrUpdateCall = ad && ad.Id ?\r\n adResource.bulkUpdate.bind(adResource) :\r\n adResource.bulkCreate.bind(adResource);\r\n return createOrUpdateCall(ad);\r\n};\r\n\r\nexport const deleteAd = (adId, options) => {\r\n const destroyCall = adResource.bulkDestroy.bind(adResource);\r\n return destroyCall(adId, options);\r\n};\r\n\r\nconst bulkUpsertAdEntityErrorMap = {\r\n [getBulkUploadErrorType(Campaign)]: ERROR_ENTITY.Campaign,\r\n [getBulkUploadErrorType(AdGroup)]: ERROR_ENTITY.AdGroup,\r\n [getBulkUploadErrorType(DynamicSearchAd)]: ERROR_ENTITY.DynamicSearchAd,\r\n};\r\n\r\nconst errorProcessor = error => extend({}, error, {\r\n Property: error.property,\r\n Message: error.message,\r\n Code: error.code,\r\n});\r\n\r\nexport const saveAd = ({\r\n ad: adViewModel,\r\n campaignId,\r\n adGroupId,\r\n}, {\r\n i18n,\r\n scenario,\r\n activityLogger,\r\n}) => {\r\n const adModel = viewModelToModelForDSA(adViewModel, campaignId, adGroupId);\r\n\r\n return createOrUpdateAd(adModel)\r\n // with bulk the result will have shape of:\r\n // - { ...entityData } - in case of success;\r\n // - { entity: { ...entityData }, errors: [(EditorialError|MTError)] } - in case of error(s).\r\n .then((result) => {\r\n const data = bulkModelToViewModelForDSA({\r\n adModel: result,\r\n });\r\n return { data };\r\n }, (bulkOrSystemError) => {\r\n const { entity, errors } = bulkOrSystemError;\r\n\r\n // Ignore errors if the entity was eventually created and all the errors are editorial errors\r\n if (entity && entity.Id && all(errors, error => error.Error === 'CampaignServiceEditorialValidationError')) {\r\n CampaignCacheManager.invalidate('Ad'); // Cache is not automatically invalidated since the API failed\r\n return {\r\n data: bulkModelToViewModelForDSA({\r\n adModel: entity,\r\n }),\r\n editorialErrors: errors,\r\n };\r\n }\r\n\r\n if (isBulkWrappedResponse(bulkOrSystemError)) {\r\n let filteredErrors = errors;\r\n if (entity.Id <= 0) {\r\n filteredErrors = removeReferencedEntityInvalidIdErrors(errors);\r\n }\r\n\r\n const serverErrors = modelToViewModelForBulkErrors(\r\n filteredErrors,\r\n bulkUpsertAdEntityErrorMap,\r\n scenario,\r\n i18n,\r\n activityLogger,\r\n errorProcessor\r\n );\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return {\r\n data: bulkModelToViewModelForDSA({\r\n adModel: entity,\r\n }),\r\n serverErrors,\r\n };\r\n }\r\n\r\n // Activity\r\n // eslint-disable-next-line no-console\r\n console.warn(`Campaign bulk upsert system error: ${bulkOrSystemError.stack || bulkOrSystemError.message || bulkOrSystemError}`);\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return {\r\n data: adViewModel,\r\n systemErrors: [i18n.getString(GENERIC_ERROR_MESSAGE_KEY)],\r\n };\r\n });\r\n};\r\n","import { pick } from 'underscore';\r\nimport { formatRSAObject } from '@bingads-webui-campaign-react/responsive-search-ad-editor';\r\n\r\nconst whitelistedSchemaPropertyKeysForModel = [\r\n 'Id',\r\n 'FinalUrls',\r\n 'MobileFinalUrls',\r\n 'DisplayUrl',\r\n 'Path1',\r\n 'Path2',\r\n 'Headlines',\r\n 'Descriptions',\r\n 'TrackingUrlTemplate',\r\n 'FinalUrlSuffix',\r\n 'UrlCustomParameters',\r\n 'Type',\r\n];\r\n\r\nexport const viewModelToModelForRSA = (adViewModel, campaignId, adGroupId) => ({\r\n ...pick(formatRSAObject(adViewModel), whitelistedSchemaPropertyKeysForModel),\r\n ...adViewModel.Id ? { Id: adViewModel.Id } : {},\r\n Campaign: { Id: campaignId },\r\n AdGroup: { Id: adGroupId },\r\n});\r\n\r\nexport const bulkModelToViewModelForRSA = ({\r\n adModel,\r\n errors,\r\n}) => ({\r\n ...pick(adModel, whitelistedSchemaPropertyKeysForModel),\r\n errors,\r\n});\r\n","import { all, extend } from 'underscore';\r\nimport { Campaign, AdGroup, ResponsiveSearchAd } from '@bingads-webui/campaign-odata-schemas';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport CampaignCacheManager from '@bingads-webui-campaign-legacy/cache-manager';\r\nimport { isBulkWrappedResponse } from '../shared/bulk';\r\nimport { ERROR_ENTITY, getBulkUploadErrorType, modelToViewModelForBulkErrors, removeReferencedEntityInvalidIdErrors } from '../shared/bulk-upsert-errors';\r\nimport { GENERIC_ERROR_MESSAGE_KEY } from '../shared/constants';\r\nimport { viewModelToModelForRSA, bulkModelToViewModelForRSA } from './responsive-search-ad';\r\n\r\nconst adResource = new (edmCampaign.types.resolve('Model.ResponsiveSearchAd')).ResourceIdentifier();\r\n\r\nconst createOrUpdateAd = (ad) => {\r\n const createOrUpdateCall = ad && ad.Id ?\r\n adResource.bulkUpdate.bind(adResource) :\r\n adResource.bulkCreate.bind(adResource);\r\n return createOrUpdateCall(ad);\r\n};\r\n\r\nexport const deleteAd = (adId, options) => {\r\n const destroyCall = adResource.bulkDestroy.bind(adResource);\r\n return destroyCall(adId, options);\r\n};\r\n\r\nconst bulkUpsertAdEntityErrorMap = {\r\n [getBulkUploadErrorType(Campaign)]: ERROR_ENTITY.Campaign,\r\n [getBulkUploadErrorType(AdGroup)]: ERROR_ENTITY.AdGroup,\r\n [getBulkUploadErrorType(ResponsiveSearchAd)]: ERROR_ENTITY.ResponsiveSearchAd,\r\n};\r\n\r\nconst errorProcessor = error => extend({}, error, {\r\n Property: error.property,\r\n Message: error.message,\r\n Code: error.code,\r\n});\r\n\r\nexport const saveAd = ({\r\n ad: adViewModel,\r\n campaignId,\r\n adGroupId,\r\n}, {\r\n i18n,\r\n scenario,\r\n activityLogger,\r\n}) => {\r\n const adModel = viewModelToModelForRSA(adViewModel, campaignId, adGroupId);\r\n\r\n return createOrUpdateAd(adModel)\r\n // with bulk the result will have shape of:\r\n // - { ...entityData } - in case of success;\r\n // - { entity: { ...entityData }, errors: [(EditorialError|MTError)] } - in case of error(s).\r\n .then((result) => {\r\n const data = bulkModelToViewModelForRSA({\r\n adModel: result,\r\n });\r\n return { data };\r\n }, (bulkOrSystemError) => {\r\n const { entity, errors } = bulkOrSystemError;\r\n\r\n // Ignore errors if the entity was eventually created and all the errors are editorial errors\r\n if (entity && entity.Id && all(errors, error => error.Error === 'CampaignServiceEditorialValidationError')) {\r\n CampaignCacheManager.invalidate('Ad'); // Cache is not automatically invalidated since the API failed\r\n return {\r\n data: bulkModelToViewModelForRSA({\r\n adModel: entity,\r\n }),\r\n editorialErrors: errors,\r\n };\r\n }\r\n\r\n if (isBulkWrappedResponse(bulkOrSystemError)) {\r\n let filteredErrors = errors;\r\n if (entity.Id <= 0) {\r\n filteredErrors = removeReferencedEntityInvalidIdErrors(errors);\r\n }\r\n\r\n const serverErrors = modelToViewModelForBulkErrors(\r\n filteredErrors,\r\n bulkUpsertAdEntityErrorMap,\r\n scenario,\r\n i18n,\r\n activityLogger,\r\n errorProcessor\r\n );\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return {\r\n data: bulkModelToViewModelForRSA({\r\n adModel: entity,\r\n }),\r\n serverErrors,\r\n };\r\n }\r\n\r\n // Activity\r\n // eslint-disable-next-line no-console\r\n console.warn(`Campaign bulk upsert system error: ${bulkOrSystemError.stack || bulkOrSystemError.message || bulkOrSystemError}`);\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return {\r\n data: adViewModel,\r\n systemErrors: [i18n.getString(GENERIC_ERROR_MESSAGE_KEY)],\r\n };\r\n });\r\n};\r\n","import { pick } from 'underscore';\r\nimport { processViewModelDataForSaving } from '@bingads-webui-campaign-react/responsive-ad-editor-utils';\r\n\r\nconst whitelistedSchemaPropertyKeysForModel = [\r\n 'Id',\r\n 'FinalUrls',\r\n 'MobileFinalUrls',\r\n 'Headlines',\r\n 'LongHeadlines',\r\n 'Descriptions',\r\n 'BusinessName',\r\n 'CallToAction',\r\n 'CallToActionLanguage',\r\n 'TrackingUrlTemplate',\r\n 'FinalUrlSuffix',\r\n 'UrlCustomParameters',\r\n 'Images',\r\n 'Type',\r\n];\r\n\r\nexport const viewModelToModelForMMA = (adViewModel, campaignId, adGroupId) =>\r\n processViewModelDataForSaving(\r\n pick(adViewModel, whitelistedSchemaPropertyKeysForModel),\r\n campaignId, adGroupId, adViewModel.Id\r\n );\r\n\r\nexport const bulkModelToViewModelForMMA = ({\r\n adModel,\r\n errors,\r\n}) => ({\r\n ...pick(adModel, whitelistedSchemaPropertyKeysForModel),\r\n errors,\r\n});\r\n","import { all, extend } from 'underscore';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { Campaign, AdGroup, ResponsiveAd } from '@bingads-webui/campaign-odata-schemas';\r\nimport { ImageOData } from '@bingads-webui-campaign/image-odata';\r\nimport { ResponsiveAdRepository } from '@bingads-webui-campaign/responsive-ad-editor';\r\nimport { convertFromBulkResponse } from '@bingads-webui-campaign-react/responsive-ad-editor-utils';\r\nimport CampaignCacheManager from '@bingads-webui-campaign-legacy/cache-manager';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport { isBulkWrappedResponse } from '../shared/bulk';\r\nimport { ERROR_ENTITY, getBulkUploadErrorType, modelToViewModelForBulkErrors, removeReferencedEntityInvalidIdErrors } from '../shared/bulk-upsert-errors';\r\nimport { GENERIC_ERROR_MESSAGE_KEY } from '../shared/constants';\r\nimport { viewModelToModelForMMA } from './multimedia-ad';\r\n\r\nconst bulkUpsertAdEntityErrorMap = {\r\n [getBulkUploadErrorType(Campaign)]: ERROR_ENTITY.Campaign,\r\n [getBulkUploadErrorType(AdGroup)]: ERROR_ENTITY.AdGroup,\r\n [getBulkUploadErrorType(ResponsiveAd)]: ERROR_ENTITY.ResponsiveAd,\r\n};\r\n\r\nconst adResource = new (edmCampaign.types.resolve('Model.ResponsiveAd')).ResourceIdentifier();\r\n\r\nexport const deleteAd = (adId, options) => {\r\n const destroyCall = adResource.bulkDestroy.bind(adResource);\r\n return destroyCall(adId, options);\r\n};\r\n\r\nexport const saveAd = ({\r\n ad: adViewModel,\r\n campaignId,\r\n adGroupId,\r\n cid,\r\n aid,\r\n}, {\r\n i18n,\r\n scenario,\r\n activityLogger,\r\n}) => {\r\n const adModel = viewModelToModelForMMA(adViewModel, campaignId, adGroupId);\r\n\r\n const responsiveAdRepository = new ResponsiveAdRepository({\r\n viewContext: {\r\n currentCampaign: {\r\n Id: campaignId,\r\n },\r\n currentAdGroup: {\r\n Id: adGroupId,\r\n },\r\n },\r\n isVideo: false,\r\n campaignDomain: '',\r\n });\r\n const oDataConfig = {\r\n odataRootUrl: config.get('CampaignAzureDomain'),\r\n odataToken: config.get('odata.token'),\r\n odataPath: config.get('odata.url') + config.get('odata.path'),\r\n };\r\n const imageOData = new ImageOData(cid, aid, oDataConfig);\r\n\r\n return responsiveAdRepository.processImageAndSaveSearchAdAsync(adModel, imageOData, false)\r\n .then(response => ({ data: convertFromBulkResponse(response) }))\r\n .catch((bulkOrSystemError) => {\r\n const { entity, errors } = bulkOrSystemError;\r\n\r\n if (entity && entity.Id) {\r\n extend(adViewModel, { Id: entity.Id });\r\n\r\n // Ignore errors if the entity was eventually created and all the errors are editorial errors\r\n if (all(errors, error => error.Error === 'CampaignServiceEditorialValidationError')) {\r\n CampaignCacheManager.invalidate('Ad'); // Cache is not automatically invalidated since the API failed\r\n return {\r\n data: adViewModel,\r\n editorialErrors: errors,\r\n };\r\n }\r\n }\r\n\r\n if (isBulkWrappedResponse(bulkOrSystemError)) {\r\n let filteredErrors = errors;\r\n if (entity.Id <= 0) {\r\n filteredErrors = removeReferencedEntityInvalidIdErrors(errors);\r\n }\r\n\r\n const serverErrors = modelToViewModelForBulkErrors(\r\n filteredErrors,\r\n bulkUpsertAdEntityErrorMap,\r\n scenario,\r\n i18n,\r\n activityLogger\r\n );\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return {\r\n data: adViewModel,\r\n serverErrors,\r\n };\r\n }\r\n\r\n // Activity\r\n // eslint-disable-next-line no-console\r\n console.warn(`Campaign bulk upsert system error: ${bulkOrSystemError.stack || bulkOrSystemError.message || bulkOrSystemError}`);\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return {\r\n data: adViewModel,\r\n systemErrors: [i18n.getString(GENERIC_ERROR_MESSAGE_KEY)],\r\n };\r\n });\r\n};\r\n","import { Campaign, AdGroup, ResponsiveAd, ResponsiveSearchAd, DynamicSearchAd } from '@bingads-webui/campaign-odata-schemas';\r\nimport { isBulkWrappedResponse } from '../shared/bulk';\r\nimport { ERROR_ENTITY, getBulkUploadErrorType, modelToViewModelForBulkErrors, removeReferencedEntityInvalidIdErrors } from '../shared/bulk-upsert-errors';\r\nimport { GENERIC_ERROR_MESSAGE_KEY } from '../shared/constants';\r\nimport { saveAd as saveDSA, deleteAd as deleteDSA } from './dynamic-search-ad-bulk';\r\nimport { saveAd as saveRSA, deleteAd as deleteRSA } from './responsive-search-ad-bulk';\r\nimport { saveAd as saveMMA, deleteAd as deleteMMA } from './multimedia-ad-bulk';\r\n\r\nconst bulkUpsertAdEntityErrorMap = {\r\n [getBulkUploadErrorType(Campaign)]: ERROR_ENTITY.Campaign,\r\n [getBulkUploadErrorType(AdGroup)]: ERROR_ENTITY.AdGroup,\r\n [getBulkUploadErrorType(DynamicSearchAd)]: ERROR_ENTITY.DynamicSearchAd,\r\n [getBulkUploadErrorType(ResponsiveAd)]: ERROR_ENTITY.ResponsiveAd,\r\n [getBulkUploadErrorType(ResponsiveSearchAd)]: ERROR_ENTITY.ResponsiveSearchAd,\r\n};\r\n\r\nconst saveAdFuncs = {\r\n DynamicSearch: saveDSA,\r\n ResponsiveSearch: saveRSA,\r\n Responsive: saveMMA,\r\n};\r\n\r\nconst deleteAdFuncs = {\r\n DynamicSearch: deleteDSA,\r\n ResponsiveSearch: deleteRSA,\r\n Responsive: deleteMMA,\r\n};\r\n\r\nexport const saveAd = ({\r\n ad,\r\n adType,\r\n campaignId,\r\n adGroupId,\r\n cid,\r\n aid,\r\n}, options) => {\r\n const saveAdFunc = saveAdFuncs[adType];\r\n if (saveAdFunc) {\r\n return saveAdFunc({\r\n ad,\r\n campaignId,\r\n adGroupId,\r\n cid,\r\n aid,\r\n }, options);\r\n }\r\n return Promise.reject(new Error(`Unsupported ad type: ${adType}`));\r\n};\r\n\r\nexport const deleteAd = ({\r\n adId,\r\n adType,\r\n adGroupId,\r\n}, {\r\n i18n,\r\n scenario,\r\n activityLogger,\r\n}) => {\r\n const deleteAdFunc = deleteAdFuncs[adType];\r\n if (deleteAdFunc) {\r\n return deleteAdFunc(adId, {\r\n parentId: adGroupId,\r\n })\r\n // with bulk the result will have shape of:\r\n // - { ...entityData } - in case of success;\r\n // - { entity: { ...entityData }, errors: [(EditorialError|MTError)] } - in case of error(s).\r\n .then(result => ({\r\n data: result,\r\n }), (bulkOrSystemError) => {\r\n if (isBulkWrappedResponse(bulkOrSystemError)) {\r\n const { entity, errors } = bulkOrSystemError;\r\n\r\n let filteredErrors = errors;\r\n if (entity.Id <= 0) {\r\n filteredErrors = removeReferencedEntityInvalidIdErrors(errors);\r\n }\r\n\r\n const serverErrors = modelToViewModelForBulkErrors(\r\n filteredErrors,\r\n bulkUpsertAdEntityErrorMap,\r\n scenario,\r\n i18n,\r\n activityLogger\r\n );\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n serverErrors,\r\n });\r\n }\r\n\r\n // Activity\r\n // eslint-disable-next-line no-console\r\n console.warn(`Campaign bulk upsert system error: ${bulkOrSystemError.stack || bulkOrSystemError.message || bulkOrSystemError}`);\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return {\r\n systemErrors: [i18n.getString(GENERIC_ERROR_MESSAGE_KEY)],\r\n };\r\n });\r\n }\r\n return Promise.reject(new Error(`Unsupported ad type: ${adType}`));\r\n};\r\n","import { edmCampaign } from '@bingads-webui/edm-campaign';\r\n\r\nexport const loadAds = ({\r\n cid,\r\n aid,\r\n campaignId,\r\n adGroupId,\r\n filter = {},\r\n count = 1,\r\n}) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .AdGroups.$withKey(adGroupId)\r\n .Ads['Default.GridData']\r\n .$makeCall({\r\n query: {\r\n top: count,\r\n count: true,\r\n orderby: { Id: 1 },\r\n filter,\r\n select: [\r\n 'Id',\r\n 'Type',\r\n 'Text',\r\n 'TextPart2',\r\n 'FinalUrls',\r\n 'FinalUrlSuffix',\r\n 'MobileFinalUrls',\r\n 'DisplayUrl',\r\n 'Path1',\r\n 'Path2',\r\n 'TrackingUrlTemplate',\r\n 'UrlCustomParameters',\r\n 'Model.ResponsiveAd/BusinessName',\r\n 'Model.ResponsiveAd/CallToAction',\r\n 'Model.ResponsiveAd/CallToActionLanguage',\r\n 'Model.ResponsiveAd/Headline',\r\n 'Model.ResponsiveAd/LongHeadline',\r\n 'Model.ResponsiveAd/Descriptions',\r\n 'Model.ResponsiveAd/Headlines',\r\n 'Model.ResponsiveAd/Images',\r\n 'Model.ResponsiveAd/ImpressionTrackingUrls',\r\n 'Model.ResponsiveAd/LandscapeImageMediaId',\r\n 'Model.ResponsiveAd/LandscapeImageMediaUrl',\r\n 'Model.ResponsiveAd/LandscapeLogoMediaId',\r\n 'Model.ResponsiveAd/LandscapeLogoMediaUrl',\r\n 'Model.ResponsiveAd/LongHeadlines',\r\n 'Model.ResponsiveAd/SquareImageMediaId',\r\n 'Model.ResponsiveAd/SquareImageMediaUrl',\r\n 'Model.ResponsiveAd/SquareLogoMediaId',\r\n 'Model.ResponsiveAd/SquareLogoMediaUrl',\r\n 'Model.ResponsiveAd/VerifiedTrackingSettings',\r\n 'Model.ResponsiveSearchAd/Descriptions',\r\n 'Model.ResponsiveSearchAd/Headlines',\r\n ],\r\n },\r\n payload: {\r\n gridDataParameters: {},\r\n },\r\n })\r\n .toPromise()\r\n .then((response) => {\r\n const { value } = response;\r\n return value;\r\n });\r\n","import { chain, contains, pluck } from 'underscore';\r\nimport { convertToMTFormat, Scopes } from '@bingads-webui-campaign-react/goal-selector';\r\n\r\nexport const viewModelToBulkModelForConversionGoals = (campaignViewModel, campaignId) => {\r\n const { conversionGoals } = campaignViewModel;\r\n return convertToMTFormat(\r\n campaignId,\r\n conversionGoals.goalScopeSelection,\r\n conversionGoals.originalConversionGoals,\r\n conversionGoals.goalSelection,\r\n true\r\n );\r\n};\r\n\r\nexport const bulkModelToViewModelForConversionGoals = ({\r\n campaignModel,\r\n originalCampaignModel,\r\n errors = [],\r\n}) => {\r\n const conversionGoalsBulkModel = campaignModel.CampaignConversionGoalAssociations;\r\n const errorKey = 'Client Id';\r\n const originalGoalSelection =\r\n chain(conversionGoalsBulkModel)\r\n .filter(goal => !contains(pluck(errors, errorKey), goal[errorKey]))\r\n .filter(goal => goal.Action === 'Add')\r\n .map(goal => ({\r\n Id: goal.GoalId,\r\n }))\r\n .value();\r\n return {\r\n conversionGoals: {\r\n ...originalCampaignModel.conversionGoals,\r\n originalConversionGoals: originalGoalSelection,\r\n },\r\n };\r\n};\r\n\r\nexport const modelToViewModelForConversionGoals = (campaignModel) => {\r\n const hasCampaignLevelGoals = campaignModel.CampaignConversionGoal && campaignModel.CampaignConversionGoal.Goals\r\n && campaignModel.CampaignConversionGoal.Goals.length > 0;\r\n return {\r\n conversionGoals: {\r\n originalConversionGoals: campaignModel.CampaignConversionGoal.Goals,\r\n goalSelection: campaignModel.CampaignConversionGoal.Goals,\r\n goalScopeSelection: hasCampaignLevelGoals ?\r\n Scopes.CAMPAIGN : Scopes.ACCOUNT,\r\n },\r\n };\r\n};\r\n","import { map } from 'underscore';\r\n\r\nexport const parseDateFromAPIFormat = (i18n, date) => {\r\n if (date == null) {\r\n return null;\r\n }\r\n if (typeof date === 'string') {\r\n const dateFromMdyyyyFormat = i18n.parseDate(date.substring(0, 10), { raw: 'M/d/yyyy' });\r\n const dateFromyyyyMdFormat = i18n.parseDate(date.substring(0, 10), { raw: 'yyyy-M-d' });\r\n return dateFromMdyyyyFormat || dateFromyyyyMdFormat;\r\n }\r\n return date;\r\n};\r\n\r\nexport const formatDateToAPIFormat = (i18n, date) => {\r\n if (date == null) {\r\n return '';\r\n }\r\n\r\n if (typeof date === 'string') {\r\n return date;\r\n }\r\n return i18n.formatDate(date, {\r\n raw: 'M/d/yyyy',\r\n });\r\n};\r\n\r\nconst EntityNegativeReferenceId = -111;\r\n\r\nexport const getTargetCriterion = ({\r\n targets,\r\n type,\r\n propKey,\r\n adGroupViewModel,\r\n campaignViewModel,\r\n bidAdjustment,\r\n overrideType = undefined,\r\n level = 'campaign',\r\n}) => targets.map((target) => {\r\n let BidAdjustment = bidAdjustment;\r\n let propValue = target.criterion;\r\n\r\n if (typeof (target.criterion) === 'object') {\r\n propValue = target.criterion.Target;\r\n\r\n if (bidAdjustment === undefined) {\r\n const { BidAdjustment: bid } = target.criterion;\r\n BidAdjustment = bid;\r\n }\r\n }\r\n\r\n const criterion = {\r\n Type: overrideType || type,\r\n BidAdjustment,\r\n [`${overrideType || type}Criterion`]: {\r\n [propKey]: propValue,\r\n },\r\n };\r\n\r\n if (level === 'campaign') {\r\n return {\r\n Id: target.Id,\r\n Status: target.status ? target.status : 'Active',\r\n Criterion: criterion,\r\n CriterionType: type,\r\n Campaign: {\r\n Id: campaignViewModel.Id || EntityNegativeReferenceId,\r\n },\r\n };\r\n }\r\n\r\n return {\r\n Id: target.Id,\r\n Status: target.status ? target.status : 'Active',\r\n Criterion: criterion,\r\n CriterionType: type,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id || EntityNegativeReferenceId,\r\n },\r\n // CampaignName: campaignViewModel.Name,\r\n };\r\n});\r\n\r\nexport const flattenTargetCriterion = (targetsWithBidAdjustment, type) => map(targetsWithBidAdjustment, (target) => {\r\n const {\r\n Id,\r\n Criterion: {\r\n BidAdjustment,\r\n [`${type}Criterion`]: {\r\n Target,\r\n } = {},\r\n } = {},\r\n } = target;\r\n\r\n return {\r\n Id,\r\n BidAdjustment,\r\n criterion: Target,\r\n };\r\n});\r\n\r\nexport const hydrateCriterionWithBidAndId = (criterionType, initialTargetList, adddedCriterionList, targetWithBidAdjustmentList = []) => {\r\n for (let i = 0; i < adddedCriterionList.length; i += 1) {\r\n const criterion = adddedCriterionList[i];\r\n\r\n // add bid adjustments to modified criterion\r\n const matchingTargetWithBid = targetWithBidAdjustmentList.find(criterionWithBidAdjustment =>\r\n criterionWithBidAdjustment.Criterion[`${criterionType}Criterion`].Target === criterion.Criterion[`${criterionType}Criterion`].Target);\r\n if (matchingTargetWithBid) {\r\n criterion.Criterion.BidAdjustment = matchingTargetWithBid.Criterion.BidAdjustment;\r\n }\r\n\r\n // add id to update existing criterion in MT\r\n const originalCrition = initialTargetList.find(initialTarget => (initialTarget.criterion || initialTarget.Target) === criterion.Criterion[`${criterionType}Criterion`].Target);\r\n if (originalCrition) {\r\n criterion.Id = originalCrition.Id;\r\n }\r\n }\r\n};\r\n","/* eslint-disable no-param-reassign */\r\nimport _ from 'underscore';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { locationTargetsOptionKeys } from '@bingads-webui-campaign-react/wizard-shared-components';\r\nimport {\r\n getBundleCountriesAndBundleLocationCriterions,\r\n convertLocationStateToLocationSchemaCampaign,\r\n shouldSelectBundleOption,\r\n getLocationIntent,\r\n parseLocationTargets,\r\n} from '@bingads-webui-campaign/hotel-common-targets';\r\nimport * as languageBundle from '@bingads-webui-campaign-legacy/location-targets/util/languageBundle';\r\nimport { minuteMap } from '@bingads-webui-campaign/ad-schedule';\r\nimport { cloneDeep } from '@bingads-webui-universal/primitive-utilities';\r\nimport { getTargetCriterion, hydrateCriterionWithBidAndId } from './utils';\r\n\r\nconst campaignCriterionTypeName = 'Model.CampaignCriterion';\r\n\r\nexport const LOCATION_CRITERION_TYPE = {\r\n LOCATION: 'Location',\r\n RADIUS: 'Radius',\r\n};\r\n\r\nexport const readCampaignCriterions = (cid, aid, campaignId, type) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .CampaignCriterions\r\n .$cast(campaignCriterionTypeName)\r\n .get({\r\n filter: {\r\n where: type,\r\n },\r\n })\r\n .toPromise();\r\n\r\nexport const readLocationCriterions = (cid, aid, campaignId) =>\r\n readCampaignCriterions(\r\n cid, aid, campaignId,\r\n \"isof(Criterion,'Model.LocationCriterion') or isof(Criterion,'Model.RadiusCriterion') or isof(Criterion,'Model.LocationIntentCriterion')\"\r\n );\r\n\r\nexport const loadBundleCountries = ({\r\n cid,\r\n aid,\r\n serverContext,\r\n language: selectedLanguages,\r\n}) => {\r\n const lcid = serverContext ? serverContext.CurrentUser.LocaleID : '1033';\r\n const market = serverContext ? serverContext.CurrentUser.Market : 'US';\r\n const language = selectedLanguages || 'All';\r\n\r\n return getBundleCountriesAndBundleLocationCriterions(cid, aid, lcid, language, market);\r\n};\r\n\r\nexport const isBundledCountriesFound = ({\r\n languages,\r\n market,\r\n}) => {\r\n const bundleCountries = languageBundle.getBundle(languages, market);\r\n return bundleCountries && bundleCountries.length > 0;\r\n};\r\n\r\nexport const viewModelToBulkModelForLocationTargets = (campaignViewModel, bundleLocationCriterions) => {\r\n const bulkUpsertModel = convertLocationStateToLocationSchemaCampaign(\r\n campaignViewModel.locationTargets,\r\n bundleLocationCriterions,\r\n {\r\n ...campaignViewModel,\r\n bidStrategy: {\r\n option: '',\r\n },\r\n name: {\r\n value: campaignViewModel.Name,\r\n },\r\n }\r\n );\r\n return bulkUpsertModel;\r\n};\r\n\r\nexport const bulkModelToViewModelForLocationTargets = ({\r\n locationTargetsModel, bundleCountries,\r\n}) => {\r\n const locations = locationTargetsModel\r\n .filter(criterion => criterion.Criterion.Type === LOCATION_CRITERION_TYPE.RADIUS || criterion.Criterion.Type === LOCATION_CRITERION_TYPE.LOCATION);\r\n const intent = locationTargetsModel.find(criterion => criterion.Criterion.Type === 'LocationIntentCriterion');\r\n const intentId = intent ? intent.Id : null;\r\n const intentOption = intent ? getLocationIntent(intent.Criterion.LocationIntentCriterion.IntentOption) : null;\r\n let targetOption = locations.length ? locationTargetsOptionKeys.specific : locationTargetsOptionKeys.everywhere;\r\n targetOption = shouldSelectBundleOption(bundleCountries, locations) ? locationTargetsOptionKeys.bundleOrDefaultMarket : targetOption;\r\n return {\r\n locationTargets: {\r\n currentLevelSettings: {\r\n initLocations: locations,\r\n currentLocations: locations,\r\n targetOption,\r\n intentId,\r\n ...intentOption,\r\n },\r\n bidMode: false,\r\n useParentLevel: locations.length === 0,\r\n },\r\n };\r\n};\r\n\r\nexport const modelToViewModelForLocationTargets = ({\r\n model, bundleCountries, campaignId,\r\n}) => {\r\n const {\r\n locations,\r\n intentId,\r\n intentOption,\r\n } = parseLocationTargets(model, 'campaign', campaignId);\r\n let targetOption = locations.length ? locationTargetsOptionKeys.specific : locationTargetsOptionKeys.everywhere;\r\n targetOption = shouldSelectBundleOption(bundleCountries, locations) ? locationTargetsOptionKeys.bundleOrDefaultMarket : targetOption;\r\n return {\r\n locationTargets: {\r\n currentLevelSettings: {\r\n initLocations: locations,\r\n currentLocations: locations,\r\n targetOption,\r\n intentId,\r\n ...intentOption,\r\n },\r\n bidMode: false,\r\n useParentLevel: locations.length === 0,\r\n },\r\n };\r\n};\r\n\r\nexport const readScheduleCriterions = (cid, aid, campaignId) =>\r\n readCampaignCriterions(\r\n cid, aid, campaignId,\r\n \"isof(Criterion,'Model.DayTimeCriterion')\"\r\n );\r\n\r\nexport const viewModelToBulkModelForSchedule = (adSchedulesBulkUpsert, campaignModel) => {\r\n _.each(adSchedulesBulkUpsert, (criterion) => {\r\n criterion.Status = _.isEmpty(criterion.Status) ? 'Active' : criterion.Status;\r\n criterion.Campaign = {\r\n Id: campaignModel.Id,\r\n };\r\n });\r\n return adSchedulesBulkUpsert;\r\n};\r\n\r\nexport const modelToViewModelForDayTimeTargets = (criterions) => {\r\n const schedulingRows = [];\r\n\r\n _.chain(criterions).each((criterion) => {\r\n schedulingRows.push({\r\n Id: Number(criterion.Id),\r\n Day: criterion.Criterion.Day,\r\n StartHour: criterion.Criterion.FromHour,\r\n StartMinute: criterion.Criterion.FromMinute,\r\n EndHour: criterion.Criterion.ToHour,\r\n EndMinute: criterion.Criterion.ToMinute,\r\n BidAdjustmentType: criterion.CriterionBid.Multiplier < 0 ? -1 : 1,\r\n BidAdjustmentAmount: window.Math.abs(criterion.CriterionBid.Multiplier),\r\n });\r\n })\r\n .value();\r\n\r\n return schedulingRows;\r\n};\r\n\r\nexport const bulkModelToViewModelForDayTimeTargets = (criterions, originalCriterions) => {\r\n const deletedIds = _.chain(criterions).where({\r\n CriterionType: 'DayTime',\r\n Status: 'Deleted',\r\n }).map(criterion => criterion.Id).value();\r\n\r\n let added = _.chain(criterions)\r\n .filter(criterion => criterion.CriterionType === 'DayTime' && criterion.Status !== 'Deleted')\r\n .map(criterion => ({\r\n Id: Number(criterion.Id),\r\n Day: criterion.Criterion.DayTimeCriterion.Day,\r\n StartHour: criterion.Criterion.DayTimeCriterion.FromHour,\r\n StartMinute: minuteMap[criterion.Criterion.DayTimeCriterion.FromMinute],\r\n EndHour: criterion.Criterion.DayTimeCriterion.ToHour,\r\n EndMinute: minuteMap[criterion.Criterion.DayTimeCriterion.ToMinute],\r\n BidAdjustmentType: criterion.Criterion.BidAdjustment < 0 ? -1 : 1,\r\n BidAdjustmentAmount: window.Math.abs(criterion.Criterion.BidAdjustment),\r\n }))\r\n .value();\r\n\r\n added = _.filter(added, range => !_.find(originalCriterions, r => _.isMatch(r, range)));\r\n\r\n const dayTimeRanges = _.filter(originalCriterions.concat(added), range => _.indexOf(deletedIds, range.Id.toString()) === -1);\r\n\r\n return dayTimeRanges;\r\n};\r\n\r\nexport const readTargetCriterion = (cid, aid, campaignId) =>\r\n readCampaignCriterions(\r\n cid, aid, campaignId,\r\n \"isof(Criterion,'Model.AgeCriterion') or isof(Criterion,'Model.GenderCriterion') or isof(Criterion,'Model.DeviceCriterion') or isof(Criterion,'Model.CompanyNameCriterion') or isof(Criterion,'Model.IndustryCriterion') or isof(Criterion,'Model.JobFunctionCriterion')\"\r\n );\r\n\r\nexport const deviceName = ['Tablets', 'Computers', 'Smartphones'];\r\n\r\nexport const compareDevice = (Targets, initialTargets) => {\r\n if (Targets.length !== deviceName.length) {\r\n return false;\r\n }\r\n let noChanged = true;\r\n deviceName.forEach((name) => {\r\n const currentDevice = Targets.filter(target => target.Criterion.DeviceCriterion.DeviceName === name);\r\n const initialDevice = initialTargets.filter(target => target.Criterion.DeviceCriterion.DeviceName === name);\r\n if (!currentDevice || !initialDevice || currentDevice.length !== 1 || initialDevice.length !== 1 || currentDevice[0].Criterion.BidAdjustment !== initialDevice[0].Criterion.BidAdjustment) {\r\n noChanged = false;\r\n }\r\n });\r\n return noChanged;\r\n};\r\n\r\nexport const viewModelToBulkModelForDeviceTargets = ({ campaignViewModel }) => {\r\n const deviceTargets = campaignViewModel.Device || [];\r\n const initialDevice = campaignViewModel.initialDevice || [];\r\n if (compareDevice(deviceTargets, initialDevice)) {\r\n return [];\r\n }\r\n const addedDevices = [];\r\n // eslint-disable-next-line array-callback-return\r\n deviceTargets.map((target) => {\r\n addedDevices.push({\r\n Criterion: _.extend(target.Status === 'Deleted' ? { BidAdjustment: 0 } : {}, target.Criterion),\r\n Id: target.Id,\r\n Status: target.Status || 'Active',\r\n CriterionType: target.Criterion.Type,\r\n Campaign: {\r\n Id: campaignViewModel.Id,\r\n },\r\n });\r\n });\r\n return addedDevices;\r\n};\r\n\r\nexport const modelToViewModelForDeviceTargets = ({ model, campaignId }) => {\r\n let deviceTargets = [];\r\n let initialDevice = [];\r\n if (model && !_.isEmpty(model)) {\r\n deviceTargets = model.map(target => ({\r\n Id: target.Id,\r\n Status: target.Status || 'Active',\r\n Criterion: _.extend(target.Criterion, { BidAdjustment: target.CriterionBid.Multiplier, DeviceCriterion: { DeviceName: target.Criterion.DeviceName } }),\r\n CriterionType: 'Device',\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n }));\r\n } else {\r\n deviceTargets = deviceName.map(name => ({\r\n Status: 'Active',\r\n Criterion: {\r\n '@odata.type': '#Model.DeviceCriterion',\r\n Type: 'Device',\r\n Name: null,\r\n OSName: null,\r\n DeviceCriterion: { DeviceName: name },\r\n BidAdjustment: 0,\r\n },\r\n CriterionType: 'Device',\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n }));\r\n }\r\n initialDevice = cloneDeep(deviceTargets);\r\n return {\r\n Device: deviceTargets,\r\n initialDevice,\r\n };\r\n};\r\n\r\nexport const GenderName = ['Male', 'Female'];\r\n\r\nexport const modelToViewModelForGenderTargets = ({ model, campaignId }) => {\r\n let genderTargets = [];\r\n let initialGender = [];\r\n if (model && !_.isEmpty(model)) {\r\n genderTargets = model.map(target => ({\r\n Id: target.Id,\r\n Status: target.Status || 'Active',\r\n Criterion: _.extend(target.Criterion, { BidAdjustment: target.CriterionBid.Multiplier, GenderCriterion: { Target: target.Criterion.GenderType } }),\r\n CriterionType: 'Gender',\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n }));\r\n } else {\r\n genderTargets = GenderName.map(name => ({\r\n Status: 'Active',\r\n Criterion: {\r\n '@odata.type': '#Model.GenderCriterion',\r\n Type: 'Gender',\r\n Name: null,\r\n OSName: null,\r\n GenderCriterion: { Target: name },\r\n BidAdjustment: 0,\r\n },\r\n CriterionType: 'Gender',\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n }));\r\n }\r\n initialGender = cloneDeep(genderTargets);\r\n return {\r\n Gender: genderTargets,\r\n initialGender,\r\n };\r\n};\r\n\r\nconst compareGender = (Targets, initialTargets) => {\r\n let changed = false;\r\n GenderName.forEach((name) => {\r\n const currentTarget = Targets.find(target => target.Criterion.GenderCriterion.Target === name);\r\n const initialTarget = initialTargets.find(target => target.Criterion.GenderCriterion.Target === name);\r\n if (initialTarget && currentTarget && currentTarget.Criterion.BidAdjustment !== initialTarget.Criterion.BidAdjustment) {\r\n changed = true;\r\n }\r\n });\r\n return changed;\r\n};\r\n\r\nexport const viewModelToBulkModelForGenderTargets = ({ campaignViewModel }) => {\r\n const genderTargets = campaignViewModel.Gender || [];\r\n const initialGender = campaignViewModel.initialGender || [];\r\n const addedGender = [];\r\n if (compareGender(genderTargets, initialGender)) {\r\n genderTargets.forEach((target) => {\r\n addedGender.push({\r\n Criterion: target.Criterion,\r\n Id: target.Id,\r\n Status: target.Status || 'Active',\r\n CriterionType: target.Criterion.Type,\r\n Campaign: {\r\n Id: campaignViewModel.Id,\r\n },\r\n });\r\n });\r\n }\r\n return addedGender;\r\n};\r\n\r\nexport const AgeName = ['EighteenToTwentyFive', 'TwentyFiveToThirtyFive', 'ThirtyFiveToFifty', 'FiftyToSixtyFive', 'SixtyFiveAndAbove'];\r\n\r\nexport const modelToViewModelForAgeTargets = ({ model, campaignId }) => {\r\n let initialAge = [];\r\n const ageTargets = AgeName.map((name) => {\r\n const targetItem = model && model.find(target => target.Criterion.AgeRange === name);\r\n if (targetItem) {\r\n return {\r\n Id: targetItem.Id,\r\n Status: targetItem.Status || 'Active',\r\n Criterion: _.extend(targetItem.Criterion, { BidAdjustment: targetItem.CriterionBid.Multiplier, AgeCriterion: { Target: targetItem.Criterion.AgeRange } }),\r\n CriterionType: 'Age',\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n };\r\n }\r\n return {\r\n Status: 'Active',\r\n Criterion: {\r\n '@odata.type': '#Model.AgeCriterion',\r\n Type: 'Age',\r\n AgeCriterion: { Target: name },\r\n BidAdjustment: 0,\r\n },\r\n CriterionType: 'Age',\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n };\r\n });\r\n\r\n initialAge = cloneDeep(ageTargets);\r\n return {\r\n Age: ageTargets,\r\n initialAge,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForAgeTargets = ({ campaignViewModel }) => {\r\n const ageTargets = campaignViewModel.Age || [];\r\n const initialAge = campaignViewModel.initialAge || [];\r\n const addedAge = [];\r\n ageTargets.forEach((target) => {\r\n const initialTarget = initialAge.find(age => age.Criterion.AgeCriterion.Target === target.Criterion.AgeCriterion.Target);\r\n if (initialTarget && target.Criterion.BidAdjustment !== initialTarget.Criterion.BidAdjustment) {\r\n addedAge.push({\r\n Criterion: target.Criterion,\r\n Id: target.Id,\r\n Status: target.Status || 'Active',\r\n CriterionType: target.Criterion.Type,\r\n Campaign: {\r\n Id: campaignViewModel.Id,\r\n },\r\n });\r\n }\r\n });\r\n\r\n return addedAge;\r\n};\r\n\r\nexport const modelToViewModelForCompanyNameTargets = ({ model }) => {\r\n let companyNameTargets = [];\r\n let initialCompanyNameTargets = [];\r\n if (model && !_.isEmpty(model)) {\r\n companyNameTargets = model.map(target => ({\r\n Id: target.Id,\r\n Target: target.Criterion.ProfileId,\r\n Size: target.Criterion.Size,\r\n Industry: target.Criterion.Industry,\r\n Name: target.Criterion.CompanyName,\r\n BidAdjustment: target.CriterionBid.Multiplier,\r\n }));\r\n }\r\n initialCompanyNameTargets = cloneDeep(companyNameTargets);\r\n return {\r\n companyNameTargets,\r\n initialCompanyNameTargets,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForCompanyNameTargets = ({ campaignViewModel }) => {\r\n const companyNameTargets = campaignViewModel.companyNameTargets || [];\r\n const initialCompanyNameTargets = campaignViewModel.initialCompanyNameTargets || [];\r\n\r\n const addedCompanyNameTargets = companyNameTargets.filter(target => initialCompanyNameTargets.find(initialTarget =>\r\n initialTarget.Target === target.Target && initialTarget.BidAdjustment === target.BidAdjustment) === undefined);\r\n const removedCompanyNameTargets = initialCompanyNameTargets.filter(initialTarget => companyNameTargets.find(target =>\r\n initialTarget.Target === target.Target) === undefined).map(target => ({ ...target, criterion: target.Target, status: 'Deleted' }));\r\n\r\n const addedCompanyNameCriterion = getTargetCriterion({\r\n targets: addedCompanyNameTargets.map(({ Id, ...criterion }) => ({ Id, criterion })), type: 'CompanyName', propKey: 'Target', campaignViewModel,\r\n });\r\n const removedCompanyNameCriterion = getTargetCriterion({\r\n targets: removedCompanyNameTargets, type: 'CompanyName', propKey: 'Target', campaignViewModel,\r\n });\r\n\r\n return [\r\n ...addedCompanyNameCriterion,\r\n ...removedCompanyNameCriterion,\r\n ];\r\n};\r\n\r\nexport const modelToViewModelForIndustryTargets = ({ model }) => {\r\n let industryTargets = [];\r\n let initialIndustry = [];\r\n if (model && !_.isEmpty(model)) {\r\n industryTargets = model.map(target => ({\r\n Id: target.Id,\r\n BidAdjustment: target.CriterionBid.Multiplier,\r\n criterion: target.Criterion.ProfileId,\r\n }));\r\n }\r\n initialIndustry = cloneDeep(industryTargets);\r\n return {\r\n industry: industryTargets.map(target => target.criterion),\r\n initialIndustry,\r\n initialIndustryTargets: initialIndustry,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForIndustryTargets = ({ campaignViewModel }) => {\r\n const industryTargets = campaignViewModel.industry || [];\r\n const initialIndustryTargets = campaignViewModel.initialIndustry || [];\r\n\r\n const { industryTargetsBidAdjustment } = campaignViewModel;\r\n const isIndustryTargetBidAdjustmentUpdated = ({ criterion, BidAdjustment }) => industryTargetsBidAdjustment.find(targetWithBid =>\r\n _.get(targetWithBid, 'Criterion.IndustryCriterion.Target') === criterion && _.get(targetWithBid, 'Criterion.BidAdjustment') === BidAdjustment);\r\n\r\n const addedIndustryTargets = industryTargets.filter(target => initialIndustryTargets.find(initialTarget =>\r\n initialTarget.criterion === target && (!industryTargetsBidAdjustment || isIndustryTargetBidAdjustmentUpdated(initialTarget))) === undefined);\r\n const removedIndustryTargets = initialIndustryTargets.filter(initialTarget => industryTargets.find(target =>\r\n initialTarget.criterion === target) === undefined).map(target => ({ ...target, status: 'Deleted' }));\r\n\r\n const addedIndustryCriterion = getTargetCriterion({\r\n targets: addedIndustryTargets.map(criterion => ({ criterion })), type: 'Industry', propKey: 'Target', campaignViewModel,\r\n });\r\n const removedIndustryCriterion = getTargetCriterion({\r\n targets: removedIndustryTargets, type: 'Industry', propKey: 'Target', campaignViewModel,\r\n });\r\n\r\n if (industryTargetsBidAdjustment && industryTargetsBidAdjustment.length > 0) {\r\n hydrateCriterionWithBidAndId('Industry', initialIndustryTargets, addedIndustryCriterion, industryTargetsBidAdjustment);\r\n }\r\n\r\n return [\r\n ...addedIndustryCriterion,\r\n ...removedIndustryCriterion,\r\n ];\r\n};\r\n\r\nexport const modelToViewModelForJobFunctionTargets = ({ model }) => {\r\n let jobFunctionTargets = [];\r\n let initialJobTargets = [];\r\n if (model && !_.isEmpty(model)) {\r\n jobFunctionTargets = model.map(target => ({\r\n Id: target.Id,\r\n BidAdjustment: target.CriterionBid.Multiplier,\r\n criterion: target.Criterion.ProfileId,\r\n }));\r\n }\r\n initialJobTargets = cloneDeep(jobFunctionTargets);\r\n return {\r\n jobTargets: jobFunctionTargets.map(target => target.criterion),\r\n initialJobTargets,\r\n initialJobFunctionTargets: initialJobTargets,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForJobFunctionTargets = ({ campaignViewModel }) => {\r\n const jobTargets = campaignViewModel.jobTargets || [];\r\n const initialJobTargets = campaignViewModel.initialJobTargets || [];\r\n\r\n const { jobTargetBidAdjustments } = campaignViewModel;\r\n const isJobTargetBidAdjustmentUpdated = ({ criterion, BidAdjustment }) => jobTargetBidAdjustments.find(targetWithBid =>\r\n _.get(targetWithBid, 'Criterion.JobFunctionCriterion.Target') === criterion && _.get(targetWithBid, 'Criterion.BidAdjustment') === BidAdjustment);\r\n\r\n const addedJobTargets = jobTargets.filter(target => initialJobTargets.find(initialTarget =>\r\n initialTarget.criterion === target && (!jobTargetBidAdjustments || isJobTargetBidAdjustmentUpdated(initialTarget))) === undefined);\r\n const removedJobTargets = initialJobTargets.filter(initialTarget => jobTargets.find(target =>\r\n initialTarget.criterion === target) === undefined).map(target => ({ ...target, status: 'Deleted' }));\r\n\r\n const addedJobCriterion = getTargetCriterion({\r\n targets: addedJobTargets.map(criterion => ({ criterion })), type: 'JobFunction', propKey: 'Target', campaignViewModel,\r\n });\r\n const removedJobCriterion = getTargetCriterion({\r\n targets: removedJobTargets, type: 'JobFunction', propKey: 'Target', campaignViewModel,\r\n });\r\n\r\n if (jobTargetBidAdjustments && jobTargetBidAdjustments.length > 0) {\r\n hydrateCriterionWithBidAndId('JobFunction', initialJobTargets, addedJobCriterion, jobTargetBidAdjustments);\r\n }\r\n\r\n return [\r\n ...addedJobCriterion,\r\n ...removedJobCriterion,\r\n ];\r\n};\r\n","import { each, isEmpty, map, omit, pluck } from 'underscore';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { notificationApi } from '@bingads-webui-campaign/notification-center';\r\nimport { Repository } from '@bingads-webui-campaign-legacy/adextension-image/service/repository';\r\nimport summaryDataContextManager from '@bingads-webui-static-legacy/summary/SummaryDataContextManager';\r\n\r\nexport const modelToViewModelForDisclaimer = ({\r\n disclaimerAssociations,\r\n}) => {\r\n let selectedDisclaimer = null;\r\n if (disclaimerAssociations && disclaimerAssociations.length > 0) {\r\n const adExtension = disclaimerAssociations[0].AdExtension;\r\n selectedDisclaimer = {\r\n Id: adExtension.Id,\r\n Name: adExtension.Name,\r\n };\r\n }\r\n\r\n return {\r\n disclaimer: {\r\n originalSelectedDisclaimer: selectedDisclaimer,\r\n selectedDisclaimer,\r\n },\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForDisclaimer = (campaignViewModel) => {\r\n let adExtensionAssociations = null;\r\n\r\n if (campaignViewModel && campaignViewModel.disclaimer && campaignViewModel.disclaimer.adExtensionAssociations) {\r\n adExtensionAssociations = campaignViewModel.disclaimer.adExtensionAssociations.map(adExtensionAssociation => ({\r\n ...omit(adExtensionAssociation, ['Client Id', 'Name', 'CampaignName']),\r\n Campaign: {\r\n Id: campaignViewModel.Id,\r\n },\r\n }));\r\n\r\n return { AdExtensionAssociations: adExtensionAssociations };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const bulkModelToViewModelForDisclaimer = ({\r\n campaignModel,\r\n originalCampaignModel,\r\n}) => {\r\n if (campaignModel.AdExtensionAssociations && campaignModel.AdExtensionAssociations.length > 0) {\r\n const activeAssociations = campaignModel.AdExtensionAssociations.filter(association => association.Status === 'Active');\r\n if (activeAssociations && activeAssociations.length > 0) {\r\n const selectedDisclaimer = activeAssociations[0];\r\n const originalSelectedDisclaimer = originalCampaignModel.disclaimer.selectedDisclaimer;\r\n if (selectedDisclaimer.Id === originalSelectedDisclaimer.Id) {\r\n return {\r\n disclaimer: {\r\n selectedDisclaimer: {\r\n Id: originalSelectedDisclaimer.Id,\r\n Name: originalSelectedDisclaimer.Name,\r\n },\r\n adExtensionAssociations: campaignModel.AdExtensionAssociations,\r\n },\r\n };\r\n }\r\n }\r\n }\r\n\r\n return {\r\n disclaimer: null,\r\n };\r\n};\r\n\r\n// the magic date is for bidata, but useless for this request\r\nconst magicDate = '2024-10-10';\r\n\r\nexport const loadDisclaimerAssociations = ({ cid, aid, campaignId }) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .AdExtensionAssociations\r\n .get({\r\n filter: {\r\n where: 'AdExtension/Status eq Enum.AdExtensionStatus\\'Active\\'',\r\n },\r\n $count: true,\r\n $top: 1,\r\n $expand: 'AdExtension',\r\n adExtensionType: 'DisclaimerAdExtension',\r\n startdate: magicDate,\r\n enddate: magicDate,\r\n // disable cache to ensure data refreshed\r\n cache: Date.now(),\r\n })\r\n .toPromise();\r\n\r\nconst imageExtensionsRepository = new Repository({\r\n schema: window.globalLegacySchema.get('ImageAdExtension'),\r\n afterChangeComitted: () => {\r\n summaryDataContextManager.updateContext(['AdGroupAdExtensionsGrid']);\r\n },\r\n});\r\nimageExtensionsRepository.association.createRequestFactory('adgroup');\r\n\r\nexport const saveImageExtensions = ({\r\n campaignId,\r\n adGroupId,\r\n // adId,\r\n imageExtensionChanges,\r\n}, {\r\n i18n,\r\n // activityLogger,\r\n // scenario,\r\n // perfMarker,\r\n}) => {\r\n // logActivity('Check image extensions');\r\n\r\n const defaultParams = {\r\n where: {\r\n campaignId: Number(campaignId),\r\n adGroupId: Number(adGroupId),\r\n },\r\n };\r\n\r\n if (isEmpty(imageExtensionChanges) ||\r\n (isEmpty(imageExtensionChanges.added) &&\r\n isEmpty(imageExtensionChanges.removed) &&\r\n isEmpty(imageExtensionChanges.updated))) {\r\n return Promise.resolve(true);\r\n }\r\n\r\n // const saveImgsExtPerfMarker = perfMarker.createChild('Process_ImageExtensions_Success');\r\n // saveImgsExtPerfMarker.willInit();\r\n\r\n const createImageExtensionsPromise = map(imageExtensionChanges.added, ext => imageExtensionsRepository.extension.create(ext));\r\n\r\n return Promise.all(createImageExtensionsPromise)\r\n .then((newExtensions) => {\r\n const newExtensionIds = pluck(newExtensions, 'Id');\r\n\r\n each(imageExtensionChanges.added, (item, index) => {\r\n // eslint-disable-next-line no-param-reassign\r\n item.Id = newExtensionIds[index];\r\n });\r\n\r\n let deletePromise = Promise.resolve(true);\r\n if (!isEmpty(imageExtensionChanges.removed)) {\r\n deletePromise = imageExtensionsRepository.association.destroyAll({\r\n where: {\r\n id: { in: pluck(imageExtensionChanges.removed, 'Id') },\r\n ...defaultParams.where,\r\n },\r\n });\r\n }\r\n\r\n return deletePromise\r\n .then(() => {\r\n const params = {\r\n where: {\r\n id: { in: newExtensionIds },\r\n ...defaultParams.where,\r\n },\r\n };\r\n\r\n const updatePromise = map(imageExtensionChanges.updated, ext => imageExtensionsRepository.extension.update(ext));\r\n return Promise.all(updatePromise).then(() => imageExtensionsRepository.association.updateAll(null, params));\r\n });\r\n })\r\n .then(() => {\r\n // logActivity('Updated image extension successfully');\r\n })\r\n .catch(() => {\r\n // do nothing, so that this is non-blocking\r\n // logActivity(`Updated image extension with failures, err: ${JSON.stringify(error)}`);\r\n\r\n const pageName = `${i18n.getString(_TL_('Ads & extensions'))}`;\r\n\r\n notificationApi.showWarning(i18n.getString(\r\n _TL_('There were errors when processing your image extension updates. To ensure that all changes are up to date or to manually create a new image extension, review your image extensions in the {{page}} page.'),\r\n {\r\n page: pageName,\r\n }\r\n ));\r\n\r\n return Promise.resolve(true);\r\n })\r\n .finally(() => {\r\n // saveImgsExtPerfMarker.done();\r\n // logImageExtensionUpdates({\r\n // adId,\r\n // currentItems: imageExtensionChanges.current,\r\n // createdExtModels: imageExtensionChanges.added,\r\n // removedExtModels: imageExtensionChanges.removed,\r\n // updatedExtModels: imageExtensionChanges.updated,\r\n // scope: defaultParams.where,\r\n // });\r\n });\r\n};\r\n\r\nexport const loadExtensionsAssociations = ({\r\n cid,\r\n aid,\r\n campaignId,\r\n adExtensionTypes = [],\r\n top = 1000, // get all, 20 max for each type\r\n}) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .AdExtensionAssociations['Default.GridData']\r\n .$makeCall({\r\n query: {\r\n top,\r\n filter: { where: \"(AdExtension/Status eq Enum.AdExtensionStatus'Active')\" },\r\n select: ['AdExtension'],\r\n },\r\n payload: {\r\n gridDataParameters: {\r\n DateRange: {\r\n // Just want to get extension data and don't care BI data, so pass dummy date ranges.\r\n StartDate: magicDate,\r\n EndDate: magicDate,\r\n },\r\n },\r\n associationType: 'Campaign',\r\n adExtensionTypes,\r\n },\r\n })\r\n .toPromise();\r\n","import { find, isNumber } from 'underscore';\r\nimport { ScopeLevel } from '@bingads-webui-campaign-react/constants';\r\n\r\nexport const dropdownValue = {\r\n Increase: 'Increase by',\r\n Decrease: 'Decrease by',\r\n};\r\n\r\nexport const modelToViewModelForBidAdjustment = (data, disableDecrease) => ({\r\n bidAdjustmentDropdown: disableDecrease || data >= 0 ? dropdownValue.Increase : dropdownValue.Decrease,\r\n bidAdjustmentInput: disableDecrease ? data : Math.abs(data),\r\n});\r\n\r\nconst parseBidAdjustmentValue = (data, i18n) => (isNumber(data) ? data : i18n.parseDecimal(data));\r\n\r\nexport const viewModelToModelForBidAdjustment = (data, i18n) => (data.bidAdjustmentDropdown === dropdownValue.Increase ? parseBidAdjustmentValue(data.bidAdjustmentInput, i18n) : -parseBidAdjustmentValue(data.bidAdjustmentInput, i18n));\r\n\r\nexport const modelToViewModelForMultiMediaBidAdjustment = (level, campaignLevelValue, adgroupLevelData) => ({\r\n multimediaAds: {\r\n currentLevelData: level === ScopeLevel.AdGroup ? modelToViewModelForBidAdjustment(adgroupLevelData, true) : modelToViewModelForBidAdjustment(campaignLevelValue, true),\r\n parentLevelData: level === ScopeLevel.AdGroup ? modelToViewModelForBidAdjustment(campaignLevelValue, true) : undefined,\r\n useParentLevel: level === ScopeLevel.AdGroup && !adgroupLevelData,\r\n },\r\n});\r\n\r\nexport const modelToViewModelForAutomatedCallToActionOptOut = (data) => {\r\n const campaignSettings = data.CampaignSettings;\r\n const callToActionSetting = campaignSettings && find(campaignSettings, setting => setting['@odata.type'] === '#Model.CallToActionSetting');\r\n return {\r\n AutomatedCallToActionOptOut: callToActionSetting && callToActionSetting.AutomatedCallToActionOptOut,\r\n };\r\n};\r\n\r\nexport const viewModelToModelForMultiMediaAdBidAdjustment = (level, viewmodel, i18n) => {\r\n if (!viewmodel.multimediaAds) {\r\n return {};\r\n }\r\n\r\n const { currentLevelData, useParentLevel } = viewmodel.multimediaAds;\r\n return { MultimediaAdBidAdjustment: level === ScopeLevel.AdGroup && useParentLevel ? null : viewModelToModelForBidAdjustment(currentLevelData, i18n) };\r\n};\r\n","import { result, findWhere, without } from 'underscore';\r\n\r\nexport const getDsaDefaultWebsiteLanguage = (permissions) => {\r\n const isDomesticSimplifiedChineseEnabled = result(permissions, 'IsDomesticSimplifiedChineseEnabled');\r\n const defaultLanguage = isDomesticSimplifiedChineseEnabled ? 'SimplifiedChinese' : 'English';\r\n return defaultLanguage;\r\n};\r\n\r\nexport const getDSAWebsiteLanguages = (permissions) => {\r\n const DSAEnableInFrenchGerman = result(permissions, 'IsDynamicSearchAdsV1EnabledInFRAndDE');\r\n const IsEnabledForDSAInCHandNLandITandESandSE = result(permissions, 'IsEnabledForDSAInCHandNLandITandESandSE');\r\n const IsSimplifiedChineseLanguageEnabledInMultipleLanguage = result(permissions, 'IsSimplifiedChineseLanguageEnabledInMultipleLanguage');\r\n const IsDomesticSimplifiedChineseEnabled = result(permissions, 'IsDomesticSimplifiedChineseEnabled');\r\n\r\n let languages = [\r\n 'English',\r\n 'Polish',\r\n 'Portuguese',\r\n 'Czech',\r\n 'Romanian',\r\n 'Hungarian',\r\n 'Greek',\r\n 'Slovak',\r\n 'Bulgarian',\r\n 'Croatian',\r\n 'Lithuanian',\r\n 'Slovenian',\r\n 'Estonian',\r\n 'Latvian',\r\n 'Maltese',\r\n 'Danish',\r\n 'Finnish',\r\n 'Norwegian',\r\n 'Turkish',\r\n 'Serbian',\r\n 'Bosnian',\r\n 'Albanian',\r\n 'Macedonian',\r\n 'Icelandic',\r\n 'Japanese',\r\n 'Hebrew',\r\n 'Arabic',\r\n 'Russian',\r\n 'TraditionalChinese',\r\n 'Hindi',\r\n 'Malay',\r\n 'Thai',\r\n 'Indonesian',\r\n 'Tagalog',\r\n 'Vietnamese',\r\n ];\r\n\r\n if (DSAEnableInFrenchGerman) {\r\n languages = languages.concat(['French', 'German']);\r\n }\r\n\r\n if (IsEnabledForDSAInCHandNLandITandESandSE) {\r\n languages = languages.concat(['Spanish', 'Italian', 'Dutch', 'Swedish']);\r\n }\r\n\r\n if (IsSimplifiedChineseLanguageEnabledInMultipleLanguage) {\r\n languages = languages.concat(['SimplifiedChinese']);\r\n }\r\n\r\n if (IsDomesticSimplifiedChineseEnabled) {\r\n languages = ['SimplifiedChinese'];\r\n }\r\n\r\n if (!(IsSimplifiedChineseLanguageEnabledInMultipleLanguage || IsDomesticSimplifiedChineseEnabled)) {\r\n languages = without(languages, 'SimplifiedChinese');\r\n }\r\n\r\n return languages;\r\n};\r\n\r\nexport const targetingSourceOptions = {\r\n SystemIndex: 'SystemIndex',\r\n AdvertiserSuppliedUrls: 'AdvertiserSuppliedUrls',\r\n All: 'All',\r\n};\r\n\r\nexport const targetingSourceOptionStrings = {\r\n [targetingSourceOptions.SystemIndex]: _TL_('Use Bing\\'s index of my website'),\r\n [targetingSourceOptions.AdvertiserSuppliedUrls]: _TL_('Use URLs from my page feed only'),\r\n [targetingSourceOptions.All]: _TL_('Use URLs from both Bing\\'s index of my website and my page feed'),\r\n};\r\n\r\nexport const defaultTargetingSource = targetingSourceOptions.SystemIndex;\r\n\r\nexport const dsaDefaultTextEnabled = true;\r\n\r\nexport const dsaTargetOptions = {\r\n Category: 'Category',\r\n All: 'All',\r\n 'Specific-ExactUrl': 'Specific-ExactUrl',\r\n 'Specific-Rules': 'Specific-Rules',\r\n CustomLabel: 'CustomLabel',\r\n};\r\n\r\nexport const dsaTargetOptionStrings = {\r\n [dsaTargetOptions.Category]: _TL_('Target categories of webpages'),\r\n [dsaTargetOptions.All]: _TL_('Target all webpages'),\r\n [dsaTargetOptions.Specific]: _TL_('Target specific webpages'),\r\n [dsaTargetOptions.CustomLabel]: _TL_('Target custom labels from your page feed(s)'),\r\n};\r\n\r\nconst getDefaultDsaSettingsForCampaign = ({ permissions }) => {\r\n const dsaDefaultWebsiteLanguage = getDsaDefaultWebsiteLanguage(permissions);\r\n\r\n const defaultSearchDynamic = {\r\n selectedWebsiteLanguage: dsaDefaultWebsiteLanguage,\r\n selectedTargetingSource: defaultTargetingSource,\r\n dynamicTextEnabled: dsaDefaultTextEnabled,\r\n websites: [],\r\n };\r\n\r\n return defaultSearchDynamic;\r\n};\r\n\r\nexport const modelToViewModelForDsaSettings = ({ campaignModel, permissions }) => {\r\n const dsaSettings = findWhere(campaignModel.CampaignSettings, { '@odata.type': '#Model.DynamicSearchAdsSetting' });\r\n\r\n const hasDsaSettings = dsaSettings ? !!dsaSettings.DomainName : false;\r\n\r\n const viewModel = hasDsaSettings ? {\r\n selectedWebsiteLanguage: dsaSettings.Language,\r\n selectedTargetingSource: dsaSettings.Source,\r\n dynamicTextEnabled: dsaSettings.DynamicDescriptionEnabled,\r\n websites: [dsaSettings.DomainName],\r\n } : getDefaultDsaSettingsForCampaign({ permissions });\r\n\r\n return {\r\n hasDsaSettings,\r\n disableDsaSettings: hasDsaSettings,\r\n ...viewModel,\r\n };\r\n};\r\n\r\nexport const bulkModelToViewModelForDsaSettings = ({ campaignModel, permissions }) => {\r\n const hasDsaSettings = !!campaignModel.DomainName;\r\n\r\n const viewModel = hasDsaSettings ? {\r\n selectedWebsiteLanguage: campaignModel.LanguageCode,\r\n selectedTargetingSource: campaignModel.Source,\r\n dynamicTextEnabled: campaignModel.DynamicDescriptionEnabled,\r\n websites: [campaignModel.DomainName],\r\n } : getDefaultDsaSettingsForCampaign({ permissions });\r\n\r\n return {\r\n hasDsaSettings,\r\n disableDsaSettings: hasDsaSettings,\r\n ...viewModel,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForDsaSettings = ({ campaignViewModel, permissions = {} }) => {\r\n const dsaSettings = {\r\n DomainName: campaignViewModel.websites.join(),\r\n ...(result(permissions.dynamic, 'DSADynamicDescriptionPhase1') && { DynamicDescriptionEnabled: campaignViewModel.dynamicTextEnabled }),\r\n LanguageCode: campaignViewModel.selectedWebsiteLanguage,\r\n Source: campaignViewModel.selectedTargetingSource,\r\n // Page feeds\r\n PageFeedIds: campaignViewModel.selectedTargetingSource !== targetingSourceOptions.SystemIndex ? campaignViewModel.pageFeeds.map(feed => feed.key) : [],\r\n };\r\n\r\n return dsaSettings;\r\n};\r\n","import { findWhere, isEmpty } from 'underscore';\r\nimport { bidStratetyTypeValue } from '@bingads-webui-campaign-react/constants';\r\n\r\nimport { CAMPAIGN_NEGATIVE_REFERENCE_ID } from '../shared/constants';\r\n\r\nexport const viewModelToModelForPredictiveMatching = (campaignViewModel, permissions) => {\r\n const model = {};\r\n\r\n // Predictive Matching\r\n const predictiveTargetingSetting = findWhere(campaignViewModel.CampaignSettings, { '@odata.type': '#Model.PredictiveTargetingSetting' });\r\n const autoTargetingDefault = (predictiveTargetingSetting && predictiveTargetingSetting.PredictiveTargetingEnabled) || false;\r\n const supportedBiddingStrategiesForPredictiveMatching = [\r\n bidStratetyTypeValue.targetCpa,\r\n bidStratetyTypeValue.targetRoas,\r\n bidStratetyTypeValue.maximizeConversions,\r\n ];\r\n const autoTargetingEnabled = supportedBiddingStrategiesForPredictiveMatching.includes(campaignViewModel.BiddingScheme.Type) && (campaignViewModel.isPredictiveMatchingChecked === undefined ? campaignViewModel.AutoTargetingEnabled : campaignViewModel.isPredictiveMatchingChecked);\r\n\r\n // Only sent when predictiveTargetingEnabled change\r\n if (!!autoTargetingEnabled !== autoTargetingDefault) {\r\n model.AutoTargetingEnabled = autoTargetingEnabled || false;\r\n }\r\n\r\n // Brand Protections\r\n if (autoTargetingEnabled && campaignViewModel.brandProtections) {\r\n if (!isEmpty(campaignViewModel.brandProtections.deletedBrandListIds)) {\r\n model.BrandListsAssociations = [\r\n ...model.BrandListsAssociations || [],\r\n ...campaignViewModel.brandProtections.deletedBrandListIds.map(brandListId => ({\r\n Id: brandListId, SharedEntityId: brandListId, EntityId: campaignViewModel.Id || CAMPAIGN_NEGATIVE_REFERENCE_ID, Status: 'Deleted',\r\n })),\r\n ];\r\n }\r\n if (!isEmpty(campaignViewModel.brandProtections.addedBrandListIds)) {\r\n model.BrandListsAssociations = [\r\n ...model.BrandListsAssociations || [],\r\n ...campaignViewModel.brandProtections.addedBrandListIds.map(brandListId => ({\r\n Id: brandListId, SharedEntityId: brandListId, EntityId: campaignViewModel.Id || CAMPAIGN_NEGATIVE_REFERENCE_ID, Status: 'Active',\r\n })),\r\n ];\r\n }\r\n }\r\n\r\n if (model.AutoTargetingEnabled && permissions && !(permissions.dynamic && permissions.dynamic.PredictiveMatching)) {\r\n model.AutoTargetingEnabled = false;\r\n }\r\n\r\n return model;\r\n};\r\n","import { findWhere, pick, extend, isEmpty } from 'underscore';\r\nimport { ScopeLevel } from '@bingads-webui-campaign-react/constants';\r\n\r\nimport { bulkModelToViewModelForConversionGoals, modelToViewModelForConversionGoals } from './campaign-conversion';\r\nimport {\r\n bulkModelToViewModelForLocationTargets,\r\n modelToViewModelForLocationTargets,\r\n modelToViewModelForDayTimeTargets,\r\n bulkModelToViewModelForDayTimeTargets,\r\n modelToViewModelForDeviceTargets,\r\n modelToViewModelForGenderTargets,\r\n modelToViewModelForAgeTargets,\r\n modelToViewModelForCompanyNameTargets,\r\n modelToViewModelForIndustryTargets,\r\n modelToViewModelForJobFunctionTargets,\r\n} from './campaign-criterion';\r\nimport { bulkModelToViewModelForDisclaimer, modelToViewModelForDisclaimer } from './ad-extension';\r\nimport { modelToViewModelForMultiMediaBidAdjustment, modelToViewModelForAutomatedCallToActionOptOut, viewModelToModelForMultiMediaAdBidAdjustment } from './adjustment';\r\nimport { modelToViewModelForDsaSettings, bulkModelToViewModelForDsaSettings } from './dsa-settings';\r\nimport { viewModelToModelForPredictiveMatching } from './predictive-matching';\r\n\r\nconst whitelistedSchemaPropertyKeysForModel = [\r\n 'Id', 'Name', 'Status', 'BiddingScheme', 'Budget', 'Languages', 'AdGroups', 'AutoGeneratedAssetsEnabled', 'AdScheduleUseSearcherTimeZone', 'DisclaimerAdsEnabled', 'AdExtensionAssociations', 'DomainName', 'LanguageCode', 'Source', 'DynamicDescriptionEnabled', 'TrackingUrlTemplate', 'FinalUrlSuffix', 'UrlCustomParameters', 'PageFeedIds', 'AutoTargetingEnabled',\r\n];\r\n\r\nconst editSpecialProperty = [\r\n 'MultiMediaAdBidAdjustment', 'AutomatedCallToActionOptOut', 'CampaignSettings', 'BidStrategyName', 'ExperimentId',\r\n];\r\n\r\nconst whitelistedSchemaPropertyKeysForModelEdit = whitelistedSchemaPropertyKeysForModel.concat(editSpecialProperty);\r\n\r\nconst whitelistedSchemaPropertyKeys = whitelistedSchemaPropertyKeysForModel.concat(['CampaignConversionGoal']);\r\nconst whitelistedSchemaPropertyKeysEdit = whitelistedSchemaPropertyKeys.concat([...editSpecialProperty, 'ImportProperties']);\r\n\r\nconst viewModelToModelForUrlCustomParameters = urlCustomParametersViewModel =>\r\n urlCustomParametersViewModel.filter(({ Key }) => Key);\r\n\r\nexport const viewModelToModelForCampaign = (campaignViewModel, isEdit, i18n, permissions) => {\r\n let model = {\r\n ...pick(campaignViewModel, isEdit ? whitelistedSchemaPropertyKeysForModelEdit : whitelistedSchemaPropertyKeysForModel),\r\n };\r\n\r\n if (isEdit) {\r\n if (!permissions.IsDomesticSimplifiedChineseEnabled || (permissions.IsDomesticSimplifiedChineseEnabled && permissions.dynamic.MMAForCN)) {\r\n model = extend(model, viewModelToModelForMultiMediaAdBidAdjustment(ScopeLevel.Campaign, campaignViewModel, i18n));\r\n } else {\r\n delete model.MultimediaAdBidAdjustment;\r\n delete model.MultiMediaAdBidAdjustment;\r\n }\r\n\r\n if (campaignViewModel.BiddingScheme) {\r\n model = extend(model, viewModelToModelForPredictiveMatching(campaignViewModel, permissions));\r\n }\r\n\r\n if (campaignViewModel.Budget) {\r\n model.BudgetId = campaignViewModel.Budget.Id;\r\n }\r\n\r\n if (campaignViewModel.UrlCustomParameters) {\r\n model.UrlCustomParameters = viewModelToModelForUrlCustomParameters(campaignViewModel.UrlCustomParameters);\r\n }\r\n }\r\n return model;\r\n};\r\n\r\nexport const bulkModelToViewModelForCampaign = ({\r\n campaignModel,\r\n originalCampaignModel,\r\n bundleCountries,\r\n errors,\r\n isEdit,\r\n permissions,\r\n}) => {\r\n let data = {\r\n ...pick(campaignModel, whitelistedSchemaPropertyKeysForModel),\r\n };\r\n data = extend(data, bulkModelToViewModelForLocationTargets({\r\n locationTargetsModel: campaignModel.CampaignCriterions,\r\n bundleCountries,\r\n }));\r\n data = extend(data, bulkModelToViewModelForConversionGoals({\r\n campaignModel,\r\n originalCampaignModel,\r\n errors,\r\n }));\r\n data = extend(data, bulkModelToViewModelForDisclaimer({\r\n campaignModel,\r\n originalCampaignModel,\r\n }));\r\n\r\n if (isEdit) {\r\n data.multimediaAds = originalCampaignModel.multimediaAds;\r\n data.AutomatedCallToActionOptOut = originalCampaignModel.multimediaAds;\r\n data.Device = originalCampaignModel.Device;\r\n data.initialDevice = originalCampaignModel.initialDevice;\r\n data.Gender = originalCampaignModel.Gender;\r\n data.initialGender = originalCampaignModel.initialGender;\r\n data.Age = originalCampaignModel.Age;\r\n data.initialAge = originalCampaignModel.initialAge;\r\n data.companyNameTargets = originalCampaignModel.companyNameTargets;\r\n data.initialCompanyNameTargets = originalCampaignModel.initialCompanyNameTargets;\r\n data.industry = originalCampaignModel.industry;\r\n data.initialIndustry = originalCampaignModel.initialIndustry;\r\n data.initialIndustryTargets = originalCampaignModel.initialIndustryTargets;\r\n data.jobTargets = originalCampaignModel.jobTargets;\r\n data.initialJobTargets = originalCampaignModel.initialJobTargets;\r\n data.initialJobFunctionTargets = originalCampaignModel.initialJobFunctionTargets;\r\n\r\n if (campaignModel.CampaignCriterions) {\r\n data.dayTimeRanges = bulkModelToViewModelForDayTimeTargets(campaignModel.CampaignCriterions, originalCampaignModel.dayTimeRanges || []);\r\n data.adSchedulesBulkUpsert = [];\r\n }\r\n\r\n if (campaignModel.BidStrategyName) {\r\n data.Portofolio = campaignModel.BiddingScheme;\r\n }\r\n\r\n data = extend(data, bulkModelToViewModelForDsaSettings({\r\n campaignModel,\r\n permissions,\r\n }));\r\n }\r\n return data;\r\n};\r\n\r\nexport const modelToViewModelForCampaign = ({\r\n campaignModel,\r\n locationCriterionsModel,\r\n bundleCountries,\r\n disclaimerAssociations,\r\n scheduleCriterionModel,\r\n targetCriterionModel,\r\n pageFeeds,\r\n isEdit,\r\n permissions,\r\n}) => {\r\n let viewModel = {\r\n ...pick(campaignModel, isEdit ? whitelistedSchemaPropertyKeysEdit : whitelistedSchemaPropertyKeys),\r\n };\r\n\r\n if (campaignModel.Status === 'UserPaused') {\r\n viewModel.Status = 'Paused';\r\n }\r\n\r\n if (locationCriterionsModel) {\r\n viewModel = extend(viewModel, modelToViewModelForLocationTargets({\r\n model: locationCriterionsModel,\r\n bundleCountries,\r\n campaignId: campaignModel.Id,\r\n }));\r\n }\r\n\r\n viewModel = extend(viewModel, modelToViewModelForDisclaimer({\r\n disclaimerAssociations,\r\n }));\r\n\r\n if (scheduleCriterionModel && !isEmpty(scheduleCriterionModel)) {\r\n viewModel.dayTimeRanges = modelToViewModelForDayTimeTargets(scheduleCriterionModel);\r\n }\r\n\r\n if (campaignModel.CampaignSettings) {\r\n const disclaimerSetting = findWhere(campaignModel.CampaignSettings, { '@odata.type': '#Model.DisclaimerSetting' });\r\n viewModel.DisclaimerAdsEnabled = (disclaimerSetting && disclaimerSetting.DisclaimerAdsEnabled) || false;\r\n\r\n const rsaSetting = findWhere(campaignModel.CampaignSettings, { '@odata.type': '#Model.ResponsiveSearchAdsSetting' });\r\n viewModel.AutoGeneratedAssetsEnabled = (rsaSetting && rsaSetting.AutoGeneratedAssetsEnabled) || false;\r\n\r\n const predictiveTargetingSetting = findWhere(campaignModel.CampaignSettings, { '@odata.type': '#Model.PredictiveTargetingSetting' });\r\n viewModel.AutoTargetingEnabled = (predictiveTargetingSetting && predictiveTargetingSetting.PredictiveTargetingEnabled) || false;\r\n }\r\n\r\n viewModel = extend(viewModel, modelToViewModelForConversionGoals(campaignModel));\r\n if (isEdit) {\r\n viewModel = extend(viewModel, modelToViewModelForMultiMediaBidAdjustment(ScopeLevel.Campaign, campaignModel.MultiMediaAdBidAdjustment));\r\n viewModel = extend(viewModel, modelToViewModelForAutomatedCallToActionOptOut(campaignModel));\r\n\r\n viewModel = extend(viewModel, modelToViewModelForDeviceTargets({\r\n model: targetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.DeviceCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n viewModel = extend(viewModel, modelToViewModelForDsaSettings({\r\n campaignModel,\r\n permissions,\r\n }));\r\n\r\n viewModel = extend(viewModel, { pageFeeds });\r\n\r\n viewModel = extend(viewModel, modelToViewModelForGenderTargets({\r\n model: targetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.GenderCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n viewModel = extend(viewModel, modelToViewModelForAgeTargets({\r\n model: targetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.AgeCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n viewModel = extend(viewModel, modelToViewModelForCompanyNameTargets({\r\n model: targetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.CompanyNameCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n viewModel = extend(viewModel, modelToViewModelForIndustryTargets({\r\n model: targetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.IndustryCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n viewModel = extend(viewModel, modelToViewModelForJobFunctionTargets({\r\n model: targetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.JobFunctionCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n if (viewModel.BidStrategyName) {\r\n viewModel.Portofolio = viewModel.BiddingScheme;\r\n }\r\n }\r\n return viewModel;\r\n};\r\n","import { Campaign, BrandListAssociation } from '@bingads-webui/campaign-odata-schemas';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\n\r\nimport { bulkModelToViewModelForCampaign, viewModelToModelForCampaign } from './campaign';\r\nimport { viewModelToBulkModelForConversionGoals } from './campaign-conversion';\r\nimport {\r\n viewModelToBulkModelForLocationTargets,\r\n viewModelToBulkModelForSchedule,\r\n viewModelToBulkModelForDeviceTargets,\r\n viewModelToBulkModelForGenderTargets,\r\n viewModelToBulkModelForAgeTargets,\r\n viewModelToBulkModelForCompanyNameTargets,\r\n viewModelToBulkModelForIndustryTargets,\r\n viewModelToBulkModelForJobFunctionTargets,\r\n} from './campaign-criterion';\r\nimport { isBulkWrappedResponse } from '../shared/bulk';\r\nimport { ERROR_ENTITY, getBulkUploadErrorType, modelToViewModelForBulkErrors, removeReferencedEntityInvalidIdErrors } from '../shared/bulk-upsert-errors';\r\nimport { GENERIC_ERROR_MESSAGE_KEY, getErrorsPlaceholders } from '../shared/constants';\r\nimport { viewModelToBulkModelForDisclaimer } from './ad-extension';\r\nimport { viewModelToBulkModelForDsaSettings } from './dsa-settings';\r\n\r\nconst campaignEDM = edmCampaign.types.resolve('Model.Campaign');\r\nconst campaignResource = new campaignEDM.ResourceIdentifier();\r\n\r\nexport const createOrUpdateCampaign = (data) => {\r\n const createOrUpdateCall = data && data.Id ?\r\n campaignResource.bulkUpdate.bind(campaignResource) :\r\n campaignResource.bulkCreate.bind(campaignResource);\r\n return createOrUpdateCall(data);\r\n};\r\n\r\nconst bulkUpsertCampaignSettingsEntityErrorMap = {\r\n [getBulkUploadErrorType(Campaign)]: ERROR_ENTITY.Campaign,\r\n 'Campaign Conversion Goal Error': ERROR_ENTITY.CampaignConversionGoal,\r\n 'Campaign Day Time Criterion Error': ERROR_ENTITY.CampaignDayTimeCriterion,\r\n 'Campaign DeviceOS Criterion Error': ERROR_ENTITY.CampaignDeviceOSCriterion,\r\n 'Campaign Gender Criterion Error': ERROR_ENTITY.CampaignGenderCriterion,\r\n [getBulkUploadErrorType(BrandListAssociation)]: ERROR_ENTITY.BrandListAssociation,\r\n 'Campaign Location Criterion Error': ERROR_ENTITY.CampaignLocation,\r\n 'Campaign Radius Criterion Error': ERROR_ENTITY.CampaignRadius,\r\n 'Campaign Negative Location Criterion Error': ERROR_ENTITY.CampaignNegativeLocation,\r\n 'Campaign Location Intent Criterion Error': ERROR_ENTITY.CampaignLocationIntent,\r\n 'Campaign Company Name Criterion Error': ERROR_ENTITY.CampaignCompanyNameCriterion,\r\n 'Campaign Industry Criterion Error': ERROR_ENTITY.CampaignIndustryCriterion,\r\n 'Campaign Job Function Criterion Error': ERROR_ENTITY.CampaignJobFunctionCriterion,\r\n};\r\n\r\nexport const saveCampaign = ({\r\n campaign: campaignViewModel,\r\n bundleCountries,\r\n bundleLocationCriterions,\r\n isEdit,\r\n permissions,\r\n}, {\r\n scenario,\r\n i18n,\r\n activityLogger,\r\n}) => {\r\n const campaignModel = viewModelToModelForCampaign(campaignViewModel, isEdit, i18n, permissions);\r\n const locationTargetsModel = bundleLocationCriterions ? viewModelToBulkModelForLocationTargets(campaignViewModel, bundleLocationCriterions) : [];\r\n const conversionGoalsAssociations = campaignViewModel && campaignViewModel.conversionGoals ? {\r\n CampaignConversionGoalAssociations: viewModelToBulkModelForConversionGoals(campaignViewModel, campaignViewModel.Id),\r\n } : {};\r\n const adExtensionAssociations = viewModelToBulkModelForDisclaimer(campaignViewModel);\r\n const scheduleModel = campaignViewModel.adSchedulesBulkUpsert ? viewModelToBulkModelForSchedule(campaignViewModel.adSchedulesBulkUpsert, campaignModel) : [];\r\n const deviceModel = campaignViewModel.Device ? viewModelToBulkModelForDeviceTargets({ campaignViewModel }) : [];\r\n const dsaSettings = campaignViewModel.hasDsaSettings ? viewModelToBulkModelForDsaSettings({ campaignViewModel, permissions }) : {};\r\n const genderModel = campaignViewModel.Gender ? viewModelToBulkModelForGenderTargets({ campaignViewModel }) : [];\r\n const ageModel = campaignViewModel.Age ? viewModelToBulkModelForAgeTargets({ campaignViewModel }) : [];\r\n const companyNameModel = campaignViewModel.companyNameTargets ? viewModelToBulkModelForCompanyNameTargets({ campaignViewModel }) : [];\r\n const industryModel = campaignViewModel.industry ? viewModelToBulkModelForIndustryTargets({ campaignViewModel }) : [];\r\n const jobFunctionModel = campaignViewModel.jobTargets ? viewModelToBulkModelForJobFunctionTargets({ campaignViewModel }) : [];\r\n const modelToSave = {\r\n ...campaignModel,\r\n ...conversionGoalsAssociations,\r\n ...adExtensionAssociations,\r\n ...dsaSettings,\r\n CampaignCriterions: [\r\n ...locationTargetsModel,\r\n ...scheduleModel,\r\n ...deviceModel,\r\n ...genderModel,\r\n ...ageModel,\r\n ...companyNameModel,\r\n ...industryModel,\r\n ...jobFunctionModel,\r\n ],\r\n };\r\n\r\n return createOrUpdateCampaign(modelToSave)\r\n // with bulk the result will have shape of:\r\n // - { ...entityData } - in case of success;\r\n // - { entity: { ...entityData }, errors: [(EditorialError|MTError)] } - in case of error(s).\r\n .then((result) => {\r\n const data = {\r\n campaign: bulkModelToViewModelForCampaign({\r\n campaignModel: result,\r\n originalCampaignModel: campaignViewModel,\r\n bundleCountries,\r\n permissions,\r\n }),\r\n ...getErrorsPlaceholders(),\r\n };\r\n return data;\r\n }, (bulkOrSystemError) => {\r\n if (isBulkWrappedResponse(bulkOrSystemError)) {\r\n const { entity, errors } = bulkOrSystemError;\r\n const campaign = entity ?\r\n bulkModelToViewModelForCampaign({\r\n campaignModel: entity,\r\n originalCampaignModel: campaignViewModel,\r\n bundleCountries,\r\n errors,\r\n isEdit,\r\n permissions,\r\n }) :\r\n campaignViewModel;\r\n\r\n let filteredErrors = errors;\r\n if (campaign.Id <= 0) {\r\n filteredErrors = removeReferencedEntityInvalidIdErrors(errors);\r\n }\r\n\r\n const serverErrors = modelToViewModelForBulkErrors(\r\n filteredErrors,\r\n bulkUpsertCampaignSettingsEntityErrorMap,\r\n scenario,\r\n i18n,\r\n activityLogger\r\n );\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n campaign,\r\n serverErrors,\r\n });\r\n }\r\n\r\n // Activity\r\n // eslint-disable-next-line no-console\r\n console.warn(`Campaign bulk upsert system error: ${bulkOrSystemError.stack || bulkOrSystemError.message || bulkOrSystemError}`);\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n campaign: campaignViewModel,\r\n systemErrors: [i18n.getString(GENERIC_ERROR_MESSAGE_KEY)],\r\n });\r\n });\r\n};\r\n","import { edmCampaign } from '@bingads-webui/edm-campaign';\r\n\r\n\r\nconst readCampaign = (cid, aid, campaignId) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .get({\r\n select: ['Budget', 'CampaignConversionGoal/Goals'],\r\n })\r\n .toPromise();\r\n\r\nexport const loadCampaign = (cid, aid, campaignId) =>\r\n readCampaign(cid, aid, campaignId);\r\n","import { pick } from 'underscore';\r\n\r\nconst whitelistedSchemaPropertyKeysForModel = [\r\n 'ParentId', 'Id', 'Name', 'Status', 'AdGroupType', 'Language',\r\n];\r\n\r\nexport const viewModelToModelForAdGroup = adGroupViewModel => ({\r\n ...pick(adGroupViewModel, whitelistedSchemaPropertyKeysForModel),\r\n});\r\n\r\nexport const bulkModelToViewModelForAdGroup = ({\r\n adGroupModel,\r\n originalAdGroupModel,\r\n}) => {\r\n const data = {\r\n ...originalAdGroupModel,\r\n ...pick(adGroupModel, whitelistedSchemaPropertyKeysForModel),\r\n };\r\n\r\n return data;\r\n};\r\n\r\nexport const modelToViewModelForAdGroup = (adGroupModel) => {\r\n const viewModel = {\r\n ...pick(adGroupModel, whitelistedSchemaPropertyKeysForModel),\r\n };\r\n\r\n return viewModel;\r\n};\r\n","import { pick, without } from 'underscore';\r\nimport { formatDateToAPIFormat, parseDateFromAPIFormat } from './utils';\r\n\r\nconst whitelistedSchemaPropertyKeysForModel = [\r\n 'Id', 'Status', 'Medium', 'AdDistribution', 'SearchBid', 'StartDate', 'EndDate',\r\n];\r\n\r\nexport const viewModelToModelForAdGroupBudget = (adGroupViewModel, campaignId, i18n) => {\r\n const data = {\r\n ...pick(adGroupViewModel, without(whitelistedSchemaPropertyKeysForModel, 'Status')),\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n };\r\n data.StartDate = formatDateToAPIFormat(i18n, data.StartDate);\r\n data.EndDate = data.EndDate ? formatDateToAPIFormat(i18n, data.EndDate) : '1/1/3000';\r\n\r\n return data;\r\n};\r\n\r\nexport const bulkModelToViewModelForAdGroupBudget = ({\r\n adGroupModel,\r\n i18n,\r\n}) => {\r\n const data = {\r\n ...pick(adGroupModel, whitelistedSchemaPropertyKeysForModel),\r\n };\r\n data.StartDate = parseDateFromAPIFormat(i18n, adGroupModel.StartDate);\r\n data.EndDate = parseDateFromAPIFormat(i18n, adGroupModel.EndDate);\r\n\r\n return data;\r\n};\r\n\r\nexport const modelToViewModelForAdGroupBudget = (adGroupModel, i18n) => {\r\n const viewModel = {\r\n ...pick(adGroupModel, whitelistedSchemaPropertyKeysForModel),\r\n };\r\n\r\n viewModel.StartDate = parseDateFromAPIFormat(i18n, adGroupModel.StartDate);\r\n viewModel.EndDate = parseDateFromAPIFormat(i18n, adGroupModel.EndDate);\r\n\r\n return viewModel;\r\n};\r\n","import { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { modelToViewModelForAdGroup } from './ad-group';\r\nimport { modelToViewModelForAdGroupBudget } from './ad-group-for-budget';\r\n\r\nexport const readAdGroup = (cid, aid, campaignId, adGroupId) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .AdGroups.$withKey(adGroupId)\r\n .get()\r\n .toPromise();\r\n\r\nexport const loadAdGroup = (cid, aid, campaignId, adGroupId) =>\r\n readAdGroup(cid, aid, campaignId, adGroupId)\r\n .then((result) => {\r\n const data = modelToViewModelForAdGroup(result);\r\n\r\n return data;\r\n });\r\n\r\nexport const loadAdGroupForBudget = (cid, aid, campaignId, adGroupId, i18n) =>\r\n readAdGroup(cid, aid, campaignId, adGroupId)\r\n .then((result) => {\r\n const data = modelToViewModelForAdGroupBudget(result, i18n);\r\n\r\n return data;\r\n });\r\n","import { edmCampaign } from '@bingads-webui/edm-campaign';\r\n\r\n// the magic date is for bidata, but useless for this request\r\nconst magicDate = '9/30/2015';\r\n\r\nexport const loadKeywords = (cid, aid, campaignId, adGroupId, top) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .AdGroups.$withKey(adGroupId)\r\n .Keywords.get({\r\n $top: top,\r\n $count: true,\r\n startDate: magicDate,\r\n endDate: magicDate,\r\n }).toPromise();\r\n","import { findWhere, pick, extend } from 'underscore';\r\nimport {\r\n bulkModelToViewModelForDayTimeTargets,\r\n modelToViewModelForDayTimeTargets,\r\n} from './campaign-criterion';\r\nimport { viewModelToModelForPredictiveMatching } from './predictive-matching';\r\n\r\nconst whitelistedSchemaPropertyKeysForModel = [\r\n 'Id', 'Name', 'Budget', 'BiddingScheme', 'AdScheduleUseSearcherTimeZone', 'BidStrategyName', 'AutoTargetingEnabled',\r\n];\r\n\r\nexport const viewModelToModelForBudget = (campaignViewModel) => {\r\n let viewModel = { ...pick(campaignViewModel, whitelistedSchemaPropertyKeysForModel) };\r\n\r\n if (campaignViewModel.BiddingScheme) {\r\n viewModel = extend(viewModel, viewModelToModelForPredictiveMatching(campaignViewModel));\r\n }\r\n\r\n if (campaignViewModel.Budget) {\r\n viewModel.BudgetId = campaignViewModel.Budget.Id;\r\n }\r\n return viewModel;\r\n};\r\n\r\nexport const bulkModelToViewModelForBudget = ({\r\n campaignModel,\r\n originalCampaignModel,\r\n}) => {\r\n const data = {\r\n ...pick(campaignModel, whitelistedSchemaPropertyKeysForModel),\r\n };\r\n\r\n if (campaignModel.CampaignCriterions) {\r\n data.dayTimeRanges = bulkModelToViewModelForDayTimeTargets(campaignModel.CampaignCriterions, originalCampaignModel.dayTimeRanges || []);\r\n data.adSchedulesBulkUpsert = [];\r\n }\r\n return data;\r\n};\r\n\r\nexport const modelToViewModelForBudget = ({\r\n campaignModel,\r\n scheduleCriterionModel,\r\n}) => {\r\n const viewModel = {\r\n ...pick(campaignModel, whitelistedSchemaPropertyKeysForModel),\r\n };\r\n\r\n viewModel.dayTimeRanges = scheduleCriterionModel ? modelToViewModelForDayTimeTargets(scheduleCriterionModel) : [];\r\n viewModel.CampaignSettings = campaignModel.CampaignSettings;\r\n\r\n if (campaignModel.CampaignSettings) {\r\n const predictiveTargetingSetting = findWhere(campaignModel.CampaignSettings, { '@odata.type': '#Model.PredictiveTargetingSetting' });\r\n viewModel.BiddingScheme = extend({ AutoTargetingEnabled: (predictiveTargetingSetting && predictiveTargetingSetting.PredictiveTargetingEnabled) || false }, viewModel.BiddingScheme);\r\n viewModel.AutoTargetingEnabled = (predictiveTargetingSetting && predictiveTargetingSetting.PredictiveTargetingEnabled) || false;\r\n }\r\n\r\n viewModel.TimeZone = campaignModel.TimeZone;\r\n\r\n return viewModel;\r\n};\r\n","import { Campaign, AdGroup, BrandListAssociation } from '@bingads-webui/campaign-odata-schemas';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { bulkModelToViewModelForBudget, viewModelToModelForBudget } from './budget';\r\nimport { viewModelToBulkModelForSchedule } from './campaign-criterion';\r\nimport { viewModelToModelForAdGroupBudget, bulkModelToViewModelForAdGroupBudget } from './ad-group-for-budget';\r\nimport { isBulkWrappedResponse } from '../shared/bulk';\r\nimport { ERROR_ENTITY, getBulkUploadErrorType, modelToViewModelForBulkErrors, removeReferencedEntityInvalidIdErrors } from '../shared/bulk-upsert-errors';\r\nimport { GENERIC_ERROR_MESSAGE_KEY, getErrorsPlaceholders } from '../shared/constants';\r\n\r\nconst campaignEDM = edmCampaign.types.resolve('Model.Campaign');\r\nconst campaignResource = new campaignEDM.ResourceIdentifier();\r\n\r\nconst createOrUpdateCampaign = (data) => {\r\n const createOrUpdateCall = data && data.Id ?\r\n campaignResource.bulkUpdate.bind(campaignResource) :\r\n campaignResource.bulkCreate.bind(campaignResource);\r\n return createOrUpdateCall(data);\r\n};\r\n\r\nconst bulkUpsertEntityErrorMap = {\r\n [getBulkUploadErrorType(Campaign)]: ERROR_ENTITY.Campaign,\r\n [getBulkUploadErrorType(AdGroup)]: ERROR_ENTITY.AdGroup,\r\n 'Campaign Day Time Criterion Error': ERROR_ENTITY.CampaignDayTimeCriterion,\r\n [getBulkUploadErrorType(BrandListAssociation)]: ERROR_ENTITY.BrandListAssociation,\r\n};\r\n\r\nexport const saveBudget = ({\r\n campaign: campaignViewModel,\r\n adGroup: adGroupViewModel,\r\n}, {\r\n scenario,\r\n i18n,\r\n activityLogger,\r\n}) => {\r\n const campaignModel = viewModelToModelForBudget(campaignViewModel);\r\n const adgorupModel = viewModelToModelForAdGroupBudget(adGroupViewModel, campaignViewModel.Id, i18n);\r\n const scheduleModel = campaignViewModel.adSchedulesBulkUpsert ? viewModelToBulkModelForSchedule(campaignViewModel.adSchedulesBulkUpsert, campaignModel) : [];\r\n\r\n const modelToSave = {\r\n ...campaignModel,\r\n CampaignCriterions: [\r\n ...scheduleModel,\r\n ],\r\n AdGroups: [adgorupModel],\r\n };\r\n\r\n return createOrUpdateCampaign(modelToSave)\r\n // with bulk the result will have shape of:\r\n // - { ...entityData } - in case of success;\r\n // - { entity: { ...entityData }, errors: [(EditorialError|MTError)] } - in case of error(s).\r\n .then((result) => {\r\n const data = {\r\n campaign: bulkModelToViewModelForBudget({\r\n campaignModel: result,\r\n originalCampaignModel: campaignViewModel,\r\n }),\r\n adGroup: bulkModelToViewModelForAdGroupBudget({\r\n adGroupModel: result && result.AdGroups && result.AdGroups[0],\r\n i18n,\r\n }),\r\n ...getErrorsPlaceholders(),\r\n };\r\n\r\n return data;\r\n }, (bulkOrSystemError) => {\r\n if (isBulkWrappedResponse(bulkOrSystemError)) {\r\n const { entity, errors } = bulkOrSystemError;\r\n const campaign = entity ?\r\n bulkModelToViewModelForBudget({\r\n campaignModel: entity,\r\n originalCampaignModel: campaignViewModel,\r\n }) :\r\n campaignViewModel;\r\n\r\n let filteredErrors = errors;\r\n if (campaign.Id <= 0) {\r\n filteredErrors = removeReferencedEntityInvalidIdErrors(errors);\r\n }\r\n\r\n const serverErrors = modelToViewModelForBulkErrors(\r\n filteredErrors,\r\n bulkUpsertEntityErrorMap,\r\n scenario,\r\n i18n,\r\n activityLogger\r\n );\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n campaign,\r\n adGroup: entity && entity.AdGroups ? bulkModelToViewModelForAdGroupBudget({\r\n adGroupModel: entity.AdGroups[0],\r\n i18n,\r\n }) : adGroupViewModel,\r\n serverErrors,\r\n });\r\n }\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n campaign: campaignViewModel,\r\n adGroup: adGroupViewModel,\r\n systemErrors: [i18n.getString(GENERIC_ERROR_MESSAGE_KEY)],\r\n });\r\n });\r\n};\r\n","import { Campaign, AdGroup, Keyword } from '@bingads-webui/campaign-odata-schemas';\r\nimport { filter, isUndefined, isEmpty, each, isArray, where, contains, map } from 'underscore';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { getODataErrors } from '@bingads-webui-campaign/api-errors';\r\n\r\nimport { isBulkWrappedResponse } from '../shared/bulk';\r\nimport {\r\n ERROR_ENTITY,\r\n getBulkUploadErrorType,\r\n modelToViewModelForBulkErrors,\r\n removeReferencedEntityInvalidIdErrors,\r\n} from '../shared/bulk-upsert-errors';\r\nimport { GENERIC_ERROR_MESSAGE_KEY } from '../shared/constants';\r\n\r\nconst notEnoughText = '20000';\r\nconst tooMuchText = '20001';\r\nconst adGroupEDM = edmCampaign.types.resolve('Model.AdGroup');\r\nconst adGroupResource = new adGroupEDM.ResourceIdentifier();\r\n\r\nconst bulkUpsertEntityErrorMap = {\r\n [getBulkUploadErrorType(Campaign)]: ERROR_ENTITY.Campaign,\r\n [getBulkUploadErrorType(AdGroup)]: ERROR_ENTITY.AdGroup,\r\n [getBulkUploadErrorType(Keyword)]: ERROR_ENTITY.Keyword,\r\n};\r\n\r\nexport const getKeyFromKeyword = (keyword) => {\r\n switch (keyword.MatchType) {\r\n case 'Broad': return keyword.Text;\r\n case 'Phrase': return `\"${keyword.Text}\"`;\r\n case 'Exact': return `[${keyword.Text}]`;\r\n default: return keyword.Text;\r\n }\r\n};\r\n\r\nconst handleBulkApiError = (error, entity) => {\r\n const clientIdToKeywordMap = {};\r\n if (!isEmpty(entity)) {\r\n const filteredKeywords = filter(entity.Keywords, keyword => isUndefined(keyword.Id));\r\n each(filteredKeywords, (keyword) => {\r\n clientIdToKeywordMap[keyword['Client Id']] = keyword;\r\n });\r\n }\r\n\r\n const globalLegacyI18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n const s$TextAd = window.globalLegacySchema.get('TextAd');\r\n const getNameAndLengthForProperty = property => ({\r\n name: globalLegacyI18n.get(`ColumnName_${property}`),\r\n length: s$TextAd.properties[property].maxLength,\r\n });\r\n const escapeHtml = text => (text.replace(//g, '>'));\r\n\r\n if (error && error.clientId && !isUndefined(clientIdToKeywordMap[error.clientId])) {\r\n const errorFromAd = contains(['Title', 'Text', 'DestinationUrl'], error.property);\r\n let errorMessage = error.message;\r\n\r\n if (errorFromAd && error.code === tooMuchText && error.message.indexOf('{0}') > -1 && error.message.indexOf('{1}') > -1) {\r\n const pairs = getNameAndLengthForProperty(error.property);\r\n errorMessage = error.message.replace('{0}', pairs.name).replace('{1}', pairs.length);\r\n }\r\n if (errorFromAd && error.code === notEnoughText && error.message.indexOf('{0}') > -1) {\r\n errorMessage = error.message.replace('{0}', getNameAndLengthForProperty(error.property).name);\r\n }\r\n\r\n errorMessage = globalLegacyI18n.getString('Keywords_And_Errors_seperator', escapeHtml(getKeyFromKeyword(clientIdToKeywordMap[error.clientId])), errorMessage);\r\n\r\n if (errorMessage.indexOf(' handleBulkApiError(error, entity);\r\n\r\n const serverErrors = modelToViewModelForBulkErrors(\r\n errorList,\r\n bulkUpsertEntityErrorMap,\r\n scenario,\r\n i18n,\r\n activityLogger,\r\n errorProcessor\r\n );\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n serverErrors,\r\n entity,\r\n });\r\n }\r\n\r\n // Activity\r\n // eslint-disable-next-line no-console\r\n console.warn(`AdGroup bulk upsert system error: ${bulkOrSystemError.stack || bulkOrSystemError.message || bulkOrSystemError}`);\r\n\r\n if (bulkOrSystemError.status === 400) {\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n systemErrors: map(getODataErrors(bulkOrSystemError.errors, i18n), error => error.message),\r\n });\r\n }\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n systemErrors: [i18n.getString(GENERIC_ERROR_MESSAGE_KEY)],\r\n });\r\n }\r\n};\r\n","import _ from 'underscore';\r\nimport { cloneDeep } from '@bingads-webui-universal/primitive-utilities';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { shouldSelectBundleOption, parseLocationTargets, getLocationIntent, convertLocationStateToLocationSchemaCampaign } from '@bingads-webui-campaign/hotel-common-targets';\r\nimport { locationTargetsOptionKeys } from '@bingads-webui-campaign-react/wizard-shared-components';\r\nimport {\r\n targetOptions,\r\n} from '@bingads-webui-campaign-react/search-campaign-wizard-controls';\r\nimport { getTargetCriterion, hydrateCriterionWithBidAndId } from './utils';\r\n\r\nconst adGroupCriterionTypeName = 'Model.AdGroupCriterion';\r\n\r\nexport const readAdGroupCriterions = (cid, aid, campaignId, adGroupId, type) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .AdGroups.$withKey(adGroupId)\r\n .AdGroupCriterions\r\n .$cast(adGroupCriterionTypeName)\r\n .get({\r\n filter: {\r\n where: type,\r\n },\r\n })\r\n .toPromise();\r\n\r\nexport const readAdGroupLocationCriterions = (cid, aid, campaignId, adGroupId) =>\r\n readAdGroupCriterions(\r\n cid,\r\n aid,\r\n campaignId,\r\n adGroupId,\r\n \"isof(Criterion,'Model.LocationCriterion') or isof(Criterion,'Model.RadiusCriterion') or isof(Criterion,'Model.LocationIntentCriterion')\"\r\n );\r\n\r\nexport const modelToViewModelForAdgroupLocationTargets = ({\r\n model, campaignLocationModel, bundleCountries, adGroupId, campaignId,\r\n}) => {\r\n const {\r\n locations,\r\n intentId,\r\n intentOption,\r\n } = parseLocationTargets(model, 'adGroup', adGroupId);\r\n\r\n // bundleCountries is based on campaign language settings because\r\n // 1. bundle is not used in ad group level location setting\r\n // 2. bundle is only used to compute TargetOption in viewmodel, currently only used for logging\r\n // if any further use, please take care of the bundleCountries, determine to use bundleCountries based on campaign language settings or ad group language settings\r\n const targetOption = locations.length ? targetOptions.specific : targetOptions.everywhere;\r\n // targetOption = shouldSelectBundleOption(bundleCountries, locations) ? targetOptions.bundle : targetOption;\r\n\r\n let parentLevelSettings;\r\n\r\n if (campaignLocationModel) {\r\n const {\r\n locations: campaignLocations,\r\n intentId: campaignIntentId,\r\n intentOption: campaignIntentOption,\r\n } = parseLocationTargets(campaignLocationModel, 'campaign', campaignId);\r\n\r\n let campaignTargetOption = campaignLocations.length ? targetOptions.specific : targetOptions.everywhere;\r\n campaignTargetOption = shouldSelectBundleOption(bundleCountries, campaignLocations) ? targetOptions.bundle : campaignTargetOption;\r\n\r\n parentLevelSettings = {\r\n initLocations: campaignLocations,\r\n currentLocations: campaignLocations,\r\n targetOption: campaignTargetOption,\r\n intentId: campaignIntentId,\r\n ...campaignIntentOption,\r\n };\r\n }\r\n\r\n return {\r\n locationTargets: {\r\n currentLevelSettings: {\r\n initLocations: locations,\r\n currentLocations: locations,\r\n targetOption,\r\n intentId,\r\n ...intentOption,\r\n },\r\n parentLevelSettings,\r\n bidMode: false,\r\n useParentLevel: locations.length === 0,\r\n },\r\n };\r\n};\r\n\r\nexport const readAdGroupScheduleCriterions = (cid, aid, campaignId, adGroupId) =>\r\n readAdGroupCriterions(\r\n cid, aid, campaignId, adGroupId,\r\n \"isof(Criterion,'Model.DayTimeCriterion')\"\r\n );\r\n\r\nexport const viewModelToBulkModelForAdGroupSchedule = (adGroupViewModel, campaign) => {\r\n if (_.isEmpty(adGroupViewModel.dayTimeRanges) && adGroupViewModel.adSchedulesBulkUpsert.every(schedule => schedule.Status === 'Deleted')) {\r\n return [];\r\n }\r\n const targets = adGroupViewModel.adSchedulesBulkUpsert || [];\r\n return targets.map((criterion) => {\r\n const Status = _.isEmpty(criterion) ? 'Active' : criterion.Status;\r\n if (adGroupViewModel.Id) {\r\n return {\r\n ...criterion,\r\n Status,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id,\r\n },\r\n };\r\n }\r\n return {\r\n ...criterion,\r\n Status,\r\n AdGroupName: adGroupViewModel.Name,\r\n CampaignName: campaign.Name,\r\n };\r\n });\r\n};\r\n\r\nexport const readAdGroupTargetCriterion = (cid, aid, campaignId, adGroupId) =>\r\n readAdGroupCriterions(\r\n cid, aid, campaignId, adGroupId,\r\n \"isof(Criterion,'Model.AgeCriterion') or isof(Criterion,'Model.GenderCriterion') or isof(Criterion,'Model.DeviceCriterion') or isof(Criterion,'Model.CompanyNameCriterion') or isof(Criterion,'Model.IndustryCriterion') or isof(Criterion,'Model.JobFunctionCriterion')\"\r\n );\r\n\r\nexport const AdGroupAgeName = ['EighteenToTwentyFive', 'TwentyFiveToThirtyFive', 'ThirtyFiveToFifty', 'FiftyToSixtyFive', 'SixtyFiveAndAbove', 'Unknown'];\r\n\r\nexport const modelToViewModelForAdGroupAgeTargets = ({ model, campaignId, adGroupId }) => {\r\n let initialAge = [];\r\n const ageTargets = AdGroupAgeName.map((name) => {\r\n const targetItem = model && model.find(target => target.Criterion.AgeRange === name);\r\n if (targetItem) {\r\n const isExcluded = targetItem['@odata.type'] === '#Model.NegativeAdGroupCriterion';\r\n return {\r\n Id: targetItem.Id,\r\n Status: targetItem.Status || 'Active',\r\n Criterion: _.extend(targetItem.Criterion, {\r\n AgeCriterion: { Target: targetItem.Criterion.AgeRange },\r\n ...isExcluded ? {} : { BidAdjustment: targetItem.CriterionBid?.Multiplier },\r\n }),\r\n CriterionType: isExcluded ? 'NegativeAge' : 'Age',\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n AdGroup: {\r\n Id: adGroupId,\r\n },\r\n };\r\n }\r\n return {\r\n Status: 'Active',\r\n Criterion: {\r\n '@odata.type': '#Model.AgeCriterion',\r\n Type: 'Age',\r\n AgeCriterion: { Target: name },\r\n BidAdjustment: 0,\r\n },\r\n CriterionType: 'Age',\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n AdGroup: {\r\n Id: adGroupId,\r\n },\r\n };\r\n });\r\n\r\n const ageRanges = ageTargets.filter(target => target.CriterionType === 'Age')\r\n .map(target => target.Criterion.AgeCriterion.Target);\r\n\r\n initialAge = cloneDeep(ageTargets);\r\n return {\r\n Age: ageTargets,\r\n initialAge,\r\n ageRanges,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForAdGroupDeviceTargets = ({ adGroupViewModel }) => {\r\n const deviceTargets = adGroupViewModel.Device || [];\r\n const initialDevice = adGroupViewModel.initialDevice || [];\r\n const addedDevices = [];\r\n if (adGroupViewModel.currentSelectedDeviceLevel === 'campaign') {\r\n if (_.isEmpty(initialDevice)) {\r\n return [];\r\n }\r\n initialDevice.forEach((target) => {\r\n if (target.Id) {\r\n addedDevices.push({\r\n Criterion: _.extend({ BidAdjustment: 0 }, target.Criterion),\r\n Id: target.Id,\r\n Status: 'Deleted',\r\n CriterionType: target.Criterion.Type,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id,\r\n },\r\n AdGroupId: adGroupViewModel.Id,\r\n });\r\n }\r\n });\r\n return addedDevices;\r\n }\r\n deviceTargets.forEach((target) => {\r\n addedDevices.push({\r\n Criterion: _.extend(target.Status === 'Deleted' ? { BidAdjustment: 0 } : {}, target.Criterion),\r\n Id: target.Id > 0 ? target.Id : null,\r\n Status: target.Status || 'Active',\r\n CriterionType: target.Criterion.Type,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id,\r\n },\r\n AdGroupId: adGroupViewModel.Id,\r\n });\r\n });\r\n return addedDevices;\r\n};\r\n\r\nexport const bulkModelToViewModelForAdGroupDeviceTargets = (targetsModel, update) => targetsModel.map((target) => {\r\n const newTarget = update.filter(t => t.Criterion.DeviceCriterion.DeviceName === target.Criterion.DeviceCriterion.DeviceName);\r\n if (newTarget.length > 0) {\r\n // eslint-disable-next-line no-param-reassign\r\n target.Criterion.Id = newTarget[0].Criterion.Id;\r\n }\r\n return target;\r\n});\r\n\r\nexport const viewModelToBulkModelForAdGroupGenderTargets = ({ adGroupViewModel }) => {\r\n const genderTargets = adGroupViewModel.Gender || [];\r\n const initialGender = adGroupViewModel.initialGender || [];\r\n const addedGenders = [];\r\n if (adGroupViewModel.currentSelectedGenderLevel === 'campaign') {\r\n if (_.isEmpty(initialGender)) {\r\n return [];\r\n }\r\n initialGender.forEach((target) => {\r\n if (target.Id) {\r\n addedGenders.push({\r\n Criterion: _.extend({ BidAdjustment: 0 }, target.Criterion),\r\n Id: target.Id,\r\n Status: 'Deleted',\r\n CriterionType: target.Criterion.Type,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id,\r\n },\r\n AdGroupId: adGroupViewModel.Id,\r\n });\r\n }\r\n });\r\n return addedGenders;\r\n }\r\n genderTargets.forEach((target) => {\r\n addedGenders.push({\r\n Criterion: _.extend(target.Status === 'Deleted' ? { BidAdjustment: 0 } : {}, target.Criterion),\r\n Id: target.Id > 0 ? target.Id : null,\r\n Status: target.Status || 'Active',\r\n CriterionType: target.Criterion.Type,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id,\r\n },\r\n AdGroupId: adGroupViewModel.Id,\r\n });\r\n });\r\n return addedGenders;\r\n};\r\n\r\nexport const bulkModelToViewModelForAdGroupGenderTargets = (targetsModel, update) => targetsModel.map((target) => {\r\n const newTarget = update.filter(t => t.Criterion.GenderCriterion.Target === target.Criterion.GenderCriterion.Target);\r\n if (newTarget.length > 0) {\r\n // eslint-disable-next-line no-param-reassign\r\n target.Criterion.Id = newTarget[0].Criterion.Id;\r\n }\r\n return target;\r\n});\r\n\r\nexport const viewModelToBulkModelForAdGroupAgeTargets = ({ adGroupViewModel }) => {\r\n const ageTargets = adGroupViewModel.Age || [];\r\n const initialAge = adGroupViewModel.initialAge || [];\r\n const addedAges = [];\r\n if (adGroupViewModel.currentSelectedAgeLevel === 'campaign') {\r\n if (_.isEmpty(initialAge)) {\r\n return [];\r\n }\r\n initialAge.forEach((target) => {\r\n if (target.Id) {\r\n addedAges.push({\r\n Criterion: _.extend(target.Criterion, { BidAdjustment: 0 }),\r\n Id: target.Id,\r\n Status: 'Deleted',\r\n CriterionType: target.CriterionType,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id,\r\n },\r\n AdGroupId: adGroupViewModel.Id,\r\n });\r\n }\r\n });\r\n return addedAges;\r\n }\r\n ageTargets.forEach((target) => {\r\n const initialTarget = initialAge.find(age => age.CriterionType === target.CriterionType && age.Criterion.AgeCriterion.Target === target.Criterion.AgeCriterion.Target);\r\n if (!initialTarget || !(target.Id > 0) || target.Criterion.BidAdjustment !== initialTarget.Criterion.BidAdjustment) {\r\n addedAges.push({\r\n Criterion: target.Criterion,\r\n Id: initialTarget && target.Id > 0 ? target.Id : null,\r\n Status: target.Status || 'Active',\r\n CriterionType: target.CriterionType,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id,\r\n },\r\n AdGroupId: adGroupViewModel.Id,\r\n });\r\n }\r\n });\r\n const removedAges = initialAge.filter(initialTarget => initialTarget.Id > 0 && ageTargets.find(age => age.CriterionType === initialTarget.CriterionType && age.Criterion.AgeCriterion.Target === initialTarget.Criterion.AgeCriterion.Target) === undefined)\r\n .map(target => ({\r\n Criterion: _.extend(target.Criterion, { BidAdjustment: 0 }),\r\n Id: target.Id,\r\n Status: 'Deleted',\r\n CriterionType: target.CriterionType,\r\n AdGroup: {\r\n Id: adGroupViewModel.Id,\r\n },\r\n AdGroupId: adGroupViewModel.Id,\r\n }));\r\n return [...addedAges, ...removedAges];\r\n};\r\n\r\nexport const bulkModelToViewModelForAdGroupAgeTargets = (targetsModel, update) => targetsModel.map((target) => {\r\n const newTarget = update.filter(t => t.Criterion.AgeCriterion.Target === target.Criterion.AgeCriterion.Target);\r\n if (newTarget.length > 0) {\r\n // eslint-disable-next-line no-param-reassign\r\n target.Criterion.Id = newTarget[0].Criterion.Id;\r\n }\r\n return target;\r\n});\r\n\r\nexport const updateAdGroupAgeTargets = (targetsModel, ageRanges) => targetsModel.map((target) => {\r\n const isExcluded = ageRanges.find(ageRange => ageRange === target.Criterion.AgeCriterion.Target) === undefined;\r\n if (isExcluded) {\r\n if (target.CriterionType === 'Age') {\r\n return {\r\n ...target,\r\n Criterion: {\r\n ...target.Criterion,\r\n BidAdjustment: undefined,\r\n },\r\n CriterionType: 'NegativeAge',\r\n };\r\n }\r\n } else if (target.CriterionType === 'NegativeAge') {\r\n return {\r\n ...target,\r\n Criterion: {\r\n ...target.Criterion,\r\n BidAdjustment: 0,\r\n },\r\n CriterionType: 'Age',\r\n };\r\n }\r\n return target;\r\n});\r\n\r\nexport const modelToViewModelForAdGroupCompanyNameTargets = ({ model, campaignViewModel, currentLevel }) => {\r\n let companyNameTargets = [];\r\n let initialCompanyNameTargets = [];\r\n if (model && !_.isEmpty(model)) {\r\n companyNameTargets = model.map(target => ({\r\n Id: target.Id,\r\n Target: target.Criterion.ProfileId,\r\n Size: target.Criterion.Size,\r\n Industry: target.Criterion.Industry,\r\n Name: target.Criterion.CompanyName,\r\n BidAdjustment: target.CriterionBid.Multiplier,\r\n }));\r\n }\r\n initialCompanyNameTargets = cloneDeep(companyNameTargets);\r\n return {\r\n companyNameTargets: currentLevel === 'campaign' ? campaignViewModel.companyNameTargets : companyNameTargets,\r\n initialCompanyNameTargets,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForAdGroupCompanyNameTargets = ({ adGroupViewModel, campaignViewModel }) => {\r\n const companyNameTargets = adGroupViewModel.companyNameTargets || [];\r\n const initialCompanyNameTargets = adGroupViewModel.initialCompanyNameTargets || [];\r\n\r\n let addedCompanyNameTargets = [];\r\n let removedCompanyNameTargets = [];\r\n\r\n if (adGroupViewModel.currentSelectedCompanyNameLevel === 'campaign') {\r\n if (_.isEmpty(initialCompanyNameTargets)) {\r\n return [];\r\n }\r\n removedCompanyNameTargets = initialCompanyNameTargets.map(target => ({ ...target, criterion: target.Target, status: 'Deleted' }));\r\n } else {\r\n addedCompanyNameTargets = companyNameTargets.filter(target => initialCompanyNameTargets.find(initialTarget =>\r\n initialTarget.Target === target.Target && initialTarget.BidAdjustment === target.BidAdjustment) === undefined);\r\n removedCompanyNameTargets = initialCompanyNameTargets.filter(initialTarget => companyNameTargets.find(target =>\r\n initialTarget.Target === target.Target) === undefined).map(target => ({ ...target, criterion: target.Target, status: 'Deleted' }));\r\n }\r\n\r\n const addedCompanyNameCriterion = getTargetCriterion({\r\n targets: addedCompanyNameTargets.map(({ Id, ...criterion }) => ({ Id, criterion })), type: 'CompanyName', propKey: 'Target', level: 'adgroup', adGroupViewModel, campaignViewModel,\r\n });\r\n const removedCompanyNameCriterion = getTargetCriterion({\r\n targets: removedCompanyNameTargets, type: 'CompanyName', propKey: 'Target', level: 'adgroup', adGroupViewModel, campaignViewModel,\r\n });\r\n\r\n if (addedCompanyNameCriterion && addedCompanyNameCriterion.length > 0) {\r\n hydrateCriterionWithBidAndId('CompanyName', initialCompanyNameTargets, addedCompanyNameCriterion);\r\n }\r\n\r\n return [\r\n ...addedCompanyNameCriterion,\r\n ...removedCompanyNameCriterion,\r\n ];\r\n};\r\n\r\nexport const modelToViewModelForAdGroupIndustryTargets = ({ model, campaignViewModel, currentLevel }) => {\r\n let industryTargets = [];\r\n let initialIndustry = [];\r\n if (model && !_.isEmpty(model)) {\r\n industryTargets = model.map(target => ({\r\n Id: target.Id,\r\n BidAdjustment: target.CriterionBid.Multiplier,\r\n criterion: target.Criterion.ProfileId,\r\n }));\r\n }\r\n initialIndustry = cloneDeep(industryTargets);\r\n return {\r\n industry: currentLevel === 'campaign' ? campaignViewModel.industry : industryTargets.map(target => target.criterion),\r\n initialIndustryTargets: currentLevel === 'campaign' ? campaignViewModel.initialIndustryTargets : initialIndustry,\r\n initialIndustry,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForAdGroupIndustryTargets = ({ adGroupViewModel, campaignViewModel }) => {\r\n const industryTargets = adGroupViewModel.industry || [];\r\n const initialIndustryTargets = adGroupViewModel.initialIndustry || [];\r\n const { industryTargetsBidAdjustment } = adGroupViewModel;\r\n\r\n let addedIndustryTargets = [];\r\n let removedIndustryTargets = [];\r\n\r\n if (adGroupViewModel.currentSelectedIndustryLevel === 'campaign') {\r\n if (_.isEmpty(initialIndustryTargets)) {\r\n return [];\r\n }\r\n removedIndustryTargets = initialIndustryTargets.map(target => ({ ...target, status: 'Deleted' }));\r\n } else {\r\n const isIndustryTargetBidAdjustmentUpdated = ({ criterion, BidAdjustment }) => industryTargetsBidAdjustment.find(targetWithBid =>\r\n _.get(targetWithBid, 'Criterion.IndustryCriterion.Target') === criterion && _.get(targetWithBid, 'Criterion.BidAdjustment') === BidAdjustment);\r\n\r\n addedIndustryTargets = industryTargets.filter(target => initialIndustryTargets.find(initialTarget =>\r\n initialTarget.criterion === target && (!industryTargetsBidAdjustment || isIndustryTargetBidAdjustmentUpdated(initialTarget))) === undefined);\r\n removedIndustryTargets = initialIndustryTargets.filter(initialTarget => industryTargets.find(target =>\r\n initialTarget.criterion === target) === undefined).map(target => ({ ...target, status: 'Deleted' }));\r\n }\r\n\r\n const addedIndustryCriterion = getTargetCriterion({\r\n targets: addedIndustryTargets.map(criterion => ({ criterion })), type: 'Industry', propKey: 'Target', level: 'adgroup', adGroupViewModel, campaignViewModel,\r\n });\r\n const removedIndustryCriterion = getTargetCriterion({\r\n targets: removedIndustryTargets, type: 'Industry', propKey: 'Target', level: 'adgroup', adGroupViewModel, campaignViewModel,\r\n });\r\n\r\n if (industryTargetsBidAdjustment && industryTargetsBidAdjustment.length > 0) {\r\n hydrateCriterionWithBidAndId('Industry', initialIndustryTargets, addedIndustryCriterion, industryTargetsBidAdjustment);\r\n }\r\n\r\n return [\r\n ...addedIndustryCriterion,\r\n ...removedIndustryCriterion,\r\n ];\r\n};\r\n\r\nexport const modelToViewModelForAdGroupJobFunctionTargets = ({ model, campaignViewModel, currentLevel }) => {\r\n let jobFunctionTargets = [];\r\n let initialJobTargets = [];\r\n if (model && !_.isEmpty(model)) {\r\n jobFunctionTargets = model.map(target => ({\r\n Id: target.Id,\r\n BidAdjustment: target.CriterionBid.Multiplier,\r\n criterion: target.Criterion.ProfileId,\r\n }));\r\n }\r\n initialJobTargets = cloneDeep(jobFunctionTargets);\r\n return {\r\n jobTargets: currentLevel === 'campaign' ? campaignViewModel.jobTargets : jobFunctionTargets.map(target => target.criterion),\r\n initialJobFunctionTargets: currentLevel === 'campaign' ? campaignViewModel.initialJobFunctionTargets : initialJobTargets,\r\n initialJobTargets,\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForAdGroupJobFunctionTargets = ({ adGroupViewModel, campaignViewModel }) => {\r\n const jobTargets = adGroupViewModel.jobTargets || [];\r\n const initialJobTargets = adGroupViewModel.initialJobTargets || [];\r\n const { jobTargetBidAdjustments } = adGroupViewModel;\r\n\r\n let addedJobTargets = [];\r\n let removedJobTargets = [];\r\n\r\n if (adGroupViewModel.currentSelectedJobFunctionLevel === 'campaign') {\r\n if (_.isEmpty(initialJobTargets)) {\r\n return [];\r\n }\r\n removedJobTargets = initialJobTargets.map(target => ({ ...target, status: 'Deleted' }));\r\n } else {\r\n const isJobTargetBidAdjustmentUpdated = ({ criterion, BidAdjustment }) => jobTargetBidAdjustments.find(targetWithBid =>\r\n _.get(targetWithBid, 'Criterion.JobFunctionCriterion.Target') === criterion && _.get(targetWithBid, 'Criterion.BidAdjustment') === BidAdjustment);\r\n\r\n addedJobTargets = jobTargets.filter(target => initialJobTargets.find(initialTarget =>\r\n initialTarget.criterion === target && (!jobTargetBidAdjustments || isJobTargetBidAdjustmentUpdated(initialTarget))) === undefined);\r\n removedJobTargets = initialJobTargets.filter(initialTarget => jobTargets.find(target =>\r\n initialTarget.criterion === target) === undefined).map(target => ({ ...target, status: 'Deleted' }));\r\n }\r\n\r\n const addedJobCriterion = getTargetCriterion({\r\n targets: addedJobTargets.map(criterion => ({ criterion })), type: 'JobFunction', propKey: 'Target', level: 'adgroup', adGroupViewModel, campaignViewModel,\r\n });\r\n const removedJobCriterion = getTargetCriterion({\r\n targets: removedJobTargets, type: 'JobFunction', propKey: 'Target', level: 'adgroup', adGroupViewModel, campaignViewModel,\r\n });\r\n\r\n if (jobTargetBidAdjustments && jobTargetBidAdjustments.length > 0) {\r\n hydrateCriterionWithBidAndId('JobFunction', initialJobTargets, addedJobCriterion, jobTargetBidAdjustments);\r\n }\r\n\r\n return [\r\n ...addedJobCriterion,\r\n ...removedJobCriterion,\r\n ];\r\n};\r\n\r\nexport const modelToViewModelForAdGroupLocationTargets = ({\r\n model, campaignLocationModel, bundleCountries, adGroupId, campaignId,\r\n}) => {\r\n const {\r\n locations,\r\n intentId,\r\n intentOption,\r\n } = parseLocationTargets(model, 'adGroup', adGroupId);\r\n\r\n let targetOption = locations.length ? locationTargetsOptionKeys.specific : locationTargetsOptionKeys.everywhere;\r\n targetOption = shouldSelectBundleOption(bundleCountries, locations) ? locationTargetsOptionKeys.bundleOrDefaultMarket : targetOption;\r\n\r\n let parentLevelSettings;\r\n\r\n if (campaignLocationModel) {\r\n const {\r\n locations: campaignLocations,\r\n intentId: campaignIntentId,\r\n intentOption: campaignIntentOption,\r\n } = parseLocationTargets(campaignLocationModel, 'campaign', campaignId);\r\n\r\n let campaignTargetOption = locations.length ? locationTargetsOptionKeys.specific : locationTargetsOptionKeys.everywhere;\r\n campaignTargetOption = shouldSelectBundleOption(bundleCountries, locations) ? locationTargetsOptionKeys.bundleOrDefaultMarket : targetOption;\r\n\r\n parentLevelSettings = {\r\n initLocations: campaignLocations,\r\n currentLocations: campaignLocations,\r\n targetOption: campaignTargetOption,\r\n intentId: campaignIntentId,\r\n ...campaignIntentOption,\r\n };\r\n }\r\n\r\n return {\r\n locationTargets: {\r\n currentLevelSettings: {\r\n initLocations: locations,\r\n currentLocations: locations,\r\n targetOption,\r\n intentId,\r\n ...intentOption,\r\n },\r\n parentLevelSettings,\r\n bidMode: true,\r\n useParentLevel: locations.length === 0,\r\n },\r\n };\r\n};\r\n\r\nexport const viewModelToBulkModelForAdGroupLocationTargets = (bundleLocationCriterions, adGroupViewModel, campaignViewModel) => {\r\n if (!adGroupViewModel.locationTargets) {\r\n return [];\r\n }\r\n const bulkUpsertModel = convertLocationStateToLocationSchemaCampaign(\r\n adGroupViewModel.locationTargets,\r\n bundleLocationCriterions,\r\n {\r\n bidStrategy: {\r\n option: '',\r\n },\r\n ...campaignViewModel,\r\n },\r\n {\r\n ...adGroupViewModel,\r\n name: {\r\n value: adGroupViewModel.Name,\r\n },\r\n }\r\n );\r\n return bulkUpsertModel;\r\n};\r\n\r\nexport const bulkModelToViewModelForAdGroupLocationTargets = (locationTargetsModel, bundleCountries, originaladGroupModel) => {\r\n const locations = locationTargetsModel\r\n .filter(criterion => criterion.Criterion.Type === 'Location' || criterion.Criterion.Type === 'Radius');\r\n const intent = locationTargetsModel.find(criterion => criterion.Criterion.Type === 'LocationIntentCriterion');\r\n const intentId = intent ? intent.Id : null;\r\n const intentOption = intent ? getLocationIntent(intent.Criterion.LocationIntentCriterion.IntentOption) : null;\r\n let targetOption = locations.length ? locationTargetsOptionKeys.specific : locationTargetsOptionKeys.everywhere;\r\n targetOption = shouldSelectBundleOption(bundleCountries, locations) ? locationTargetsOptionKeys.bundleOrDefaultMarket : targetOption;\r\n const parentLevelSettings = originaladGroupModel.locationTargets && originaladGroupModel.locationTargets.parentLevelSettings;\r\n return {\r\n locationTargets: {\r\n currentLevelSettings: {\r\n initLocations: locations,\r\n currentLocations: locations,\r\n targetOption,\r\n intentId,\r\n ...intentOption,\r\n },\r\n parentLevelSettings,\r\n bidMode: true,\r\n useParentLevel: locations.length === 0,\r\n },\r\n };\r\n};\r\n","import { map, pick, reduce, isEmpty, filter, each, isString, difference, pluck, keys } from 'underscore';\r\nimport { cloneDeep } from '@bingads-webui-universal/primitive-utilities';\r\nimport { defaultBid } from '@bingads-webui-campaign-legacy/budget/shared/defaultBid';\r\n\r\n// TODO define the type of dsaTargets here\r\nexport const DSA_TARGET_TYPES = {\r\n categoryTargets: 'categoryTargets',\r\n allTargets: 'allTargets',\r\n specificTargets: 'specificTargets',\r\n customLabelTargets: 'customLabelTargets',\r\n};\r\n\r\nexport const DSA_TARGET_SUB_TYPES = {\r\n exactUrls: 'exactUrls',\r\n rules: 'rules',\r\n};\r\n\r\nexport const DSA_TARGET_OPERAND_TYPES = {\r\n Url: 'Url',\r\n Category: 'Category',\r\n PageTitle: 'PageTitle',\r\n PageContent: 'PageContent',\r\n CustomLabel: 'CustomLabel',\r\n};\r\n\r\nexport const DSA_TARGET_OPERAND_TYPE_STRINGS = {\r\n [DSA_TARGET_OPERAND_TYPES.Url]: _TL_('URL'),\r\n [DSA_TARGET_OPERAND_TYPES.Category]: _TL_('Category'),\r\n [DSA_TARGET_OPERAND_TYPES.PageTitle]: _TL_('Page title'),\r\n [DSA_TARGET_OPERAND_TYPES.PageContent]: _TL_('Page content'),\r\n [DSA_TARGET_OPERAND_TYPES.CustomLabel]: _TL_('Custom label'),\r\n};\r\n\r\nexport const DSA_TARGET_OPERATOR_TYPES = {\r\n Contains: 'Contains',\r\n Equals: 'Equals',\r\n};\r\n\r\nexport const DSA_TARGET_OPERATOR_TYPE_STRINGS = {\r\n [DSA_TARGET_OPERATOR_TYPES.Contains]: _TL_('Contains'),\r\n [DSA_TARGET_OPERATOR_TYPES.Equals]: _TL_('Equals'),\r\n};\r\n\r\nexport const DSA_SPECIFIC_TARGET_OPERATOR_MAP = {\r\n [DSA_TARGET_OPERAND_TYPES.Url]: 'Contains',\r\n [DSA_TARGET_OPERAND_TYPES.PageTitle]: 'Contains',\r\n [DSA_TARGET_OPERAND_TYPES.PageContent]: 'Contains',\r\n [DSA_TARGET_OPERAND_TYPES.Category]: 'Equals',\r\n [DSA_TARGET_OPERAND_TYPES.CustomLabel]: 'Equals',\r\n};\r\n\r\nconst formatConditions = conditions => map(conditions, condition => pick(condition, 'Operand', 'Operator', 'ArgumentOperand'));\r\n\r\nconst convertItemsToDsaTarget = (items, savedItems, type, campaignName, adGroupName) => {\r\n const itemsToSave = [];\r\n\r\n each(items, (item) => {\r\n const ItemSaved = savedItems[item.key];\r\n\r\n if (!ItemSaved || ItemSaved.Bid !== item.Bid) {\r\n let newItem = cloneDeep(item);\r\n if (ItemSaved) {\r\n newItem = { ...newItem, conditions: [] };\r\n newItem.Id = ItemSaved.Id;\r\n }\r\n itemsToSave.push(newItem);\r\n }\r\n });\r\n\r\n const keyOfItemsToDelete = difference(keys(savedItems), pluck(items, 'key'));\r\n\r\n each(keyOfItemsToDelete, (key) => {\r\n const ItemSaved = savedItems[key];\r\n\r\n ItemSaved.Status = 'Deleted';\r\n ItemSaved.conditions = [];\r\n itemsToSave.push(ItemSaved);\r\n });\r\n\r\n const dsaTarget = map(itemsToSave, (item) => {\r\n const res = {\r\n AdGroupName: adGroupName,\r\n CampaignName: campaignName,\r\n Bid: item.Bid || defaultBid(),\r\n Criterion: {\r\n Type: 'Webpage',\r\n WebPage: {\r\n Parameter: {\r\n Conditions: type === DSA_TARGET_TYPES.allTargets ? [] : filter(formatConditions(item.conditions), con => !isEmpty(con)),\r\n },\r\n },\r\n },\r\n };\r\n\r\n const itemStatus = item.Status ? { Status: item.Status } : {};\r\n const itemId = item.Id ? { Id: item.Id } : {};\r\n // if (type === 'specificpage' || type === 'exacturls') {\r\n // res.serializedConditions = JSON.stringify('conditionsWithOperator');\r\n // } else {\r\n // res.serializedConditions = '';\r\n // }\r\n\r\n return {\r\n ...res,\r\n ...itemStatus,\r\n ...itemId,\r\n };\r\n });\r\n\r\n return dsaTarget;\r\n};\r\n\r\nexport const viewModelToBulkModelForDsaTarget = ({ dsaViewModel, campaignName, adGroupName }) => {\r\n const dsaTargets = reduce(dsaViewModel, (acc, value, key) => {\r\n const items = key === DSA_TARGET_TYPES.specificTargets ? [...value.exactUrls.items, ...value.rules.items] : value.items;\r\n const savedItems = key === DSA_TARGET_TYPES.specificTargets ? { ...value.exactUrls.savedItems, ...value.rules.savedItems } : value.savedItems;\r\n const selectedItems = !value.disabled && value.selected ? items : [];\r\n return ([\r\n ...acc,\r\n ...convertItemsToDsaTarget(selectedItems, savedItems, key, campaignName, adGroupName),\r\n ]);\r\n }, []);\r\n\r\n return dsaTargets;\r\n};\r\n\r\nconst dsaTargetsMapper = (conditions) => {\r\n if (conditions.length === 0) {\r\n return { dsaType: DSA_TARGET_TYPES.allTargets, viewConditions: [] };\r\n }\r\n if (conditions.length > 1) {\r\n return { dsaType: DSA_TARGET_TYPES.specificTargets, dsaSubtype: DSA_TARGET_SUB_TYPES.rules, viewConditions: [...conditions] };\r\n }\r\n\r\n const { Operand, Operator } = conditions[0];\r\n if (Operand === DSA_TARGET_OPERAND_TYPES.CustomLabel) {\r\n return { dsaType: DSA_TARGET_TYPES.customLabelTargets, viewConditions: [{ ...conditions[0] }] };\r\n }\r\n if (Operand === DSA_TARGET_OPERAND_TYPES.Url && Operator === DSA_TARGET_OPERATOR_TYPES.Equals) {\r\n return { dsaType: DSA_TARGET_TYPES.specificTargets, dsaSubtype: DSA_TARGET_SUB_TYPES.exactUrls, viewConditions: [{ ...conditions[0] }] };\r\n }\r\n if (Operand === DSA_TARGET_OPERAND_TYPES.Category) {\r\n return { dsaType: DSA_TARGET_TYPES.categoryTargets, viewConditions: [{ ...conditions[0] }] };\r\n }\r\n return { dsaType: DSA_TARGET_TYPES.specificTargets, dsaSubtype: DSA_TARGET_SUB_TYPES.rules, viewConditions: [...conditions] };\r\n};\r\n\r\nconst defaultDsaTarget = {\r\n [DSA_TARGET_TYPES.categoryTargets]: {\r\n disabled: false,\r\n selected: false,\r\n items: [],\r\n savedItems: {},\r\n },\r\n [DSA_TARGET_TYPES.allTargets]: {\r\n disabled: false,\r\n selected: false,\r\n items: [],\r\n savedItems: {},\r\n },\r\n [DSA_TARGET_TYPES.specificTargets]: {\r\n disabled: false,\r\n selected: false,\r\n [DSA_TARGET_SUB_TYPES.exactUrls]: {\r\n items: [],\r\n savedItems: {},\r\n },\r\n [DSA_TARGET_SUB_TYPES.rules]: {\r\n items: [],\r\n savedItems: {},\r\n },\r\n },\r\n [DSA_TARGET_TYPES.customLabelTargets]: {\r\n disabled: false,\r\n selected: false,\r\n items: [],\r\n savedItems: {},\r\n },\r\n};\r\n\r\nexport const bulkModelToViewModelForDsaTarget = (dsaBulkModel, originaladGroupModel) => {\r\n const res = {\r\n [DSA_TARGET_TYPES.categoryTargets]: {\r\n disabled: originaladGroupModel.DsaTargets[DSA_TARGET_TYPES.categoryTargets].disabled,\r\n selected: false,\r\n items: [],\r\n savedItems: {},\r\n },\r\n [DSA_TARGET_TYPES.allTargets]: {\r\n disabled: originaladGroupModel.DsaTargets[DSA_TARGET_TYPES.allTargets].disabled,\r\n selected: false,\r\n items: [],\r\n savedItems: {},\r\n },\r\n [DSA_TARGET_TYPES.specificTargets]: {\r\n disabled: originaladGroupModel.DsaTargets[DSA_TARGET_TYPES.specificTargets].disabled,\r\n selected: false,\r\n [DSA_TARGET_SUB_TYPES.exactUrls]: {\r\n items: [],\r\n savedItems: {},\r\n },\r\n [DSA_TARGET_SUB_TYPES.rules]: {\r\n items: [],\r\n savedItems: {},\r\n },\r\n },\r\n [DSA_TARGET_TYPES.customLabelTargets]: {\r\n disabled: originaladGroupModel.DsaTargets[DSA_TARGET_TYPES.customLabelTargets].disabled,\r\n selected: false,\r\n items: [],\r\n savedItems: {},\r\n },\r\n };\r\n\r\n each(dsaBulkModel, (bulkItem) => {\r\n const {\r\n Bid, 'Client Id': ClientId, Id, Criterion: { WebPage: { Parameter: { Conditions } } },\r\n } = bulkItem;\r\n const { dsaType, dsaSubtype, viewConditions } = dsaTargetsMapper(Conditions);\r\n if (dsaSubtype) {\r\n res[dsaType][dsaSubtype].items.push({\r\n Bid, conditions: viewConditions, 'Client Id': ClientId, Id, isValid: true, isBidValid: true, isConditionValid: true,\r\n });\r\n } else {\r\n res[dsaType].items.push({\r\n Bid, conditions: viewConditions, 'Client Id': ClientId, Id, isValid: true, isBidValid: true, isConditionValid: true,\r\n });\r\n }\r\n res[dsaType].selected = true;\r\n });\r\n\r\n return res;\r\n};\r\n\r\nexport const bulkModelToViewModelForDsaTargetUnderDsaEntity = (dsaBulkModel) => {\r\n const res = cloneDeep(defaultDsaTarget);\r\n\r\n each(dsaBulkModel, (bulkItem) => {\r\n const { CriterionBid: { Bid: { Amount } }, Criterion: { Parameter: { Conditions } } } = bulkItem;\r\n const { dsaType, dsaSubtype, viewConditions } = dsaTargetsMapper(Conditions);\r\n if (dsaSubtype) {\r\n res[dsaType][dsaSubtype].items.push({ Bid: Amount, conditions: viewConditions });\r\n } else {\r\n res[dsaType].items.push({ Bid: Amount, conditions: viewConditions });\r\n }\r\n res[dsaType].selected = true;\r\n });\r\n\r\n return res;\r\n};\r\n\r\nconst checkArgumentOperandFormat = (argumentOperand) => {\r\n if (!isString(argumentOperand)) {\r\n return argumentOperand;\r\n }\r\n let hasComma = false;\r\n let hasDoubleQuote = false;\r\n let resultArgumentOperand = argumentOperand;\r\n\r\n if (argumentOperand.includes(',')) {\r\n hasComma = true;\r\n }\r\n if (argumentOperand.includes('\"')) {\r\n hasDoubleQuote = true;\r\n }\r\n if (hasDoubleQuote) {\r\n resultArgumentOperand = resultArgumentOperand.replaceAll('\"', '\"\"');\r\n }\r\n if (hasDoubleQuote || hasComma) {\r\n resultArgumentOperand = `\"${resultArgumentOperand}\"`;\r\n }\r\n return resultArgumentOperand;\r\n};\r\n\r\nexport const generateKeyAndFormateDsaTarget = (conditions) => {\r\n const conditionsWithoutDisplayValue = [];\r\n\r\n each(conditions, (condition) => {\r\n const formattedCondition = {\r\n ...condition,\r\n ArgumentOperand: checkArgumentOperandFormat(condition.ArgumentOperand),\r\n };\r\n conditionsWithoutDisplayValue.push(pick(formattedCondition, 'ArgumentOperand', 'Operand', 'Operator'));\r\n });\r\n\r\n const key = JSON.stringify(conditionsWithoutDisplayValue);\r\n\r\n return {\r\n isValid: true,\r\n key,\r\n conditions,\r\n };\r\n};\r\n\r\nexport const getNestedValue = (obj, path) => path.split('.').reduce((acc, key) => acc && acc[key], obj);\r\n\r\nexport const insertErrorsByClientIdAndGenerateKey = (data, paths, errors) => {\r\n const errorClientIdMap = {};\r\n\r\n errors.forEach((error) => {\r\n const { clientId, message } = error;\r\n errorClientIdMap[clientId] = message;\r\n });\r\n\r\n paths.forEach((path) => {\r\n const value = getNestedValue(data, path);\r\n\r\n const savedItems = {};\r\n\r\n if (value && value.items) {\r\n value.items.forEach((item) => {\r\n const newConditions = generateKeyAndFormateDsaTarget(item.conditions);\r\n if (errorClientIdMap[item['Client Id']]) {\r\n const newItem = { ...item, errors: item.errors || [] };\r\n Object.assign(item, newItem);\r\n item.errors.push({ message: errorClientIdMap[item['Client Id']] });\r\n } else {\r\n savedItems[newConditions.key] = item;\r\n }\r\n Object.assign(item, newConditions);\r\n });\r\n }\r\n Object.assign(value, { savedItems });\r\n });\r\n};\r\n","import { pick, without, extend, isEmpty } from 'underscore';\r\nimport { ScopeLevel } from '@bingads-webui-campaign-react/constants';\r\nimport {\r\n modelToViewModelForAdGroupAgeTargets,\r\n modelToViewModelForAdGroupCompanyNameTargets,\r\n modelToViewModelForAdGroupIndustryTargets,\r\n modelToViewModelForAdGroupJobFunctionTargets,\r\n modelToViewModelForAdGroupLocationTargets,\r\n bulkModelToViewModelForAdGroupLocationTargets,\r\n bulkModelToViewModelForAdGroupAgeTargets,\r\n bulkModelToViewModelForAdGroupGenderTargets,\r\n bulkModelToViewModelForAdGroupDeviceTargets,\r\n} from './adgroup-criterion';\r\nimport {\r\n modelToViewModelForDayTimeTargets,\r\n bulkModelToViewModelForDayTimeTargets,\r\n modelToViewModelForDeviceTargets,\r\n modelToViewModelForGenderTargets,\r\n modelToViewModelForAgeTargets,\r\n modelToViewModelForCompanyNameTargets,\r\n modelToViewModelForIndustryTargets,\r\n modelToViewModelForJobFunctionTargets,\r\n} from './campaign-criterion';\r\nimport { bulkModelToViewModelForDsaTarget } from './dsa-target';\r\nimport { parseDateFromAPIFormat, formatDateToAPIFormat } from './utils';\r\nimport { modelToViewModelForMultiMediaBidAdjustment, viewModelToModelForMultiMediaAdBidAdjustment } from './adjustment';\r\nimport { modelToViewModelForAdRotation } from './ad-rotation';\r\n\r\nconst whitelistedSchemaPropertyKeysForCampaignModel = [\r\n 'Id', 'BiddingScheme', 'AdScheduleUseSearcherTimeZone', 'TimeZone', 'MultiMediaAdBidAdjustment', 'Languages',\r\n];\r\n\r\nconst whitelistedSchemaPropertyKeysForAdGroupModel = [\r\n 'Id', 'Name', 'Status', 'AdGroupType', 'Language', 'StartDate', 'EndDate', 'SearchBid', 'Medium', 'AdDistribution', 'AdRotation', 'AdGroupType', 'AdScheduleUseSearcherTimeZone', 'MultiMediaAdBidAdjustment', 'BiddingScheme', 'TrackingUrlTemplate', 'FinalUrlSuffix', 'UrlCustomParameters',\r\n];\r\n\r\nconst viewModelToModelForUrlCustomParameters = urlCustomParametersViewModel =>\r\n urlCustomParametersViewModel.filter(({ Key }) => Key);\r\n\r\nexport const modelToViewModelForAdGroupSetting = ({\r\n adGroupModel, campaignModel, campaignScheduleCriterionModel, adGroupScheduleCriterionModel, campaignTargetCriterionModel, adGroupTargetCriterionModel, bundleCountries, adGroupLocationTargets, campaignLocationTargets, i18n,\r\n}) => {\r\n let campaignViewModel = {\r\n ...pick(campaignModel, whitelistedSchemaPropertyKeysForCampaignModel),\r\n };\r\n\r\n let adGroupViewModel = {\r\n ...pick(adGroupModel, whitelistedSchemaPropertyKeysForAdGroupModel),\r\n };\r\n\r\n adGroupViewModel.currentSelectedDeviceLevel = !isEmpty(adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.DeviceCriterion')) ? 'adgroup' : 'campaign';\r\n\r\n adGroupViewModel.currentSelectedGenderLevel = !isEmpty(adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.GenderCriterion')) ? 'adgroup' : 'campaign';\r\n\r\n adGroupViewModel.currentSelectedAgeLevel = !isEmpty(adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.AgeCriterion')) ? 'adgroup' : 'campaign';\r\n\r\n adGroupViewModel.currentSelectedCompanyNameLevel = !isEmpty(adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.CompanyNameCriterion')) ? 'adgroup' : 'campaign';\r\n\r\n adGroupViewModel.currentSelectedIndustryLevel = !isEmpty(adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.IndustryCriterion')) ? 'adgroup' : 'campaign';\r\n\r\n adGroupViewModel.currentSelectedJobFunctionLevel = !isEmpty(adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.JobFunctionCriterion')) ? 'adgroup' : 'campaign';\r\n\r\n campaignViewModel = extend(campaignViewModel, modelToViewModelForDeviceTargets({\r\n model: campaignTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.DeviceCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n campaignViewModel = extend(campaignViewModel, modelToViewModelForGenderTargets({\r\n model: campaignTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.GenderCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n campaignViewModel = extend(campaignViewModel, modelToViewModelForAgeTargets({\r\n model: campaignTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.AgeCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n campaignViewModel = extend(campaignViewModel, modelToViewModelForCompanyNameTargets({\r\n model: campaignTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.CompanyNameCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n campaignViewModel = extend(campaignViewModel, modelToViewModelForIndustryTargets({\r\n model: campaignTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.IndustryCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n campaignViewModel = extend(campaignViewModel, modelToViewModelForJobFunctionTargets({\r\n model: campaignTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.JobFunctionCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n campaignViewModel.dayTimeRanges = campaignScheduleCriterionModel ? modelToViewModelForDayTimeTargets(campaignScheduleCriterionModel) : [];\r\n adGroupViewModel.dayTimeRanges = adGroupScheduleCriterionModel ? modelToViewModelForDayTimeTargets(adGroupScheduleCriterionModel) : [];\r\n\r\n adGroupViewModel.StartDate = parseDateFromAPIFormat(i18n, adGroupModel.StartDate);\r\n adGroupViewModel.EndDate = parseDateFromAPIFormat(i18n, adGroupModel.EndDate);\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForAdGroupLocationTargets({\r\n model: adGroupLocationTargets,\r\n campaignLocationModel: campaignLocationTargets,\r\n bundleCountries,\r\n adGroupId: adGroupViewModel.Id,\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForMultiMediaBidAdjustment(ScopeLevel.AdGroup, campaignModel.MultiMediaAdBidAdjustment, adGroupViewModel.MultiMediaAdBidAdjustment));\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForDeviceTargets({\r\n model: adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.DeviceCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForGenderTargets({\r\n model: adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.GenderCriterion'),\r\n campaignId: campaignModel.Id,\r\n }));\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForAdGroupAgeTargets({\r\n model: adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.AgeCriterion'),\r\n campaignId: campaignModel.Id,\r\n adGroupId: adGroupViewModel.Id,\r\n }));\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForAdGroupCompanyNameTargets({\r\n model: adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.CompanyNameCriterion'),\r\n campaignViewModel,\r\n currentLevel: adGroupViewModel.currentSelectedIndustryLevel,\r\n }));\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForAdGroupIndustryTargets({\r\n model: adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.IndustryCriterion'),\r\n campaignViewModel,\r\n currentLevel: adGroupViewModel.currentSelectedIndustryLevel,\r\n }));\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForAdGroupJobFunctionTargets({\r\n model: adGroupTargetCriterionModel.filter(target => target.Criterion['@odata.type'] === '#Model.JobFunctionCriterion'),\r\n campaignViewModel,\r\n currentLevel: adGroupViewModel.currentSelectedJobFunctionLevel,\r\n }));\r\n\r\n adGroupViewModel = extend(adGroupViewModel, modelToViewModelForAdRotation(adGroupViewModel));\r\n\r\n return { campaignViewModel, adGroupViewModel };\r\n};\r\n\r\nexport const viewModelToModelForAdGroupSetting = (adGroupViewModel, campaignId, i18n, permissions) => {\r\n let data = {\r\n ...pick(adGroupViewModel, without(whitelistedSchemaPropertyKeysForAdGroupModel, 'Status', 'BiddingScheme')),\r\n Campaign: {\r\n Id: campaignId,\r\n },\r\n };\r\n\r\n if (!permissions.IsDomesticSimplifiedChineseEnabled || (permissions.IsDomesticSimplifiedChineseEnabled && permissions.dynamic.MMAForCN)) {\r\n data = extend(data, viewModelToModelForMultiMediaAdBidAdjustment(ScopeLevel.AdGroup, adGroupViewModel, i18n));\r\n } else {\r\n delete data.MultimediaAdBidAdjustment;\r\n delete data.MultiMediaAdBidAdjustment;\r\n if (data.Language === null) {\r\n delete data.Language;\r\n }\r\n }\r\n\r\n if (adGroupViewModel.Status === 'Active') {\r\n data.Status = 'Active';\r\n }\r\n data.StartDate = formatDateToAPIFormat(i18n, data.StartDate);\r\n data.EndDate = data.EndDate ? formatDateToAPIFormat(i18n, data.EndDate) : '1/1/3000';\r\n\r\n if (adGroupViewModel.UrlCustomParameters) {\r\n data.UrlCustomParameters = viewModelToModelForUrlCustomParameters(adGroupViewModel.UrlCustomParameters);\r\n }\r\n\r\n return data;\r\n};\r\n\r\nexport const bulkModelToViewModelForAdGroupSetting = ({\r\n adGroupModel,\r\n originaladGroupModel,\r\n campaignModel,\r\n bundleCountries,\r\n i18n,\r\n}) => {\r\n let data = {\r\n ...pick(adGroupModel, whitelistedSchemaPropertyKeysForAdGroupModel),\r\n };\r\n data.StartDate = parseDateFromAPIFormat(i18n, adGroupModel.StartDate);\r\n data.EndDate = parseDateFromAPIFormat(i18n, adGroupModel.EndDate);\r\n\r\n if (adGroupModel.AdGroupCriterions && !isEmpty(adGroupModel.AdGroupCriterions)) {\r\n data.dayTimeRanges = bulkModelToViewModelForDayTimeTargets(adGroupModel.AdGroupCriterions, originaladGroupModel.dayTimeRanges || []);\r\n data.adSchedulesBulkUpsert = [];\r\n }\r\n\r\n data.Device = originaladGroupModel.Device && bulkModelToViewModelForAdGroupDeviceTargets(originaladGroupModel.Device, adGroupModel.AdGroupCriterions.filter(target => target.Criterion['@odata.type'] === '#Model.DeviceCriterion'));\r\n data.initialDevice = originaladGroupModel.initialDevice;\r\n data.currentSelectedDeviceLevel = originaladGroupModel.currentSelectedDeviceLevel;\r\n\r\n data.Gender = originaladGroupModel.Gender && bulkModelToViewModelForAdGroupGenderTargets(originaladGroupModel.Gender, adGroupModel.AdGroupCriterions.filter(target => target.Criterion['@odata.type'] === '#Model.GenderCriterion'));\r\n data.initialGender = originaladGroupModel.initialGender;\r\n data.currentSelectedGenderLevel = originaladGroupModel.currentSelectedGenderLevel;\r\n\r\n data.Age = originaladGroupModel.Age && bulkModelToViewModelForAdGroupAgeTargets(originaladGroupModel.Age, adGroupModel.AdGroupCriterions.filter(target => target.Criterion['@odata.type'] === '#Model.AgeCriterion'));\r\n data.initialAge = originaladGroupModel.initialAge;\r\n data.currentSelectedAgeLevel = originaladGroupModel.currentSelectedAgeLevel;\r\n\r\n data.companyNameTargets = originaladGroupModel.currentSelectedIndustryLevel === 'campaign' ? campaignModel.companyNameTargets : originaladGroupModel.companyNameTargets;\r\n data.initialCompanyNameTargets = originaladGroupModel.initialCompanyNameTargets;\r\n data.currentSelectedCompanyNameLevel = originaladGroupModel.currentSelectedCompanyNameLevel;\r\n\r\n data.industry = originaladGroupModel.currentSelectedIndustryLevel === 'campaign' ? campaignModel.industry : originaladGroupModel.industry;\r\n data.initialIndustryTargets = originaladGroupModel.currentSelectedIndustryLevel === 'campaign' ? campaignModel.initialIndustryTargets : originaladGroupModel.initialIndustryTargets;\r\n data.initialIndustry = originaladGroupModel.initialIndustry;\r\n data.currentSelectedIndustryLevel = originaladGroupModel.currentSelectedIndustryLevel;\r\n\r\n data.jobTargets = originaladGroupModel.currentSelectedIndustryLevel === 'campaign' ? campaignModel.jobTargets : originaladGroupModel.jobTargets;\r\n data.initialJobFunctionTargets = originaladGroupModel.currentSelectedIndustryLevel === 'campaign' ? campaignModel.initialJobFunctionTargets : originaladGroupModel.initialJobFunctionTargets;\r\n data.initialJobTargets = originaladGroupModel.initialJobTargets;\r\n data.currentSelectedJobFunctionLevel = originaladGroupModel.currentSelectedJobFunctionLevel;\r\n\r\n data = extend(data, modelToViewModelForMultiMediaBidAdjustment(ScopeLevel.AdGroup, campaignModel.MultiMediaAdBidAdjustment, adGroupModel.MultimediaAdBidAdjustment));\r\n\r\n if (adGroupModel.AdGroupCriterions && !isEmpty(adGroupModel.AdGroupCriterions)) {\r\n data = extend(data, bulkModelToViewModelForAdGroupLocationTargets(adGroupModel.AdGroupCriterions, bundleCountries, originaladGroupModel));\r\n }\r\n if (adGroupModel.DsaTargets) {\r\n data.DsaTargets = bulkModelToViewModelForDsaTarget(adGroupModel.DsaTargets, originaladGroupModel);\r\n }\r\n\r\n return data;\r\n};\r\n","import _ from 'underscore';\r\n\r\nexport const modelToViewModelForAdRotation = data => ({\r\n AdRotation: _.get(data, ['AdRotation', 'RotationType']),\r\n});\r\n","import { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { bulkModelToViewModelForDsaTargetUnderDsaEntity } from './dsa-target';\r\n\r\nexport const readDsaTargets = (cid, aid, campaignId, adGroupId) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .AdGroups.$withKey(adGroupId)\r\n .DsaTargets\r\n .get({\r\n top: 200,\r\n // Just want to get campaign upgrade status, don't care BI data, so pass dummy date ranges.\r\n StartDate: '2024-11-14',\r\n EndDate: '2024-11-14',\r\n })\r\n .toPromise();\r\n\r\nexport const loadDsaTargets = (cid, aid, campaignId, adGroupId) =>\r\n readDsaTargets(cid, aid, campaignId, adGroupId)\r\n .then((result) => {\r\n const data = bulkModelToViewModelForDsaTargetUnderDsaEntity(result && result.value);\r\n\r\n return data;\r\n });\r\n","import { AdGroup } from '@bingads-webui/campaign-odata-schemas';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport { viewModelToModelForAdGroupSetting, bulkModelToViewModelForAdGroupSetting } from './ad-group-setting';\r\nimport {\r\n viewModelToBulkModelForAdGroupSchedule,\r\n viewModelToBulkModelForAdGroupDeviceTargets,\r\n viewModelToBulkModelForAdGroupGenderTargets,\r\n viewModelToBulkModelForAdGroupAgeTargets,\r\n viewModelToBulkModelForAdGroupLocationTargets,\r\n viewModelToBulkModelForAdGroupCompanyNameTargets,\r\n viewModelToBulkModelForAdGroupIndustryTargets,\r\n viewModelToBulkModelForAdGroupJobFunctionTargets,\r\n} from './adgroup-criterion';\r\nimport { isBulkWrappedResponse } from '../shared/bulk';\r\nimport { ERROR_ENTITY, getBulkUploadErrorType, modelToViewModelForBulkErrors } from '../shared/bulk-upsert-errors';\r\nimport { GENERIC_ERROR_MESSAGE_KEY, getErrorsPlaceholders } from '../shared/constants';\r\nimport { viewModelToBulkModelForDsaTarget } from './dsa-target';\r\n\r\n\r\nconst adGroupEDM = edmCampaign.types.resolve('Model.AdGroup');\r\nconst adGroupResource = new adGroupEDM.ResourceIdentifier();\r\n\r\nconst createOrUpdateAdGroup = (data) => {\r\n const createOrUpdateCall = data && data.Id ?\r\n adGroupResource.bulkUpdate.bind(adGroupResource) :\r\n adGroupResource.bulkCreate.bind(adGroupResource);\r\n return createOrUpdateCall(data);\r\n};\r\n\r\nconst bulkUpsertEntityErrorMap = {\r\n [getBulkUploadErrorType(AdGroup)]: ERROR_ENTITY.AdGroup,\r\n 'AdGroup Day Time Criterion Error': ERROR_ENTITY.AdGroupDayTimeCriterion,\r\n 'AdGroup DeviceOS Criterion Error': ERROR_ENTITY.AdGroupDeviceOSCriterion,\r\n 'AdGroup Gender Criterion Error': ERROR_ENTITY.AdGroupGenderCriterion,\r\n 'AdGroup Age Criterion Error': ERROR_ENTITY.AdGroupAgeCriterion,\r\n 'AdGroup Location Criterion Error': ERROR_ENTITY.AdGroupLocation,\r\n 'AdGroup Radius Criterion Error': ERROR_ENTITY.AdGroupRadius,\r\n 'AdGroup Negative Location Criterion Error': ERROR_ENTITY.AdGroupNegativeLocation,\r\n 'AdGroup Location Intent Criterion Error': ERROR_ENTITY.AdGroupLocationIntent,\r\n 'AdGroup Company Name Criterion Error': ERROR_ENTITY.AdGroupCompanyNameCriterion,\r\n 'AdGroup Industry Criterion Error': ERROR_ENTITY.AdGroupIndustryCriterion,\r\n 'AdGroup Job Function Criterion Error': ERROR_ENTITY.AdGroupJobFunctionCriterion,\r\n};\r\n\r\nexport const saveAdGroup = ({\r\n adGroup: adGroupViewModel,\r\n campaign,\r\n bundleCountries,\r\n bundleLocationCriterions,\r\n}, {\r\n permissions,\r\n scenario,\r\n i18n,\r\n activityLogger,\r\n}) => {\r\n const adGroupModel = viewModelToModelForAdGroupSetting(adGroupViewModel, campaign.Id, i18n, permissions);\r\n const scheduleModel = adGroupViewModel.adSchedulesBulkUpsert ? viewModelToBulkModelForAdGroupSchedule(adGroupViewModel, campaign) : [];\r\n const deviceModel = adGroupViewModel.Device ? viewModelToBulkModelForAdGroupDeviceTargets({ adGroupViewModel }) : [];\r\n const genderModel = adGroupViewModel.Gender ? viewModelToBulkModelForAdGroupGenderTargets({ adGroupViewModel }) : [];\r\n const ageModel = adGroupViewModel.Age ? viewModelToBulkModelForAdGroupAgeTargets({ adGroupViewModel }) : [];\r\n const locationTargetsModel = bundleLocationCriterions ? viewModelToBulkModelForAdGroupLocationTargets(bundleLocationCriterions, adGroupViewModel, campaign) : [];\r\n const companyNameModel = adGroupViewModel.companyNameTargets ? viewModelToBulkModelForAdGroupCompanyNameTargets({ adGroupViewModel }) : [];\r\n const industryModel = adGroupViewModel.industry ? viewModelToBulkModelForAdGroupIndustryTargets({ adGroupViewModel }) : [];\r\n const jobFunctionModel = adGroupViewModel.jobTargets ? viewModelToBulkModelForAdGroupJobFunctionTargets({ adGroupViewModel }) : [];\r\n const dsaTargetsModel = adGroupViewModel.allowEditDynamicAdTarget && adGroupViewModel.DsaTargets ? {\r\n DsaTargets: viewModelToBulkModelForDsaTarget({\r\n dsaViewModel: adGroupViewModel.DsaTargets,\r\n campaignName: campaign.Name,\r\n adGroupName: adGroupViewModel.Name,\r\n }),\r\n } : {};\r\n\r\n const modelToSave = {\r\n ...adGroupModel,\r\n AdGroupCriterions: [\r\n ...scheduleModel,\r\n ...deviceModel,\r\n ...genderModel,\r\n ...ageModel,\r\n ...locationTargetsModel,\r\n ...companyNameModel,\r\n ...industryModel,\r\n ...jobFunctionModel,\r\n ],\r\n ...dsaTargetsModel,\r\n };\r\n\r\n return createOrUpdateAdGroup(modelToSave)\r\n // with bulk the result will have shape of:\r\n // - { ...entityData } - in case of success;\r\n // - { entity: { ...entityData }, errors: [(EditorialError|MTError)] } - in case of error(s).\r\n .then((result) => {\r\n const data = {\r\n campaign,\r\n adGroup: bulkModelToViewModelForAdGroupSetting({\r\n adGroupModel: result,\r\n originaladGroupModel: adGroupViewModel,\r\n campaignModel: campaign,\r\n bundleCountries,\r\n i18n,\r\n }),\r\n ...getErrorsPlaceholders(),\r\n };\r\n\r\n return data;\r\n }, (bulkOrSystemError) => {\r\n if (isBulkWrappedResponse(bulkOrSystemError)) {\r\n const { entity, errors } = bulkOrSystemError;\r\n\r\n const serverErrors = modelToViewModelForBulkErrors(\r\n errors,\r\n bulkUpsertEntityErrorMap,\r\n scenario,\r\n i18n,\r\n activityLogger\r\n );\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n campaign,\r\n adGroup: entity ? bulkModelToViewModelForAdGroupSetting({\r\n adGroupModel: entity,\r\n originaladGroupModel: adGroupViewModel,\r\n campaignModel: campaign,\r\n bundleCountries,\r\n i18n,\r\n }) : adGroupViewModel,\r\n serverErrors,\r\n });\r\n }\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n campaign,\r\n adGroup: adGroupViewModel,\r\n systemErrors: [i18n.getString(GENERIC_ERROR_MESSAGE_KEY)],\r\n });\r\n });\r\n};\r\n","import _ from 'underscore';\r\nimport jsdataCampaign from '@bingads-webui-component-legacy/js-data-campaign/index';\r\n\r\nconst odataOptions = {\r\n path: 'AdInsight/V2/',\r\n url: '/Customers(:advertisercustomer_id)/Accounts(:account_id)/Default.DSACategoryList',\r\n};\r\n\r\nexport const loadCategoryList = (domainName, languageCode, category, keyword, orderby, skip) => jsdataCampaign.CategoryTarget.findAll({\r\n query: {\r\n $top: 100,\r\n domainName,\r\n languageCode: languageCode || 'en',\r\n ...(category ? { category } : {}),\r\n ...(orderby ? { $orderby: orderby } : {}),\r\n ...(skip ? { $skip: skip } : {}),\r\n },\r\n ...(keyword ? {\r\n where: {\r\n CategoryName: {\r\n $contains: keyword,\r\n },\r\n },\r\n } : {}),\r\n}, _.defaults({ cacheResponse: false }, odataOptions));\r\n\r\nexport const loadCategoryNameList = (domainName, languageCode) => jsdataCampaign.CategoryTarget.findAll({\r\n query: {\r\n $select: 'CategoryName',\r\n $top: 20000,\r\n domainName,\r\n languageCode: languageCode || 'en',\r\n },\r\n}, _.defaults({ cacheResponse: false }, odataOptions));\r\n","import { edmCampaign } from '@bingads-webui/edm-campaign';\r\n\r\nexport const loadAssociatedPageFeeds = (cid, aid, campaignId) =>\r\n edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Campaigns.$withKey(campaignId)\r\n .FeedAssociations\r\n .get({\r\n top: 2147483647, // max Int32\r\n })\r\n .toPromise()\r\n .then(({ value }) => value.map(feedAssociation => ({\r\n key: feedAssociation.FeedId,\r\n text: feedAssociation.FeedName,\r\n })));\r\n","import { isEmpty } from 'underscore';\r\nimport React, { useCallback, useContext, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { withCustomValidation } from '@bingads-webui-react/validation';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport {\r\n LocationTargetSetting,\r\n isLocationValid,\r\n getLanguageBundleString\r\n} from '@bingads-webui-campaign/hotel-common-targets';\r\nimport { notificationApi } from '@bingads-webui-campaign/notification-center';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { isBundledCountriesFound } from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { getLocationsString } from '@bingads-webui-campaign-react/wizard-shared-components';\r\n\r\n\r\nexport const targetOptions = {\r\n bundle: 'bundle',\r\n specific: 'specific',\r\n everywhere: 'everywhere',\r\n};\r\n\r\nconst getStyles = () =>\r\n ({\r\n locationTargeting: {\r\n '& .radio>label': {\r\n left: '0',\r\n },\r\n '& .location-target-options': {\r\n '& > ul': {\r\n paddingLeft: '0',\r\n },\r\n '& .intent-target-options': {\r\n '& > ul': {\r\n paddingLeft: '20px',\r\n },\r\n '& .radio>label': {\r\n padding: '8px 0 0 0',\r\n },\r\n },\r\n },\r\n },\r\n });\r\n\r\nexport const updateTargetOption = ({\r\n i18n,\r\n locations,\r\n languages,\r\n market: rawMarket,\r\n permissions,\r\n isInit = false,\r\n}) => {\r\n const { IsDomesticSimplifiedChineseEnabled } = permissions;\r\n const showEverywhereOption = !IsDomesticSimplifiedChineseEnabled;\r\n const market = rawMarket || 'US';\r\n const bundleFound = isBundledCountriesFound({ languages, market });\r\n const { currentLevelSettings: { targetOption } } = locations;\r\n\r\n const info = i18n.getString(_TL_(\"Some location settings may be automatically adjusted due to the languages you've selected. Please review your location targeting settings and update as needed.\"));\r\n\r\n if (targetOption !== targetOptions.specific) {\r\n const shouldSwitchToBundle = (bundleFound || !showEverywhereOption) && targetOption === targetOptions.everywhere;\r\n const shouldSwitchToEverywhere = !bundleFound && showEverywhereOption && targetOption === targetOptions.bundle;\r\n\r\n if (shouldSwitchToBundle) {\r\n if (!isInit) {\r\n notificationApi.showInfo(info);\r\n }\r\n return {\r\n ...locations,\r\n currentLevelSettings: {\r\n ...locations.currentLevelSettings,\r\n targetOption: targetOptions.bundle,\r\n },\r\n useParentLevel: false,\r\n };\r\n }\r\n\r\n if (shouldSwitchToEverywhere) {\r\n if (!isInit) {\r\n notificationApi.showInfo(info);\r\n }\r\n return {\r\n ...locations,\r\n currentLevelSettings: {\r\n ...locations.currentLevelSettings,\r\n targetOption: targetOptions.everywhere,\r\n },\r\n };\r\n }\r\n }\r\n return locations;\r\n};\r\n\r\nexport const updateLocationTargetsForCampaign = ({\r\n campaign,\r\n i18n,\r\n market: rawMarket,\r\n permissions,\r\n isInit = false,\r\n}) => {\r\n const {\r\n locationTargets: locations,\r\n Languages: languages,\r\n } = campaign;\r\n const updatedLocations = updateTargetOption({\r\n i18n,\r\n locations,\r\n languages,\r\n market: rawMarket,\r\n permissions,\r\n isInit,\r\n });\r\n\r\n return {\r\n ...campaign,\r\n locationTargets: updatedLocations,\r\n };\r\n};\r\n\r\nconst LocationTargetSettingWithCustomValidation = ({\r\n validationProps, updateValidation, skipValidation, allowBidAdjustment, refreshLocationTargetsTimes, language, market, permissions, ...restProps\r\n}) => {\r\n const classes = useDefaultStyles(getStyles);\r\n const { data: locationTargets } = validationProps;\r\n const i18n = useContext(I18nContext);\r\n const activity = useContext(ActivityContext);\r\n\r\n const onChange = useCallback((newData) => {\r\n let errors = [];\r\n\r\n if (!skipValidation) {\r\n errors = isLocationValid(newData) ? [] : [i18n.getString(_TL_('Location target has validation errors'))];\r\n }\r\n\r\n updateValidation(errors, { locationTargets: newData });\r\n\r\n if (activity) {\r\n // signal activity to parent\r\n activity.signal(`onLocationTargetingChange - ${JSON.stringify(newData)}`);\r\n }\r\n }, [skipValidation, updateValidation, activity, i18n]);\r\n\r\n useEffect(() => {\r\n if (locationTargets && !isEmpty(language)) {\r\n const newLocations = updateTargetOption({\r\n i18n,\r\n locations: locationTargets,\r\n languages: language,\r\n market,\r\n permissions,\r\n });\r\n\r\n onChange(newLocations);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [refreshLocationTargetsTimes]);\r\n\r\n return (locationTargets ?\r\n
\r\n \r\n
:
\r\n );\r\n};\r\n\r\nLocationTargetSettingWithCustomValidation.propTypes = {\r\n validationProps: PropTypes.shape({\r\n data: PropTypes.shape({\r\n locationTargets: PropTypes.shape({}),\r\n }),\r\n }).isRequired,\r\n refreshLocationTargetsTimes: PropTypes.number.isRequired,\r\n language: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n market: PropTypes.string.isRequired,\r\n permissions: PropTypes.shape({\r\n dynamic: PropTypes.shape({\r\n BulkLocationsTargeting: PropTypes.bool,\r\n SearchCampaignCreationRevamp: PropTypes.bool,\r\n }),\r\n }).isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n skipValidation: PropTypes.bool,\r\n allowBidAdjustment: PropTypes.bool,\r\n};\r\n\r\nLocationTargetSettingWithCustomValidation.defaultProps = {\r\n skipValidation: true,\r\n allowBidAdjustment: false,\r\n};\r\n\r\nexport const ValidatedLocationTargetSetting = withCustomValidation(LocationTargetSettingWithCustomValidation);\r\n\r\nconst getLocationDetailsString = (i18n, settings, bundleCountries, isAdGroupLevel, bidStrategyType, hideBid) => {\r\n const { targetOption } = settings;\r\n if (targetOption === targetOptions.bundle) {\r\n return `${i18n.getString(_TL_('Included locations: '))}${getLanguageBundleString(bundleCountries)}`;\r\n }\r\n return getLocationsString(i18n, settings, isAdGroupLevel, bidStrategyType, hideBid);\r\n};\r\n\r\nexport const getLocationTargetTitleDetails = (i18n, location, bundleCountries, isAdGroupLevel, bidStrategyType, hideBid = false) => {\r\n if (!location) return '';\r\n const {\r\n parentLevelSettings,\r\n currentLevelSettings,\r\n useParentLevel,\r\n } = location;\r\n\r\n if (useParentLevel) {\r\n if (isAdGroupLevel) {\r\n return i18n.getString(_TL_('Using campaign settings: {{settings}}'), {\r\n settings: getLocationDetailsString(i18n, parentLevelSettings, bundleCountries, isAdGroupLevel, bidStrategyType, hideBid),\r\n });\r\n }\r\n return i18n.getString(_TL_('Targeting everywhere.'));\r\n }\r\n\r\n return getLocationDetailsString(i18n, currentLevelSettings, bundleCountries, isAdGroupLevel, bidStrategyType, hideBid);\r\n};\r\n","import {\r\n alertStyle,\r\n entitySelectorStyle,\r\n paginationStyle,\r\n} from '@bingads-webui-campaign-react/common-styles';\r\n\r\nexport const getDisclaimerSettingsStyles = ({ palette, iconFontFamily = 'MsAds MDL2 Assets' }) => (\r\n {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n '& .form-group': {\r\n '& .glyphicon': {\r\n fontFamily: iconFontFamily,\r\n },\r\n\r\n '& .form-control-static': {\r\n marginTop: 8,\r\n marginBottom: 8,\r\n position: 'relative',\r\n\r\n '& .addDisclaimerButton': {\r\n position: 'absolute',\r\n left: 0,\r\n },\r\n },\r\n\r\n '& .alert.alert-info': {\r\n marginTop: 5,\r\n marginBottom: 16,\r\n width: 'fit-content',\r\n },\r\n\r\n '& .disclaimer-selector': {\r\n '& .list-selector-option': {\r\n '& .disclaimer-item-name': {\r\n display: 'inline-block',\r\n maxWidth: 180,\r\n },\r\n\r\n '& .action-right': {\r\n float: 'right',\r\n },\r\n },\r\n\r\n '& .open .dropdown-menu': {\r\n position: 'relative',\r\n marginBottom: 10,\r\n\r\n '& .list-selector-content': {\r\n height: 'auto',\r\n },\r\n },\r\n\r\n '& .truncated': {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n },\r\n },\r\n\r\n ...entitySelectorStyle({ palette, iconFontFamily }),\r\n ...paginationStyle({ palette }),\r\n },\r\n\r\n '& .col-sm-1, & .col-sm-2, & .col-sm-3, & .col-sm-4, & .col-sm-5, & .col-sm-6, & .col-sm-7, & .col-sm-8, & .col-sm-9, & .col-sm-10, & .col-sm-11, & .col-sm-12': {\r\n float: 'none',\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n },\r\n }\r\n);\r\n\r\nexport const getDisclaimerPanelStyles = ({ palette, iconFontFamily = 'MsAds MDL2 Assets' }) => ({\r\n '.disclaimer-editor-panel': {\r\n ...alertStyle({ palette, iconFontFamily }),\r\n\r\n '& .panel-content': {\r\n width: 592,\r\n\r\n '& .panel-title': {\r\n fontSize: 20,\r\n fontWeight: '600 !important',\r\n lineHeight: '27px',\r\n },\r\n\r\n '& .panel-body': {\r\n paddingRight: 64,\r\n display: 'flex',\r\n 'flex-direction': 'column',\r\n\r\n '& .disclaimer-setting-content': {\r\n marginBottom: 'auto',\r\n },\r\n\r\n '& .disclaimer-setting-footer': {\r\n marginTop: 32,\r\n\r\n '& button ~ button': {\r\n marginLeft: 10,\r\n },\r\n },\r\n },\r\n\r\n '& .form-group': {\r\n margin: 0,\r\n\r\n '& > .control-label': {\r\n textAlign: 'left',\r\n float: 'none',\r\n width: '100%',\r\n },\r\n\r\n '& > .col-sm-8': {\r\n width: '100%',\r\n },\r\n },\r\n\r\n '& .form-group ~ .form-group': {\r\n marginTop: 32,\r\n },\r\n\r\n '& .col-sm-1, & .col-sm-2, & .col-sm-3, & .col-sm-4, & .col-sm-5, & .col-sm-6, & .col-sm-7, & .col-sm-8, & .col-sm-9, & .col-sm-10, & .col-sm-11, & .col-sm-12': {\r\n float: 'none',\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n },\r\n\r\n '& .alert.alert-info': {\r\n marginTop: 8,\r\n },\r\n\r\n '& div.error': {\r\n color: '#A80000',\r\n margin: '4px 0 0 0',\r\n fontSize: 12,\r\n },\r\n\r\n '& .mt-error': {\r\n backgroundColor: '#fde7e9',\r\n padding: 5,\r\n marginTop: 10,\r\n '& .over-all-errors.error': {\r\n fontSize: 12,\r\n color: '#D90026',\r\n },\r\n },\r\n\r\n '& .setting-disclaimer-layoutType .radio': {\r\n paddingTop: 0,\r\n },\r\n\r\n '& .dropdown-toggle.btn': {\r\n border: 'none',\r\n width: '100%',\r\n height: '100%',\r\n paddingLeft: 8,\r\n paddingRight: 8,\r\n borderRadius: 2,\r\n\r\n '& span': {\r\n marginTop: 'auto',\r\n marginBottom: 'auto',\r\n },\r\n },\r\n\r\n '& .ba-dropdown-selector': {\r\n position: 'relative',\r\n border: `1px solid ${palette.neutralSecondary}`,\r\n minWidth: 132,\r\n verticalAlign: 'baseline',\r\n height: 30,\r\n borderRadius: 2,\r\n\r\n '& .glyphicon': {\r\n fontFamily: iconFontFamily,\r\n },\r\n\r\n '& .glyphicon-triangle-bottom': {\r\n marginTop: 4,\r\n '&::before': {\r\n content: '\"\\\\E70D\"',\r\n },\r\n },\r\n },\r\n\r\n '& .dropdown-menu': {\r\n top: 'auto',\r\n position: 'absolute',\r\n width: '100%',\r\n padding: '10px',\r\n },\r\n\r\n '& .ba-list-selector': {\r\n border: 'none',\r\n '& .list-selector-item': {\r\n padding: '5px 10px',\r\n margin: '0',\r\n '&:hover': {\r\n cursor: 'pointer',\r\n backgroundColor: '#f5f5f5',\r\n },\r\n '&.selected': {\r\n background: '#E7F0F6',\r\n },\r\n '& .item-actions': {\r\n float: 'right',\r\n },\r\n },\r\n },\r\n\r\n '& textarea#disclaimer-editor-information-popup': {\r\n height: 169,\r\n resize: 'none',\r\n },\r\n\r\n '& textarea#disclaimer-editor-information-additionalline': {\r\n height: 69,\r\n resize: 'none',\r\n },\r\n\r\n '& .url-editor-form': {\r\n display: 'flex',\r\n gridTemplateColumns: 'auto 1fr',\r\n\r\n '& > select.form-control': {\r\n width: 'auto',\r\n marginRight: 6,\r\n },\r\n\r\n '& > input': {\r\n marginLeft: 6,\r\n },\r\n },\r\n },\r\n },\r\n});\r\n","import _ from 'underscore';\r\nimport React, { useCallback, useContext, useState, useMemo, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { buildLegacyI18n } from '@bingads-webui/build-legacy-i18n';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { PermissionsContext } from '@bingads-webui-react/hoc-with-permissions';\r\nimport { withCustomValidation, withError } from '@bingads-webui-react/validation';\r\nimport { ValidationStringMap } from '@bingads-webui/validation-string-map';\r\nimport { AdsCampaignDisclaimers, DisclaimerStringMap } from '@bingads-webui-campaign-react/ads-campaign-disclaimers';\r\nimport { DisclaimerAdExtension } from '@bingads-webui/campaign-odata-schemas';\r\nimport DisclaimerRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport { uiblockerStyle } from '@bingads-webui-campaign-react/common-styles';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { getDisclaimerPanelStyles, getDisclaimerSettingsStyles } from './styles/disclaimer-styles';\r\n\r\nconst getStyles = (components, theme) => ({\r\n disclaimerContainer: {\r\n ...getDisclaimerSettingsStyles(theme),\r\n '& .ba-pagination': {\r\n '& .pager-input': {\r\n background: '#DCDCDC',\r\n },\r\n },\r\n '& .focus-style': {\r\n border: '1px solid black',\r\n },\r\n '& input': {\r\n outline: '0 !important',\r\n }\r\n },\r\n '@global': {\r\n ...getDisclaimerPanelStyles(theme),\r\n ...uiblockerStyle(theme),\r\n },\r\n});\r\n\r\nconst convert2ViewModel = (data, originalSelectedDisclaimer) => {\r\n const { DisclaimerAdsEnabled: disclaimerAdsEnabled, AdExtensionAssociations: adExtensionAssociations } = data;\r\n let selectedDisclaimer = null;\r\n if (adExtensionAssociations && adExtensionAssociations.length > 0) {\r\n const activeAssociations = adExtensionAssociations.filter(association => association.Status === 'Active');\r\n if (activeAssociations && activeAssociations.length > 0) {\r\n const activeAssociation = activeAssociations[0];\r\n selectedDisclaimer = {\r\n Id: activeAssociation.Id,\r\n Name: activeAssociation.Name,\r\n };\r\n }\r\n }\r\n\r\n return {\r\n DisclaimerAdsEnabled: disclaimerAdsEnabled,\r\n disclaimer: { originalSelectedDisclaimer, selectedDisclaimer, adExtensionAssociations },\r\n };\r\n};\r\n\r\nconst convert2LogData = (data) => {\r\n const { DisclaimerAdsEnabled: disclaimerAdsEnabled, disclaimer } = data || {};\r\n const logData = {\r\n Enabled: disclaimerAdsEnabled,\r\n };\r\n if (disclaimerAdsEnabled && disclaimer && disclaimer.selectedDisclaimer && disclaimer.selectedDisclaimer.Id > 0) {\r\n logData.DisclaimerId = disclaimer.selectedDisclaimer.Id;\r\n }\r\n return logData;\r\n};\r\n\r\nconst Disclaimer = ({\r\n campaignId,\r\n validationProps,\r\n updateValidation,\r\n}) => {\r\n const { data: { disclaimerAdsEnabled, disclaimer } } = validationProps;\r\n const { originalSelectedDisclaimer } = disclaimer || {};\r\n const i18n = useContext(I18nContext);\r\n const legacyI18n = useMemo(() => buildLegacyI18n(i18n, [ValidationStringMap, DisclaimerStringMap]), [i18n]);\r\n const classes = useDefaultStyles(getStyles);\r\n const permissions = useContext(PermissionsContext);\r\n const activity = useContext(ActivityContext);\r\n const [logData, setLogData] = useState(null);\r\n\r\n const disclaimerRepositoryRef = useRef(new DisclaimerRepository({\r\n schema: DisclaimerAdExtension,\r\n skipExtensionCache: true,\r\n }));\r\n\r\n const disclaimerRef = useRef(null);\r\n const onDataChange = useCallback(() => {\r\n const result = disclaimerRef.current.getValues();\r\n const error = disclaimerRef.current.validateAndWarn();\r\n const data = convert2ViewModel(result, originalSelectedDisclaimer);\r\n updateValidation(error ? [error] : [], data);\r\n\r\n if (activity) {\r\n const newLogData = convert2LogData(data);\r\n // This is to avoid unnecessary signal calls, e.g., when toggling the disclaimer as false, there are multiple calls to onDataChange\r\n if (!_.isEqual(logData, newLogData)) {\r\n setLogData(newLogData);\r\n activity.signal(`onDisclaimerChange - ${JSON.stringify(newLogData)}`);\r\n }\r\n }\r\n }, [activity, logData, originalSelectedDisclaimer, updateValidation]);\r\n\r\n // this is to ensure that the disclaimer is not rendered if initial data is not available\r\n if (!disclaimer) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n 0 ? campaignId : 0}\r\n repository={disclaimerRepositoryRef.current}\r\n i18n={legacyI18n}\r\n permissions={permissions}\r\n schema={DisclaimerAdExtension}\r\n AllowDisclaimerEnabled\r\n usePanel\r\n disableTitle\r\n isForNew\r\n enableRandomPage={false}\r\n />\r\n
\r\n );\r\n};\r\n\r\nDisclaimer.propTypes = {\r\n campaignId: PropTypes.number,\r\n validationProps: PropTypes.shape({\r\n data: PropTypes.shape({\r\n disclaimerAdsEnabled: PropTypes.bool,\r\n disclaimer: PropTypes.shape({\r\n selectedDisclaimer: PropTypes.shape({\r\n Id: PropTypes.number,\r\n Name: PropTypes.string,\r\n }),\r\n adExtensionAssociations: PropTypes.arrayOf(PropTypes.shape({\r\n Id: PropTypes.number,\r\n Name: PropTypes.string,\r\n Status: PropTypes.string,\r\n })),\r\n }),\r\n }),\r\n }).isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n};\r\n\r\nDisclaimer.defaultProps = {\r\n campaignId: null,\r\n};\r\n\r\nexport const ValidatedDisclaimer = withError(withCustomValidation(Disclaimer));\r\n","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { Checkbox } from '@bingads-webui-react/fabric-with-signal';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { withValidation, withError, AdapterFactory } from '@bingads-webui-react/validation';\r\nimport { LearnMoreLink } from '@bingads-webui-campaign-react/help';\r\nimport { ReactTemplate } from '@bingads-webui-react/react-template';\r\n\r\nexport const getAutoGeneratedAssetsDetails = (i18n, autoGeneratedAssetsEnabled) => (autoGeneratedAssetsEnabled ?\r\n i18n.getString(_TL_('On: Enable autogenerated assets')) :\r\n i18n.getString(_TL_('Off: Disable autogenerated assets')));\r\n\r\nconst AutoGeneratedAssetsValidationAdapter = AdapterFactory({\r\n convertEventToValue: event => event.target.checked,\r\n defaultValue: false,\r\n valueToInject: 'checked',\r\n functionToInject: 'onChange',\r\n});\r\n\r\nconst getStyles = () => ({\r\n autoGeneratedAssets: {\r\n '& .ms-Checkbox-text': {\r\n fontWeight: 'bold',\r\n },\r\n\r\n '& .description': {\r\n marginLeft: 28,\r\n },\r\n },\r\n});\r\n\r\nconst AutoGeneratedAssets = ({\r\n checked,\r\n onChange,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n\r\n return (\r\n
\r\n \r\n
\r\n ({text}) }}\r\n template={i18n.getString(_TL_('By enabling this setting, Microsoft Advertising will automatically generate relevant assets.'))}\r\n />\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nAutoGeneratedAssets.propTypes = {\r\n checked: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n};\r\n\r\nAutoGeneratedAssets.defaultProps = {\r\n checked: false,\r\n onChange: undefined,\r\n};\r\n\r\nexport const ValidatedAutoGeneratedAssets = withError(withValidation(AutoGeneratedAssets, AutoGeneratedAssetsValidationAdapter));\r\n","import React, { useCallback, useContext, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Text } from '@fluentui/react';\r\nimport { withCustomValidation, withError } from '@bingads-webui-react/validation';\r\nimport {\r\n ConversionGoalSelector,\r\n Scopes\r\n} from '@bingads-webui-campaign-react/goal-selector';\r\nimport { buildLegacyI18n } from '@bingads-webui/build-legacy-i18n';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { paginationStyle } from '@bingads-webui-campaign-react/common-styles';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { useP$DaterangeDefault, ConversionGoalKeyToStringMapping } from '@bingads-webui-campaign-react/wizard-shared-components';\r\n\r\nconst subTextOptions = [\r\n {\r\n id: Scopes.ACCOUNT,\r\n text: 'Campaign_Goals_Account_Level_Subtext',\r\n },\r\n {\r\n id: Scopes.CAMPAIGN,\r\n text: 'Campaign_Goals_Campaign_Level_Subtext',\r\n },\r\n];\r\n\r\nconst convert2LogData = (data) => {\r\n const { conversionGoals } = data || {};\r\n const logData = {\r\n GoalScopeSelection: conversionGoals.goalScopeSelection,\r\n };\r\n\r\n if (conversionGoals.goalScopeSelection === Scopes.CAMPAIGN && conversionGoals.goalSelection && conversionGoals.goalSelection.length > 0) {\r\n logData.GoalSelection = conversionGoals.goalSelection;\r\n }\r\n\r\n return logData;\r\n};\r\n\r\nconst ConversionGoalsWithCustomValidation = ({\r\n i18n, validationProps, updateValidation, ...restProps\r\n}) => {\r\n const { data: conversionGoalsData = {} } = validationProps;\r\n const { conversionGoals = {} } = conversionGoalsData || {};\r\n\r\n const classes = useDefaultStyles((_, theme) => ({\r\n ConversionGoalSelectorContainer: {\r\n ...paginationStyle(theme),\r\n '& .multi-selector': {\r\n width: 952,\r\n },\r\n '& .list-selector-container': {\r\n width: 468,\r\n },\r\n '& .goal-selector-subtext': {\r\n position: 'absolute',\r\n top: 30,\r\n left: 35,\r\n },\r\n '& .radio:not(:last-child)': {\r\n marginBottom: 15,\r\n },\r\n '& .radio': {\r\n width: 800,\r\n '& label': {\r\n outline: 'none !important',\r\n },\r\n },\r\n '& .radio[data-checked=\"true\"] span': {\r\n fontWeight: 700,\r\n },\r\n '& .goal-selector': {\r\n marginTop: 25,\r\n },\r\n '& .ba-pagination': {\r\n '& .pager-input': {\r\n background: '#DCDCDC',\r\n },\r\n },\r\n },\r\n }));\r\n\r\n const activity = useContext(ActivityContext);\r\n const legacyI18n = useMemo(() => buildLegacyI18n(\r\n i18n,\r\n [ConversionGoalKeyToStringMapping]\r\n ), [i18n]);\r\n\r\n const $dataRange = useP$DaterangeDefault();\r\n\r\n const onChange = useCallback((changedData) => {\r\n const newData = {\r\n conversionGoals: {\r\n ...conversionGoals,\r\n ...changedData,\r\n },\r\n };\r\n updateValidation([], newData);\r\n\r\n if (activity) {\r\n const newLogData = convert2LogData(newData);\r\n activity.signal(`onConversionGoalChange - ${JSON.stringify(newLogData)}`);\r\n }\r\n }, [conversionGoals, updateValidation, activity]);\r\n\r\n const campaignConversionGoal = useMemo(() => ({\r\n Goals: conversionGoals.originalConversionGoals,\r\n }), [conversionGoals.originalConversionGoals]);\r\n\r\n\r\n return (conversionGoals && conversionGoals.goalScopeSelection ?\r\n
\r\n
\r\n {i18n.getString(_TL_('How do you want to set your conversion goals'))}\r\n
\r\n \r\n
: null\r\n );\r\n};\r\n\r\nConversionGoalsWithCustomValidation.propTypes = {\r\n validationProps: PropTypes.shape({\r\n data: PropTypes.shape({\r\n conversionGoals: PropTypes.shape({\r\n goalSelection: PropTypes.arrayOf(PropTypes.shape({})),\r\n goalScopeSelection: PropTypes.string,\r\n originalConversionGoals: PropTypes.arrayOf(PropTypes.shape({})),\r\n }),\r\n }),\r\n }).isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n showTrackingStatusIcon: PropTypes.bool, // included in restProps\r\n};\r\n\r\nConversionGoalsWithCustomValidation.defaultProps = {\r\n showTrackingStatusIcon: false,\r\n};\r\nexport const ValidatedConversionGoals = withError(withCustomValidation(ConversionGoalsWithCustomValidation));\r\n","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Checkbox } from '@bingads-webui-react/fabric-with-signal';\r\nimport { MessageBar } from '@fluentui/react';\r\nimport { HelpPopup } from '@bingads-webui-react/help-popup';\r\nimport { HelpLink } from '@bingads-webui-react/help-link';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\n\r\nconst getStyles = (_, { palette }) => ({\r\n predictiveMatchingSection: {\r\n '& .predictive-matching-header': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontWeight: 'bold',\r\n },\r\n '& .predictive-matching-checkbox': {\r\n '& .ms-Checkbox-label': {\r\n fontWeight: 'bold',\r\n },\r\n },\r\n '& .predictive-matching-desc': {\r\n paddingLeft: 28,\r\n },\r\n\r\n '&.disabled p': {\r\n color: palette.neutralTertiaryAlt,\r\n },\r\n },\r\n messageBar: {\r\n background: palette.themeLighterAlt,\r\n marginBottom: 8,\r\n },\r\n});\r\n\r\nexport const getPredictiveMatchingDetails = (i18n, autoGeneratedAssetsEnabled) => (autoGeneratedAssetsEnabled ? i18n.getString(_TL_('On')) : i18n.getString(_TL_('Off')));\r\n\r\nexport const PredictiveMatching = (props) => {\r\n const classes = useDefaultStyles(getStyles);\r\n const {\r\n AutoTargetingEnabled, isPredictiveMatchingChecked, onValidate, i18n, hideDescription, disabled,\r\n } = props;\r\n\r\n const activity = useContext(ActivityContext);\r\n\r\n const onChange = (e, v) => {\r\n onValidate({\r\n data: {\r\n isPredictiveMatchingChecked: v,\r\n },\r\n isValid: true,\r\n });\r\n if (activity) {\r\n activity.signal(`onPredictiveMatchingChange - ${v}`);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {\r\n disabled && (\r\n \r\n {i18n.getString(_TL_('Change bid strategy to enable.'))}\r\n \r\n )\r\n }\r\n {!hideDescription &&\r\n

\r\n {i18n.getString(_TL_('Do you want us to optimize your ad reach?'))}\r\n \r\n

\r\n }\r\n
\r\n \r\n

\r\n {i18n.getString(_TL_('Predictive matching acts as a complement to your existing keywords to match your ads with new, highly relevant search queries. Broad match will also be applied to keywords in your campaign to help you target all relevant search queries. '))}\r\n {i18n.getString(_TL_('Learn more'))}\r\n

\r\n
\r\n
);\r\n};\r\n\r\nPredictiveMatching.propTypes = {\r\n onValidate: PropTypes.func.isRequired,\r\n isPredictiveMatchingChecked: PropTypes.bool.isRequired,\r\n AutoTargetingEnabled: PropTypes.bool,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }).isRequired,\r\n hideDescription: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nPredictiveMatching.defaultProps = {\r\n AutoTargetingEnabled: false,\r\n hideDescription: false,\r\n disabled: false,\r\n};\r\n","import { first, contains, isEmpty } from 'underscore';\r\nimport React, { useContext, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { Label, Stack } from '@fluentui/react';\r\nimport { UrlInputFluent, withNoProtocol } from '@bingads-webui-campaign-react/url-input-fluent';\r\nimport { UrlInputFluent as UrlInputFluentV2, withNoProtocol as withNoProtocolV2 } from '@bingads-webui-campaign-react/url-input-fluent-v2';\r\nimport { HelpPopupInline } from '@bingads-webui-react/help-popup';\r\nimport { withError, withCustomValidation } from '@bingads-webui-react/validation';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { Input } from '@fluentui/react-components';\r\n\r\nconst UrlInputFluentWithNoProtocol = withNoProtocol(UrlInputFluent);\r\nconst UrlInputFluentV2WithNoProtocol = withNoProtocolV2(UrlInputFluentV2);\r\n\r\nconst getStyles = () =>\r\n ({\r\n websiteTitle: {\r\n '& .title': {\r\n fontSize: '16px',\r\n fontWeight: '600',\r\n },\r\n },\r\n websiteContent: {\r\n width: '380px',\r\n '& .url-field': {\r\n width: '100%',\r\n },\r\n },\r\n });\r\n\r\nexport const emptyUrls = ['http://', 'https://'];\r\n\r\nexport const ValidatedWebsiteTitle = () => {\r\n const classes = useDefaultStyles(getStyles);\r\n const i18n = useContext(I18nContext);\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nconst ValidatedNoProtocolWebsiteContent = ({\r\n validationProps, updateValidation, validateOnRender, enableSpecialCharactersValidation, useFluentV2, isEmptyValid, disabled,\r\n}) => {\r\n const { data: websites } = validationProps;\r\n const website = first(websites);\r\n\r\n const classes = useDefaultStyles(getStyles);\r\n const i18n = useContext(I18nContext);\r\n const activity = useContext(ActivityContext);\r\n\r\n const onChange = useCallback((errors, value) => {\r\n if (isEmptyValid && (!value || contains(emptyUrls, value))) {\r\n // website is optional\r\n updateValidation([], { websites: [value] });\r\n } else {\r\n updateValidation(errors, { websites: [value] }, (!isEmpty(errors) && !!website));\r\n }\r\n\r\n if (activity) {\r\n activity.signal(`onWebsiteChanged - ${JSON.stringify(value)}`);\r\n }\r\n }, [activity, updateValidation, isEmptyValid, website]);\r\n\r\n return (\r\n
\r\n {\r\n disabled && (\r\n \r\n )\r\n }\r\n {\r\n !disabled && (\r\n useFluentV2 ? (\r\n ) : (\r\n \r\n )\r\n )\r\n }\r\n
\r\n );\r\n};\r\n\r\nValidatedNoProtocolWebsiteContent.propTypes = {\r\n validationProps: PropTypes.shape({\r\n data: PropTypes.shape([]),\r\n }).isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n validateOnRender: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n enableSpecialCharactersValidation: PropTypes.bool,\r\n useFluentV2: PropTypes.bool,\r\n isEmptyValid: PropTypes.bool,\r\n};\r\n\r\nValidatedNoProtocolWebsiteContent.defaultProps = {\r\n validateOnRender: false,\r\n disabled: false,\r\n enableSpecialCharactersValidation: false,\r\n useFluentV2: false,\r\n isEmptyValid: false,\r\n};\r\n\r\nexport const ValidatedNoProtocolWebsite = withError(withCustomValidation(ValidatedNoProtocolWebsiteContent));\r\n","import { first, isEmpty, map, result } from 'underscore';\r\nimport React, { useCallback, useContext, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { withCustomValidation, withError } from '@bingads-webui-react/validation';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ServerContext } from '@bingads-webui-campaign-react/server-context';\r\nimport { ScopeContext } from '@bingads-webui-react/scope-service';\r\nimport {\r\n Radio,\r\n RadioGroup,\r\n Label,\r\n Dropdown,\r\n Option,\r\n Checkbox,\r\n} from '@fluentui/react-components';\r\nimport {\r\n MessageBar,\r\n MessageBarBody,\r\n MessageBarTitle\r\n} from '@fluentui/react-message-bar';\r\nimport { HelpPopup } from '@bingads-webui-react/help-popup';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { campaignLanguageStrings } from '@bingads-webui-campaign-react/language-target';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors, withContainerErrors, FormErrorBeaconAdapter } from '@bingads-webui-campaign-react/error-handling';\r\nimport { getDSAWebsiteLanguages, targetingSourceOptions, targetingSourceOptionStrings, ERROR_ENTITY } from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { PageFeedSelectorSection } from '@bingads-webui-campaign-react/page-feed-selector';\r\nimport {\r\n andComp,\r\n entityIs,\r\n propertyIs,\r\n StandardControlAdapter,\r\n} from '@bingads-webui-campaign-react/form-error';\r\nimport { FocusableActuator } from '@bingads-webui-campaign-react/actuator';\r\n\r\nimport { ValidatedNoProtocolWebsite as WebsiteControl } from './validated-no-protocol-website';\r\n\r\nconst entityIsCampaign = entityIs(ERROR_ENTITY.Campaign);\r\nconst feedAssociationsProp = andComp(entityIsCampaign, propertyIs('FeedAssociations'));\r\nconst ServerValidatedPageFeedSelectorSection = withControlErrorHandling(withContainerErrors(PageFeedSelectorSection, { filter: feedAssociationsProp, Adapter: StandardControlAdapter() }), [FocusableActuator], [FormErrorBeaconAdapter]);\r\n\r\nconst domainProp = andComp(entityIsCampaign, propertyIs('DomainName'));\r\nconst ValidatedWebsite = withControlErrorHandling(withUnvalidatedControlErrors(WebsiteControl, { filter: domainProp }));\r\n\r\nconst getStyles = () =>\r\n ({\r\n dynamicSetting: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: '16px',\r\n '& .ad-group-website-label': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n '& .ad-group-website-language-label': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n '& .website-language-dropdown': {\r\n width: '320px',\r\n },\r\n '& .ad-group-targeting-source-label': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n '& .page-feed-selector': {\r\n display: 'flex',\r\n marginLeft: '36px',\r\n },\r\n '& .message-bar': {\r\n marginTop: '20px',\r\n },\r\n },\r\n });\r\n\r\nconst ValidatedDynamicWebsite = ({\r\n websites,\r\n disabled,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n \r\n

{i18n.getString(_TL_(\"Your website and website language cannot be changed once they're saved.\"))}

\r\n \r\n );\r\n};\r\n\r\nValidatedDynamicWebsite.propTypes = {\r\n websites: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nValidatedDynamicWebsite.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nconst DynamicWebsiteLanguage = ({\r\n validationProps,\r\n updateValidation,\r\n permissions,\r\n disabled,\r\n}) => {\r\n const { data: selectedWebsiteLanguage } = validationProps;\r\n const i18n = useContext(I18nContext);\r\n const activity = useContext(ActivityContext);\r\n const websiteLanguages = getDSAWebsiteLanguages(permissions);\r\n\r\n const onWebsiteLanguageOptionSelect = useCallback((_evt, option) => {\r\n const newSelectedWebsiteLanguage = first(option.selectedOptions);\r\n if (newSelectedWebsiteLanguage !== selectedWebsiteLanguage) {\r\n updateValidation([], { selectedWebsiteLanguage: newSelectedWebsiteLanguage });\r\n activity.signal(`onDSAWebsiteLanguageChange - ${newSelectedWebsiteLanguage}`);\r\n }\r\n }, [activity, selectedWebsiteLanguage, updateValidation]);\r\n\r\n return (\r\n <>\r\n {\r\n selectedWebsiteLanguage && (\r\n <>\r\n
\r\n \r\n \r\n
\r\n {\r\n websiteLanguages.length > 1 ? (\r\n \r\n {map(websiteLanguages, websiteLanguage => (\r\n \r\n {i18n.getString(campaignLanguageStrings[websiteLanguage] || websiteLanguage)}\r\n \r\n ))}\r\n \r\n ) :
{websiteLanguages[0]}
\r\n }\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nDynamicWebsiteLanguage.propTypes = {\r\n validationProps: {\r\n data: PropTypes.string,\r\n }.isRequired,\r\n permissions: PropTypes.shape({\r\n dynamic: PropTypes.shape({\r\n website: PropTypes.shape({\r\n enabled: PropTypes.bool,\r\n }),\r\n }),\r\n }).isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nDynamicWebsiteLanguage.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nconst ValidatedDynamicWebsiteLanguage = withControlErrorHandling(withUnvalidatedControlErrors(withError(withCustomValidation(DynamicWebsiteLanguage))));\r\n\r\nconst DynamicTargetingSource = ({\r\n validationProps,\r\n updateValidation,\r\n}) => {\r\n const { selectedTargetingSource, pageFeeds = [] } = validationProps;\r\n\r\n const i18n = useContext(I18nContext);\r\n const activity = useContext(ActivityContext);\r\n const { scope } = useContext(ScopeContext) || {};\r\n const serverContext = useContext(ServerContext);\r\n const { CurrentAccount } = serverContext || {};\r\n const { AdvertiserCustomerID: advertiserCustomerId } = CurrentAccount || {};\r\n\r\n const verifyTargetingSource = useCallback(({\r\n newSelectedTargetingSource = selectedTargetingSource,\r\n newPageFeeds = pageFeeds,\r\n }) => (\r\n newSelectedTargetingSource !== targetingSourceOptions.SystemIndex && isEmpty(newPageFeeds) ?\r\n [i18n.getString(_TL_('Please select at least one page feed'))] : []\r\n ), [i18n, pageFeeds, selectedTargetingSource]);\r\n\r\n const onTargetingSourceOptionSelect = useCallback((_evt, option) => {\r\n if (option.value !== selectedTargetingSource) {\r\n const newSelectedTargetingSource = option.value;\r\n const errors = verifyTargetingSource({ newSelectedTargetingSource });\r\n updateValidation(errors, { selectedTargetingSource: newSelectedTargetingSource });\r\n activity.signal(`onDSATargetingSourceChange - ${newSelectedTargetingSource}`);\r\n }\r\n }, [activity, selectedTargetingSource, updateValidation, verifyTargetingSource]);\r\n\r\n const onSelectedPageFeedsChange = useCallback((selectedPageFeeds) => {\r\n const newPageFeeds = selectedPageFeeds || [];\r\n const errors = verifyTargetingSource({ newPageFeeds });\r\n updateValidation(errors, { pageFeeds: newPageFeeds });\r\n activity.signal(`onSelectedPageFeedsChange - ${newPageFeeds}`);\r\n }, [activity, updateValidation, verifyTargetingSource]);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n \r\n {map(targetingSourceOptions, (targetingSourceOption, index) => (\r\n \r\n ))}\r\n \r\n {\r\n selectedTargetingSource !== targetingSourceOptions.SystemIndex &&\r\n () => Promise.resolve(pageFeeds)}\r\n onChange={onSelectedPageFeedsChange}\r\n />\r\n }\r\n \r\n );\r\n};\r\n\r\nDynamicTargetingSource.propTypes = {\r\n validationProps: {\r\n selectedTargetingSource: PropTypes.string,\r\n pageFeeds: PropTypes.arrayOf(PropTypes.shape({ key: PropTypes.string, text: PropTypes.string })),\r\n }.isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n};\r\n\r\nconst ValidatedDynamicTargetingSource = withControlErrorHandling(withUnvalidatedControlErrors(withError(withCustomValidation(DynamicTargetingSource)), { filter: feedAssociationsProp }));\r\n\r\nconst DynamicSearchText = ({\r\n validationProps,\r\n updateValidation,\r\n permissions,\r\n}) => {\r\n const { dynamicTextEnabled } = validationProps;\r\n const isDynamicDescriptionPhase1Enabled = result(permissions.dynamic, 'DSADynamicDescriptionPhase1');\r\n\r\n const i18n = useContext(I18nContext);\r\n const activity = useContext(ActivityContext);\r\n\r\n const onDynamicTextChange = useCallback((_evt, option) => {\r\n if (option.checked !== dynamicTextEnabled) {\r\n updateValidation([], { dynamicTextEnabled: option.checked });\r\n activity.signal(`onDynamicTextEnableChange - ${option.checked}`);\r\n }\r\n }, [activity, dynamicTextEnabled, updateValidation]);\r\n\r\n return (\r\n <>\r\n {\r\n isDynamicDescriptionPhase1Enabled && (\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nDynamicSearchText.propTypes = {\r\n validationProps: {\r\n dynamicTextEnabled: PropTypes.bool,\r\n }.isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n permissions: PropTypes.shape({\r\n dynamic: PropTypes.shape({\r\n DSADynamicDescriptionPhase1: PropTypes.bool,\r\n }),\r\n }).isRequired,\r\n};\r\n\r\nconst ValidatedDynamicSearchText = withControlErrorHandling(withUnvalidatedControlErrors(withError(withCustomValidation(DynamicSearchText))));\r\n\r\nexport const ValidatedDynamicSearchAdSetting = ({\r\n data, disabled, isMessageBarVisible,\r\n}) => {\r\n const {\r\n websites,\r\n selectedWebsiteLanguage,\r\n selectedTargetingSource,\r\n dynamicTextEnabled,\r\n pageFeeds,\r\n } = data;\r\n\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n const serverContext = useContext(ServerContext);\r\n\r\n const {\r\n DynamicPermissions,\r\n Permissions,\r\n } = serverContext;\r\n const permissions = useMemo(() => ({ dynamic: { ...DynamicPermissions }, ...Permissions }), [DynamicPermissions, Permissions]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {isMessageBarVisible && (\r\n \r\n \r\n {i18n.getString(_TL_('Note'))}\r\n {i18n.getString(_TL_('Dynamic ad groups contain Dynamic Search ads and dynamic ad targets.'))}\r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nValidatedDynamicSearchAdSetting.propTypes = {\r\n data: PropTypes.shape({\r\n websites: PropTypes.arrayOf(PropTypes.string),\r\n selectedWebsiteLanguage: PropTypes.string,\r\n selectedTargetingSource: PropTypes.string,\r\n dynamicTextEnabled: PropTypes.bool,\r\n pageFeeds: PropTypes.arrayOf(PropTypes.string),\r\n }).isRequired,\r\n disabled: PropTypes.bool,\r\n isMessageBarVisible: PropTypes.bool,\r\n};\r\n\r\nValidatedDynamicSearchAdSetting.defaultProps = {\r\n disabled: false,\r\n isMessageBarVisible: true,\r\n};\r\n","import { map } from 'underscore';\r\nimport React, { useCallback, useContext, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport {\r\n Dropdown,\r\n Label,\r\n Option,\r\n Dialog,\r\n DialogSurface,\r\n DialogBody,\r\n DialogTitle,\r\n DialogContent,\r\n DialogActions,\r\n DialogTrigger,\r\n Button,\r\n useRestoreFocusTarget,\r\n} from '@fluentui/react-components';\r\nimport {\r\n MessageBar,\r\n MessageBarBody,\r\n MessageBarTitle\r\n} from '@fluentui/react-message-bar';\r\nimport { AdGroup } from '@bingads-webui/campaign-odata-schemas';\r\nimport { RemainingCharsValidatedTextField } from '@bingads-webui-campaign-react/remaining-chars-hint';\r\nimport { HelpPopup } from '@bingads-webui-react/help-popup';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\n\r\nimport { ValidatedDynamicSearchAdSetting } from './validated-dsa-setting';\r\n\r\nconst getStyles = () =>\r\n ({\r\n adGroupBasicSetting: {\r\n '& .ad-group-type-label': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n '& .ad-group-name-label': {\r\n marginTop: '20px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n '& .message-bar': {\r\n marginTop: '20px',\r\n },\r\n },\r\n });\r\n\r\nexport const AdGroupTypeSelector = ({\r\n allowAdGroupTypeChange, currentAdGroupType, onSwitchAdGroupType, adGroupTypes, adGroupTypeStrings,\r\n}) => {\r\n const classes = useDefaultStyles(getStyles);\r\n const i18n = useContext(I18nContext);\r\n const activity = useContext(ActivityContext);\r\n\r\n const newAdGroupType = useRef(currentAdGroupType);\r\n const [isDialogOpen, setIsDialogOpen] = React.useState(false);\r\n const restoreFocusTargetAttribute = useRestoreFocusTarget();\r\n\r\n const onOptionSelect = useCallback((_evt, option) => {\r\n if (option.optionValue !== currentAdGroupType) {\r\n setIsDialogOpen(true);\r\n newAdGroupType.current = option.optionValue;\r\n activity.signal(`onAdGroupTypeChangeDropdownOptionClicked - ${option.optionValue}`);\r\n }\r\n }, [activity, currentAdGroupType]);\r\n\r\n const onDialogSwitchClick = useCallback(() => {\r\n setIsDialogOpen(false);\r\n onSwitchAdGroupType(newAdGroupType.current);\r\n }, [onSwitchAdGroupType]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {map(adGroupTypes, adGroupType => (\r\n \r\n {i18n.getString(adGroupTypeStrings[adGroupType])}\r\n \r\n ))}\r\n \r\n {\r\n setIsDialogOpen(data.open);\r\n }}\r\n >\r\n \r\n \r\n {i18n.getString(_TL_('Are you sure you want to change the ad group type?'))}\r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n
Campaigns > Ad groups.\")) }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nAdGroupTypeSelector.propTypes = {\r\n allowAdGroupTypeChange: PropTypes.bool.isRequired,\r\n currentAdGroupType: PropTypes.string.isRequired,\r\n onSwitchAdGroupType: PropTypes.func.isRequired,\r\n adGroupTypes: PropTypes.shape({\r\n SearchStandard: PropTypes.string.isRequired,\r\n SearchDynamic: PropTypes.string.isRequired,\r\n }).isRequired,\r\n adGroupTypeStrings: PropTypes.shape({}).isRequired,\r\n isEditingScenario: PropTypes.bool.isRequired,\r\n};\r\n\r\n\r\nexport const ValidatedStandardAdGroup = ({\r\n adGroup,\r\n currentAdGroupType,\r\n onSwitchAdGroupType,\r\n adGroupTypes,\r\n adGroupTypeStrings,\r\n isMixedMode,\r\n isEditingScenario,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n\r\n return (\r\n
\r\n {isMixedMode && ()}\r\n
\r\n \r\n \r\n
\r\n \r\n {!isEditingScenario && (\r\n \r\n \r\n {i18n.getString(_TL_('Note'))}\r\n {i18n.getString(_TL_('Standard ad groups contain Multimedia ads and/or Responsive Search ads.'))}\r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nValidatedStandardAdGroup.propTypes = {\r\n adGroup: PropTypes.shape({\r\n allowAdGroupTypeChange: PropTypes.bool,\r\n }).isRequired,\r\n currentAdGroupType: PropTypes.string.isRequired,\r\n onSwitchAdGroupType: PropTypes.func.isRequired,\r\n adGroupTypes: PropTypes.shape({\r\n SearchStandard: PropTypes.string.isRequired,\r\n SearchDynamic: PropTypes.string.isRequired,\r\n }).isRequired,\r\n adGroupTypeStrings: PropTypes.shape({}).isRequired,\r\n isMixedMode: PropTypes.bool.isRequired,\r\n isEditingScenario: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport const ValidatedDynamicAdGroup = ({\r\n adGroup,\r\n currentAdGroupType,\r\n onSwitchAdGroupType,\r\n adGroupTypes,\r\n adGroupTypeStrings,\r\n}) => {\r\n const { showDsaSettings, disableEditDsaSettings } = adGroup || {};\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {showDsaSettings && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nValidatedDynamicAdGroup.propTypes = {\r\n adGroup: PropTypes.shape({\r\n allowAdGroupTypeChange: PropTypes.bool,\r\n }).isRequired,\r\n currentAdGroupType: PropTypes.string.isRequired,\r\n onSwitchAdGroupType: PropTypes.func.isRequired,\r\n adGroupTypes: PropTypes.shape({\r\n SearchStandard: PropTypes.string.isRequired,\r\n SearchDynamic: PropTypes.string.isRequired,\r\n }).isRequired,\r\n adGroupTypeStrings: PropTypes.shape({}).isRequired,\r\n};\r\n\r\n","import { useContext } from 'react';\r\nimport { ServerContext } from '@bingads-webui-campaign-react/server-context';\r\nimport { defaultBid } from '@bingads-webui-campaign-legacy/budget/shared/defaultBid';\r\n\r\nexport const useCurrencyCode = () => {\r\n const serverContext = useContext(ServerContext);\r\n const currencyCode = (serverContext && serverContext.CurrentAccount && serverContext.CurrentAccount.CurrencyCode) || 'USD';\r\n return currencyCode;\r\n};\r\n\r\nexport const useDefaultBid = () => defaultBid();\r\n","export const getDefaultBidDescriptionStyles = () => ({\r\n root: {\r\n padding: '10px 0',\r\n },\r\n});\r\n","import React, { useContext } from 'react';\r\nimport classnames from 'classnames';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { getDefaultBidDescriptionStyles } from './styles/default-bid-description-style';\r\nimport { useCurrencyCode, useDefaultBid } from '../utils';\r\n\r\nexport const DefaultBidDescription = () => {\r\n const classes = useDefaultStyles(getDefaultBidDescriptionStyles);\r\n const i18n = useContext(I18nContext);\r\n const currency = useCurrencyCode();\r\n const defaultBid = useDefaultBid();\r\n\r\n return (\r\n
{i18n.getString(_TL_('The default ad group bid is {{amount}} {{currency}}'), {\r\n amount: defaultBid,\r\n currency,\r\n })}\r\n
\r\n );\r\n};\r\n","export const getActionBarStyles = () => ({\r\n root: {\r\n width: '100%',\r\n bottom: 0,\r\n position: 'fixed',\r\n borderTop: '1px solid #EDEBE9',\r\n padding: 16,\r\n margin: '0 -24px',\r\n },\r\n});\r\n","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Stack } from '@fluentui/react';\r\nimport { Button } from '@fluentui/react-components';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { getActionBarStyles } from './styles/action-bar-style';\r\n\r\nexport const ActionBar = ({\r\n onApply,\r\n onCancel,\r\n}) => {\r\n const classes = useDefaultStyles(getActionBarStyles);\r\n const i18n = useContext(I18nContext);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nActionBar.propTypes = {\r\n onApply: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};\r\n","import { map, isFunction } from 'underscore';\r\nimport React, { useContext, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, Tooltip } from '@fluentui/react-components';\r\nimport { List, ListItem } from '@fluentui/react-list-preview';\r\nimport { AddRegular, DeleteRegular } from '@fluentui/react-icons';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\n\r\nconst CustomListItem = ({\r\n index,\r\n item,\r\n onItemChange,\r\n onItemRemove,\r\n onRenderItem,\r\n}) => {\r\n const renderedItem = useMemo(() => onRenderItem({ item, onItemChange }), [item, onItemChange, onRenderItem]);\r\n\r\n return (\r\n \r\n {renderedItem}\r\n \r\n }\r\n onClick={() => onItemRemove(index)}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nCustomListItem.propTypes = {\r\n index: PropTypes.number.isRequired,\r\n item: PropTypes.shape({}).isRequired,\r\n onItemChange: PropTypes.func.isRequired,\r\n onItemRemove: PropTypes.func.isRequired,\r\n onRenderItem: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const EditableFluentList = ({\r\n items,\r\n onItemChange,\r\n onItemRemove,\r\n onRenderHeader,\r\n onRenderItem,\r\n onRenderFooter,\r\n addButtonText,\r\n onAddButtonClick,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n\r\n return (\r\n <>\r\n {isFunction(onRenderHeader) && items && items.length > 0 && onRenderHeader()}\r\n \r\n {map(items, (item, index) => (\r\n \r\n ))}\r\n \r\n {isFunction(onRenderFooter) && items && items.length > 0 && onRenderFooter()}\r\n \r\n \r\n );\r\n};\r\n\r\nEditableFluentList.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n onItemChange: PropTypes.func.isRequired,\r\n onItemRemove: PropTypes.func.isRequired,\r\n onRenderHeader: PropTypes.func.isRequired,\r\n onRenderItem: PropTypes.func.isRequired,\r\n addButtonText: PropTypes.string.isRequired,\r\n onAddButtonClick: PropTypes.func.isRequired,\r\n};\r\n","import { categoryWidth, bidWidth } from './shared-constant';\r\n\r\nexport const getCategoryTargetStyles = () => ({\r\n listHeader: {\r\n display: 'flex',\r\n gap: '10px',\r\n alignItems: 'start',\r\n padding: '10px 0',\r\n '& .category-label': {\r\n width: categoryWidth,\r\n },\r\n '& .bid': {\r\n width: bidWidth,\r\n },\r\n },\r\n});\r\n","export const categoryWidth = 350;\r\nexport const bidWidth = 80;\r\nexport const categoryNameWidth = 220;\r\nexport const categoryCoverageWidth = 75;\r\nexport const categoryNameHeaderWidth = 160;\r\nexport const categoryCoverageHeaderWidth = 160;\r\n","import { categoryWidth, categoryNameWidth, categoryCoverageWidth, categoryNameHeaderWidth, categoryCoverageHeaderWidth } from './shared-constant';\r\n\r\nconst outline = {\r\n '&[data-activedescendant-focusvisible]': {\r\n outline: '1px solid #000',\r\n },\r\n};\r\n\r\nexport const getButtonInItemStyles = () => ({\r\n button: {\r\n ...outline,\r\n '& span': {\r\n marginRight: 0,\r\n },\r\n },\r\n});\r\n\r\nexport const getCategorySelectorStyles = () => ({\r\n root: {\r\n width: categoryWidth,\r\n '& [role=heading] .fui-Option__checkIcon': {\r\n display: 'none',\r\n },\r\n '& [role=navigation] .fui-Option__checkIcon': {\r\n display: 'none',\r\n },\r\n // '& [role=listbox]': {\r\n // overflow: 'unset !important',\r\n // },\r\n },\r\n pager: {\r\n '& .page-control': {\r\n marginLeft: 0,\r\n },\r\n '& button': outline,\r\n },\r\n footer: {\r\n // position: 'fixed !important',\r\n // bottom: 0,\r\n },\r\n blocker: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n // marginBottom: 100,\r\n // overflowY: 'auto',\r\n // overflowX: 'hidden',\r\n },\r\n});\r\n\r\nexport const getCategorySelectorHeaderStyles = () => ({\r\n root: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n },\r\n name: {\r\n width: categoryNameHeaderWidth,\r\n '& button + button': {\r\n paddingLeft: 0,\r\n },\r\n },\r\n coverage: {\r\n width: categoryCoverageHeaderWidth,\r\n alignContent: 'space-around',\r\n },\r\n});\r\n\r\n\r\nexport const getCategorySelectorItemStyles = () => ({\r\n root: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n },\r\n name: {\r\n width: categoryNameWidth,\r\n },\r\n coverage: {\r\n width: categoryCoverageWidth,\r\n textAlign: 'center',\r\n alignContent: 'center',\r\n },\r\n link: outline,\r\n});\r\n","import React, { useCallback, useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, useId } from '@fluentui/react-components';\r\nimport { ArrowLeftRegular, ArrowSortDownRegular, ArrowSortUpRegular } from '@fluentui/react-icons';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { getCategorySelectorHeaderStyles, getButtonInItemStyles } from './styles/category-selector-style';\r\n\r\nconst ButtonInList = (props) => {\r\n const classes = useDefaultStyles(getButtonInItemStyles);\r\n\r\n return ;\r\n};\r\n\r\n// the category could be 'xx/' or 'xx/yy/'\r\nfunction getParentCategory(category) {\r\n const slashCount = (category.match(/\\//g) || []).length;\r\n\r\n if (slashCount === 1 && category.endsWith('/')) {\r\n return '';\r\n } else if (slashCount === 2 && category.endsWith('/')) {\r\n const firstSlashIndex = category.indexOf('/');\r\n return category.substring(0, firstSlashIndex + 1);\r\n }\r\n return category;\r\n}\r\n\r\nconst SortIcon = ({ direction }) => (direction === -1 ? : );\r\n\r\nSortIcon.propTypes = {\r\n direction: PropTypes.number.isRequired,\r\n};\r\n\r\nexport const ListHeader = ({\r\n parentCategory, orderby, onChangeScope, onSortChange,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getCategorySelectorHeaderStyles);\r\n const onBackClick = useCallback((e) => {\r\n e.stopPropagation();\r\n onChangeScope(getParentCategory(parentCategory));\r\n }, [onChangeScope, parentCategory]);\r\n\r\n const onCategorySort = useCallback((e) => {\r\n e.stopPropagation();\r\n onSortChange('CategoryName');\r\n }, [onSortChange]);\r\n\r\n const onCoverageSort = useCallback((e) => {\r\n e.stopPropagation();\r\n onSortChange('Coverage');\r\n }, [onSortChange]);\r\n\r\n const backId = useId('back');\r\n const nameId = useId('name');\r\n const coverageId = useId('coverage');\r\n return (\r\n
\r\n
\r\n { parentCategory &&\r\n } onClick={onBackClick} id={backId} />\r\n }\r\n } >\r\n {i18n.getString(_TL_('Categories'))}\r\n \r\n
\r\n
\r\n } >\r\n {i18n.getString(_TL_('Website coverage'))}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nListHeader.propTypes = {\r\n parentCategory: PropTypes.string.isRequired,\r\n onChangeScope: PropTypes.func.isRequired,\r\n onSortChange: PropTypes.func.isRequired,\r\n orderby: PropTypes.shape({\r\n CategoryName: PropTypes.number,\r\n Coverage: PropTypes.number,\r\n }).isRequired,\r\n};\r\n","import React, { useCallback, useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link, useId } from '@fluentui/react-components';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { getCategorySelectorItemStyles } from './styles/category-selector-style';\r\nimport { convertToMultiLine, minRoundCoverage } from './utils';\r\n\r\nexport const ListItem = ({ name, size, onChangeScope }) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getCategorySelectorItemStyles);\r\n const names = convertToMultiLine(name);\r\n const onClick = useCallback((e) => {\r\n e.stopPropagation();\r\n onChangeScope(name);\r\n }, [name, onChangeScope]);\r\n const isParent = name.endsWith('/');\r\n const linkId = useId('link');\r\n\r\n return (\r\n
\r\n
\r\n {names.map((n, i) => {\r\n const key = `category-name-${n}`;\r\n return i === names.length - 1 ? (\r\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\r\n
{ isParent ? {n} : ({n})}
\r\n ) : ({n});\r\n })}\r\n
\r\n
\r\n {size > 0 && size < minRoundCoverage ? i18n.getString(_TL_('<0.01%')) : i18n.formatPercentToFixed(size, { digits: 2 })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nListItem.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n size: PropTypes.number.isRequired,\r\n onChangeScope: PropTypes.func.isRequired,\r\n};\r\n","export const convertToMultiLine = text => text.replace(new RegExp('/$'), '').replace(new RegExp('/', 'g'), '>/').split('/');\r\nexport const convertToSingleLine = text => text.replace(new RegExp('/', 'g'), '>').replace(new RegExp('>$'), '');\r\nexport const minRoundCoverage = 0.0001;\r\n","import React, { useCallback } from 'react';\r\nimport $ from 'jquery';\r\n\r\nconst getNextActiveElement = (activeElement, direction) => {\r\n if (activeElement.is('button')) {\r\n const parentOption = activeElement.parentsUntil('[role=option],[role=heading]');\r\n const buttons = parentOption.find('button:not([disabled])');\r\n const activeIndex = buttons.index(activeElement);\r\n const nextIndex = activeIndex + direction;\r\n if (nextIndex >= 0 && nextIndex < buttons.length) {\r\n return buttons.eq(nextIndex);\r\n }\r\n return activeElement;\r\n }\r\n return activeElement.find('button:not([disabled])').eq(0);\r\n};\r\n\r\nexport const InputSlot = (Component, passedProps) => {\r\n const originKeyDown = passedProps.onKeyDown;\r\n const inputEle = $('[role=listbox]').parent().find('input');\r\n const onInputKeyDown = useCallback((e) => {\r\n if (passedProps['aria-expanded']) {\r\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\r\n const currentActiveEle = $('[role=listbox] [data-activedescendant-focusvisible]');\r\n const nextActiveElement = getNextActiveElement(currentActiveEle, e.key === 'ArrowRight' ? 1 : -1);\r\n if (nextActiveElement.length !== 0) {\r\n currentActiveEle.removeAttr('data-activedescendant-focusvisible');\r\n nextActiveElement.attr('data-activedescendant-focusvisible', true);\r\n inputEle.attr('aria-activedescendant', nextActiveElement.attr('id'));\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n } else if (e.key === 'Enter' || e.key === ' ') {\r\n const activeID = inputEle.attr('aria-activedescendant');\r\n const activeElement = $(`#${activeID}`);\r\n if (activeElement.is('button')) {\r\n activeElement.trigger('click');\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n }\r\n $('[role=listbox] button[data-activedescendant-focusvisible]').removeAttr('data-activedescendant-focusvisible');\r\n originKeyDown(e);\r\n } else {\r\n originKeyDown(e);\r\n }\r\n }, [inputEle, originKeyDown, passedProps]);\r\n return ;\r\n};\r\n","import React, { useState, useEffect, useCallback, useContext, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { Combobox, Option, OptionGroup } from '@fluentui/react-components';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { withError, withValidation, AdapterFactory } from '@bingads-webui-react/validation';\r\nimport { UiBlocker } from '@bingads-webui-fluent-component/ui-blocker';\r\nimport { Pagination } from '@bingads-webui-grid/campaign-details-list';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors } from '@bingads-webui-campaign-react/error-handling';\r\nimport { loadCategoryList/* , loadCategoryNameList */ } from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { getCategorySelectorStyles } from './styles/category-selector-style';\r\nimport { ListHeader } from './list-header';\r\nimport { ListItem } from './list-item';\r\nimport { InputSlot } from './input-slot';\r\n\r\nconst pageSize = 100;\r\n\r\nconst convertOrderby = (orderby) => {\r\n if (_.isEmpty(orderby)) {\r\n return undefined;\r\n }\r\n\r\n const key = _.keys(orderby)[0];\r\n const dir = orderby[key];\r\n return `${key} ${dir > 0 ? 'asc' : 'desc'}`;\r\n};\r\n\r\nexport const CategorySelector = ({\r\n preloadedCategories,\r\n onChange: onCategoryChange,\r\n domainName,\r\n languageCode,\r\n disabledCategories,\r\n value,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getCategorySelectorStyles);\r\n const [isLoading, setLoading] = useState(false);\r\n const [defaultCategories, setDefaultCategories] = useState(preloadedCategories || []);\r\n const [parentCategory, setParentCategory] = useState('');\r\n const [categories, setCategories] = useState(defaultCategories || []);\r\n const [orderby, setOrderby] = useState('');\r\n const [pageNumber, setPageNumber] = useState(1);\r\n const [pageTotal, setPageTotal] = useState(preloadedCategories.totalCount || 0);\r\n\r\n const onPageChange = useCallback((number, e) => {\r\n setPageNumber(number);\r\n e.stopPropagation();\r\n }, []);\r\n\r\n const pager = useMemo(() => ({\r\n pageNumber,\r\n pageSize,\r\n total: pageTotal,\r\n availablePageSizes: [pageSize],\r\n onPageChange,\r\n disablePageSizeControl: true,\r\n }), [onPageChange, pageNumber, pageTotal]);\r\n\r\n useEffect(() => {\r\n if (!preloadedCategories) {\r\n loadCategoryList(domainName, languageCode).then((response) => {\r\n setDefaultCategories(response.totalCount ? response : []);\r\n setPageTotal(response.totalCount || 0);\r\n if (!value) {\r\n setCategories(response);\r\n }\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []); // only load once\r\n\r\n const updateCategories = useCallback((domain, language, category, keyword, sort, skip) => {\r\n loadCategoryList(domain, language, category, keyword, sort, skip).then((response) => {\r\n let newCategories = response;\r\n if (window.e2eTestEnvironment) {\r\n newCategories = [{ Bid: 0, CategoryName: 'browse/', Coverage: 0.1334 }];\r\n newCategories.totalCount = 1;\r\n }\r\n\r\n setCategories(newCategories.totalCount ? newCategories : []);\r\n setPageTotal(newCategories.totalCount || 0);\r\n setLoading(false);\r\n });\r\n }, []);\r\n\r\n const debouncedUpdateCategories = useMemo(\r\n () => _.debounce(updateCategories, 1000),\r\n [updateCategories]\r\n );\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n if (pageNumber === 1) {\r\n debouncedUpdateCategories(domainName, languageCode, parentCategory, value, convertOrderby(orderby));\r\n } else {\r\n setPageNumber(1);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [value, parentCategory, orderby]);\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n debouncedUpdateCategories(domainName, languageCode, parentCategory, value, convertOrderby(orderby), (pageNumber - 1) * pageSize);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [pageNumber]);\r\n\r\n const onInputChange = useCallback((e) => {\r\n onCategoryChange(e.target.value, false);\r\n }, [onCategoryChange]);\r\n\r\n const onOptionSelect = useCallback((e, data) => {\r\n if (data.optionValue !== 'listheader' && data.optionValue !== 'listfooter') {\r\n onCategoryChange(data.optionText, true);\r\n }\r\n }, [onCategoryChange]);\r\n\r\n const onChangeScope = useCallback((category) => {\r\n setParentCategory(category);\r\n }, []);\r\n\r\n const onSortChange = useCallback((field) => {\r\n const newOrderby = { [field]: orderby[field] === 1 ? -1 : 1 };\r\n setOrderby(newOrderby);\r\n }, [orderby]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {categories.map(({ CategoryName, Coverage }) => (\r\n \r\n ))}\r\n \r\n {\r\n pageTotal > categories.length && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nCategorySelector.propTypes = {\r\n preloadedCategories: PropTypes.arrayOf(PropTypes.shape({})),\r\n disabledCategories: PropTypes.arrayOf(PropTypes.string),\r\n // preloadedCategoryNames: PropTypes.arrayOf(PropTypes.string),\r\n onChange: PropTypes.func,\r\n domainName: PropTypes.string.isRequired,\r\n languageCode: PropTypes.string,\r\n value: PropTypes.string.isRequired,\r\n};\r\n\r\nCategorySelector.defaultProps = {\r\n preloadedCategories: null,\r\n onChange: _.noop,\r\n // preloadedCategoryNames: null,\r\n languageCode: 'en',\r\n disabledCategories: [],\r\n};\r\n\r\nconst Adapter = AdapterFactory({ convertEventToValue: value => value });\r\nexport const ValidatedCategorySelector = withControlErrorHandling(withUnvalidatedControlErrors(withError(withValidation(CategorySelector, Adapter))));\r\n","import { bidWidth } from './shared-constant';\r\n\r\nexport const getCategoryTargetItemStyles = () => ({\r\n customLabelEditRowContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n marginBottom: 16,\r\n \"& div[role='alert'] .error\": {\r\n color: '#A80000',\r\n marginTop: 10,\r\n marginBottom: 10,\r\n fontSize: 12,\r\n },\r\n },\r\n editRow: {\r\n display: 'flex',\r\n gap: '10px',\r\n },\r\n bidEdit: {\r\n width: bidWidth,\r\n '& .fui-Input': {\r\n width: '100%',\r\n },\r\n },\r\n});\r\n","import React, { useCallback, useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport _ from 'underscore';\r\nimport { Input, Label } from '@fluentui/react-components';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { withError, withValidation } from '@bingads-webui-react/validation';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors } from '@bingads-webui-campaign-react/error-handling';\r\nimport { WebpageCondition, DsaTarget } from '@bingads-webui/campaign-odata-schemas';\r\nimport { DSA_TARGET_OPERAND_TYPES, DSA_TARGET_OPERATOR_TYPES, generateKeyAndFormateDsaTarget } from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { ValidatedCategorySelector } from './category-selector';\r\nimport { useCurrencyCode } from '../../utils';\r\nimport { getCategoryTargetItemStyles } from './styles/category-target-item-style';\r\n\r\nconst ValidatedTextInput = withControlErrorHandling(withUnvalidatedControlErrors(withError(withValidation(Input))));\r\n\r\nexport const CategoryTargetItem = ({\r\n preloadedCategories,\r\n domainName,\r\n languageCode,\r\n disabledCategories,\r\n item,\r\n onItemChange,\r\n alwaysShowError,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getCategoryTargetItemStyles);\r\n const currencyCode = useCurrencyCode();\r\n\r\n const { conditions } = item || {};\r\n const condition = _.first(conditions) || {};\r\n\r\n const onValidateArgumentOperand = useCallback((res) => {\r\n if (item) {\r\n const { key, conditions: newConditions } = generateKeyAndFormateDsaTarget([{ ...res.data, Operator: DSA_TARGET_OPERATOR_TYPES.Equals, Operand: DSA_TARGET_OPERAND_TYPES.Category }]);\r\n onItemChange({\r\n ...item,\r\n key,\r\n conditions: newConditions,\r\n isValid: res.isValid,\r\n });\r\n }\r\n }, [item, onItemChange]);\r\n\r\n const onValidateBid = useCallback((res) => {\r\n if (item) {\r\n onItemChange({\r\n ...item,\r\n Bid: res.data.Bid,\r\n isValid: res.isValid,\r\n });\r\n }\r\n }, [item, onItemChange]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nCategoryTargetItem.propTypes = {\r\n disabledCategories: PropTypes.shape({}).isRequired,\r\n item: PropTypes.shape({}).isRequired,\r\n onItemChange: PropTypes.func.isRequired,\r\n preloadedCategories: PropTypes.arrayOf(PropTypes.shape({})),\r\n domainName: PropTypes.string.isRequired,\r\n languageCode: PropTypes.string.isRequired,\r\n alwaysShowError: PropTypes.bool.isRequired,\r\n};\r\n\r\nCategoryTargetItem.defaultProps = {\r\n preloadedCategories: null,\r\n};\r\n","import React, { useState, useEffect, useCallback, useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport classnames from 'classnames';\r\nimport { Label, Button } from '@fluentui/react-components';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ActionBar } from '../action-bar';\r\nimport { EditableFluentList } from '../../fluent-list-component';\r\nimport { getCategoryTargetStyles } from './styles/category-target-style';\r\nimport { CategoryTargetItem } from './category-target-item';\r\nimport { DefaultBidDescription } from '../default-bid-description';\r\nimport { useDefaultBid } from '../../utils';\r\n\r\nexport const CategoryTarget = ({\r\n data, onDataChange, onCancel, preloadedCategories, domainName, languageCode,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getCategoryTargetStyles);\r\n const defaultBid = useDefaultBid();\r\n\r\n const [itemKeys, setItemKeys] = useState({});\r\n const [alwaysShowError, setAlwaysShowError] = useState(false);\r\n\r\n useEffect(() => {\r\n onDataChange({ ...data, bufferItems: [...data.items] });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n const newKeys = _.reduce(data.bufferItems, (acc, item) => {\r\n const key = item.conditions && item.conditions[0].ArgumentOperand;\r\n acc[key] = _.result(acc, key, 0) + 1;\r\n return acc;\r\n }, {});\r\n setItemKeys(newKeys);\r\n }, [data.bufferItems]);\r\n\r\n const verifyData = useCallback(() => (\r\n _.every(itemKeys, (value, index) => value <= 1 && index !== 'undefined' && !_.isEmpty(index)) && _.every(data.bufferItems, item => item.isValid)\r\n ), [data.bufferItems, itemKeys]);\r\n\r\n const onListItemChange = useCallback(index => (item) => {\r\n const newBufferItems = data.bufferItems.slice();\r\n newBufferItems[index] = item;\r\n onDataChange({ ...data, bufferItems: newBufferItems });\r\n }, [data, onDataChange]);\r\n\r\n const onListItemRemove = useCallback(index => () => {\r\n const newBufferItems = data.bufferItems.slice();\r\n newBufferItems.splice(index, 1);\r\n\r\n onDataChange({ ...data, bufferItems: newBufferItems });\r\n }, [data, onDataChange]);\r\n\r\n const onRemoveAll = useCallback(() => {\r\n onDataChange({ ...data, bufferItems: [] });\r\n }, [data, onDataChange]);\r\n\r\n const onAddButtonClick = useCallback(() => {\r\n onDataChange({ ...data, bufferItems: [...data.bufferItems, {}] });\r\n }, [data, onDataChange]);\r\n\r\n const onApply = useCallback(() => {\r\n setAlwaysShowError(true);\r\n if (!verifyData()) {\r\n return;\r\n }\r\n const newItems = _.map(data.bufferItems, item => ({\r\n ...item,\r\n Bid: item.Bid || defaultBid,\r\n }));\r\n onDataChange({ ...data, items: newItems });\r\n onCancel();\r\n }, [data, onCancel, onDataChange, verifyData, defaultBid]);\r\n\r\n const onRenderHeader = useCallback(() => (\r\n
\r\n \r\n \r\n \r\n {i18n.getString(_TL_('Remove all'))}\r\n \r\n
\r\n ), [classes.listHeader, i18n, onRemoveAll]);\r\n\r\n const onRenderItem = useCallback(({ item, onItemChange }) => (\r\n \r\n ), [domainName, i18n, itemKeys, languageCode, preloadedCategories, alwaysShowError]);\r\n\r\n const onRenderFooter = useCallback(() => (), []);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nCategoryTarget.propTypes = {\r\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n onDataChange: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n preloadedCategories: PropTypes.arrayOf(PropTypes.shape({})),\r\n domainName: PropTypes.string.isRequired,\r\n languageCode: PropTypes.string.isRequired,\r\n};\r\n\r\nCategoryTarget.defaultProps = {\r\n preloadedCategories: null,\r\n};\r\n","import { helpbuttonStyle, convertToLocalStyle } from '@bingads-webui-campaign-react/common-styles';\r\n\r\nexport const getPanelStyles = ({ palette = {} }) => ({\r\n '@global': {\r\n '.side-panel-dynamic-target.panel-right .panel-content': {\r\n '& .panel-body': {\r\n width: 600,\r\n paddingLeft: 20,\r\n paddingRight: 24,\r\n display: 'flex',\r\n height: 'calc(100% - 56px)',\r\n overflowX: 'hidden',\r\n overflowY: 'scroll',\r\n marginBottom: 65,\r\n },\r\n '& .panel-header': {\r\n paddingLeft: 24,\r\n '& .panel-title': {\r\n fontSize: 22,\r\n },\r\n },\r\n '& .react-block-ui-none, .react-block-ui': {\r\n display: 'flex',\r\n height: '100%',\r\n },\r\n ...convertToLocalStyle(helpbuttonStyle({ palette })),\r\n },\r\n },\r\n flexContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n});\r\n","import React, { useCallback, useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { ThemeProvider } from 'react-jss';\r\nimport { FluentProvider, webLightTheme } from '@fluentui/react-components';\r\nimport { ComponentSettings, ThemeFluent } from '@bingads-webui-theme-2018/theme-fluent';\r\nimport { Panel } from '@bingads-webui-campaign-react/panel';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\n\r\nimport { getPanelStyles } from './styles/panel-style';\r\n\r\nexport const withSidePanel = (Component) => {\r\n const WrappedComponent = ({\r\n title,\r\n isOpen,\r\n onClose,\r\n ...props\r\n }) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getPanelStyles);\r\n const onCancel = useCallback(() => {\r\n onClose();\r\n }, [onClose]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n WrappedComponent.propTypes = {\r\n title: PropTypes.node.isRequired,\r\n isOpen: PropTypes.bool.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n };\r\n\r\n return WrappedComponent;\r\n};\r\n\r\n","import { CategoryTarget } from './category/category-target';\r\nimport { withSidePanel } from './with-side-panel';\r\n\r\nexport const CategoryTargetPanel = withSidePanel(CategoryTarget);\r\n\r\n","export const getSpecificTargetStyles = () => ({\r\n tabRoot: {\r\n marginTop: 4,\r\n '& button + button': {\r\n marginLeft: 24,\r\n },\r\n '& .message-bar': {\r\n maxWidth: '540px',\r\n },\r\n },\r\n divider: {\r\n marginTop: 5,\r\n },\r\n tabError: {\r\n color: '#A80000',\r\n },\r\n});\r\n","export const getExactUrlStyles = () => ({\r\n listHeader: {\r\n display: 'flex',\r\n gap: '10px',\r\n alignItems: 'start',\r\n padding: '10px 0',\r\n '& .url': {\r\n width: '322px',\r\n },\r\n '& .bid': {\r\n width: '120px',\r\n },\r\n },\r\n listFooter: {\r\n padding: '10px 0',\r\n },\r\n exactUrlEditRowContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n marginBottom: '10px',\r\n '& .exact-url-edit-row': {\r\n display: 'flex',\r\n gap: '10px',\r\n '& .website-edit': {\r\n width: '320px',\r\n '& .fui-Input': {\r\n maxWidth: '200px',\r\n },\r\n \"& div[role='alert'] .error\": {\r\n color: '#A80000',\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n '& .column-bid-edit': {\r\n width: '120px',\r\n '& .fui-Input': {\r\n width: '100%',\r\n },\r\n \"& div[role='alert'] .error\": {\r\n color: '#A80000',\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n },\r\n '& .duplicate-error': {\r\n color: '#A80000',\r\n marginTop: '10px',\r\n },\r\n },\r\n});\r\n","import { reduce, result, first } from 'underscore';\r\nimport React, { useCallback, useContext, useEffect, useState, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { Input, Label, Button } from '@fluentui/react-components';\r\nimport { DsaTarget } from '@bingads-webui/campaign-odata-schemas';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { withError, withValidation } from '@bingads-webui-react/validation';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors } from '@bingads-webui-campaign-react/error-handling';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport {\r\n DSA_TARGET_OPERAND_TYPES,\r\n DSA_TARGET_OPERATOR_TYPES,\r\n generateKeyAndFormateDsaTarget,\r\n} from '@bingads-webui-campaign-react/search-campaign-data';\r\n\r\nimport { DefaultBidDescription } from './default-bid-description';\r\nimport { EditableFluentList } from '../fluent-list-component';\r\nimport { getExactUrlStyles } from './styles/exact-url-style';\r\nimport { ValidatedWebsite as WebsiteControl } from '../validated-website';\r\nimport { useCurrencyCode } from '../utils';\r\n\r\nconst ValidatedWebsite = withControlErrorHandling(withUnvalidatedControlErrors(WebsiteControl));\r\nconst ValidatedTextInput = withControlErrorHandling(withUnvalidatedControlErrors(withError(withValidation(Input))));\r\n\r\nconst CustomEditRow = ({\r\n itemKeys, i18n, classes, item, onItemChange, applyFailCount,\r\n}) => {\r\n const { conditions } = item || {};\r\n const condition = first(conditions) || {};\r\n const currency = useCurrencyCode();\r\n\r\n const [isDuplicate, setIsDuplicate] = useState(false);\r\n const [alwaysShowError, setAlwaysShowError] = useState(false);\r\n\r\n const initialFailCount = useRef(applyFailCount);\r\n\r\n useEffect(() => {\r\n setIsDuplicate(item.isValid && itemKeys[item.key] > 1);\r\n }, [item, itemKeys]);\r\n\r\n useEffect(() => {\r\n if (!item.isValid && applyFailCount > initialFailCount.current) {\r\n setAlwaysShowError(true);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [applyFailCount]);\r\n\r\n const onValidateUrl = useCallback((res) => {\r\n const { websites } = res.data;\r\n if (item) {\r\n const { key, conditions: newConditions } = generateKeyAndFormateDsaTarget([{ ArgumentOperand: first(websites), Operator: DSA_TARGET_OPERATOR_TYPES.Equals, Operand: DSA_TARGET_OPERAND_TYPES.Url }]);\r\n onItemChange({\r\n ...item,\r\n key,\r\n conditions: newConditions,\r\n isConditionValid: res.isValid,\r\n isValid: res.isValid && item.isBidValid,\r\n });\r\n }\r\n }, [item, onItemChange]);\r\n\r\n const onValidateBid = useCallback((res) => {\r\n if (item) {\r\n onItemChange({\r\n ...item,\r\n Bid: res.data.Bid,\r\n isBidValid: res.isValid,\r\n isValid: res.isValid && item.isConditionValid,\r\n });\r\n }\r\n }, [item, onItemChange]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {isDuplicate &&
{i18n.getString(_TL_('Duplicate dynamic ad target'))}
}\r\n
\r\n );\r\n};\r\n\r\nCustomEditRow.propTypes = {\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }).isRequired,\r\n classes: PropTypes.shape({\r\n exactUrlEditRowContainer: PropTypes.string.isRequired,\r\n }).isRequired,\r\n item: PropTypes.shape({\r\n key: PropTypes.string,\r\n isValid: PropTypes.bool,\r\n isBidValid: PropTypes.bool,\r\n isConditionValid: PropTypes.bool,\r\n }).isRequired,\r\n onItemChange: PropTypes.func.isRequired,\r\n applyFailCount: PropTypes.number.isRequired,\r\n};\r\n\r\nexport const ExactUrlTarget = ({\r\n data, onDataChange, itemKeys, setItemKeys, applyFailCount,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getExactUrlStyles);\r\n\r\n useEffect(() => {\r\n const newKeys = reduce(data.bufferItems, (acc, item) => {\r\n acc[item.key] = result(acc, item.key, 0) + 1;\r\n return acc;\r\n }, {});\r\n setItemKeys(newKeys);\r\n }, [data.bufferItems, setItemKeys]);\r\n\r\n const onListItemChange = useCallback(index => (item) => {\r\n const newBufferItems = data.bufferItems.slice();\r\n newBufferItems[index] = item;\r\n onDataChange({ ...data, bufferItems: newBufferItems });\r\n }, [data, onDataChange]);\r\n\r\n const onListItemRemove = useCallback(index => () => {\r\n const removedItemKey = data.bufferItems[index].key;\r\n const newKeys = { ...data.itemKeys };\r\n delete newKeys[removedItemKey];\r\n\r\n const newBufferItems = data.bufferItems.slice();\r\n newBufferItems.splice(index, 1);\r\n\r\n onDataChange({ ...data, bufferItems: newBufferItems, itemKeys: newKeys });\r\n }, [data, onDataChange]);\r\n\r\n const onRemoveAll = useCallback(() => {\r\n onDataChange({ ...data, bufferItems: [], itemKeys: {} });\r\n }, [data, onDataChange]);\r\n\r\n const onAddButtonClick = useCallback(() => {\r\n onDataChange({ ...data, bufferItems: [...data.bufferItems, { isBidValid: true }] });\r\n }, [data, onDataChange]);\r\n\r\n const onRenderHeader = useCallback(() => (\r\n
\r\n \r\n \r\n \r\n {i18n.getString(_TL_('Remove all'))}\r\n \r\n
\r\n ), [classes.listHeader, i18n, onRemoveAll]);\r\n\r\n const onRenderItem = useCallback(({ item, onItemChange }) => (\r\n \r\n ), [classes, i18n, itemKeys, applyFailCount]);\r\n\r\n const onRenderFooter = useCallback(() => (), []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nExactUrlTarget.propTypes = {\r\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n onDataChange: PropTypes.func.isRequired,\r\n itemKeys: PropTypes.shape({}).isRequired,\r\n setItemKeys: PropTypes.func.isRequired,\r\n applyFailCount: PropTypes.number.isRequired,\r\n};\r\n","export const getRuleStyles = () => ({\r\n listHeader: {\r\n display: 'flex',\r\n gap: '10px',\r\n alignItems: 'start',\r\n padding: '10px 0',\r\n '& .rule': {\r\n width: '450px',\r\n },\r\n '& .bid': {\r\n width: '70px',\r\n },\r\n },\r\n listFooter: {\r\n padding: '10px 0',\r\n },\r\n ruleEditRowContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n marginBottom: '20px',\r\n '& .rule-edit-row': {\r\n display: 'flex',\r\n gap: '10px',\r\n '& .accordion-container': {\r\n width: '490px',\r\n '& .selected-rule-text': {\r\n fontSize: '14px',\r\n fontWeight: '400',\r\n '& .operand': {\r\n color: '#7C7C7C',\r\n },\r\n '& .argument-operand': {\r\n color: '#000000',\r\n },\r\n '& .bid': {\r\n color: '#000000',\r\n },\r\n },\r\n '& .single-rule-row': {\r\n display: 'flex',\r\n gap: '10px',\r\n alignItems: 'start',\r\n '& .rule-type-dropdown': {\r\n width: '160px',\r\n minWidth: 'unset',\r\n },\r\n '& .text-input-container': {\r\n width: '170px',\r\n \"& div[role='alert'] .error\": {\r\n marginTop: '-10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n },\r\n '& .and-between-rules': {\r\n marginBottom: '10px',\r\n },\r\n '& .single-rule-row-category': {\r\n alignItems: 'end',\r\n marginBottom: 16,\r\n },\r\n '& .bid-edit-container': {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n marginTop: '15px',\r\n marginLeft: '5px',\r\n '& .bid-edit-input-and-currency': {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n gap: '10px',\r\n '& .bid-edit-input': {\r\n width: '120px',\r\n '& .fui-Input': {\r\n width: '100%',\r\n },\r\n \"& div[role='alert'] .error\": {\r\n color: '#A80000',\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n },\r\n '& .rule-empty-error': {\r\n color: '#A80000',\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n },\r\n '& .duplicate-error': {\r\n color: '#A80000',\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n});\r\n\r\nexport const getCategoryRuleStyles = () => ({\r\n root: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n label: {\r\n marginBottom: 8,\r\n },\r\n selector: {\r\n '& .fui-Combobox': {\r\n width: 405,\r\n },\r\n },\r\n});\r\n","import { reduce, result, map, isString, every } from 'underscore';\r\nimport React, { useCallback, useContext, useEffect, useMemo, useState, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport {\r\n AccordionCard,\r\n FormCardDefaultHeader,\r\n FormCardBody,\r\n} from '@bingads-webui-fluent-component/form-cards';\r\nimport { Input, Label, Button, Dropdown, Option, useRestoreFocusTarget, Tooltip } from '@fluentui/react-components';\r\nimport { AddRegular, DeleteRegular } from '@fluentui/react-icons';\r\nimport { WebpageCondition, DsaTarget } from '@bingads-webui/campaign-odata-schemas';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { withError, withValidation } from '@bingads-webui-react/validation';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors } from '@bingads-webui-campaign-react/error-handling';\r\nimport { RemainingCharsValidatedTextField } from '@bingads-webui-campaign-react/remaining-chars-hint';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport {\r\n DSA_TARGET_OPERAND_TYPES,\r\n DSA_TARGET_OPERAND_TYPE_STRINGS,\r\n DSA_SPECIFIC_TARGET_OPERATOR_MAP,\r\n generateKeyAndFormateDsaTarget,\r\n targetingSourceOptions,\r\n} from '@bingads-webui-campaign-react/search-campaign-data';\r\n\r\nimport { DefaultBidDescription } from './default-bid-description';\r\nimport { EditableFluentList } from '../fluent-list-component';\r\nimport { getRuleStyles, getCategoryRuleStyles } from './styles/rule-style';\r\nimport { ValidatedCategorySelector } from './category/category-selector';\r\nimport { useCurrencyCode, useDefaultBid } from '../utils';\r\n\r\nconst RULE_TYPES = [\r\n DSA_TARGET_OPERAND_TYPES.Url,\r\n DSA_TARGET_OPERAND_TYPES.Category,\r\n DSA_TARGET_OPERAND_TYPES.PageTitle,\r\n DSA_TARGET_OPERAND_TYPES.PageContent,\r\n DSA_TARGET_OPERAND_TYPES.CustomLabel,\r\n];\r\n\r\nconst ValidatedTextInput = withControlErrorHandling(withUnvalidatedControlErrors(withError(withValidation(Input))));\r\n\r\nconst CategoryRule = ({\r\n condition, preloadedCategories, domainName, languageCode, onValidateArgumentOperand,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getCategoryRuleStyles);\r\n\r\n return (\r\n
\r\n
{i18n.getString(_TL_('Category'))}
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nCategoryRule.propTypes = {\r\n condition: PropTypes.shape({}).isRequired,\r\n preloadedCategories: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n domainName: PropTypes.string.isRequired,\r\n languageCode: PropTypes.string.isRequired,\r\n onValidateArgumentOperand: PropTypes.func.isRequired,\r\n};\r\n\r\nconst SingleRule = ({\r\n condition, i18n, activity, onChangeRule, onRemoveRule, alwaysShowError, preloadedCategories, domainName, languageCode, selectedTargetingSource,\r\n}) => {\r\n const selectedRuleType = condition.Operand || DSA_TARGET_OPERAND_TYPES.Url;\r\n const restoreFocusTargetAttribute = useRestoreFocusTarget();\r\n\r\n const onOptionSelect = useCallback((_evt, option) => {\r\n if (option.optionValue !== selectedRuleType) {\r\n onChangeRule({\r\n ...condition,\r\n Operand: option.optionValue,\r\n Operator: DSA_SPECIFIC_TARGET_OPERATOR_MAP[option.optionValue],\r\n });\r\n activity.signal(`onRuleTypeChangeDropdownOptionClicked - ${option.optionValue}`);\r\n }\r\n }, [activity, selectedRuleType, condition, onChangeRule]);\r\n\r\n const onValidateArgumentOperand = useCallback((res) => {\r\n if (condition) {\r\n onChangeRule({\r\n ...condition,\r\n ArgumentOperand: res.data.ArgumentOperand,\r\n isValid: res.isValid,\r\n });\r\n }\r\n }, [condition, onChangeRule]);\r\n\r\n return (\r\n
\r\n {\r\n selectedRuleType === DSA_TARGET_OPERAND_TYPES.Category ?\r\n : (\r\n \r\n {map(RULE_TYPES, ruleType => (\r\n \r\n {i18n.getString(DSA_TARGET_OPERAND_TYPE_STRINGS[ruleType])}\r\n \r\n ))}\r\n \r\n )}\r\n {selectedRuleType !== DSA_TARGET_OPERAND_TYPES.Category && isString(DSA_SPECIFIC_TARGET_OPERATOR_MAP[selectedRuleType]) && (\r\n \r\n )}\r\n {selectedRuleType !== DSA_TARGET_OPERAND_TYPES.Category && isString(DSA_SPECIFIC_TARGET_OPERATOR_MAP[selectedRuleType]) && (\r\n \r\n )}\r\n }\r\n onClick={onRemoveRule}\r\n />\r\n
\r\n );\r\n};\r\n\r\nSingleRule.propTypes = {\r\n condition: PropTypes.shape({}).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }).isRequired,\r\n activity: PropTypes.shape({}).isRequired,\r\n onChangeRule: PropTypes.func.isRequired,\r\n onRemoveRule: PropTypes.func.isRequired,\r\n preloadedCategories: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n domainName: PropTypes.string.isRequired,\r\n languageCode: PropTypes.string.isRequired,\r\n selectedTargetingSource: PropTypes.string.isRequired,\r\n};\r\n\r\nconst CustomEditRow = ({\r\n itemKeys, i18n, classes, activity, item, onItemChange, applyFailCount, preloadedCategories, domainName, languageCode, selectedTargetingSource,\r\n}) => {\r\n const currency = useCurrencyCode();\r\n const defaultBid = useDefaultBid();\r\n\r\n const [open, setOpen] = useState(false);\r\n const [isDuplicate, setIsDuplicate] = useState(false);\r\n const [isRuleEmpty, setIsRuleEmpty] = useState(false);\r\n const [alwaysShowError, setAlwaysShowError] = useState(false);\r\n\r\n const initialFailCount = useRef(applyFailCount);\r\n\r\n useEffect(() => {\r\n setIsDuplicate(item.isValid && itemKeys[item.key] > 1);\r\n }, [item, itemKeys]);\r\n\r\n useEffect(() => {\r\n if (!item.isValid) {\r\n setOpen(true);\r\n if (applyFailCount > initialFailCount.current) {\r\n setAlwaysShowError(true);\r\n if (!item.conditions || item.conditions.length === 0) {\r\n setIsRuleEmpty(true);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [applyFailCount]);\r\n\r\n const verifyConditions = conditions => conditions && conditions.length > 0 && every(conditions, 'isValid');\r\n\r\n const onAddRule = useCallback(() => {\r\n const newConditions = item.conditions ? [...item.conditions, { Operand: RULE_TYPES[0], Operator: DSA_SPECIFIC_TARGET_OPERATOR_MAP[RULE_TYPES[0]] }] : [{ Operand: RULE_TYPES[0], Operator: DSA_SPECIFIC_TARGET_OPERATOR_MAP[RULE_TYPES[0]] }];\r\n onItemChange({ ...item, conditions: newConditions, isValid: false });\r\n setIsRuleEmpty(false);\r\n }, [item, onItemChange]);\r\n\r\n const onChangeRule = useCallback(index => (condition) => {\r\n const newConditions = item.conditions.slice();\r\n newConditions[index] = condition;\r\n const { key, conditions: newFormattedConditions } = generateKeyAndFormateDsaTarget(newConditions);\r\n onItemChange({\r\n ...item, conditions: newFormattedConditions, key, isValid: verifyConditions(newFormattedConditions) && item.isBidValid,\r\n });\r\n });\r\n\r\n const onRemoveRule = index => () => {\r\n const newConditions = item.conditions.slice();\r\n newConditions.splice(index, 1);\r\n const { key, conditions: newFormattedConditions } = generateKeyAndFormateDsaTarget(newConditions);\r\n if (newFormattedConditions.length === 0) {\r\n setIsRuleEmpty(true);\r\n onItemChange({\r\n ...item, conditions: newFormattedConditions, key, isValid: false,\r\n });\r\n }\r\n onItemChange({ ...item, conditions: newFormattedConditions, key });\r\n };\r\n\r\n const onValidateBid = useCallback((res) => {\r\n if (item) {\r\n onItemChange({\r\n ...item,\r\n Bid: res.data.Bid,\r\n isBidValid: res.isValid,\r\n isValid: res.isValid && verifyConditions(item.conditions),\r\n });\r\n }\r\n }, [item, onItemChange]);\r\n\r\n const RuleSummary = useMemo(() => {\r\n if (!item.conditions) {\r\n return null;\r\n }\r\n const summary = reduce(item.conditions, (acc, cur, index) => {\r\n acc.push((\r\n <>\r\n {index === 0 && ({`${i18n.getCurrencySymbol(currency)}${item.Bid || defaultBid} ${currency}`})}\r\n {' · '}\r\n {i18n.getString(DSA_TARGET_OPERAND_TYPE_STRINGS[cur.Operand])}\r\n {` (${cur.ArgumentOperand})`}\r\n \r\n ));\r\n return acc;\r\n }, []);\r\n\r\n return (\r\n component)}\r\n >\r\n {map(summary, component => component)}\r\n \r\n );\r\n }, [item.conditions, i18n, currency, item.Bid, defaultBid]);\r\n\r\n return (\r\n
\r\n
\r\n setOpen(!open)}\r\n >\r\n 0 ? RuleSummary : i18n.getString(_TL_('Rule'))}\r\n />\r\n \r\n
\r\n {map(item.conditions, (condition, index) => (\r\n <>\r\n {index > 0 && }\r\n \r\n \r\n ))}\r\n }\r\n style={{\r\n background: 'transparent',\r\n border: 'none',\r\n }}\r\n className=\"single-rule-add-button\"\r\n disabled={item.conditions && item.conditions.length >= 3}\r\n onClick={onAddRule}\r\n >\r\n {i18n.getString(_TL_('Add'))}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {isRuleEmpty &&
{i18n.getString(_TL_('Please add at least one rule'))}
}\r\n {isDuplicate &&
{i18n.getString(_TL_('Duplicate dynamic ad target'))}
}\r\n
\r\n );\r\n};\r\n\r\nCustomEditRow.propTypes = {\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n getCurrencySymbol: PropTypes.func.isRequired,\r\n }).isRequired,\r\n classes: PropTypes.shape({\r\n exactUrlEditRowContainer: PropTypes.string.isRequired,\r\n }).isRequired,\r\n activity: PropTypes.shape({}).isRequired,\r\n item: PropTypes.shape({}).isRequired,\r\n onItemChange: PropTypes.func.isRequired,\r\n applyFailCount: PropTypes.number.isRequired,\r\n preloadedCategories: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n domainName: PropTypes.string.isRequired,\r\n languageCode: PropTypes.string.isRequired,\r\n selectedTargetingSource: PropTypes.string.isRequired,\r\n};\r\n\r\nexport const RuleTarget = ({\r\n data, onDataChange, itemKeys, setItemKeys, applyFailCount, preloadedCategories, domainName, languageCode, selectedTargetingSource,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getRuleStyles);\r\n const activity = useContext(ActivityContext);\r\n\r\n useEffect(() => {\r\n const newKeys = reduce(data.bufferItems, (acc, item) => {\r\n acc[item.key] = result(acc, item.key, 0) + 1;\r\n return acc;\r\n }, {});\r\n setItemKeys(newKeys);\r\n }, [data.bufferItems, setItemKeys]);\r\n\r\n const onListItemChange = useCallback(index => (item) => {\r\n const newBufferItems = data.bufferItems.slice();\r\n newBufferItems[index] = item;\r\n onDataChange({ ...data, bufferItems: newBufferItems });\r\n }, [data, onDataChange]);\r\n\r\n const onListItemRemove = useCallback(index => () => {\r\n const removedItemKey = data.bufferItems[index].key;\r\n const newKeys = { ...data.itemKeys };\r\n delete newKeys[removedItemKey];\r\n\r\n const newBufferItems = data.bufferItems.slice();\r\n newBufferItems.splice(index, 1);\r\n\r\n onDataChange({ ...data, bufferItems: newBufferItems, itemKeys: newKeys });\r\n }, [data, onDataChange]);\r\n\r\n const onRemoveAll = useCallback(() => {\r\n onDataChange({ ...data, bufferItems: [], itemKeys: {} });\r\n }, [data, onDataChange]);\r\n\r\n const onAddButtonClick = useCallback(() => {\r\n onDataChange({ ...data, bufferItems: [...data.bufferItems, { isValid: false, isBidValid: true }] });\r\n }, [data, onDataChange]);\r\n\r\n const onRenderHeader = useCallback(() => (\r\n
\r\n \r\n \r\n {i18n.getString(_TL_('Remove all'))}\r\n \r\n
\r\n ), [classes.listHeader, i18n, onRemoveAll]);\r\n\r\n const onRenderItem = useCallback(({ item, onItemChange }) => (\r\n \r\n ), [itemKeys, i18n, classes, activity, applyFailCount, preloadedCategories, domainName, languageCode, selectedTargetingSource]);\r\n\r\n const onRenderFooter = useCallback(() => (), []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nRuleTarget.propTypes = {\r\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n onDataChange: PropTypes.func.isRequired,\r\n itemKeys: PropTypes.shape({}).isRequired,\r\n setItemKeys: PropTypes.func.isRequired,\r\n applyFailCount: PropTypes.number.isRequired,\r\n preloadedCategories: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n domainName: PropTypes.string.isRequired,\r\n languageCode: PropTypes.string.isRequired,\r\n selectedTargetingSource: PropTypes.string.isRequired,\r\n};\r\n","import { every, map } from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport React, { useCallback, useContext, useEffect, useState } from 'react';\r\nimport { Tab, TabList } from '@fluentui/react-components';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport {\r\n MessageBar,\r\n MessageBarBody,\r\n MessageBarTitle\r\n} from '@fluentui/react-message-bar';\r\n\r\nimport { withSidePanel } from './with-side-panel';\r\nimport { ActionBar } from './action-bar';\r\nimport { getSpecificTargetStyles } from './styles/specific-target-style';\r\nimport { ExactUrlTarget } from './exact-url-target';\r\nimport { RuleTarget } from './rule-target';\r\nimport { useDefaultBid } from '../utils';\r\n\r\nconst TABLIST = {\r\n EXACTURLS: 'exactUrls',\r\n RULES: 'rules',\r\n};\r\n\r\nconst SpecificTarget = ({\r\n data, onDataChange, onCancel, preloadedCategories, domainName, languageCode, selectedTargetingSource,\r\n}) => {\r\n const { exactUrls, rules } = data;\r\n\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getSpecificTargetStyles);\r\n const activity = useContext(ActivityContext);\r\n const defaultBid = useDefaultBid();\r\n\r\n const [exactUrlItemKeys, setExactUrlItemKeys] = useState({});\r\n const [ruleItemKeys, setRuleItemKeys] = useState({});\r\n\r\n const [selectedTab, setSelectedTab] = useState(TABLIST.EXACTURLS);\r\n\r\n const [applyFailCount, setApplyFailCount] = useState(0);\r\n const [showExactUrlsTabError, setShowExactUrlsTabError] = useState(false);\r\n const [showRulesTabError, setShowRulesTabError] = useState(false);\r\n\r\n useEffect(() => {\r\n onDataChange({\r\n exactUrls: {\r\n ...exactUrls,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n bufferItems: exactUrls.items.map(({ errors, ...rest }) => ({ ...rest })),\r\n },\r\n rules: {\r\n ...rules,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n bufferItems: rules.items.map(({ errors, ...rest }) => ({ ...rest })),\r\n },\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const onExactUrlDataChange = useCallback((newData) => {\r\n onDataChange({ exactUrls: { ...exactUrls, ...newData } });\r\n setShowExactUrlsTabError(false);\r\n }, [exactUrls, onDataChange]);\r\n\r\n const onRuleDataChange = useCallback((newData) => {\r\n onDataChange({ rules: { ...rules, ...newData } });\r\n setShowRulesTabError(false);\r\n }, [onDataChange, rules]);\r\n\r\n const verifyData = useCallback(() => {\r\n const isExactUrlsValid = every(Object.values(exactUrlItemKeys), value => value <= 1) && every(exactUrls.bufferItems, item => item.isValid);\r\n const isRulesValid = every(Object.values(ruleItemKeys), value => value <= 1) && every(rules.bufferItems, item => item.isValid);\r\n setShowExactUrlsTabError(!isExactUrlsValid);\r\n setShowRulesTabError(!isRulesValid);\r\n return isExactUrlsValid && isRulesValid;\r\n }, [exactUrlItemKeys, exactUrls.bufferItems, ruleItemKeys, rules.bufferItems]);\r\n\r\n const onTabSelect = useCallback((_e, tabData) => {\r\n setSelectedTab(tabData.value);\r\n activity.signal(`onSwitchSpecificTargetSidePanelTab - ${JSON.stringify({\r\n Tab: tabData.value,\r\n })}`);\r\n }, [activity]);\r\n\r\n const onApply = useCallback(() => {\r\n if (!verifyData()) {\r\n setApplyFailCount(count => count + 1);\r\n return;\r\n }\r\n const newExactItems = map(exactUrls.bufferItems, item => ({\r\n ...item,\r\n Bid: item.Bid || defaultBid,\r\n }));\r\n const newRuleItems = map(rules.bufferItems, item => ({\r\n ...item,\r\n Bid: item.Bid || defaultBid,\r\n }));\r\n onDataChange({ exactUrls: { ...exactUrls, items: newExactItems }, rules: { ...rules, items: newRuleItems } });\r\n onCancel();\r\n }, [exactUrls, onCancel, onDataChange, rules, verifyData, defaultBid]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n {i18n.getString(_TL_('Note'))}\r\n \r\n {selectedTab === TABLIST.EXACTURLS ?\r\n i18n.getString(_TL_('You can target exact URLs on your website.'))\r\n : i18n.getString(_TL_('You can target specific pages of your website based on their URL, category, page title, page content, or custom label.'))\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {i18n.getString(_TL_('Exact URLs'))}\r\n {showExactUrlsTabError && *}\r\n \r\n \r\n {i18n.getString(_TL_('Rules'))}\r\n {showRulesTabError && *}\r\n \r\n \r\n
\r\n {\r\n selectedTab === TABLIST.EXACTURLS && (\r\n \r\n )\r\n }\r\n {\r\n selectedTab === TABLIST.RULES && (\r\n \r\n )\r\n }\r\n \r\n
\r\n );\r\n};\r\n\r\nSpecificTarget.propTypes = {\r\n data: PropTypes.arrayOf(PropTypes.shape({\r\n exactUrls: PropTypes.shape({\r\n items: PropTypes.arrayOf(PropTypes.shape({})),\r\n bufferItems: PropTypes.arrayOf(PropTypes.shape({})),\r\n }),\r\n })).isRequired,\r\n onDataChange: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n preloadedCategories: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n domainName: PropTypes.string.isRequired,\r\n languageCode: PropTypes.string.isRequired,\r\n selectedTargetingSource: PropTypes.string.isRequired,\r\n};\r\n\r\nexport const SpecificTargetPanel = withSidePanel(SpecificTarget);\r\n","export const getCustomLabelStyles = () => ({\r\n listHeader: {\r\n display: 'flex',\r\n gap: '10px',\r\n alignItems: 'start',\r\n padding: '10px 0',\r\n '& .custom-label': {\r\n width: '320px',\r\n },\r\n '& .bid': {\r\n width: '120px',\r\n },\r\n },\r\n listFooter: {\r\n padding: '10px 0',\r\n },\r\n customLabelEditRowContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n '& .custom-label-edit-row': {\r\n display: 'flex',\r\n gap: '10px',\r\n '& .text-input-container': {\r\n width: '320px',\r\n \"& div[role='alert'] .error\": {\r\n marginTop: '-10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n '& .column-bid-edit': {\r\n width: '120px',\r\n '& .fui-Input': {\r\n width: '100%',\r\n },\r\n \"& div[role='alert'] .error\": {\r\n color: '#A80000',\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n },\r\n '& .duplicate-error': {\r\n color: '#A80000',\r\n marginTop: '-10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n});\r\n","import { reduce, result, every, map, first } from 'underscore';\r\nimport React, { useCallback, useContext, useEffect, useState, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { Input, Label, Button } from '@fluentui/react-components';\r\nimport { WebpageCondition, DsaTarget } from '@bingads-webui/campaign-odata-schemas';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { withError, withValidation } from '@bingads-webui-react/validation';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors } from '@bingads-webui-campaign-react/error-handling';\r\nimport { RemainingCharsValidatedTextField } from '@bingads-webui-campaign-react/remaining-chars-hint';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport {\r\n DSA_TARGET_OPERAND_TYPES,\r\n DSA_TARGET_OPERATOR_TYPES,\r\n generateKeyAndFormateDsaTarget,\r\n} from '@bingads-webui-campaign-react/search-campaign-data';\r\n\r\nimport { DefaultBidDescription } from './default-bid-description';\r\nimport { withSidePanel } from './with-side-panel';\r\nimport { ActionBar } from './action-bar';\r\nimport { EditableFluentList } from '../fluent-list-component';\r\nimport { getCustomLabelStyles } from './styles/custom-label-style';\r\nimport { useCurrencyCode, useDefaultBid } from '../utils';\r\n\r\nconst ValidatedTextInput = withControlErrorHandling(withUnvalidatedControlErrors(withError(withValidation(Input))));\r\n\r\nconst CustomEditRow = ({\r\n itemKeys, i18n, classes, item, onItemChange, applyFailCount,\r\n}) => {\r\n const { conditions } = item || {};\r\n const condition = first(conditions) || {};\r\n const currency = useCurrencyCode();\r\n\r\n const [isDuplicate, setIsDuplicate] = useState(false);\r\n const [alwaysShowError, setAlwaysShowError] = useState(false);\r\n\r\n const initialFailCount = useRef(applyFailCount);\r\n\r\n useEffect(() => {\r\n setIsDuplicate(item.isValid && itemKeys[item.key] > 1);\r\n }, [item, itemKeys]);\r\n\r\n useEffect(() => {\r\n if (!item.isValid && applyFailCount > initialFailCount.current) {\r\n setAlwaysShowError(true);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [applyFailCount]);\r\n\r\n const onValidateArgumentOperand = useCallback((res) => {\r\n if (item) {\r\n const { key, conditions: newConditions } = generateKeyAndFormateDsaTarget([{ ...res.data, Operator: DSA_TARGET_OPERATOR_TYPES.Equals, Operand: DSA_TARGET_OPERAND_TYPES.CustomLabel }]);\r\n onItemChange({\r\n ...item,\r\n key,\r\n conditions: newConditions,\r\n isConditionValid: res.isValid,\r\n isValid: res.isValid && item.isBidValid,\r\n });\r\n }\r\n }, [item, onItemChange]);\r\n\r\n const onValidateBid = useCallback((res) => {\r\n if (item) {\r\n onItemChange({\r\n ...item,\r\n Bid: res.data.Bid,\r\n isBidValid: res.isValid,\r\n isValid: res.isValid && item.isConditionValid,\r\n });\r\n }\r\n }, [item, onItemChange]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {isDuplicate &&
{i18n.getString(_TL_('Duplicate dynamic ad target'))}
}\r\n
\r\n );\r\n};\r\n\r\nCustomEditRow.propTypes = {\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }).isRequired,\r\n classes: PropTypes.shape({\r\n customLabelEditRowContainer: PropTypes.string.isRequired,\r\n }).isRequired,\r\n itemKeys: PropTypes.shape({}).isRequired,\r\n item: PropTypes.shape({\r\n key: PropTypes.string,\r\n isValid: PropTypes.bool,\r\n isBidValid: PropTypes.bool,\r\n isConditionValid: PropTypes.bool,\r\n }).isRequired,\r\n onItemChange: PropTypes.func.isRequired,\r\n applyFailCount: PropTypes.number.isRequired,\r\n};\r\n\r\nconst CustomLabelTarget = ({\r\n data, onDataChange, onCancel,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getCustomLabelStyles);\r\n const defaultBid = useDefaultBid();\r\n\r\n const [itemKeys, setItemKeys] = useState({});\r\n\r\n const [applyFailCount, setApplyFailCount] = useState(0);\r\n\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n onDataChange({ ...data, bufferItems: data.items.map(({ errors, ...rest }) => ({ ...rest })) });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n const newKeys = reduce(data.bufferItems, (acc, item) => {\r\n acc[item.key] = result(acc, item.key, 0) + 1;\r\n return acc;\r\n }, {});\r\n setItemKeys(newKeys);\r\n }, [data.bufferItems]);\r\n\r\n const verifyData = useCallback(() => (\r\n every(Object.values(itemKeys), value => value <= 1) && every(data.bufferItems, item => item.isValid)\r\n ), [data.bufferItems, itemKeys]);\r\n\r\n const onListItemChange = useCallback(index => (item) => {\r\n const newBufferItems = data.bufferItems.slice();\r\n newBufferItems[index] = item;\r\n onDataChange({ ...data, bufferItems: newBufferItems });\r\n }, [data, onDataChange]);\r\n\r\n const onListItemRemove = useCallback(index => () => {\r\n const removedItemKey = data.bufferItems[index].key;\r\n const newKeys = { ...data.itemKeys };\r\n delete newKeys[removedItemKey];\r\n\r\n const newBufferItems = data.bufferItems.slice();\r\n newBufferItems.splice(index, 1);\r\n\r\n onDataChange({ ...data, bufferItems: newBufferItems, itemKeys: newKeys });\r\n }, [data, onDataChange]);\r\n\r\n const onRemoveAll = useCallback(() => {\r\n onDataChange({ ...data, bufferItems: [], itemKeys: {} });\r\n }, [data, onDataChange]);\r\n\r\n const onAddButtonClick = useCallback(() => {\r\n onDataChange({ ...data, bufferItems: [...data.bufferItems, { isBidValid: true }] });\r\n }, [data, onDataChange]);\r\n\r\n const onApply = useCallback(() => {\r\n if (!verifyData()) {\r\n setApplyFailCount(count => count + 1);\r\n return;\r\n }\r\n const newItems = map(data.bufferItems, item => ({\r\n ...item,\r\n Bid: item.Bid || defaultBid,\r\n }));\r\n onDataChange({ ...data, items: newItems });\r\n onCancel();\r\n }, [data, onCancel, onDataChange, verifyData, defaultBid]);\r\n\r\n const onRenderHeader = useCallback(() => (\r\n
\r\n \r\n \r\n \r\n {i18n.getString(_TL_('Remove all'))}\r\n \r\n
\r\n ), [classes.listHeader, i18n, onRemoveAll]);\r\n\r\n const onRenderItem = useCallback(({ item, onItemChange }) => (\r\n \r\n ), [classes, i18n, itemKeys, applyFailCount]);\r\n\r\n const onRenderFooter = useCallback(() => (), []);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nCustomLabelTarget.propTypes = {\r\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n onDataChange: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const CustomLabelTargetPanel = withSidePanel(CustomLabelTarget);\r\n","import { map, isEmpty, values, first, reduce, chain, debounce } from 'underscore';\r\nimport React, { useCallback, useContext, useState, useEffect, useMemo, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { withError, withCustomValidation, withValidation, ValidationGroup } from '@bingads-webui-react/validation';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { DsaTarget } from '@bingads-webui/campaign-odata-schemas';\r\nimport {\r\n Label,\r\n Button,\r\n Checkbox,\r\n Input,\r\n} from '@fluentui/react-components';\r\nimport {\r\n MessageBar,\r\n MessageBarBody,\r\n MessageBarTitle\r\n} from '@fluentui/react-message-bar';\r\nimport { AddRegular } from '@fluentui/react-icons';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors } from '@bingads-webui-campaign-react/error-handling';\r\nimport { SelectedItem } from '@bingads-webui-campaign-react/pill-item-components';\r\nimport {\r\n DSA_TARGET_TYPES,\r\n DSA_TARGET_SUB_TYPES,\r\n DSA_TARGET_OPERAND_TYPE_STRINGS,\r\n loadCategoryList,\r\n targetingSourceOptions,\r\n // loadCategoryNameList,\r\n} from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { HelpPopup } from '@bingads-webui-react/help-popup';\r\nimport { HelpLink } from '@bingads-webui-react/help-link';\r\n\r\nimport { useCurrencyCode } from './utils';\r\nimport { DefaultBidDescription } from './dynamic-ad-target-panel/default-bid-description';\r\n\r\nimport { CategoryTargetPanel, SpecificTargetPanel, CustomLabelTargetPanel } from './dynamic-ad-target-panel';\r\n\r\nconst ValidatedTextInput = withControlErrorHandling(withUnvalidatedControlErrors(withError(withValidation(Input))));\r\n\r\nconst getStyles = () =>\r\n ({\r\n dynamicAdTargetContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: '8px',\r\n '& .message-bar': {\r\n marginTop: '20px',\r\n },\r\n },\r\n dynamicAdTargetOption: {\r\n paddingLeft: '36px',\r\n '& .add-button': {\r\n marginTop: '18px',\r\n },\r\n },\r\n selectedAdTargetTags: {\r\n '& .tagsContainer': {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n gridGap: '8px',\r\n '& .feeds-number-hint': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n },\r\n '& .show-more-button': {\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n },\r\n },\r\n targetAllBid: {\r\n paddingLeft: '36px',\r\n '& .bid-input-container': {\r\n display: 'flex',\r\n gap: '8px',\r\n alignItems: 'start',\r\n '& .bid-input': {\r\n width: '200px',\r\n },\r\n },\r\n },\r\n targetOptionTitle: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n helpLink: {\r\n marginLeft: 5,\r\n },\r\n });\r\n\r\nconst AdTargetsPillItem = ({\r\n title,\r\n maxNumberWithoutCollapse,\r\n selectedOptions = [],\r\n generateItemText,\r\n onRemoveItem,\r\n allowEditDynamicAdTarget,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n\r\n const selectedOptionsWithErrors = useMemo(() => selectedOptions.filter(item => !isEmpty(item.errors)), [selectedOptions]);\r\n const selectedOptionsWithoutErrors = useMemo(() => selectedOptions.filter(item => isEmpty(item.errors)), [selectedOptions]);\r\n const sortedSelectedOptions = useMemo(() => [...selectedOptionsWithErrors, ...selectedOptionsWithoutErrors], [selectedOptionsWithErrors, selectedOptionsWithoutErrors]);\r\n\r\n const [isCollapsed, setIsCollapsed] = useState(false);\r\n\r\n useEffect(() => {\r\n setIsCollapsed(sortedSelectedOptions.length > maxNumberWithoutCollapse && selectedOptionsWithErrors.length <= maxNumberWithoutCollapse);\r\n }, [maxNumberWithoutCollapse, sortedSelectedOptions, selectedOptionsWithErrors]);\r\n\r\n return (\r\n
\r\n {sortedSelectedOptions.length > 0 && }\r\n
\r\n {\r\n !isEmpty(sortedSelectedOptions) && map(sortedSelectedOptions, (item, index) => {\r\n if (isCollapsed && index >= maxNumberWithoutCollapse) {\r\n return null;\r\n }\r\n const itemText = generateItemText(item);\r\n return (\r\n error.message).uniq().value()}\r\n onDelete={allowEditDynamicAdTarget ? () => onRemoveItem(item) : undefined}\r\n />\r\n );\r\n })\r\n }\r\n {\r\n isCollapsed && (\r\n {`+ ${sortedSelectedOptions.length - maxNumberWithoutCollapse}`}\r\n )\r\n }\r\n
\r\n {\r\n sortedSelectedOptions.length > maxNumberWithoutCollapse && (\r\n setIsCollapsed(prev => !prev)}\r\n >\r\n {isCollapsed ? i18n.getString(_TL_('Show more')) : i18n.getString(_TL_('Show less'))}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nAdTargetsPillItem.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n maxNumberWithoutCollapse: PropTypes.number.isRequired,\r\n selectedOptions: PropTypes.arrayOf(PropTypes.shape({\r\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n text: PropTypes.string,\r\n })).isRequired,\r\n generateItemText: PropTypes.func.isRequired,\r\n onRemoveItem: PropTypes.func.isRequired,\r\n allowEditDynamicAdTarget: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst DynamicAdTargetOption = ({\r\n selectedTargets,\r\n generateItemText,\r\n showAddButton,\r\n onAddButtonClick,\r\n allowEditDynamicAdTarget,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n\r\n return (\r\n
\r\n {\r\n selectedTargets && selectedTargets.length > 0 && map(selectedTargets, selectedTarget => (\r\n \r\n ))\r\n }\r\n {\r\n showAddButton && (\r\n }\r\n onClick={onAddButtonClick}\r\n disabled={!allowEditDynamicAdTarget}\r\n >\r\n {i18n.getString(_TL_('Add'))}\r\n \r\n )\r\n }\r\n
\r\n );\r\n};\r\n\r\nDynamicAdTargetOption.propTypes = {\r\n selectedTargets: PropTypes.arrayOf(PropTypes.shape({\r\n title: PropTypes.string,\r\n maxNumberWithoutCollapse: PropTypes.number,\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n text: PropTypes.string,\r\n })),\r\n onRemoveItem: PropTypes.func,\r\n })).isRequired,\r\n generateItemText: PropTypes.func.isRequired,\r\n showAddButton: PropTypes.bool.isRequired,\r\n onAddButtonClick: PropTypes.func.isRequired,\r\n allowEditDynamicAdTarget: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst TargetAllBidInput = ({\r\n i18n, items, onChange, allowEditDynamicAdTarget,\r\n}) => {\r\n const item = useMemo(() => first(items) || {}, [items]);\r\n const classes = useDefaultStyles(getStyles);\r\n const currency = useCurrencyCode();\r\n\r\n const onValidateBid = useCallback((res) => {\r\n if (items) {\r\n onChange({\r\n items: [{ ...item, Bid: res.data.Bid }],\r\n });\r\n }\r\n }, [item, items, onChange]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nTargetAllBidInput.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n allowEditDynamicAdTarget: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst DynamicAdTarget = ({\r\n validationProps, updateValidation,\r\n}) => {\r\n const { data: adGroup } = validationProps;\r\n const {\r\n websites, DsaTargets, selectedWebsiteLanguage, allowEditDynamicAdTarget, selectedTargetingSource,\r\n } = adGroup;\r\n const website = first(websites) || '';\r\n const websiteWithoutProtocol = website.replace(/(^\\w+:|^)\\/\\//, '');\r\n\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n const currency = useCurrencyCode();\r\n\r\n const {\r\n [DSA_TARGET_TYPES.categoryTargets]: categoryTargets,\r\n [DSA_TARGET_TYPES.allTargets]: allTargets,\r\n [DSA_TARGET_TYPES.specificTargets]: specificTargets,\r\n [DSA_TARGET_TYPES.customLabelTargets]: customLabelTargets,\r\n } = DsaTargets || {};\r\n\r\n const {\r\n [DSA_TARGET_SUB_TYPES.exactUrls]: exactUrls,\r\n [DSA_TARGET_SUB_TYPES.rules]: rules,\r\n } = specificTargets || {};\r\n\r\n const categoryTitle = useMemo(() => (\r\n
\r\n {i18n.getString(_TL_('Target categories of webpages'))}\r\n \r\n
\r\n ), [i18n, classes]);\r\n\r\n const allTitle = useMemo(() => (\r\n
\r\n {i18n.getString(_TL_('Target all webpages'))}\r\n \r\n
\r\n ), [i18n, classes]);\r\n\r\n const specificTitle = useMemo(() => (\r\n
\r\n {i18n.getString(_TL_('Target specific webpages'))}\r\n \r\n
\r\n ), [i18n, classes]);\r\n\r\n const customLabelTitle = useMemo(() => (\r\n
\r\n {i18n.getString(_TL_('Target custom labels from your page feed(s)'))}\r\n \r\n
\r\n ), [i18n, classes]);\r\n\r\n const [isCategoryTargetPanelOpen, setIsCategoryTargetPanelOpen] = useState(false);\r\n const [isSpecificTargetPanelOpen, setIsSpecificTargetPanelOpen] = useState(false);\r\n const [isCustomLabelTargetPanelOpen, setIsCustomLabelTargetPanelOpen] = useState(false);\r\n\r\n const validateDynamicTargets = useCallback((dynamicTargets) => {\r\n const {\r\n [DSA_TARGET_TYPES.categoryTargets]: newCategoryTargets,\r\n [DSA_TARGET_TYPES.allTargets]: newAllTargets,\r\n [DSA_TARGET_TYPES.specificTargets]: newSpecificTargets,\r\n [DSA_TARGET_TYPES.customLabelTargets]: newCustomLabelTargets,\r\n } = dynamicTargets;\r\n\r\n let isValid = false;\r\n if (newCategoryTargets && !newCategoryTargets.disabled && newCategoryTargets.selected && newCategoryTargets.items && newCategoryTargets.items.length > 0) {\r\n isValid = true;\r\n }\r\n if (newAllTargets && !newAllTargets.disabled && newAllTargets.selected) {\r\n isValid = true;\r\n }\r\n if (newSpecificTargets && !newSpecificTargets.disabled && newSpecificTargets.selected && values(newSpecificTargets).some(subValue => subValue.items && subValue.items.length > 0)) {\r\n isValid = true;\r\n }\r\n if (newCustomLabelTargets && !newCustomLabelTargets.disabled && newCustomLabelTargets.selected && newCustomLabelTargets.items && newCustomLabelTargets.items.length > 0) {\r\n isValid = true;\r\n }\r\n return isValid ? [] : [i18n.getString(_TL_('Please select and add at least one target'))];\r\n }, [i18n]);\r\n\r\n const onOptionChange = option => (_evt, data) => {\r\n const newDsaTargets = {\r\n ...DsaTargets,\r\n [option]: {\r\n ...DsaTargets[option],\r\n selected: data.checked,\r\n },\r\n };\r\n\r\n const errors = validateDynamicTargets(newDsaTargets);\r\n updateValidation(errors, { DsaTargets: newDsaTargets });\r\n };\r\n\r\n const onDsaTargetsChange = option => (newDsaSubTargets) => {\r\n const newDsaTargets = {\r\n ...DsaTargets,\r\n [option]: {\r\n ...DsaTargets[option],\r\n ...newDsaSubTargets,\r\n },\r\n };\r\n\r\n const errors = validateDynamicTargets(newDsaTargets);\r\n updateValidation(errors, { DsaTargets: newDsaTargets });\r\n };\r\n\r\n const onDsaTargetsRemove = option => (item) => {\r\n const newDsaTargets = {\r\n ...DsaTargets,\r\n [option]: {\r\n ...DsaTargets[option],\r\n items: DsaTargets[option].items.filter(value => value.key !== item.key),\r\n },\r\n };\r\n\r\n const errors = validateDynamicTargets(newDsaTargets);\r\n updateValidation(errors, { DsaTargets: newDsaTargets });\r\n };\r\n\r\n const onSubDsaTargetsRemove = subOption => (item) => {\r\n const newDsaTargets = {\r\n ...DsaTargets,\r\n specificTargets: {\r\n ...specificTargets,\r\n [subOption]: {\r\n ...specificTargets[subOption],\r\n items: specificTargets[subOption].items.filter(value => value.key !== item.key),\r\n },\r\n },\r\n };\r\n\r\n const errors = validateDynamicTargets(newDsaTargets);\r\n updateValidation(errors, { DsaTargets: newDsaTargets });\r\n };\r\n\r\n const [preloadedCategories, setPreloadedCategories] = useState([]);\r\n const renderCycleRef = useRef(0);\r\n const loadCategory = useCallback((domain, language) => {\r\n loadCategoryList(domain, language).then((response) => {\r\n if (window.e2eTestEnvironment) {\r\n setPreloadedCategories([{ Bid: 0, CategoryName: 'browse/', Coverage: 0.1334 }]);\r\n } else {\r\n setPreloadedCategories(response.totalCount ? response : []);\r\n }\r\n });\r\n }, []);\r\n const debouncedLoadCategory = useMemo(() => debounce(loadCategory, 500), [loadCategory]);\r\n // const [preloadedCategoryNames, setPreloadedCategoryNames] = useState([]);\r\n useEffect(() => {\r\n if (!isEmpty(adGroup)) {\r\n if (websiteWithoutProtocol) {\r\n debouncedLoadCategory(websiteWithoutProtocol, selectedWebsiteLanguage);\r\n // loadCategoryNameList(websiteWithoutProtocol).then((response) => {\r\n // setPreloadedCategoryNames(response);\r\n // });\r\n } else {\r\n setPreloadedCategories([]);\r\n // setPreloadedCategoryNames([]);\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [websiteWithoutProtocol, selectedWebsiteLanguage]);\r\n\r\n const onCategoryUpdate = useCallback((data) => {\r\n if (!isEmpty(adGroup)) {\r\n const newDsaTargets = {\r\n ...DsaTargets,\r\n [DSA_TARGET_TYPES.categoryTargets]: {\r\n ...DsaTargets[DSA_TARGET_TYPES.categoryTargets],\r\n disabled: data.disabled,\r\n // 1. skip updating items in the first 2 render cycles, that's caused by mounting (mount preloadedCategories; mount website, update preloadedCategories); in mounting, don't clear\r\n // 2. whenever user changes website, clear the selected categories\r\n items: renderCycleRef.current <= 2 ? DsaTargets[DSA_TARGET_TYPES.categoryTargets].items : [],\r\n selected: data.disabled ? false : DsaTargets[DSA_TARGET_TYPES.categoryTargets].selected,\r\n },\r\n };\r\n\r\n const errors = validateDynamicTargets(newDsaTargets);\r\n updateValidation(errors, { DsaTargets: newDsaTargets }, false);\r\n }\r\n }, [adGroup, DsaTargets, updateValidation, validateDynamicTargets]);\r\n\r\n useEffect(() => {\r\n renderCycleRef.current += 1;\r\n if (adGroup && adGroup.DsaTargets) {\r\n onCategoryUpdate({ disabled: isEmpty(preloadedCategories) });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [preloadedCategories]);\r\n\r\n useEffect(() => {\r\n if (adGroup && adGroup.DsaTargets) {\r\n const newDsaTargets = {\r\n ...DsaTargets,\r\n [DSA_TARGET_TYPES.customLabelTargets]: {\r\n ...DsaTargets[DSA_TARGET_TYPES.customLabelTargets],\r\n disabled: selectedTargetingSource === targetingSourceOptions.SystemIndex,\r\n },\r\n };\r\n\r\n const errors = validateDynamicTargets(newDsaTargets);\r\n updateValidation(errors, { DsaTargets: newDsaTargets }, false);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [selectedTargetingSource]);\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n {categoryTargets && categoryTargets.selected && (\r\n setIsCategoryTargetPanelOpen(true)}\r\n generateItemText={(item) => {\r\n const condition = first(item.conditions) || {};\r\n return `(${i18n.getCurrencySymbol(currency)}${item.Bid} ${currency}) ${condition.ArgumentOperand}`;\r\n }}\r\n allowEditDynamicAdTarget={allowEditDynamicAdTarget}\r\n />\r\n )}\r\n
\r\n
\r\n \r\n {allTargets && allTargets.selected && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n {specificTargets && specificTargets.selected && (\r\n <>\r\n {\r\n const condition = first(item.conditions) || {};\r\n return `(${i18n.getCurrencySymbol(currency)}${item.Bid} ${currency}) ${condition.ArgumentOperand}`;\r\n }}\r\n showAddButton={false}\r\n onAddButtonClick={() => setIsSpecificTargetPanelOpen(true)}\r\n allowEditDynamicAdTarget={allowEditDynamicAdTarget}\r\n />\r\n {\r\n const text = reduce(item.conditions, (acc, condition) => {\r\n acc.push(`${i18n.getString(DSA_TARGET_OPERAND_TYPE_STRINGS[condition.Operand])} (${condition.ArgumentOperand})`);\r\n return acc;\r\n }, []);\r\n return `${i18n.getCurrencySymbol(currency)}${item.Bid} ${currency} · ${text.join(' · ')}`;\r\n }}\r\n showAddButton\r\n onAddButtonClick={() => setIsSpecificTargetPanelOpen(true)}\r\n allowEditDynamicAdTarget={allowEditDynamicAdTarget}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n \r\n {customLabelTargets && customLabelTargets.selected && (\r\n {\r\n const condition = first(item.conditions) || {};\r\n return `(${i18n.getCurrencySymbol(currency)}${item.Bid} ${currency}) ${condition.ArgumentOperand}`;\r\n }}\r\n showAddButton\r\n onAddButtonClick={() => setIsCustomLabelTargetPanelOpen(true)}\r\n allowEditDynamicAdTarget={allowEditDynamicAdTarget}\r\n />\r\n )}\r\n
\r\n {!allowEditDynamicAdTarget && (\r\n \r\n \r\n {i18n.getString(_TL_('Note'))}\r\n {/* eslint-disable-next-line react/no-danger */}\r\n Campaigns > Dynamic ad targets.')) }} />\r\n \r\n \r\n )}\r\n \r\n \r\n {i18n.getString(_TL_('Note'))}\r\n {i18n.getString(_TL_(\"We automatically generate Dynamic Search ads for you based on your website's content. Set up dynamic ad targets to tell us which pages of your website to focus on.\"))}\r\n \r\n {i18n.getString(_TL_('Learn more'))}\r\n \r\n \r\n \r\n
\r\n setIsCategoryTargetPanelOpen(false)}\r\n domainName={websiteWithoutProtocol}\r\n preloadedCategories={preloadedCategories}\r\n languageCode={adGroup && adGroup.selectedWebsiteLanguage}\r\n />\r\n setIsSpecificTargetPanelOpen(false)}\r\n preloadedCategories={preloadedCategories}\r\n domainName={websiteWithoutProtocol}\r\n languageCode={adGroup && adGroup.selectedWebsiteLanguage}\r\n selectedTargetingSource={selectedTargetingSource}\r\n />\r\n setIsCustomLabelTargetPanelOpen(false)}\r\n />\r\n \r\n );\r\n};\r\n\r\nDynamicAdTarget.propTypes = {\r\n updateValidation: PropTypes.func.isRequired,\r\n validationProps: PropTypes.shape({\r\n data: PropTypes.shape({\r\n websites: PropTypes.arrayOf(PropTypes.string),\r\n DsaTargets: PropTypes.shape({}),\r\n allowEditDynamicAdTarget: PropTypes.bool,\r\n selectedWebsiteLanguage: PropTypes.string,\r\n selectedTargetingSource: PropTypes.string,\r\n }),\r\n }).isRequired,\r\n};\r\n\r\nexport const ValidatedDynamicAdTarget = withError(withCustomValidation(DynamicAdTarget));\r\n\r\n","import React, { useCallback, useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { withCustomValidation } from '@bingads-webui-react/validation';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { Checkbox } from '@fluentui/react-components';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { LearnMoreLink } from '@bingads-webui-campaign-react/help';\r\nimport { ValidatedDynamicSearchAdSetting } from './validated-dsa-setting';\r\n\r\nconst getStyles = (_, { palette }) => ({\r\n campaignDynamicSetting: {\r\n '& .fui-Checkbox .fui-Label': {\r\n padding: '0 4px',\r\n },\r\n\r\n '& .description': {\r\n marginLeft: 36,\r\n\r\n '&.disabled': {\r\n color: palette.neutralTertiaryAlt,\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport const CampaignDynamicSearchAdSetting = ({\r\n validationProps, updateValidation,\r\n}) => {\r\n const { data } = validationProps;\r\n const {\r\n hasDsaSettings,\r\n disableDsaSettings,\r\n } = data || {};\r\n\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n const activity = useContext(ActivityContext);\r\n\r\n const onDynamicSearchAdsEnabledChange = useCallback((_evt, option) => {\r\n if (option.selectedOptions !== hasDsaSettings) {\r\n updateValidation([], {\r\n hasDsaSettings: option.checked,\r\n });\r\n activity.signal(`onHasDSASettingsChanged: ${option.checked}`);\r\n }\r\n }, [activity, hasDsaSettings, updateValidation]);\r\n\r\n return (\r\n
\r\n \r\n

\r\n {i18n.getString(_TL_('By enabling this setting, we\\'ll create targeted and relevant ads automatically.'))}\r\n \r\n

\r\n {hasDsaSettings && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nCampaignDynamicSearchAdSetting.propTypes = {\r\n validationProps: PropTypes.shape({\r\n data: PropTypes.shape({\r\n hasDsaSettings: PropTypes.bool,\r\n }),\r\n }).isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const ValidatedCampaignDynamicSearchAdSetting = withCustomValidation(CampaignDynamicSearchAdSetting);\r\n","import _ from 'underscore';\r\nimport React, { useContext, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ServerContext } from '@bingads-webui-campaign-react/server-context';\r\nimport { ScopeContext } from '@bingads-webui-react/scope-service';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { MessageBar } from '@fluentui/react';\r\nimport { BrandListsPicker } from '@bingads-webui-campaign-react/brand-lists-components';\r\nimport { withCustomValidation, withError } from '@bingads-webui-react/validation';\r\n\r\nexport const getBrandListsTitleDetails = (i18n, brandProtections) => {\r\n const { selectedBrandLists } = brandProtections || {};\r\n if (_.isEmpty(selectedBrandLists)) {\r\n return i18n.getString(_TL_('Add brand protections so that your ads will show on search queries that mention those brands.'));\r\n }\r\n if (selectedBrandLists.length === 1) {\r\n return i18n.getString(_TL_('You’ve added 1 brand list, which makes it so that your ads will show on search queries that mention those brands.'));\r\n }\r\n return i18n.getString(_TL_('You’ve added {{number}} brand lists, which makes it so that your ads will show on search queries that mention those brands.'), { number: selectedBrandLists.length });\r\n};\r\n\r\nconst getStyles = (unused, { palette }) => ({\r\n brandListsPicker: {\r\n '&.disabled': {\r\n '& p,div': {\r\n color: palette.neutralTertiaryAlt,\r\n },\r\n },\r\n },\r\n messageBar: {\r\n background: palette.themeLighterAlt,\r\n marginBottom: 8,\r\n },\r\n});\r\n\r\nexport const BrandLists = ({\r\n campaignId, updateValidation, disabled,\r\n}) => {\r\n const classes = useDefaultStyles(getStyles);\r\n\r\n const i18n = useContext(I18nContext);\r\n const activity = useContext(ActivityContext);\r\n const serverContext = useContext(ServerContext);\r\n const { scope } = useContext(ScopeContext);\r\n const { aid } = scope.values;\r\n\r\n const {\r\n CurrentAccount: {\r\n // This is to handle agency cases\r\n AdvertiserCustomerID: cid,\r\n },\r\n } = serverContext;\r\n\r\n const onBrandListsChange = useCallback((selectedBrandLists, [deletedBrandListIds, addedBrandListIds]) => {\r\n updateValidation([], {\r\n brandProtections: {\r\n deletedBrandListIds,\r\n addedBrandListIds,\r\n selectedBrandLists,\r\n },\r\n });\r\n\r\n if (activity) {\r\n activity.signal(`onBrandListsChange - ${selectedBrandLists}`);\r\n }\r\n }, [updateValidation, activity]);\r\n\r\n return (\r\n
\r\n {\r\n disabled && (\r\n \r\n {i18n.getString(_TL_('Please select predictive matching to enable brand protection.'))}\r\n \r\n )\r\n }\r\n
\r\n {\r\n campaignId && (\r\n \r\n )\r\n }\r\n
\r\n
);\r\n};\r\n\r\nBrandLists.propTypes = {\r\n campaignId: PropTypes.number.isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nBrandLists.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nexport const ValidatedBrandLists = withError(withCustomValidation(BrandLists));\r\n","import React, { useCallback, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Switch } from '@fluentui/react-components';\r\n\r\nexport const withUseCampaignSettings = (Component) => {\r\n const HOC = (props) => {\r\n const {\r\n i18n,\r\n level,\r\n onLevelChange,\r\n } = props;\r\n\r\n const useCampaignSettings = useMemo(() => level !== 'adgroup', [level]);\r\n\r\n const onSwitchChange = useCallback((ev, { checked }) => {\r\n if (checked !== useCampaignSettings) {\r\n onLevelChange(checked ? 'campaign' : 'adgroup');\r\n }\r\n }, [onLevelChange, useCampaignSettings]);\r\n\r\n return (\r\n
\r\n \r\n {useCampaignSettings && }\r\n {!useCampaignSettings && }\r\n
\r\n );\r\n };\r\n\r\n HOC.propTypes = {\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }).isRequired,\r\n level: PropTypes.string.isRequired,\r\n onLevelChange: PropTypes.func.isRequired,\r\n };\r\n\r\n HOC.displayName = `withUseCampaignSettings(${Component.displayName || Component.name})`;\r\n\r\n return HOC;\r\n};\r\n","export const getStepStyles = () => ({\r\n maxWidth: 1000,\r\n});\r\n\r\nexport const getCollapsiblePanelStyles = (components, theme) => ({\r\n border: 'none',\r\n marginBottom: 'unset',\r\n backgroundColor: 'unset',\r\n\r\n '& .panel-heading': {\r\n padding: 0,\r\n borderBottom: 'none',\r\n marginBottom: 18,\r\n\r\n '& .panel-title': {\r\n fontSize: 18,\r\n '& > a': {\r\n color: theme.palette.themePrimary,\r\n padding: 0,\r\n '&:hover, &:active': {\r\n color: theme.palette.themeDarker,\r\n textDecoration: 'none',\r\n backgroundColor: 'unset',\r\n },\r\n },\r\n\r\n '& > a:after': {\r\n transform: 'rotate(180deg)',\r\n },\r\n\r\n '& > a.collapsed:after': {\r\n transform: 'rotate(90deg)',\r\n },\r\n },\r\n },\r\n\r\n '& .panel-collapse': {\r\n '& .panel-body': {\r\n padding: 0,\r\n overflow: 'hidden',\r\n },\r\n },\r\n});\r\n","import { getCollapsiblePanelStyles, getStepStyles } from '../../shared/styles';\r\n\r\nexport const getStyles = (components, theme) => ({\r\n collapsiblePanel: getCollapsiblePanelStyles(components, theme),\r\n campaignSettingsStep: {\r\n ...getStepStyles(),\r\n\r\n '& .collapse-panel.disclaimer': {\r\n '& .collapse-content': {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n },\r\n '& .collapse-fixed-panel.website': {\r\n '& .collapse-title-bar': {\r\n paddingBottom: '5px',\r\n },\r\n '& .website-section': {\r\n '& input[type=\"text\"]:focus': {\r\n border: 'none',\r\n },\r\n '& input[type=\"text\"]:hover': {\r\n border: 'none',\r\n },\r\n },\r\n },\r\n '& .section-title': {\r\n marginTop: '28px',\r\n marginBottom: '8px',\r\n },\r\n '& .section-description': {\r\n marginBottom: '16px',\r\n },\r\n },\r\n});\r\n","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\n\r\nexport const getStyles = () => ({\r\n stepTitle: {\r\n marginTop: 0,\r\n },\r\n stepDescription: {\r\n marginBottom: 30,\r\n },\r\n});\r\n\r\nexport const StepHeader = ({\r\n title,\r\n description,\r\n}) => {\r\n const i18n = useContext(I18nContext);\r\n const classes = useDefaultStyles(getStyles);\r\n\r\n return (\r\n \r\n

\r\n {i18n.getString(title)}\r\n

\r\n {description &&\r\n

\r\n {i18n.getString(description)}\r\n

\r\n }\r\n
\r\n );\r\n};\r\n\r\nStepHeader.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n description: PropTypes.string.isRequired,\r\n};\r\n","import { isEmpty, map } from 'underscore';\r\nimport React, { useCallback, useContext, useMemo, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Panel as BootstrapPanel } from 'react-bootstrap';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ScopeContext } from '@bingads-webui-react/scope-service';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport {\r\n Collapse,\r\n TextTitle,\r\n ValidatedBootstrapPanel,\r\n ValidatedFixedPanel,\r\n ValidatedPanel,\r\n getPanelErrorProps,\r\n useCollapseState,\r\n collapseExpander,\r\n} from '@bingads-webui-campaign/wizard-jumbo-card';\r\nimport { Campaign } from '@bingads-webui/campaign-odata-schemas';\r\nimport { ValidationGroup, ErrorMessages } from '@bingads-webui-react/validation';\r\nimport { ActuationGroup } from '@bingads-webui-campaign-react/actuator';\r\nimport { AttentionBeaconGroup } from '@bingads-webui-campaign-react/attention-beacon';\r\nimport { FormErrorGroup, UnmappedFormErrors, andComp, entityIs, propertyIs, anyComp } from '@bingads-webui-campaign-react/form-error';\r\nimport { useFormService } from '@bingads-webui-react/form';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors } from '@bingads-webui-campaign-react/error-handling';\r\nimport { ValidationStringMap } from '@bingads-webui/validation-string-map';\r\nimport { buildLegacyI18n } from '@bingads-webui/build-legacy-i18n';\r\nimport { RemainingCharsValidatedTextField } from '@bingads-webui-campaign-react/remaining-chars-hint';\r\nimport {\r\n ValidatedWebsiteTitle, ValidatedWebsite as WebsiteControl,\r\n ValidatedLanguageTarget, LanguageTargetValidatorFactory, campaignLanguageStrings,\r\n ValidatedLocationTargetSetting, getLocationTargetTitleDetails,\r\n ValidatedAutoGeneratedAssets, getAutoGeneratedAssetsDetails,\r\n ValidatedConversionGoals,\r\n ValidatedDisclaimer,\r\n} from '@bingads-webui-campaign-react/search-campaign-wizard-controls';\r\nimport { ServerContext } from '@bingads-webui-campaign-react/server-context';\r\nimport { loadBundleCountries, ERROR_ENTITY } from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport {\r\n getConversionGoalTitleDetails,\r\n getDisclaimerTitleDetails,\r\n} from '@bingads-webui-campaign-react/wizard-shared-components';\r\n\r\nimport { getStyles } from './styles';\r\nimport { StepHeader } from '../../shared/step-header';\r\nimport DisclaimerImg from '../../shared//media/disclaimer.svg';\r\nimport LocationImg from '../../shared//media/location.svg';\r\nimport LanguageImg from '../../shared//media/language.svg';\r\nimport AutoAssetsImg from '../../shared//media/auto-assets.svg';\r\nimport ConversionGoalsImg from '../../shared/media/conversion-goals.svg';\r\n\r\nconst entityIsCampaign = entityIs(ERROR_ENTITY.Campaign);\r\nconst campaignNameProp = andComp(entityIsCampaign, propertyIs('Name'));\r\nconst campaignLanguagesProp = andComp(entityIsCampaign, propertyIs('Languages'));\r\nconst campaignConversionProp = andComp(entityIs(ERROR_ENTITY.CampaignConversionGoal), propertyIs('CampaignConversionGoalAssociations'));\r\nconst campaignLocationCriterions = anyComp(\r\n entityIs(ERROR_ENTITY.CampaignLocation),\r\n entityIs(ERROR_ENTITY.CampaignRadius),\r\n entityIs(ERROR_ENTITY.CampaignNegativeLocation),\r\n entityIs(ERROR_ENTITY.CampaignLocationIntent)\r\n);\r\nconst autoGenerateAssetsEnabledProp = andComp(entityIsCampaign, propertyIs('AutoGeneratedAssetsEnabled'));\r\nconst disclaimerProp = anyComp(\r\n entityIs(ERROR_ENTITY.CampaignDisclaimerAdExtension),\r\n propertyIs('DisclaimerAdsEnabled')\r\n);\r\n\r\nconst ValidatedWebsite = withControlErrorHandling(withUnvalidatedControlErrors(WebsiteControl));\r\nconst ServerValidatedLanguageTarget = withControlErrorHandling(withUnvalidatedControlErrors(ValidatedLanguageTarget, { filter: campaignLanguagesProp }));\r\nconst ServerValidatedLocationTargetSetting = withControlErrorHandling(withUnvalidatedControlErrors(ValidatedLocationTargetSetting, { filter: campaignLocationCriterions }));\r\nconst ServerValidatedAutoGeneratedAssets = withControlErrorHandling(withUnvalidatedControlErrors(ValidatedAutoGeneratedAssets, { filter: autoGenerateAssetsEnabledProp }));\r\nconst ServerValidatedDisclaimer = withControlErrorHandling(withUnvalidatedControlErrors(ValidatedDisclaimer, { filter: disclaimerProp }));\r\nconst ServerValidatedConversionGoals = withControlErrorHandling(withUnvalidatedControlErrors(ValidatedConversionGoals, { filter: campaignConversionProp }));\r\n\r\nexport const CampaignSettingsStep = ({\r\n data,\r\n onDataChange,\r\n error,\r\n}) => {\r\n const {\r\n campaign,\r\n bundleCountries,\r\n bundleLocationCriterions,\r\n websites,\r\n } = data || {};\r\n\r\n const {\r\n serverErrors = [],\r\n systemErrors = [],\r\n } = error || {};\r\n\r\n const i18n = useContext(I18nContext);\r\n const legacyI18n = useMemo(() => buildLegacyI18n(i18n, [ValidationStringMap]), [i18n]);\r\n const { scope } = useContext(ScopeContext);\r\n const { cid, aid } = scope.values;\r\n const classes = useDefaultStyles(getStyles);\r\n\r\n const serverContext = useContext(ServerContext);\r\n const {\r\n CurrentAccount: {AdvertiserCustomerID: advertiserCustomerId },\r\n CurrentLocale: locale,\r\n CurrentUser: { Market: market },\r\n DynamicPermissions,\r\n Permissions,\r\n } = serverContext || {};\r\n const permissions = useMemo(() => ({ dynamic: { ...DynamicPermissions }, ...Permissions }), [DynamicPermissions, Permissions]);\r\n\r\n const validateSpecialCharacters = permissions && permissions.dynamic && permissions.dynamic.PerformanceMaxCampaignsFinalURLValidation && permissions.dynamic.PMaxAndDSAFinalURLValidation;\r\n\r\n const { state: { context: { saveFailed: showAllValidationErrors } } } = useFormService();\r\n\r\n const { Languages } = campaign || {};\r\n const selectedLanguages = useRef(Languages);\r\n selectedLanguages.current = Languages;\r\n\r\n const refreshLocationTargetsTimes = useRef(0);\r\n\r\n const [\r\n allCampaignSettingsSections,\r\n campaignSettingsExpandedSections,\r\n setCampaignSettingsExpandedSections,\r\n ] = useCollapseState(\r\n ['campaign', 'locations', 'languages', 'auto-generate-assets'] /* all sections */,\r\n ['campaign', 'locations', 'languages', 'auto-generate-assets'] /* initially expanded sections */\r\n );\r\n\r\n const basicSettingsExpand = useMemo(\r\n () => collapseExpander({ setActiveKeys: setCampaignSettingsExpandedSections }),\r\n [setCampaignSettingsExpandedSections]\r\n );\r\n\r\n const onValidate = useCallback((result) => {\r\n if (data && data.campaign) {\r\n const newLanguages = result && result.data && result.data.Languages;\r\n if (!isEmpty(newLanguages) && selectedLanguages.current !== newLanguages) {\r\n selectedLanguages.current = newLanguages;\r\n refreshLocationTargetsTimes.current = (refreshLocationTargetsTimes.current + 1) % 1000;\r\n loadBundleCountries({\r\n cid, aid, serverContext, language: newLanguages,\r\n }).then((bundleCountriesAndLocationCriterions) => {\r\n onDataChange({\r\n data: {\r\n ...data,\r\n campaign: {\r\n ...data.campaign,\r\n ...result.data,\r\n },\r\n ...bundleCountriesAndLocationCriterions,\r\n },\r\n isValid: result.isValid,\r\n });\r\n });\r\n } else {\r\n onDataChange({\r\n data: {\r\n ...data,\r\n campaign: {\r\n ...data.campaign,\r\n ...result.data,\r\n },\r\n },\r\n isValid: result.isValid,\r\n });\r\n }\r\n }\r\n }, [aid, cid, data, onDataChange, serverContext]);\r\n\r\n const basicSettingsSection = useMemo(() => {\r\n const campaignPanel = (\r\n }\r\n attentionBeaconProps={{ getExtraProps: getPanelErrorProps }}\r\n >\r\n \r\n \r\n );\r\n\r\n const locationsPanel = (\r\n }\r\n attentionBeaconProps={{ getExtraProps: getPanelErrorProps }}\r\n actuationProps={{\r\n expand: basicSettingsExpand,\r\n expandKey: 'locations',\r\n }}\r\n >\r\n \r\n \r\n );\r\n\r\n const languagesPanel = (\r\n i18n.getString(campaignLanguageStrings[lang] || _TL_(`${lang}`))).join(', ')}\r\n icon={LanguageImg}\r\n />}\r\n attentionBeaconProps={{ getExtraProps: getPanelErrorProps }}\r\n actuationProps={{\r\n expand: basicSettingsExpand,\r\n expandKey: 'languages',\r\n }}\r\n >\r\n \r\n \r\n );\r\n\r\n const basicSettings = [\r\n campaignPanel,\r\n locationsPanel,\r\n languagesPanel,\r\n ];\r\n\r\n return (\r\n
\r\n \r\n { basicSettings }\r\n \r\n
\r\n );\r\n }, [Languages, allCampaignSettingsSections, basicSettingsExpand, bundleCountries, bundleLocationCriterions, campaign, campaignSettingsExpandedSections, i18n, locale, market, permissions, scope, setCampaignSettingsExpandedSections]);\r\n\r\n const autoGenerateSection = useMemo(() => {\r\n const autoGenerateAssetsPanel = (\r\n }\r\n attentionBeaconProps={{ getExtraProps: getPanelErrorProps }}\r\n >\r\n \r\n \r\n );\r\n\r\n const autoGenerateSettings = [\r\n autoGenerateAssetsPanel,\r\n ];\r\n\r\n return (\r\n
\r\n

{i18n.getString(_TL_('Automatically generate assets for your ads'))}

\r\n
\r\n {i18n.getString(_TL_('Maximize ad performance by increasing the amount of relevant assets available for your responsive search ads. We automatically generate assets, so you don’t have to create them manually.'))}\r\n
\r\n \r\n { autoGenerateSettings }\r\n \r\n
\r\n );\r\n }, [allCampaignSettingsSections, campaign, campaignSettingsExpandedSections, i18n, setCampaignSettingsExpandedSections]);\r\n\r\n const [\r\n allAdvancedSettingsSections,\r\n advancedSettingsExpandedSections,\r\n setAdvancedSettingsExpandedSections,\r\n ] = useCollapseState(\r\n ['conversions', 'disclaimer'] /* all sections */,\r\n ['conversions', 'disclaimer'] /* initially expanded sections */\r\n );\r\n\r\n const allAdvancedSettingsExpand = useMemo(\r\n () => collapseExpander({ setActiveKeys: setAdvancedSettingsExpandedSections }),\r\n [setAdvancedSettingsExpandedSections]\r\n );\r\n\r\n const [advancedSettingsSectionExpanded, setAdvancedSettingsSectionExpanded] = useState(false);\r\n const onAdvancedSettingsSectionToggle = useCallback((expanded) => {\r\n setAdvancedSettingsSectionExpanded(expanded);\r\n }, []);\r\n\r\n const advancedSettingsSection = useMemo(() => {\r\n const conversionsPanel = (\r\n }\r\n attentionBeaconProps={{ getExtraProps: getPanelErrorProps }}\r\n topicKey=\"pop_BA_PMAX_Conversions\"\r\n >\r\n \r\n \r\n );\r\n\r\n const disclaimerPanel = (\r\n }\r\n attentionBeaconProps={{ getExtraProps: getPanelErrorProps }}\r\n >\r\n \r\n \r\n );\r\n\r\n const advancedSettings = [\r\n conversionsPanel,\r\n disclaimerPanel,\r\n ];\r\n\r\n return (\r\n
\r\n (\r\n <>\r\n \r\n \r\n {i18n.getString(_TL_('Advanced settings'))}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n { advancedSettings }\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n />\r\n
\r\n );\r\n }, [advancedSettingsExpandedSections, advancedSettingsSectionExpanded, aid, allAdvancedSettingsExpand, allAdvancedSettingsSections, campaign, cid, classes.advancedCampaignSection, classes.collapsiblePanel, data, i18n, onAdvancedSettingsSectionToggle, onValidate, setAdvancedSettingsExpandedSections]);\r\n\r\n const onValidateWebsite = useCallback((result) => {\r\n if (data) {\r\n onDataChange({\r\n data: {\r\n ...data,\r\n ...result.data,\r\n },\r\n isValid: result.isValid,\r\n });\r\n }\r\n }, [data, onDataChange]);\r\n\r\n const websiteSection = useMemo(() => (\r\n \r\n }\r\n attentionBeaconProps={{ getExtraProps: getPanelErrorProps }}\r\n >\r\n \r\n \r\n \r\n ), [websites, validateSpecialCharacters]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n { websiteSection }\r\n \r\n \r\n
\r\n { basicSettingsSection }\r\n { autoGenerateSection }\r\n { advancedSettingsSection }\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nCampaignSettingsStep.propTypes = {\r\n data: PropTypes.shape({\r\n campaign: PropTypes.shape({\r\n Id: PropTypes.string,\r\n Name: PropTypes.string,\r\n locationTargets: PropTypes.arrayOf(PropTypes.shape({})),\r\n }),\r\n websites: PropTypes.shape([]),\r\n }).isRequired,\r\n onDataChange: PropTypes.func.isRequired,\r\n error: PropTypes.shape({\r\n serverErrors: PropTypes.arrayOf(PropTypes.shape({})),\r\n systemErrors: PropTypes.arrayOf(PropTypes.shape({})),\r\n }),\r\n};\r\n\r\nCampaignSettingsStep.defaultProps = {\r\n error: null,\r\n};\r\n","import _ from 'underscore';\r\nimport {\r\n getTargetedLocationInfo,\r\n getSupportedLanguages,\r\n getSearchIdeaModel,\r\n} from '@bingads-webui-campaign-react/copilot-keyword-planner';\r\nimport { WIZARD_EVENTS } from '@bingads-webui-react/wizard';\r\nimport { LOCATION_CRITERION_TYPE } from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { targetOptions } from '@bingads-webui-campaign-react/search-campaign-wizard-controls';\r\nimport {\r\n CHANNEL_TYPES,\r\n} from '@bingads-webui-campaign-react/keyword-planner-shared';\r\n\r\nconst getTargetedLocationNameTypeCombo = (location) => {\r\n const type = _.property('CriterionType')(location);\r\n return `${type} - ${_.property(['Criterion', `${type}Criterion`, 'Name'])(location)}`;\r\n};\r\nconst mapToLocationNameTypeCombo = locations => (_.map(locations, location => getTargetedLocationNameTypeCombo(location)));\r\n\r\n\r\nexport const useSetKeywordSuggestionsData = ({ send, permissions }) => {\r\n const onRequest = () => {\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n keywordSuggestions: null,\r\n });\r\n };\r\n const onSuccess = (rawData) => {\r\n if (permissions && permissions.dynamic && permissions.dynamic.KeywordPlannerLiteRefactorPhase1) {\r\n const keywordSuggestions = _.first(rawData.data.value).Keywords || [];\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n keywordSuggestions: _.map(keywordSuggestions, keyword => ({\r\n Keyword: keyword.Keyword.Text,\r\n RequestId: rawData.traceInfo && rawData.traceInfo.requestId,\r\n })),\r\n });\r\n } else {\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n keywordSuggestions: _.flatten(_.map(rawData.value, group => (_.isElement(group.Suggestions) ? [] : group.Suggestions))),\r\n });\r\n }\r\n };\r\n const onFailed = () => {\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n keywordSuggestions: [],\r\n });\r\n };\r\n\r\n return {\r\n onRequest, onSuccess, onFailed,\r\n };\r\n};\r\n\r\nexport const handleKeywordSuggestionsWhenChanges = ({\r\n currentUrl, currentLocationSettings, currentLanguages,\r\n previousUrl, previousLocation, previousLanguages,\r\n activity, bundleLocationCriterions,\r\n onRequest, onSuccess, onFailed, recommendateRequest, getSearchIdea, send, permissions,\r\n}) => {\r\n const log = activity ? activity.signal : _.noop;\r\n const targetOption = _.property(['targetOption'])(currentLocationSettings);\r\n let currentLocation = null;\r\n\r\n if (targetOption === targetOptions.everywhere) {\r\n currentLocation = [];\r\n } else if (targetOption === targetOptions.bundle) {\r\n currentLocation = bundleLocationCriterions;\r\n } else if (targetOption === targetOptions.specific) {\r\n currentLocation = _.property(['currentLocations'])(currentLocationSettings);\r\n }\r\n\r\n log(`onHandleKeywordSuggestions - ${JSON.stringify({\r\n Url: currentUrl,\r\n Location: {\r\n TargetOption: _.property(['targetOption'])(currentLocationSettings),\r\n TargetedLocationInfo: _.map(currentLocation, (location) => {\r\n if (location.CriterionType === LOCATION_CRITERION_TYPE.LOCATION) {\r\n return _.property(['Criterion', 'LocationCriterion'])(location);\r\n } else if (location.CriterionType === LOCATION_CRITERION_TYPE.RADIUS) {\r\n return _.property(['Criterion', 'RadiusCriterion'])(location);\r\n }\r\n return null;\r\n }),\r\n },\r\n Languages: currentLanguages,\r\n })}`);\r\n\r\n const isUrlEqual = _.isEqual(currentUrl, previousUrl);\r\n if (!isUrlEqual) {\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n previousUrl: currentUrl,\r\n });\r\n }\r\n\r\n const previousLocationNameTypeCombo = mapToLocationNameTypeCombo(previousLocation);\r\n const currentLocationNameTypeCombo = mapToLocationNameTypeCombo(currentLocation);\r\n const isLocationEqual = _.isEqual(currentLocationNameTypeCombo, previousLocationNameTypeCombo);\r\n if (!isLocationEqual) {\r\n const locationsNeedToAdd = _.difference(currentLocationNameTypeCombo, previousLocationNameTypeCombo);\r\n const locationsNeedToRemove = _.difference(previousLocationNameTypeCombo, currentLocationNameTypeCombo);\r\n const locationsAdded = _.filter(currentLocation, location => _.contains(locationsNeedToAdd, getTargetedLocationNameTypeCombo(location)));\r\n const locationsLeftedOver = _.filter(previousLocation, location => !_.contains(locationsNeedToRemove, getTargetedLocationNameTypeCombo(location)));\r\n currentLocation = locationsAdded.concat(locationsLeftedOver);\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n previousLocation: currentLocation,\r\n });\r\n }\r\n\r\n const isLanguagesEqual = _.isEqual(currentLanguages, previousLanguages);\r\n if (!isLanguagesEqual) {\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n previousLanguages: currentLanguages,\r\n });\r\n }\r\n\r\n if (!isUrlEqual || !isLocationEqual || !isLanguagesEqual) {\r\n const targetedLocationInfo = getTargetedLocationInfo(isLocationEqual ? previousLocation : currentLocation, permissions);\r\n const languages = getSupportedLanguages(isLanguagesEqual ? previousLanguages : currentLanguages, permissions);\r\n if ((currentUrl && !_.isEmpty(currentUrl.replace(/^(https?:\\/\\/)/, ''))) && !_.isEmpty(targetedLocationInfo) && !_.isEmpty(languages)) {\r\n onRequest();\r\n try {\r\n if (permissions && permissions.dynamic && permissions.dynamic.KeywordPlannerLiteRefactorPhase1) {\r\n getSearchIdea({\r\n model: getSearchIdeaModel({\r\n url: currentUrl,\r\n targetedLocationInfo,\r\n languages,\r\n }),\r\n isLanguageDecoupling: true,\r\n channel: CHANNEL_TYPES.CAMPAIGN_CREATION,\r\n }).then((rawData) => {\r\n if (rawData && rawData.data && rawData.data.value && _.first(rawData.data.value)) {\r\n log('onFetchRecommendationInSetting - has data');\r\n onSuccess(rawData);\r\n } else {\r\n log('onFetchRecommendationInSetting - no data');\r\n onFailed();\r\n }\r\n }).catch((error) => {\r\n log(`onFetchRecommendationInSetting - has error - ${JSON.stringify({\r\n ErrorStatus: error && error.status,\r\n })}`);\r\n onFailed();\r\n });\r\n } else {\r\n recommendateRequest({\r\n url: currentUrl,\r\n targetedLocationInfo,\r\n languages,\r\n }).then((rawData) => {\r\n if (rawData && rawData.value) {\r\n log('onFetchRecommendationInSetting - has data');\r\n onSuccess(rawData);\r\n } else {\r\n log('onFetchRecommendationInSetting - no data');\r\n onFailed();\r\n }\r\n }).catch((error) => {\r\n log(`onFetchRecommendationInSetting - has error - ${JSON.stringify({\r\n ErrorStatus: error && error.status,\r\n })}`);\r\n onFailed();\r\n });\r\n }\r\n } catch (error) {\r\n onFailed();\r\n }\r\n } else {\r\n onFailed();\r\n }\r\n }\r\n};\r\n","import _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport { useCallback, useContext, useMemo } from 'react';\r\nimport { useWizardService, WIZARD_EVENTS } from '@bingads-webui-react/wizard';\r\nimport {\r\n loadCampaign,\r\n saveCampaign,\r\n loadAdGroup,\r\n CAMPAIGN_NEGATIVE_REFERENCE_ID,\r\n loadBundleCountries,\r\n modelToViewModelForCampaign,\r\n readLocationCriterions,\r\n loadDisclaimerAssociations,\r\n} from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ActivityContext, ScenarioContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { ScopeContext } from '@bingads-webui-react/scope-service';\r\nimport { ServerContext } from '@bingads-webui-campaign-react/server-context';\r\nimport { globalizationModelSetup } from '@bingads-webui-campaign/ads-globalization';\r\nimport {\r\n getDefaultLanguage,\r\n updateLocationTargetsForCampaign,\r\n} from '@bingads-webui-campaign-react/search-campaign-wizard-controls';\r\nimport {\r\n useKeywordPlannerService,\r\n} from '@bingads-webui-campaign-react/keyword-planner-shared';\r\nimport {\r\n useKeywordSuggestion,\r\n} from '@bingads-webui-campaign-react/copilot-keyword-planner';\r\nimport { getBudgetRange } from '@bingads-webui-campaign-legacy/common-grid-config/budget/get-budget-range';\r\nimport { generateNameSuggestionSuffix } from '@bingads-webui-campaign/audience-campaign-shared';\r\nimport { handleKeywordSuggestionsWhenChanges, useSetKeywordSuggestionsData } from '../../shared/keyword-suggestion-util';\r\n\r\nconst defaultLocationTargets = {\r\n bidMode: false,\r\n currentLevelSettings: {\r\n initLocations: [],\r\n currentLocations: [],\r\n peopleInLocation: true,\r\n peopleSearchingForLocation: true,\r\n targetOption: 'bundle',\r\n },\r\n parentLevelSettings: {},\r\n useParentLevel: false,\r\n};\r\n\r\nconst getDefaultBudget = (serverContext) => {\r\n const defaultBudget = getBudgetRange(serverContext.CurrentAccount.CurrencyCode).Daily.Default;\r\n const USDefaultBudget = serverContext.Permissions.IsDefaultBudgetExperimentationEnabled ? 25 : 20;\r\n return {\r\n Amount: serverContext.CurrentAccount.CurrencyCode === 'USD' ? USDefaultBudget : defaultBudget,\r\n Type: 'DailyStandard',\r\n };\r\n};\r\n\r\nconst defaultConversionGoals = {\r\n goalScopeSelection: 'account-scope',\r\n goalSelection: [],\r\n originalConversionGoals: [],\r\n};\r\n\r\nconst defaultDisclaimer = {\r\n originalSelectedDisclaimer: null,\r\n selectedDisclaimer: null,\r\n};\r\n\r\nconst getDefaultCampaignSettings = serverContext => ({\r\n locationTargets: defaultLocationTargets,\r\n Budget: getDefaultBudget(serverContext),\r\n AutoGeneratedAssetsEnabled: false,\r\n conversionGoals: defaultConversionGoals,\r\n DisclaimerAdsEnabled: false,\r\n disclaimer: defaultDisclaimer,\r\n});\r\n\r\nconst defaultAdGroup = {\r\n Name: 'Ad Group 1',\r\n AdGroupType: 'SearchStandard',\r\n};\r\n\r\nconst defaultWebsites = [];\r\n\r\nexport const useCampaignSettingsRepository = () => {\r\n const i18n = useContext(I18nContext);\r\n const scenario = useContext(ScenarioContext);\r\n const activity = useContext(ActivityContext);\r\n const serverContext = useContext(ServerContext);\r\n\r\n const { scope } = useContext(ScopeContext) || {};\r\n const { cid, aid } = scope.values;\r\n\r\n const {\r\n CurrentLocale: locale,\r\n CurrentUser: { Market: market },\r\n DynamicPermissions,\r\n Permissions,\r\n } = serverContext;\r\n const permissions = useMemo(() => ({ dynamic: { ...DynamicPermissions }, ...Permissions }), [DynamicPermissions, Permissions]);\r\n const defaultName = generateNameSuggestionSuffix('Search-Campaign');\r\n const defaultLanguage = useMemo(() => getDefaultLanguage(permissions, locale), [permissions, locale]);\r\n\r\n const { state, send } = useWizardService();\r\n const {\r\n campaignId,\r\n adGroupId,\r\n websites: savedWebsites,\r\n } = state.context.wizardData;\r\n const { onRequest, onSuccess, onFailed } = useSetKeywordSuggestionsData({ send, permissions });\r\n\r\n const { getSearchIdea } = useKeywordPlannerService();\r\n\r\n let defaultAdgroupSettings = defaultAdGroup;\r\n if (permissions.IsDomesticSimplifiedChineseEnabled) {\r\n const { LANGUAGES: supportedLanguages } = globalizationModelSetup({ permissions, culture: locale });\r\n if (supportedLanguages.length !== 1) {\r\n activity.error('Feature changed!!! Please reconsider the default language setting of ad group');\r\n }\r\n defaultAdgroupSettings = {\r\n ...defaultAdgroupSettings,\r\n Language: supportedLanguages[0],\r\n };\r\n }\r\n\r\n const load = useCallback(() => {\r\n const loadPromises = {\r\n campaign: campaignId ? loadCampaign(cid, aid, campaignId) : Promise.resolve({ ...getDefaultCampaignSettings(serverContext), Name: defaultName, Languages: defaultLanguage }),\r\n adGroup: adGroupId ? loadAdGroup(cid, aid, campaignId, adGroupId) : Promise.resolve(defaultAdgroupSettings),\r\n locationTargets: campaignId ? readLocationCriterions(cid, aid, campaignId) : Promise.resolve(defaultLocationTargets),\r\n disclaimerAssociations: campaignId ? loadDisclaimerAssociations({ cid, aid, campaignId }) : Promise.resolve({ value: [] }),\r\n };\r\n\r\n return Promise.props(loadPromises)\r\n .then(async ({\r\n campaign: rawCampaign,\r\n adGroup,\r\n locationTargets,\r\n disclaimerAssociations,\r\n }) => {\r\n const bundleCountriesAndLocationCriterions = await loadBundleCountries({\r\n cid, aid, serverContext, language: rawCampaign.Languages,\r\n });\r\n\r\n const campaign = campaignId ? modelToViewModelForCampaign({\r\n campaignModel: rawCampaign,\r\n locationCriterionsModel: locationTargets ? locationTargets.value : [],\r\n bundleCountries: bundleCountriesAndLocationCriterions.bundleCountries,\r\n disclaimerAssociations: disclaimerAssociations ? disclaimerAssociations.value : [],\r\n }) : updateLocationTargetsForCampaign({\r\n campaign: rawCampaign,\r\n i18n,\r\n market,\r\n permissions,\r\n isInit: true,\r\n });\r\n\r\n return Promise.resolve({\r\n campaign,\r\n adGroup,\r\n ...bundleCountriesAndLocationCriterions,\r\n websites: savedWebsites || defaultWebsites,\r\n });\r\n })\r\n .catch((error) => {\r\n // eslint-disable-next-line no-console\r\n console.error(`Load campaign settings failed: ${error}`);\r\n activity.signal(`onCampaignSettingsLoadFailed - ${JSON.stringify({\r\n campaignId,\r\n error,\r\n })}`);\r\n return Promise.reject(error);\r\n });\r\n }, [activity, adGroupId, aid, campaignId, cid, defaultLanguage, defaultName, i18n, market, permissions, savedWebsites, serverContext]);\r\n\r\n const recommendateRequest = useKeywordSuggestion();\r\n const save = useCallback(({ data }) => {\r\n const {\r\n campaign,\r\n adGroup,\r\n bundleCountries,\r\n bundleLocationCriterions,\r\n websites,\r\n } = data;\r\n\r\n // This is for creation scenario only\r\n campaign.Status = 'Paused';\r\n\r\n if (!campaign.Id) {\r\n campaign.Id = CAMPAIGN_NEGATIVE_REFERENCE_ID;\r\n campaign.AdGroups = [{ ...adGroup, Campaign: { Id: CAMPAIGN_NEGATIVE_REFERENCE_ID } }];\r\n }\r\n\r\n // handle early getsuggested keywords api call to improve performance\r\n handleKeywordSuggestionsWhenChanges({\r\n currentUrl: websites && websites[0],\r\n currentLocationSettings: _.property(['locationTargets', 'currentLevelSettings'])(campaign),\r\n currentLanguages: campaign && campaign.Languages,\r\n previousUrl: state.context.wizardData.previousUrl || [],\r\n previousLocation: state.context.wizardData.previousLocation || [],\r\n previousLanguages: state.context.wizardData.previousLanguages || [],\r\n bundleLocationCriterions,\r\n activity,\r\n onRequest,\r\n onSuccess,\r\n onFailed,\r\n recommendateRequest,\r\n getSearchIdea,\r\n send,\r\n permissions,\r\n });\r\n\r\n const saveCampaignPromise = () => saveCampaign({\r\n campaign,\r\n bundleCountries,\r\n bundleLocationCriterions,\r\n websites,\r\n }, {\r\n scenario: scenario.name,\r\n i18n,\r\n activityLogger: activity,\r\n });\r\n\r\n return saveCampaignPromise()\r\n .then((result) => {\r\n const campaignResult = _.omit(result.campaign, 'AdGroups');\r\n // This condition is to handle update scenario, which won't return the adGroup in bulk response\r\n const adGroupResult = adGroupId ? adGroup : result.campaign.AdGroups[0];\r\n\r\n // Only record the campaignId when creating a new campaign\r\n if (campaign.Id < 0) {\r\n activity.signal(`onSaveCampaignSucceeded - ${campaignId}`);\r\n }\r\n\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n campaignId: Number(campaignResult.Id),\r\n campaignName: campaignResult.Name,\r\n adGroupId: Number(adGroupResult.Id),\r\n websites,\r\n });\r\n\r\n return Promise.resolve({\r\n campaign: campaignResult,\r\n adGroup: adGroupResult,\r\n websites,\r\n });\r\n })\r\n .catch((error) => {\r\n const {\r\n serverErrors = [],\r\n systemErrors = [],\r\n } = error || {};\r\n\r\n // eslint-disable-next-line no-console\r\n console.error(`Save campaign settings failed: ${error}`);\r\n activity.signal(`onCampaignSettingsSaveFailed - ${JSON.stringify({\r\n data,\r\n error,\r\n })}`);\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n error: {\r\n serverErrors: _.flatten(serverErrors.filter(val => val !== null)),\r\n systemErrors: _.flatten(systemErrors.filter(val => val !== null)),\r\n },\r\n });\r\n });\r\n }, [activity, adGroupId, campaignId, i18n, onFailed, onRequest, onSuccess, recommendateRequest, scenario.name, send, state.context.wizardData.previousLanguages, state.context.wizardData.previousLocation, state.context.wizardData.previousUrl, getSearchIdea, permissions]);\r\n\r\n return {\r\n load,\r\n save,\r\n };\r\n};\r\n","/* eslint-disable no-useless-escape */\r\nimport _ from 'underscore';\r\n\r\nexport const maxKeywordLength = 100;\r\nexport const maxKeywords = 1000;\r\n\r\nexport const peekKeywords = ({ keywordsTextarealVal, isNegativeKeyword = false, activity }) => {\r\n let newKeywords = keywordsTextarealVal;\r\n if (!_.isString(newKeywords) || _.isEmpty(newKeywords) || _.isEmpty(newKeywords.replace(/[,\\s]+/, ''))) {\r\n return [];\r\n }\r\n const splitChar = ',';\r\n\r\n // Trim white space and commas from the beginning and end of the input string\r\n newKeywords = newKeywords.replace(/((^[,\\s]+)|([,\\s]+$))/g, '');\r\n // Trim extra whitespace and commas from before and after each keyword\r\n if (isNegativeKeyword) {\r\n // keywords with commas should not be split into multiple keywords\r\n newKeywords = newKeywords.replace(',', '%2C');\r\n } else if (newKeywords.indexOf(',') >= 0 && activity) {\r\n activity.signal(`User has comma in keywords input - ${JSON.stringify({\r\n KeywordsInput: newKeywords,\r\n })}`);\r\n }\r\n newKeywords = newKeywords.replace(/([,\\s]*[\\n\\r\\,]+[,\\s]*)/g, splitChar);\r\n // Remove extra spaces at the beginning or end of match type brackets\r\n newKeywords = newKeywords.replace(/[\\t ]+(?=\\]|\\)|\\\")/g, '');\r\n newKeywords = newKeywords.replace(/(\\[|\\(|\\\")[\\t ]+/g, '$1');\r\n // Remove extra spaces or tabs within compound keywords (ex: 'car insurance')\r\n newKeywords = newKeywords.replace(/\\s+/g, ' ');\r\n\r\n let keywords = newKeywords.split(splitChar);\r\n\r\n if (isNegativeKeyword) {\r\n keywords = _.map(keywords, keyword => keyword.replace('%2C', ','));\r\n }\r\n\r\n return keywords;\r\n};\r\n\r\nconst isKeywordsValid = (parsedKeywords, i18n) => {\r\n const keywords = parsedKeywords;\r\n\r\n if (!keywords.length > 0) {\r\n return {\r\n valid: false,\r\n error: [i18n.getString(_TL_('You haven\\'t entered any keywords.'))],\r\n };\r\n }\r\n\r\n if (keywords.length > maxKeywords) {\r\n return {\r\n valid: false,\r\n error: [i18n.getString(_TL_('You can\\'t add more than {0} keywords at a time.')).replace('{0}', maxKeywords)],\r\n };\r\n }\r\n\r\n const message = [];\r\n _.each(keywords, (keyword) => {\r\n let text = keyword;\r\n\r\n if (/^\".*\"$/.test(text)) {\r\n text = text.replace(/\\\"/g, '');\r\n } else if (/^\\[.*\\]$/.test(text)) {\r\n text = text.replace(/(\\[|\\])/g, '');\r\n } else if (/^\\(.*\\)$/.test(text)) {\r\n text = text.replace(/\\(|\\)/g, '');\r\n }\r\n\r\n if (_.size(text) > maxKeywordLength) {\r\n const truncatedKeyword = _.escape(`${text.substring(0, 100)}...`);\r\n const limitErrorMessage = i18n.getString(_TL_('Keyword cannot have more than {0} characters.')).replace('{0}', maxKeywordLength);\r\n message.push(i18n.getString(_TL_('{0}: {1}'))\r\n .replace('{0}', truncatedKeyword)\r\n .replace('{1}', limitErrorMessage));\r\n }\r\n });\r\n\r\n if (_.isArray(message) && _.size(message) > 0) {\r\n return {\r\n valid: false,\r\n error: message,\r\n };\r\n }\r\n\r\n return {\r\n valid: true,\r\n error: [],\r\n };\r\n};\r\n\r\nexport const getUniqueParsedKeywords = (keywords) => {\r\n if (_.size(keywords) > 0) {\r\n return _.unique(keywords, false, keyword => keyword.toLowerCase());\r\n // DB's duplicate validation is case-insensitive\r\n }\r\n return [];\r\n};\r\n\r\nexport const parseKeywords =\r\n ({\r\n keywordsTextarealVal,\r\n i18n,\r\n isNegativeKeyword = false,\r\n activity,\r\n }) => {\r\n const newKeywords = peekKeywords({ keywordsTextarealVal, isNegativeKeyword, activity });\r\n\r\n return {\r\n keywords: newKeywords,\r\n uniqKeywords: getUniqueParsedKeywords(newKeywords),\r\n validResult: isKeywordsValid(newKeywords, i18n),\r\n };\r\n };\r\n\r\nexport const parseKeyword = (text) => {\r\n let matchType = '';\r\n let keyword = text;\r\n\r\n if (/^\".*\"$/.test(text)) {\r\n keyword = text.replace(/\\\"/g, '');\r\n matchType = 'Phrase';\r\n } else if (/^\\[.*\\]$/.test(text)) {\r\n keyword = text.replace(/(\\[|\\])/g, '');\r\n matchType = 'Exact';\r\n } else {\r\n matchType = 'Broad';\r\n }\r\n\r\n return {\r\n Text: keyword,\r\n MatchType: matchType,\r\n };\r\n};\r\n","import { getStepStyles } from '../../../shared/styles';\r\n\r\nexport const getkeywordStepStyles = () => ({\r\n keywordsStep: {\r\n ...getStepStyles(),\r\n },\r\n});\r\n","import React from 'react';\r\nimport { Stack, Shimmer } from '@fluentui/react';\r\n\r\nexport const SectionShimmer = () => (\r\n \r\n \r\n \r\n \r\n \r\n);\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nexport const getkeywordSuggestionStyles = (_, { palette = {} }) => ({\r\n keywordSuggestionContainer: {\r\n marginTop: 24,\r\n },\r\n});\r\n\r\nconst getKeywordSuggestionFooterButtonStyle = (_, { palette }) => ({\r\n rootHovered: {\r\n color: palette.white,\r\n backgroundColor: palette.themePrimary,\r\n },\r\n rootDisabled: {\r\n backgroundColor: palette.neutralLighter,\r\n color: palette.neutralTertiary,\r\n },\r\n textContainer: {\r\n overflow: 'hidden',\r\n },\r\n iconDisabled: {\r\n color: palette.neutralTertiaryAlt,\r\n },\r\n iconHovered: {\r\n color: palette.white,\r\n },\r\n});\r\n\r\nexport const getAddAllButtonStyle = (_, { palette }) => ({\r\n ...getKeywordSuggestionFooterButtonStyle(_, { palette }),\r\n root: {\r\n height: 32,\r\n padding: '0px 12px',\r\n border: '1px solid #D1D1D1',\r\n borderRadius: 4,\r\n color: palette.neutralPrimary,\r\n maxWidth: '100%', // Needed for the button to not overflow its container, truncate text instead\r\n },\r\n flexContainer: {\r\n '& i': {\r\n color: '#0078D4',\r\n },\r\n },\r\n flexContainerHovered: {\r\n color: palette.white,\r\n },\r\n label: {\r\n fontWeight: 600,\r\n overflow: 'hidden',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n lineHeight: 'unset',\r\n },\r\n});\r\n\r\nexport const getExploreKeywordsButtonStyle = (_, { palette }, isSuggestedItemsEmpty) => ({\r\n ...getKeywordSuggestionFooterButtonStyle(_, { palette }),\r\n root: {\r\n height: 32,\r\n padding: '0px 12px',\r\n border: '1px solid #D1D1D1',\r\n borderRadius: 4,\r\n color: palette.neutralPrimary,\r\n maxWidth: '100%', // Needed for the button to not overflow its container, truncate text instead\r\n ...isSuggestedItemsEmpty ? { position: 'absolute', right: 20 } : {},\r\n },\r\n flexContainer: {\r\n '& i': {\r\n marginBottom: 9,\r\n },\r\n },\r\n label: {\r\n fontWeight: 600,\r\n overflow: 'hidden',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n lineHeight: 'unset',\r\n marginBottom: 2,\r\n },\r\n});\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useContext, useEffect, useState } from 'react';\r\nimport _ from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport {\r\n SuggestedItems,\r\n SuggestedItem,\r\n} from '@bingads-webui-campaign-react/pill-item-components';\r\nimport { useTheme } from 'react-jss';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { Stack } from '@fluentui/react';\r\nimport { DefaultButton } from '@bingads-webui-react/fabric-with-signal';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { SparkleImgSVGIcon, SparkleImgIcon } from '@bingads-webui-campaign-react/sparkle-icon';\r\nimport {\r\n TextTitle,\r\n} from '@bingads-webui-campaign/wizard-jumbo-card';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\n\r\nimport { SectionShimmer } from './section-shimmer';\r\nimport { useCircularBufferView } from './util/use-circular-buffer-view';\r\nimport { getkeywordSuggestionStyles, getAddAllButtonStyle, getExploreKeywordsButtonStyle } from './style/keyword-suggestion-style';\r\n\r\nexport const MAX_INLINE_RECOMMENDATIONS_PER_PAGE = 13;\r\n\r\nexport const KeywordSuggestion = (props) => {\r\n const activity = useContext(ActivityContext);\r\n const classes = useDefaultStyles(getkeywordSuggestionStyles);\r\n const theme = useTheme();\r\n const { components, core } = theme;\r\n const i18n = useContext(I18nContext);\r\n const {\r\n renderSuggestedItem,\r\n onAddSuggestedItem,\r\n renderMoreSuggestionsInlineButton,\r\n onAddAllSuggestedItems,\r\n onMoreSuggestionsButtonClick,\r\n disableAllSuggestions,\r\n disabledSuggestionTooltip,\r\n useStyleFluent2,\r\n suggestedItems,\r\n showSuggestionsSectionShimmer,\r\n perfMarker,\r\n } = props;\r\n\r\n const [availableSuggestedItems, canMoveNext, moveNext] = useCircularBufferView(suggestedItems, MAX_INLINE_RECOMMENDATIONS_PER_PAGE);\r\n const isAvailableSuggestedItemsEmpty = _.isEmpty(availableSuggestedItems);\r\n const suggestedItemsFooter = useMemo(() => (\r\n <>\r\n \r\n onAddAllSuggestedItems(availableSuggestedItems, activity)}\r\n useStyleFluent2={useStyleFluent2}\r\n useCustomStyle\r\n getCustomStyle={getAddAllButtonStyle}\r\n />\r\n onMoreSuggestionsButtonClick(activity)}\r\n iconProps={{ iconName: SparkleImgSVGIcon }}\r\n title={i18n.getString(_TL_('Explore keywords'))}\r\n name=\"Explore keywords\"\r\n allowDisabledFocus\r\n >\r\n {i18n.getString(_TL_('Explore keywords'))}\r\n \r\n \r\n \r\n ), [\r\n onAddAllSuggestedItems,\r\n onMoreSuggestionsButtonClick,\r\n i18n,\r\n useStyleFluent2,\r\n components,\r\n core,\r\n availableSuggestedItems,\r\n activity,\r\n ]);\r\n\r\n const emptySuggestedItemsView = useMemo(() => (\r\n <>\r\n \r\n \r\n onMoreSuggestionsButtonClick(activity)}\r\n title={i18n.getString(_TL_('Explore keywords'))}\r\n name=\"Explore keywords\"\r\n allowDisabledFocus\r\n >\r\n {i18n.getString(_TL_('Explore keywords'))}\r\n \r\n \r\n \r\n ), [\r\n onMoreSuggestionsButtonClick,\r\n i18n,\r\n components,\r\n core,\r\n isAvailableSuggestedItemsEmpty,\r\n activity,\r\n ]);\r\n\r\n const sectionContent = useMemo(() => (\r\n !isAvailableSuggestedItemsEmpty ?\r\n :\r\n <>\r\n {emptySuggestedItemsView && emptySuggestedItemsView}\r\n \r\n ), [\r\n availableSuggestedItems,\r\n canMoveNext,\r\n moveNext,\r\n renderSuggestedItem,\r\n onAddSuggestedItem,\r\n renderMoreSuggestionsInlineButton,\r\n suggestedItemsFooter,\r\n disableAllSuggestions,\r\n disabledSuggestionTooltip,\r\n useStyleFluent2,\r\n emptySuggestedItemsView,\r\n isAvailableSuggestedItemsEmpty,\r\n activity,\r\n ]);\r\n\r\n useState(() => {\r\n perfMarker.willInit();\r\n });\r\n\r\n useEffect(() => {\r\n if (!showSuggestionsSectionShimmer) {\r\n perfMarker.done();\r\n }\r\n }, [showSuggestionsSectionShimmer, perfMarker]);\r\n\r\n return (\r\n
\r\n {showSuggestionsSectionShimmer ?\r\n :\r\n <>\r\n {sectionContent && sectionContent}\r\n \r\n }\r\n
\r\n );\r\n};\r\n\r\nKeywordSuggestion.propTypes = {\r\n suggestedItems: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n showSuggestionsSectionShimmer: PropTypes.bool.isRequired,\r\n onAddSuggestedItem: PropTypes.func.isRequired,\r\n renderSuggestedItem: PropTypes.func,\r\n renderMoreSuggestionsInlineButton: PropTypes.func,\r\n onAddAllSuggestedItems: PropTypes.func,\r\n onMoreSuggestionsButtonClick: PropTypes.func,\r\n disableAllSuggestions: PropTypes.bool,\r\n disabledSuggestionTooltip: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.element,\r\n PropTypes.arrayOf(PropTypes.element),\r\n ]),\r\n useStyleFluent2: PropTypes.bool,\r\n perfMarker: PropTypes.shape({\r\n willInit: PropTypes.func.isRequired,\r\n done: PropTypes.func.isRequired,\r\n }).isRequired,\r\n};\r\n\r\nKeywordSuggestion.defaultProps = {\r\n renderSuggestedItem: SuggestedItems.defaultProps.renderSuggestedItem,\r\n renderMoreSuggestionsInlineButton: SuggestedItems.defaultProps.renderMoreSuggestionsInlineButton,\r\n onAddAllSuggestedItems: _.noop,\r\n onMoreSuggestionsButtonClick: _.noop,\r\n disableAllSuggestions: false,\r\n disabledSuggestionTooltip: undefined,\r\n useStyleFluent2: true,\r\n};\r\n","import { useCallback, useEffect, useState, useContext } from 'react';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\n\r\nexport const useCircularBufferView = (collection, pageSize) => {\r\n const activity = useContext(ActivityContext);\r\n const [page, setPage] = useState([]);\r\n const [currentIndex, setCurrentIndex] = useState(0);\r\n\r\n useEffect(() => {\r\n if (collection.length === 0) {\r\n setPage([]);\r\n return;\r\n }\r\n\r\n const newPage = [];\r\n let index = currentIndex % collection.length;\r\n let count = 0;\r\n while (count < pageSize && count < collection.length) {\r\n newPage.push(collection[index]);\r\n index = (index + 1) % collection.length;\r\n count += 1;\r\n }\r\n setPage(newPage);\r\n }, [collection, currentIndex, pageSize]);\r\n\r\n const canMoveNext = collection.length > pageSize;\r\n\r\n const moveNext = useCallback(() => {\r\n setCurrentIndex((currentIndex + pageSize) % collection.length);\r\n // eslint-disable-next-line no-unused-expressions\r\n activity && activity.signal(`onRefreshMainPageSuggestedKeywords - ${JSON.stringify({\r\n SuggestedKeywordsSize: collection.length,\r\n })}`);\r\n }, [currentIndex, collection.length, pageSize, activity]);\r\n\r\n return [page, canMoveNext, moveNext];\r\n};\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nexport const getKeywordInputStyles = (_, { palette = {} }) => ({\r\n keywordInputContainer: {\r\n width: 928,\r\n },\r\n filed: {\r\n marginTop: 20,\r\n },\r\n labelContainer: {\r\n marginBottom: 8,\r\n },\r\n helpLink: {\r\n marginLeft: 5,\r\n },\r\n textArea: {\r\n height: 220,\r\n },\r\n});\r\n\r\nexport const messageBarStyle = {\r\n root: {\r\n background: '#eff6fc',\r\n '& span.iconba-Insights': {\r\n fontSize: '16px',\r\n top: 0,\r\n color: '#0078D4',\r\n },\r\n },\r\n innerText: {\r\n lineHeight: 21,\r\n },\r\n};\r\n","import _ from 'underscore';\r\nimport { parseKeywords } from './parser';\r\n\r\nexport const suggestedKeywordItemsToKeywordsInput = (suggestedKeywordItems) => {\r\n if (_.isEmpty(suggestedKeywordItems)) {\r\n return '';\r\n }\r\n\r\n let suggestedKeywords = '';\r\n _.each(suggestedKeywordItems, (suggestedKeywordItem, index) => {\r\n suggestedKeywords = `${suggestedKeywords}${index === 0 ? '' : '\\n'}${suggestedKeywordItem.Keyword}`;\r\n });\r\n\r\n return suggestedKeywords;\r\n};\r\n\r\nexport const withNewAddedKeywords = ({ keywordsInput, newAddedKeywords }) => (\r\n _.isEmpty(keywordsInput) ? newAddedKeywords : `${keywordsInput}\\n${newAddedKeywords}`\r\n);\r\n\r\nexport const filterExistingKeywords = ({\r\n keywordSuggestions,\r\n keywordsInput,\r\n i18n,\r\n}) => {\r\n let { uniqKeywords } = parseKeywords({\r\n keywordsTextarealVal: keywordsInput,\r\n i18n,\r\n });\r\n uniqKeywords = uniqKeywords.reduce((parsedKeywordsObj, keywordText) => ({\r\n ...parsedKeywordsObj,\r\n [keywordText]: keywordText,\r\n }), {});\r\n return _.filter(keywordSuggestions, suggestedKeywordItem => _.isUndefined(uniqKeywords[suggestedKeywordItem.Keyword]));\r\n};\r\n\r\nexport const getKeywordsAdded = ({ keywordSuggestions, suggestedItems }) => {\r\n const suggestedItemsDict = suggestedItems.reduce((parsedKeywordsObj, suggestedItem) => ({\r\n ...parsedKeywordsObj,\r\n [suggestedItem.itemText]: suggestedItem.itemText,\r\n }), {});\r\n return _.filter(keywordSuggestions, suggestedKeywordItem => !_.isUndefined(suggestedItemsDict[suggestedKeywordItem.Keyword]));\r\n};\r\n","import React, { useContext, useMemo, useCallback, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport _ from 'underscore';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { ValidationGroup, withError, withCustomValidation, ErrorMessages } from '@bingads-webui-react/validation';\r\nimport { ActuationGroup } from '@bingads-webui-campaign-react/actuator';\r\nimport { AttentionBeaconGroup } from '@bingads-webui-campaign-react/attention-beacon';\r\nimport { FormErrorGroup, UnmappedFormErrors, entityIs } from '@bingads-webui-campaign-react/form-error';\r\nimport { useFormService } from '@bingads-webui-react/form';\r\nimport { ValidationStringMap } from '@bingads-webui/validation-string-map';\r\nimport { buildLegacyI18n } from '@bingads-webui/build-legacy-i18n';\r\nimport {\r\n Collapse,\r\n useCollapseState,\r\n ValidatedFixedPanel,\r\n getPanelErrorProps,\r\n TextTitle,\r\n} from '@bingads-webui-campaign/wizard-jumbo-card';\r\nimport {\r\n KeywordPlannerPanel,\r\n getTargetedLocationInfo,\r\n getSupportedLanguages,\r\n isAllLocationsUnsupported,\r\n} from '@bingads-webui-campaign-react/copilot-keyword-planner';\r\nimport { useWizardService } from '@bingads-webui-react/wizard';\r\nimport { withControlErrorHandling, withUnvalidatedControlErrors } from '@bingads-webui-campaign-react/error-handling';\r\nimport { ERROR_ENTITY } from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { ServerContext } from '@bingads-webui-campaign-react/server-context';\r\n\r\nimport { parseKeywords } from './util/parser';\r\nimport { getkeywordStepStyles } from './style/keyword-step-style';\r\nimport { StepHeader } from '../../shared/step-header';\r\nimport { KeywordSuggestion } from './keyword-suggestion';\r\nimport { KeywordInput } from './keyword-input';\r\nimport KeywordImg from './media/keyword.svg';\r\nimport {\r\n suggestedKeywordItemsToKeywordsInput,\r\n withNewAddedKeywords,\r\n filterExistingKeywords,\r\n getKeywordsAdded,\r\n} from './util/keyword-parse-helper';\r\n\r\nconst keywordsProp = entityIs(ERROR_ENTITY.Keyword);\r\nconst ValidatedKeywordInput = withControlErrorHandling(withUnvalidatedControlErrors(withError(withCustomValidation(KeywordInput))));\r\n\r\nexport const KeywordsStep = ({\r\n data,\r\n onDataChange,\r\n error,\r\n wizardPerfMarker,\r\n}) => {\r\n const {\r\n serverErrors = [],\r\n systemErrors = [],\r\n } = error || {};\r\n\r\n const i18n = useContext(I18nContext);\r\n const legacyI18n = useMemo(() => buildLegacyI18n(i18n, [ValidationStringMap]), [i18n]);\r\n const classes = useDefaultStyles(getkeywordStepStyles);\r\n const { state: { context: { saveFailed: showAllValidationErrors } } } = useFormService();\r\n const keywordSuggestionPerfMarker = useMemo(() =>\r\n wizardPerfMarker.createChild('KeywordSuggestion', { autoEnd: true }), [wizardPerfMarker]);\r\n const {\r\n Permissions,\r\n DynamicPermissions,\r\n } = useContext(ServerContext);\r\n const permissions = useMemo(() => ({ dynamic: { ...DynamicPermissions }, ...Permissions }), [DynamicPermissions, Permissions]);\r\n\r\n // props data\r\n const {\r\n Languages,\r\n locationCriterions,\r\n keywordsInput,\r\n validationResult,\r\n keywordSuggestionsAdded,\r\n } = data || {};\r\n\r\n // wizard data\r\n const { state } = useWizardService();\r\n const {\r\n keywordSuggestions,\r\n } = state.context.wizardData;\r\n\r\n\r\n // local state\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [\r\n allCampaignSettingsSections,\r\n campaignSettingsExpandedSections,\r\n setCampaignSettingsExpandedSections,\r\n ] = useCollapseState(\r\n ['keyword-suggestion', 'keyword-input'] /* all sections */,\r\n ['keyword-suggestion', 'keyword-input'] /* initially expanded sections */\r\n );\r\n\r\n const targetedLocationInfo = useMemo(() => getTargetedLocationInfo(locationCriterions, permissions), [locationCriterions, permissions]);\r\n const supportedLanguages = useMemo(() => getSupportedLanguages(Languages, permissions), [Languages, permissions]);\r\n const hideKeywordSuggestions = useMemo(() => ((permissions && permissions.dynamic && permissions.dynamic.KeywordPlannerLiteRefactorPhase1) ?\r\n _.isEmpty(targetedLocationInfo) : isAllLocationsUnsupported(targetedLocationInfo)) || _.isEmpty(supportedLanguages), [\r\n targetedLocationInfo,\r\n supportedLanguages,\r\n permissions,\r\n ]);\r\n const filteredKeywordSuggestions = useMemo(() => (filterExistingKeywords({\r\n keywordSuggestions,\r\n keywordsInput,\r\n i18n,\r\n })), [\r\n keywordSuggestions,\r\n keywordsInput,\r\n i18n,\r\n ]);\r\n\r\n // handle adding keywords\r\n const onAddKeywords = useCallback((rawKeywordsInput, keywordsAdded, activity) => {\r\n const { validResult } = parseKeywords({\r\n keywordsTextarealVal: rawKeywordsInput,\r\n i18n,\r\n activity,\r\n });\r\n onDataChange({\r\n data: {\r\n ...data,\r\n keywordsInput: rawKeywordsInput,\r\n validationResult: validResult,\r\n keywordSuggestionsAdded: [...keywordSuggestionsAdded, ...keywordsAdded],\r\n },\r\n isValid: validResult.valid,\r\n });\r\n }, [\r\n onDataChange,\r\n i18n,\r\n data,\r\n keywordSuggestionsAdded,\r\n ]);\r\n\r\n const onKeywordInputChanged = useCallback((rawKeywordsInput, activity) => {\r\n onAddKeywords(rawKeywordsInput, [], activity);\r\n }, [onAddKeywords]);\r\n\r\n const onAddSuggestedItem = useCallback((index, text, activity) => {\r\n onAddKeywords(withNewAddedKeywords({\r\n keywordsInput,\r\n newAddedKeywords: text,\r\n }), getKeywordsAdded({ keywordSuggestions: filteredKeywordSuggestions, suggestedItems: [{ itemText: text }] }));\r\n // eslint-disable-next-line no-unused-expressions\r\n activity && activity.signal(`onAddMainPageSuggestedKeyword - ${JSON.stringify({\r\n SuggestedKeyword: [text],\r\n })}`);\r\n }, [keywordsInput, onAddKeywords, filteredKeywordSuggestions]);\r\n\r\n const onAddAllSuggestedItems = useCallback((suggestedItems, activity) => {\r\n const keywordsAdded = getKeywordsAdded({ keywordSuggestions: filteredKeywordSuggestions, suggestedItems });\r\n onAddKeywords(withNewAddedKeywords({\r\n keywordsInput,\r\n newAddedKeywords: suggestedKeywordItemsToKeywordsInput(keywordsAdded),\r\n }), keywordsAdded);\r\n // eslint-disable-next-line no-unused-expressions\r\n activity && activity.signal(`onAddAllMainPageSuggestedKeywords - ${JSON.stringify({\r\n SuggestedKeywords: _.map(suggestedItems, item => item.itemText),\r\n })}`);\r\n }, [keywordsInput, onAddKeywords, filteredKeywordSuggestions]);\r\n\r\n const onToggle = (selectedData, selectedTab, activity) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n activity && activity.signal(`onAddKeywordsFromSidePanel - ${JSON.stringify({\r\n SelectedKeywords: selectedData,\r\n Tab: selectedTab,\r\n })}`);\r\n const filteredSelectedData = filterExistingKeywords({\r\n keywordSuggestions: selectedData,\r\n keywordsInput,\r\n i18n,\r\n });\r\n if (!_.isEmpty(filteredSelectedData)) {\r\n onAddKeywords(withNewAddedKeywords({\r\n keywordsInput,\r\n newAddedKeywords: suggestedKeywordItemsToKeywordsInput(filteredSelectedData),\r\n }), selectedData);\r\n }\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const onMoreSuggestionsButtonClick = (activity) => {\r\n setIsOpen(true);\r\n // eslint-disable-next-line no-unused-expressions\r\n activity && activity.signal('onClickExploreButton');\r\n };\r\n\r\n // components\r\n const keywordsSection = useMemo(() => {\r\n const keywordSuggestionPanel = hideKeywordSuggestions ? null : (\r\n \r\n \r\n ({ itemText: keyword.Keyword, key: keyword.Keyword }))}\r\n perfMarker={keywordSuggestionPerfMarker}\r\n />\r\n \r\n );\r\n\r\n const keywordInputPanel = (\r\n }\r\n attentionBeaconProps={{ getExtraProps: getPanelErrorProps }}\r\n >\r\n \r\n \r\n );\r\n\r\n const keywords = [\r\n keywordSuggestionPanel,\r\n keywordInputPanel,\r\n ];\r\n\r\n return (\r\n
\r\n \r\n { keywords }\r\n \r\n
\r\n );\r\n }, [\r\n allCampaignSettingsSections,\r\n campaignSettingsExpandedSections,\r\n setCampaignSettingsExpandedSections,\r\n keywordsInput,\r\n onAddAllSuggestedItems,\r\n onAddSuggestedItem,\r\n onKeywordInputChanged,\r\n validationResult,\r\n keywordSuggestions,\r\n keywordSuggestionPerfMarker,\r\n hideKeywordSuggestions,\r\n filteredKeywordSuggestions,\r\n ]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n { keywordsSection }\r\n {isOpen &&\r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nKeywordsStep.propTypes = {\r\n data: PropTypes.shape({}).isRequired,\r\n onDataChange: PropTypes.func.isRequired,\r\n error: PropTypes.shape({\r\n serverErrors: PropTypes.arrayOf(PropTypes.shape({})),\r\n systemErrors: PropTypes.arrayOf(PropTypes.shape({})),\r\n }),\r\n wizardPerfMarker: PropTypes.shape({\r\n createChild: PropTypes.func.isRequired,\r\n }).isRequired,\r\n};\r\n\r\nKeywordsStep.defaultProps = {\r\n error: null,\r\n};\r\n","import React, { useContext, useEffect, useMemo } from 'react';\r\nimport _ from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { Textarea, Field, Text } from '@fluentui/react-components';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { MessageBar } from '@fluentui/react';\r\nimport { HelpLink } from '@bingads-webui-react/help-link';\r\nimport { ActivityContext } from '@bingads-webui-react/hoc-with-signal';\r\n\r\nimport { getKeywordInputStyles, messageBarStyle } from './style/keyword-input-style';\r\nimport { parseKeywords } from './util/parser';\r\n\r\nexport const KeywordInput = (props) => {\r\n const activity = useContext(ActivityContext);\r\n const classes = useDefaultStyles(getKeywordInputStyles);\r\n const i18n = useContext(I18nContext);\r\n\r\n const {\r\n keywordsInput,\r\n onKeywordInputChanged,\r\n updateValidation,\r\n validationResult,\r\n } = props;\r\n\r\n const showMessageBar = useMemo(() => {\r\n const { uniqKeywords } = parseKeywords({\r\n keywordsTextarealVal: keywordsInput,\r\n i18n,\r\n });\r\n\r\n return uniqKeywords.length < 20;\r\n }, [\r\n keywordsInput,\r\n i18n,\r\n ]);\r\n\r\n useEffect(() => {\r\n const { error, valid } = validationResult;\r\n updateValidation(!_.isEmpty(error) ? error : [], { custom: valid });\r\n }, [validationResult, updateValidation]);\r\n\r\n return (\r\n <>\r\n {showMessageBar && (\r\n \r\n {i18n.getString(_TL_('Add 20 or more keywords to improve ad performance.'))}\r\n \r\n )}\r\n (\r\n
\r\n {i18n.getString(_TL_('Not sure which match type to use or how to add negative keywords?'))}\r\n \r\n {i18n.getString(_TL_('Learn more'))}\r\n \r\n
\r\n ),\r\n }}\r\n className={classes.filed}\r\n >\r\n onKeywordInputChanged(e.target.value, activity)}\r\n className={classNames(classes.textArea, 'keyword-input-textarea')}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nKeywordInput.propTypes = {\r\n keywordsInput: PropTypes.string.isRequired,\r\n onKeywordInputChanged: PropTypes.func.isRequired,\r\n validationResult: PropTypes.shape({\r\n error: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n valid: PropTypes.bool.isRequired,\r\n }).isRequired,\r\n updateValidation: PropTypes.func.isRequired,\r\n};\r\n","import { useCallback, useContext } from 'react';\r\nimport _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport { useWizardService, WIZARD_EVENTS } from '@bingads-webui-react/wizard';\r\nimport {\r\n saveKeyword,\r\n loadKeywords,\r\n getKeyFromKeyword,\r\n} from '@bingads-webui-campaign-react/search-campaign-data';\r\nimport { I18nContext } from '@bingads-webui-react/i18n-context';\r\nimport { ActivityContext, ScenarioContext } from '@bingads-webui-react/hoc-with-signal';\r\nimport { ScopeContext } from '@bingads-webui-react/scope-service';\r\n\r\nimport { parseKeywords, parseKeyword, maxKeywords } from './util/parser';\r\n\r\nconst savedKeywords = {};\r\nconst updateSavedKeywords = (entity, keywordSuggestionsAdded, activity) => {\r\n if (entity && entity.Keywords) {\r\n const successfulKeywords = _.filter(entity.Keywords, keyword => keyword.Id);\r\n const newlyCreatedKeywords = [];\r\n _.each(successfulKeywords, (keyword) => {\r\n const key = getKeyFromKeyword(keyword);\r\n if (keyword.Status === 'Deleted') {\r\n delete savedKeywords[key];\r\n } else {\r\n savedKeywords[key] = keyword;\r\n newlyCreatedKeywords.push(keyword.Text);\r\n }\r\n });\r\n const numberOfCreatedKeywords = _.size(newlyCreatedKeywords);\r\n if (numberOfCreatedKeywords > 0) {\r\n const keywordsImportedFromPlanner = _.filter(keywordSuggestionsAdded, suggestedKeyword => _.indexOf(newlyCreatedKeywords, suggestedKeyword.Keyword) !== -1);\r\n // eslint-disable-next-line no-unused-expressions\r\n activity && activity.signal(`${JSON.stringify({\r\n keywordsCreated: numberOfCreatedKeywords,\r\n campaignId: entity && entity.Campaign && entity.Campaign.Id,\r\n adGroupId: entity.Id,\r\n suggestionsUsed: _.size(keywordsImportedFromPlanner),\r\n detailedSuggestionsUsed: _.chain(keywordsImportedFromPlanner)\r\n .groupBy(keyword => keyword.RequestId)\r\n .mapObject(reqGroup => _.pluck(reqGroup, 'Keyword'))\r\n .value(),\r\n })}`, 'createKeyword/updateViewModels');\r\n return true;\r\n }\r\n return false;\r\n }\r\n return false;\r\n};\r\n\r\nexport const useKeywordsRepository = () => {\r\n const i18n = useContext(I18nContext);\r\n const scenario = useContext(ScenarioContext);\r\n const activity = useContext(ActivityContext);\r\n const { scope } = useContext(ScopeContext) || {};\r\n const { cid, aid, campaignId: campaignIdFromScope, adGroupId: adGroupIdFromScope } = scope.values;\r\n const { send, state } = useWizardService();\r\n const {\r\n campaignId: campaignIdFromWizardData,\r\n adGroupId: adGroupIdFromWizardData,\r\n keywordsInput: savedKeywordsInput,\r\n previousLanguages: languages,\r\n previousLocation: locations,\r\n } = state.context.wizardData;\r\n\r\n const campaignId = campaignIdFromWizardData || campaignIdFromScope;\r\n const adGroupId = adGroupIdFromWizardData || adGroupIdFromScope;\r\n\r\n const load = useCallback(() => {\r\n const loadPromises = {\r\n keywords: adGroupId ? loadKeywords(cid, aid, campaignId, adGroupId, maxKeywords) : Promise.resolve({}),\r\n };\r\n\r\n return Promise.props(loadPromises)\r\n .then(({\r\n keywords,\r\n }) => {\r\n const { validResult } = parseKeywords({\r\n keywordsTextarealVal: savedKeywordsInput,\r\n i18n,\r\n });\r\n if (keywords && keywords.value && _.isArray(keywords.value)) {\r\n _.each(keywords.value, (keyword) => {\r\n savedKeywords[getKeyFromKeyword(keyword)] = keyword;\r\n });\r\n }\r\n return Promise.resolve({\r\n Languages: languages || [],\r\n locationCriterions: locations || [],\r\n keywordsInput: savedKeywordsInput,\r\n validationResult: _.isUndefined(savedKeywordsInput) ? { valid: true, error: [] } : validResult,\r\n keywordSuggestionsAdded: [],\r\n });\r\n })\r\n .catch((error) => {\r\n // eslint-disable-next-line no-console\r\n console.error(`Load keywords failed: ${error}`);\r\n activity.signal(`onKeywordsLoadFailed - ${JSON.stringify({\r\n campaignId,\r\n adGroupId,\r\n error,\r\n })}`);\r\n return Promise.reject(error);\r\n });\r\n }, [adGroupId, cid, aid, campaignId, savedKeywordsInput, i18n, languages, locations, activity]);\r\n\r\n const save = useCallback(({ data }) => {\r\n const { keywordsInput, keywordSuggestionsAdded } = data;\r\n // saved keywords\r\n const savedKeywordKeys = _.keys(savedKeywords);\r\n\r\n // current keywords\r\n const { uniqKeywords: currentKeywordTexts, validResult } = parseKeywords({\r\n keywordsTextarealVal: keywordsInput,\r\n i18n,\r\n });\r\n\r\n // check validation\r\n if (!validResult.valid) {\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n data: {\r\n ...data,\r\n keywordsInput,\r\n validationResult: validResult,\r\n },\r\n });\r\n }\r\n\r\n const keywordTextsNeedAdd = _.difference(currentKeywordTexts, savedKeywordKeys);\r\n const keywordTextsNeedDelete = _.difference(savedKeywordKeys, currentKeywordTexts);\r\n let keywordObjsNeedAdd = [];\r\n let keywordObjsNeedDelete = [];\r\n if (!_.isEmpty(keywordTextsNeedAdd)) {\r\n keywordObjsNeedAdd = _.map(keywordTextsNeedAdd, (keyword) => {\r\n const keywordObj = parseKeyword(keyword, i18n);\r\n return {\r\n ...keywordObj,\r\n AdGroup: { Id: adGroupId },\r\n };\r\n });\r\n }\r\n\r\n if (!_.isEmpty(keywordTextsNeedDelete)) {\r\n keywordObjsNeedDelete = _.map(keywordTextsNeedDelete, (keyword) => {\r\n const keywordObj = parseKeyword(keyword, i18n);\r\n return {\r\n ...keywordObj,\r\n AdGroup: { Id: adGroupId },\r\n Status: 'Deleted',\r\n Id: savedKeywords[keyword].Id,\r\n };\r\n });\r\n }\r\n\r\n const keywords = keywordObjsNeedAdd.concat(keywordObjsNeedDelete);\r\n\r\n if (!_.isEmpty(keywords)) {\r\n // eslint-disable-next-line no-unused-expressions\r\n activity && activity.signal(`onSaveKeywords - ${JSON.stringify({\r\n KeywordsInput: keywords,\r\n })}`);\r\n\r\n const saveKeywordPromise = () => saveKeyword({\r\n campaignId,\r\n adGroupId,\r\n keywords,\r\n }, {\r\n scenario: scenario.name,\r\n i18n,\r\n activityLogger: activity,\r\n });\r\n\r\n return saveKeywordPromise()\r\n .then((entity) => {\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n keywordsInput,\r\n });\r\n const clearKeywordSuggestionsAdded = updateSavedKeywords(entity, keywordSuggestionsAdded, activity);\r\n return Promise.resolve({\r\n ...data,\r\n keywordsInput,\r\n validResult,\r\n keywordSuggestionsAdded: clearKeywordSuggestionsAdded ? [] : keywordSuggestionsAdded,\r\n });\r\n })\r\n .catch((error) => {\r\n const {\r\n serverErrors = [],\r\n systemErrors = [],\r\n entity,\r\n } = error || {};\r\n\r\n const clearKeywordSuggestionsAdded = updateSavedKeywords(entity, keywordSuggestionsAdded, activity);\r\n\r\n if (_.isEmpty(serverErrors) && _.isEmpty(systemErrors)) {\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n keywordsInput,\r\n });\r\n return Promise.resolve({\r\n ...data,\r\n keywordsInput,\r\n validResult,\r\n keywordSuggestionsAdded: clearKeywordSuggestionsAdded ? [] : keywordSuggestionsAdded,\r\n });\r\n }\r\n\r\n // eslint-disable-next-line no-console\r\n console.error(`Save keywords failed: ${error}`);\r\n activity.signal(`onKeywordsSaveFailed - ${JSON.stringify({\r\n data,\r\n error,\r\n })}`);\r\n\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n data: {\r\n ...data,\r\n keywordsInput,\r\n validResult,\r\n keywordSuggestionsAdded: clearKeywordSuggestionsAdded ? [] : keywordSuggestionsAdded,\r\n },\r\n error: {\r\n serverErrors: _.flatten(serverErrors.filter(val => val !== null)),\r\n systemErrors: _.flatten(systemErrors.filter(val => val !== null)),\r\n },\r\n });\r\n });\r\n }\r\n\r\n send(WIZARD_EVENTS.UPDATE_WIZARD_DATA, {\r\n keywordsInput,\r\n });\r\n\r\n return Promise.resolve({\r\n ...data,\r\n keywordsInput,\r\n validResult,\r\n });\r\n }, [i18n, send, adGroupId, activity, campaignId, scenario.name]);\r\n\r\n return {\r\n load,\r\n save,\r\n };\r\n};\r\n","export const getStyles = () => ({\r\n addTextStep: {\r\n '& .ad-type-selector': {\r\n marginBottom: '16px',\r\n\r\n '& .ad-type-label': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n\r\n '& .ad-type-dropdown': {\r\n width: '600px',\r\n },\r\n },\r\n '& .ad-footer': {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n gap: '16px',\r\n marginTop: '32px',\r\n },\r\n },\r\n});\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport { DefaultButton, PrimaryButton } from '@bingads-webui-react/fabric-with-signal';\r\nimport { Dialog, DialogFooter, DialogType } from '@fluentui/react';\r\n\r\nexport const SwitchAdTypeDialog = ({\r\n className,\r\n i18n,\r\n showDialog,\r\n onConfirm,\r\n onCancel,\r\n}) => (\r\n