{"version":3,"file":"js/application-a474ef1e596370af12a1.js","mappings":"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","sources":["webpack://orion/./app/assets/images/ sync ^\\.\\/star_step_.*\\.svg$","webpack://orion/./app/javascript/channels/ sync _channel\\.js$","webpack://orion/./app/javascript/channels/index.js","webpack://orion/./app/javascript/constants.js","webpack://orion/./app/javascript/common/utils.js","webpack://orion/./app/javascript/components/AffinitiesList.jsx","webpack://orion/./app/javascript/bundles/Campaign/components/CampaignActionItemsFormFragment.jsx","webpack://orion/./app/javascript/components/fileUpload.jsx","webpack://orion/./app/javascript/bundles/Campaign/CampaignDetailsComponent.jsx","webpack://orion/./app/javascript/components/LinkButton.jsx","webpack://orion/./app/javascript/bundles/TagManager/actions/container.js","webpack://orion/./app/javascript/bundles/TagManager/containers/ContainersTable.jsx","webpack://orion/./app/javascript/bundles/TagManager/SlideOutHeader.jsx","webpack://orion/./app/javascript/bundles/TagManager/containers/EmptyContainersMessage.jsx","webpack://orion/./app/javascript/bundles/TagManager/containers/AddContainerFormModal.jsx","webpack://orion/./app/javascript/bundles/TagManager/containers/CreatingContainerModal.jsx","webpack://orion/./app/javascript/bundles/TagManager/containers/InstallContainerModal.jsx","webpack://orion/./app/javascript/bundles/TagManager/containers/AddContainerComponent.jsx","webpack://orion/./app/javascript/bundles/TagManager/pixels/AddPixelModal.jsx","webpack://orion/./app/javascript/bundles/TagManager/pixels/AddTriggersModal.jsx","webpack://orion/./app/javascript/bundles/TagManager/pixels/EditPixelModal.jsx","webpack://orion/./app/javascript/bundles/TagManager/pixels/EditTriggersModal.jsx","webpack://orion/./app/javascript/bundles/TagManager/pixels/PixelTable.jsx","webpack://orion/./app/javascript/bundles/TagManager/actions/pixel.js","webpack://orion/./app/javascript/bundles/TagManager/containers/ShowContainerModal.jsx","webpack://orion/./app/javascript/bundles/TagManager/containers/ContainerIndex.jsx","webpack://orion/./app/javascript/bundles/TagManager/SlideOutComponent.jsx","webpack://orion/./app/javascript/bundles/Campaign/CampaignIndexComponent.jsx","webpack://orion/./app/javascript/bundles/Campaign/components/Step.jsx","webpack://orion/./app/javascript/common/FormUtils.js","webpack://orion/./app/javascript/components/OrionForm.jsx","webpack://orion/./app/javascript/components/InputLabel.jsx","webpack://orion/./app/javascript/components/SelectInput.jsx","webpack://orion/./app/javascript/components/TextInput.jsx","webpack://orion/./app/javascript/components/UrlInput.jsx","webpack://orion/./app/javascript/bundles/Campaign/components/CampaignBasicsFormFragment.jsx","webpack://orion/./app/javascript/components/NumberInput.jsx","webpack://orion/./app/javascript/components/SelectInputWithTooltips.jsx","webpack://orion/./app/javascript/bundles/Campaign/components/ObjectiveFormFragment.jsx","webpack://orion/./app/javascript/bundles/Campaign/components/CampaignGoalsFormFragment.jsx","webpack://orion/./app/javascript/components/SwitchInput.jsx","webpack://orion/./app/javascript/bundles/Campaign/components/CampaignDemographicsFormFragment.jsx","webpack://orion/./app/javascript/bundles/Campaign/components/CampaignAudiencesFormFragment.jsx","webpack://orion/./app/javascript/bundles/Campaign/CampaignForm.jsx","webpack://orion/./app/javascript/components/MultiSelectInput.jsx","webpack://orion/./app/javascript/bundles/Advertiser/AdvertiserForm.jsx","webpack://orion/./app/javascript/components/LinkDropdownMenu.jsx","webpack://orion/./app/javascript/bundles/Dashboard/components/AdvertiserCardComponent.jsx","webpack://orion/./app/javascript/bundles/Dashboard/components/AdvertisersGridViewComponent.jsx","webpack://orion/./app/javascript/bundles/Dashboard/AgencyDashboardComponent.jsx","webpack://orion/./app/javascript/bundles/Platform/components/BunnyWidget.jsx","webpack://orion/./app/javascript/bundles/Platform/BunnyStudioIndexComponent.jsx","webpack://orion/./app/javascript/components/AdSpendCalculator.jsx","webpack://orion/./app/javascript/bundles/Tools/ToolsIndexComponent.jsx","webpack://orion/./app/javascript/bundles/OptimizationRequest/OptimizationRequestShow.jsx","webpack://orion/./app/javascript/packs/application.js","webpack://orion/./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["var map = {\n\t\"./star_step_1.svg\": 52607,\n\t\"./star_step_2.svg\": 19437,\n\t\"./star_step_3.svg\": 4231,\n\t\"./star_step_4.svg\": 73328\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24729;","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 56463;\nmodule.exports = webpackEmptyContext;","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","const status = {\n UNDER_REVIEW: 'under_review',\n STAGING: 'staging',\n ACTIVE: 'active',\n PAUSED: 'paused',\n COMPLETE: 'complete'\n};\n\nconst statusLabel = {\n [status.UNDER_REVIEW]: 'Under Review',\n [status.STAGING]: 'Staging',\n [status.ACTIVE]: 'Active',\n [status.PAUSED]: 'Paused',\n [status.COMPLETE]: 'Complete'\n};\n\nconst statusColor = {\n [status.UNDER_REVIEW]: 'orange',\n [status.STAGING]: 'orange',\n [status.ACTIVE]: 'green',\n [status.PAUSED]: 'red',\n [status.COMPLETE]: 'green'\n};\n\nexport {\n status,\n statusColor,\n statusLabel,\n};\n","const formatRange = (range) => {\n if (range[0] !== range[1]) {\n return `${range[0]} - ${range[1]}`;\n }\n return range[0];\n};\n\nconst moneyFormatter = (value, currency = 'USD') => {\n const formatter = new Intl.NumberFormat('en-US', {\n currency,\n maximumFractionDigits: 0,\n style: 'currency',\n });\n return `${formatter.format(value)} ${currency}`;\n};\n\nconst numberFormatter = (value) => {\n return Number(value).toLocaleString('en', {useGrouping: true})\n}\n\nexport {\n formatRange,\n moneyFormatter,\n numberFormatter\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport CancelSvg from '../../assets/images/cancel.svg';\n\nconst getParentLabel = (parent) => {\n if (parent) {\n return (\n
\n {parent}\n
\n );\n }\n return (
);\n};\n\nconst getNameLabel = (name) => (\n
\n {name}\n
\n);\n\nexport default class AffinitiesList extends Component {\n _getAffinities() {\n const { affinities, onCloseAffinity } = this.props;\n\n const affinitiesKeys = Object.keys(affinities);\n return affinitiesKeys.map((key) => (\n
\n
\n {getParentLabel(affinities[key].parent)}\n {getNameLabel(affinities[key].name)}\n
\n { onCloseAffinity && (\n \n )}\n
\n ));\n }\n\n render() {\n return (\n
\n {this._getAffinities()}\n
\n );\n }\n}\n\nAffinitiesList.propTypes = {\n affinities: PropTypes.objectOf(\n PropTypes.shape({\n name: PropTypes.string,\n parent: PropTypes.string,\n }),\n ).isRequired,\n onCloseAffinity: PropTypes.func,\n};\n\nAffinitiesList.defaultProps = {\n onCloseAffinity: undefined,\n};\n","import React, { Component } from 'react';\nimport { Form } from 'react-bootstrap';\n\nexport default class CampaignActionItemsFormFragment extends Component {\n constructor(props) {\n super(props);\n this.state = this._initialState();\n }\n\n _initialState() {\n const {\n campaignId,\n crmData,\n brandSafety,\n contextualTargeting,\n crmDataChecked,\n brandSafetyText,\n contextualTargetingText,\n isCreativeUploaded,\n } = this.props;\n\n const initialState = {\n campaign_id: campaignId,\n crm_data: crmData,\n brand_safety: brandSafety,\n contextual_targeting: contextualTargeting,\n crm_data_checked: crmDataChecked || '',\n brand_safety_text: brandSafetyText || '',\n contextual_targeting_text: contextualTargetingText || '',\n is_creative_uploaded: isCreativeUploaded || '',\n validated: false,\n };\n\n return initialState;\n }\n\n handleChange = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n handleChangeCheckbox = (event) => {\n this.setState({ [event.target.name]: event.target.checked });\n }\n\n handleComplete = (event) => {\n event.preventDefault();\n this._submitComplete(event);\n }\n\n _submitComplete(event) {\n const {\n campaign_id,\n } = this.state;\n\n const form = event.currentTarget;\n const completeActionItems = `/campaigns/${campaign_id}/complete_action_items`;\n const requestOptions = {\n body: this._getSubmitBody(event),\n headers: { 'Content-Type': 'application/json' },\n method: 'PUT',\n };\n\n if (form.checkValidity() === false) {\n event.preventDefault();\n event.stopPropagation();\n this.setState({ validated: true });\n } else {\n fetch(completeActionItems, requestOptions)\n .then((response) => {\n if (response.redirected) {\n window.location.href = response.url;\n }\n });\n }\n }\n\n handleSave = (event) => {\n event.preventDefault();\n this._submitForm(event);\n }\n\n _submitForm(event) {\n const {\n campaign_id,\n } = this.state;\n\n const requestOptions = {\n body: this._getSubmitBody(event),\n headers: { 'Content-Type': 'application/json' },\n method: 'PUT',\n };\n\n const saveActionItemsUrl = `/campaigns/${campaign_id}/action_items`;\n\n fetch(saveActionItemsUrl, requestOptions)\n .then((response) => {\n if (response.redirected) {\n window.location.href = response.url;\n }\n });\n }\n\n _getSubmitBody(event) {\n const {\n crm_data_checked,\n brand_safety_text,\n contextual_targeting_text,\n is_creative_uploaded,\n } = this.state;\n\n const submitState = {\n crm_data_checked,\n brand_safety_text,\n contextual_targeting_text,\n is_creative_uploaded,\n };\n\n const { token } = this.props;\n\n const body = JSON.stringify({\n authenticity_token: token,\n campaign: submitState,\n request_type: event.target.value,\n });\n\n return body;\n }\n\n render() {\n const {\n crm_data,\n brand_safety,\n contextual_targeting,\n crm_data_checked,\n brand_safety_text,\n contextual_targeting_text,\n is_creative_uploaded,\n validated,\n } = this.state;\n const {\n campaignType: campaign_type,\n selectCreativeUploadTab,\n } = this.props;\n return (\n
\n
\n
\n
\n
\n
    \n \n {crm_data\n && (\n \n \n CRM Data\n {' '}\n - Please log into\n {' '}\n \n LiveRamp\n \n {' '}\n to upload your CRM\n list and to publish your audience to the DSP(s). If you do not have a Peer39 account, please\n request one from your Version2 Campaign Specialist.\n \n)}\n required\n defaultChecked={crm_data_checked}\n onChange={this.handleChangeCheckbox}\n />\n \n CRM Data is required\n \n \n )}\n {brand_safety\n && (\n \n \n
  • \n Brand Safety\n {' '}\n - Please log into\n {' '}\n \n Peer39\n \n {' '}\n to create and access\n Brand Safety tracking and measurement pixels. If you do not have a Peer39 account, please\n request one from your Version2 Campaign Specialist.\n
  • \n
    \n \n \n Brand Safety is required\n \n
    \n )}\n {contextual_targeting\n && (\n \n \n
  • \n Contextual Targeting\n {' '}\n - Please log into\n {' '}\n \n Peer39\n \n {' '}\n to upload your\n keyword list and to publish your audience to your DSP(s). If you do not have a Peer39\n account, please request one from your Version2 Campaign Specialist.\n
  • \n
    \n \n \n Contextual Targeting is required\n \n
    \n )}\n {campaign_type === 'trade_side_platform_auto_setup'\n && (\n \n \n Creative Upload\n \n Creative needs to uploaded\n \n \n )}\n
    \n \n \n
    \n \n
\n
\n
\n
\n
\n
\n );\n }\n}\n","import React, {useRef} from 'react';\nimport 'react-dropzone-uploader/dist/styles.css';\nimport Dropzone from 'react-dropzone-uploader';\nimport PropTypes from 'prop-types';\nimport {getDroppedOrSelectedFiles} from 'html5-file-selector';\n\nconst FileUpload = (props) => {\n const fileParams = ({meta}) => {\n return {url: `/campaigns/${campaignId}/creatives`}\n }\n\n const {\n creatives,\n campaignId,\n handleDeleteCreative,\n handleOnFileChange\n } = props;\n\n const getFilesFromEvent = e => {\n return new Promise(resolve => {\n getDroppedOrSelectedFiles(e).then(chosenFiles => {\n resolve(\n chosenFiles.map(f => f.fileObject)\n )\n })\n })\n }\n const inputElement = useRef(null);\n\n const selectFileInput = ({accept, onFiles, files, getFilesFromEvent}) => {\n return (\n
\n
\n \n
\n Drag & Drop\n or {\n inputElement.current.click()\n }}>browse\n \n {\n getFilesFromEvent(e).then(chosenFiles => {\n onFiles(chosenFiles)\n })\n }}\n />\n Supports: Images, Videos, Audio, CSV and XLS\n
\n )\n }\n\n const getIcon = (creative) => {\n if (creative.filetype === 'image') {\n return Unable to load file;\n } else if (creative.filetype === 'video') {\n return ;\n } else if (creative.filetype === 'audio') {\n return ;\n } else if (creative.filetype === 'document') {\n return ;\n } else {\n return ;\n }\n }\n\n return (\n
\n
    \n {creatives.map((creative, index) => (\n
  • \n handleDeleteCreative(creative.id, index)}/>\n
    \n {getIcon(creative)}\n
    \n
    \n {creative.shortname}\n
    \n
  • \n ))}\n
\n
\n \n
\n
\n )\n};\n\nFileUpload.propTypes = {\n creatives: PropTypes.array.isRequired,\n campaignId: PropTypes.number.isRequired,\n handleDeleteCreative: PropTypes.func.isRequired,\n handleOnFileChange: PropTypes.func.isRequired\n}\n\nexport default FileUpload;\n","import React, { Component } from 'react';\nimport { Tabs } from 'react-simple-tabs-component';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Button, Form } from 'react-bootstrap';\nimport { statusColor, statusLabel } from '../../constants';\nimport { formatRange, moneyFormatter, numberFormatter } from '../../common/utils';\nimport AffinitiesList from '../../components/AffinitiesList';\nimport CampaignActionItemsFormFragment from './components/CampaignActionItemsFormFragment';\nimport FileUpload from '../../components/fileUpload';\n\nexport default class CampaignDetailsComponent extends Component {\n constructor(props) {\n super(props);\n this.tabs = [\n {\n Component: this.campaignAudienceTab,\n index: 1,\n label: 'Campaign Targeting',\n },\n {\n Component: this.campaignGoalsTab,\n index: 2,\n label: 'Goals',\n },\n ];\n\n this.actionItemsNeeded(this.tabs);\n\n const { campaign: { campaign_type: campaignType } } = this.props;\n\n if (campaignType === 'trade_side_platform_auto_setup') {\n this.tabs.push(\n {\n Component: this.uploadCreativeTab,\n index: 3,\n label: 'Creative Upload',\n },\n );\n }\n\n this.tabs.push(\n {\n Component: this.optimizationRequestTab,\n index: 4,\n label: 'Optimization Request',\n },\n );\n\n this.state = {\n selectedTab: 0,\n creatives: this.props.campaign.creatives,\n };\n }\n\n actionItemsNeeded(tabs) {\n const {\n campaign: {\n crm_data,\n brand_safety,\n contextual_targeting,\n },\n } = this.props;\n\n const itemsValue = [crm_data, brand_safety, contextual_targeting];\n const { campaign: { campaign_type } } = this.props;\n\n if (itemsValue.some((v) => v === true) || campaign_type === 'trade_side_platform_auto_setup') {\n tabs.unshift({\n Component: this.campaignActionItem, // Tab Component\n index: 0, // Tab index\n label: 'Action Items', // Tab title\n });\n }\n }\n\n selectCreativeUploadTab() {\n const btn = document.getElementById('btn-3');\n if (btn) {\n btn.click();\n }\n }\n\n setSelectedTab(index) {\n this.setState({\n selectedTab: index,\n });\n }\n\n campaignActionItem = () => {\n const {\n campaign: {\n id,\n crm_data,\n brand_safety,\n contextual_targeting,\n crm_data_checked,\n brand_safety_text,\n contextual_targeting_text,\n campaign_type,\n is_creative_uploaded,\n },\n token,\n } = this.props;\n\n return (\n \n );\n }\n\n campaignGoalsTab = () => {\n const {\n campaign: {\n objectives,\n },\n } = this.props;\n\n return (\n objectives.map((objective, i) => (\n this.objectiveSegment(objective, i)\n ))\n );\n }\n\n optimizationRequestTab = () => {\n const {\n campaign: {\n id,\n crm_data,\n brand_safety,\n contextual_targeting,\n crm_data_checked,\n brand_safety_text,\n contextual_targeting_text,\n campaign_type,\n is_creative_uploaded,\n },\n } = this.props;\n\n const handleChange = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n const resetFormState = () => {\n this.setState({\n optimization_request: '',\n optimization_request_message: '',\n optimization_request_submitted: false,\n });\n };\n\n const navigateToItem = (id) => {\n window.location.href = `/optimization_requests/${id}`;\n };\n\n const handleSubmitOptimizationReq = (event) => {\n event.preventDefault();\n const { token } = this.props;\n const submitState = { ...this.state };\n const body = JSON.stringify({\n authenticity_token: token,\n campaign: this.props.campaign,\n optimization_request: this.state.optimization_request,\n request_type: event.target.value,\n });\n\n const form = event.currentTarget;\n if (form.checkValidity() === false) {\n event.stopPropagation();\n } else {\n const method = 'POST';\n const path = `/campaigns/${this?.props?.campaign?.id}/optimization_requests`;\n\n const requestOptions = {\n body,\n headers: { 'Content-Type': 'application/json' },\n method,\n };\n\n fetch(path, requestOptions)\n .then((response) => response.json())\n .then((data) => {\n if (data.success) {\n const { campaign } = this.props;\n const { optimization_requests } = campaign;\n optimization_requests.unshift(data.optimization_request);\n this.setState({ optimization_request_submitted: true });\n this.setState({ optimization_request_message: data.message });\n } else {\n this.setState({ optimization_request_submitted: true });\n this.setState({ optimization_request_message: data.message });\n }\n });\n }\n this.setState({ validated: true });\n };\n\n return (\n
\n
\n
\n
\n { !this.state.optimization_request_submitted && (\n \n \n New Optimization Request\n \n \n \n \n \n \n )}\n { this.state.optimization_request_submitted && (\n
\n
{this.state.optimization_request_message}
\n
\n \n
\n )}\n
\n
\n \n Optimization Requests\n \n {\n this.props.campaign.optimization_requests.map((request) => (\n
\n
\n
\n \n
\n
\n Request #\n {request.id}\n
\n

{moment(request.created_at).format('LLL')}

\n
\n
\n \n
\n
\n
\n
\n
\n {request?.optimization_request?.substring(0, 300)}\n { request?.optimization_request?.length > 300 ? '...' : '' }\n
\n
\n
\n
\n
\n
\n ))\n }\n
\n
\n
\n );\n };\n\n objectiveSegment = (objective, i) => {\n const { field_mapping: fieldMapping } = this.props;\n\n const fields = fieldMapping.field_options[objective.kpi] || [];\n\n return (\n
\n {i > 0\n &&
}\n
\n
\n
\n
\n
\n
\n
Goal
\n

\n {objective.goal || '-'}\n

\n
\n
\n
\n
KPI
\n

\n {objective.kpi}\n

\n
\n {fields.includes('budget')\n && (\n
\n
Budget
\n

\n {moneyFormatter(objective.budget)}\n

\n
\n )}\n {fields.includes('desired_dcpm')\n && (\n
\n
Desired dCpm
\n

\n {moneyFormatter(objective.desired_dcpm)}\n

\n
\n )}\n {fields.includes('desired_dcpm') && fields.includes('budget')\n && (\n
\n
Impressions
\n

\n {numberFormatter(objective.impressions)}\n

\n
\n )}\n {fields.includes('target_ctr')\n && (\n
\n
Target CTR
\n

\n {`${objective.target_ctr}%`}\n

\n
\n )}\n {fields.includes('video_completion_rate')\n && (\n
\n
Video Completion Rate
\n

\n {`${objective.video_completion_rate}%`}\n

\n
\n )}\n {fields.includes('target_cpa')\n && (\n
\n
CPA Goal
\n

\n {moneyFormatter(objective.target_cpa)}\n

\n
\n )}\n {fields.includes('average_order_value')\n && (\n
\n
Average Order Value
\n

\n {moneyFormatter(objective.average_order_value)}\n

\n
\n )}\n {fields.includes('target_roas')\n && (\n
\n
ROAS Goal
\n

\n {`${objective.target_roas}%`}\n

\n
\n )}\n
\n
\n
\n
\n
\n );\n };\n\n campaignAudienceTab = () => {\n const {\n campaign: {\n geography,\n affinities,\n geo_fence,\n targeting_notes,\n },\n } = this.props;\n\n return (\n
\n
\n
\n
\n
\n
\n
\n
Gender
\n

{this._getGenderLabel() || '-'}

\n
\n
\n
Age
\n {this._getAgeLabels() || '-'}\n
\n
\n
\n
\n
\n
\n
Demographic Notes
\n

{targeting_notes}

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Geography
\n {\n geography.length !== 0 ? geography.map((geographyItem, index) => (\n
{geographyItem}
// eslint-disable-line\n )) : '-'\n }\n
\n
\n
Geo Fence
\n {\n geo_fence.length !== 0 ? geo_fence.map((geoItem, index) => (\n
{geoItem}
// eslint-disable-line\n )) : '-'\n }\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Affinities
\n {affinities ? Object.keys(affinities).length > 0 ? : '-' : '-'}\n
\n
\n
\n
\n );\n }\n\n handleOnFileChange = (file, status) => {\n if (status === 'done') {\n const data = JSON.parse(file.xhr.response);\n const updatedCreatives = [...this.state.creatives];\n updatedCreatives.push(data);\n this.setState({\n creatives: updatedCreatives,\n });\n file.remove();\n }\n }\n\n handleDeleteCreative = (creativeId, index) => {\n const requestOptions = {\n headers: { 'Content-Type': 'application/json' },\n method: 'DELETE',\n };\n\n const deleteCreativeUrl = `/creatives/${creativeId}`;\n\n fetch(deleteCreativeUrl, requestOptions)\n .then((response) => {\n if (response.ok) {\n const updatedCreatives = [...this.state.creatives];\n updatedCreatives.splice(index, 1);\n this.setState({\n creatives: updatedCreatives,\n });\n }\n });\n }\n\n uploadCreativeTab = () => {\n const {\n campaign: {\n id: campaignId,\n },\n } = this.props;\n\n return (\n
\n \n
\n );\n }\n\n _getGenderLabel() {\n const {\n campaign: {\n age_range_male: ageRangeMale,\n age_range_female: ageRangeFemale,\n },\n } = this.props;\n\n if (!!ageRangeMale && !!ageRangeFemale) {\n return 'Male & Female';\n }\n if (ageRangeMale) {\n return 'Male';\n }\n if (ageRangeFemale) {\n return 'Female';\n }\n\n return '';\n }\n\n _getAgeLabels() {\n const {\n campaign: {\n age_range_male: ageRangeMale,\n age_range_female: ageRangeFemale,\n },\n } = this.props;\n\n if (!!ageRangeMale && !!ageRangeFemale) {\n return (\n <>\n

{`Male: ${formatRange(ageRangeMale)}`}

\n
\n

{`Female: ${formatRange(ageRangeFemale)}`}

\n \n );\n }\n if (ageRangeMale) {\n return (

{`Male: ${formatRange(ageRangeMale)}`}

);\n }\n if (ageRangeFemale) {\n return (

{`Female: ${formatRange(ageRangeFemale)}`}

);\n }\n\n return null;\n }\n\n render() {\n const {\n dsp_links,\n campaign: {\n status,\n campaign_url: campaignUrl,\n notes,\n flight,\n campaign_type,\n demand_side_platform,\n },\n } = this.props;\n const { selectedTab } = this.state;\n let dspArray = [];\n let dspString = '';\n if (typeof demand_side_platform === 'string') {\n dspString = demand_side_platform;\n } else {\n dspArray = JSON.parse(demand_side_platform);\n }\n return (\n
\n
\n
\n
\n
Status
\n
\n \n

{statusLabel[status]}

\n
\n
\n
\n
\n
\n
Destination URL
\n
\n

{campaignUrl}

\n
\n
\n
\n
\n
\n
Flight
\n
\n

{flight}

\n
\n
\n
\n
\n
\n
Campaign Type
\n
\n

{this.props.options.find((item) => item.value === campaign_type).label}

\n
\n
\n
\n { campaign_type === 'trade_side_platform_auto_setup' && (\n
\n
\n
DSP
\n { dspArray && dspArray.length > 1 ? (\n
\n {\n dspArray.filter((dsp) => dsp !== '').map((dsp) => (\n \n ))\n }\n
\n ) : (\n
\n \n\n
\n )}\n
\n
\n )}\n
\n
\n
\n
\n this.setSelectedTab(event)}\n selectedTab={selectedTab}\n className=\"tabs-component\"\n />\n
\n
\n
\n
\n );\n }\n}\n\nCampaignDetailsComponent.propTypes = {\n campaign: PropTypes.shape({\n affinities: PropTypes.objectOf(PropTypes.object),\n age_range_female: PropTypes.arrayOf(PropTypes.number),\n age_range_male: PropTypes.arrayOf(PropTypes.number),\n budget: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n campaign_url: PropTypes.string,\n notes: PropTypes.string,\n campaign_type: PropTypes.string,\n conversion_rate: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n geography: PropTypes.arrayOf(PropTypes.string),\n goal: PropTypes.string,\n household_income: PropTypes.arrayOf(PropTypes.number),\n kpi: PropTypes.string,\n status: PropTypes.string,\n target_cpa: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n target_roas: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }).isRequired,\n field_mapping: PropTypes.object,\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst LinkButton = ({buttonClass, icon, link, text, tooltip}) => (\n \n \n \n);\n\nLinkButton.propTypes = {\n buttonClass: PropTypes.string,\n tooltip: PropTypes.string,\n icon: PropTypes.string,\n link: PropTypes.string,\n text: PropTypes.string,\n};\n\nLinkButton.defaultProps = {\n buttonClass: '',\n icon: '',\n link: '',\n text: '',\n};\n\nexport default LinkButton;\n","const createContainerAction = (name, toast, token, advertiser) => new Promise((resolve, reject) => {\n const body = JSON.stringify({\n authenticity_token: token,\n container: { name },\n });\n const method = 'POST';\n const requestOptions = {\n body,\n headers: { 'Content-Type': 'application/json' },\n method,\n };\n\n fetch(`/vendors/${advertiser.id}/containers`, requestOptions)\n .then((response) => {\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n return response.json();\n })\n .then((data) => {\n if (data.status) {\n toast.success(data.message);\n resolve(data.result);\n } else {\n throw new Error(data.message || 'An error occurred, please contact support.');\n }\n })\n .catch((error) => {\n toast.error('Error:', error.message);\n reject(error);\n });\n});\n\nconst getContainersAction = (advertiser) => new Promise((resolve, reject) => {\n const method = 'GET';\n const requestOptions = {\n headers: { 'Content-Type': 'application/json' },\n method,\n };\n\n fetch(`/vendors/${advertiser.id}/containers`, requestOptions)\n .then((response) => {\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n return response.json();\n })\n .then((data) => {\n if (data.status) {\n // toast.success(data.message);\n resolve(data.result);\n } else {\n throw new Error(data.message || 'An error occurred, please contact support.');\n }\n })\n .catch((error) => {\n // toast.error('Error:', error.message);\n reject(error);\n });\n});\n\nexport {\n createContainerAction, getContainersAction,\n};\n","import React from 'react';\nimport moment from 'moment';\nimport { Table } from 'react-bootstrap';\n\nconst ContainersTable = ({\n containers, setIsContainerManager,\n setIsPixelManager,\n setActiveContainer,\n}) => {\n const onContainerClick = (container) => {\n setActiveContainer(container);\n setIsContainerManager(false);\n setIsPixelManager(true);\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n {containers && containers.map((container) => (\n onContainerClick(container)}>\n \n \n \n \n \n ))}\n \n
NameStatusContainer IDLast Edited
\n
\n {container.name}\n
\n
\n {container.status ? (\n
\n ) : (\n
\n )}\n
\n ORC-\n {container.id}\n {moment(container.updated_at).format('LLL')}
\n );\n};\n\nexport default ContainersTable;\n","import React from 'react';\nimport { Button } from 'react-bootstrap';\n\nconst SlideOutHeader = ({\n setIsModalOpen, title, subtitle, containers,\n}) => (\n
\n
\n
{title}
\n
{subtitle}
\n
\n
\n {containers && containers.length > 0 && (\n setIsModalOpen(true)}\n className=\"mb-5 mt-4 ml-3 btn btn-secondary btn-secondary-v2 ht-50\"\n >\n Add a Container\n \n )}\n
\n
\n);\n\nexport default SlideOutHeader;\n","import React from 'react';\nimport { Button } from 'react-bootstrap';\nimport PinIcon from '../../../images/tag_manager/pin_icon.png';\n\nconst EmptyContainersMessage = ({ setIsModalOpen }) => (\n
\n
\n \"pin\"\n
\n
Keep & track all of your pixels in one place
\n
Add a Container to get started.
\n setIsModalOpen(true)}\n className=\"mb-5 mt-4 ml-3 btn btn-secondary btn-secondary-v2 ht-50\"\n >\n Add a Container\n \n
\n);\n\nexport default EmptyContainersMessage;\n","import React from 'react';\nimport { Button, Modal, Form } from 'react-bootstrap';\n\nconst AddContainerFormModal = ({\n onClose, containerName, setContainerName, handleCreateContainerClick,\n}) => (\n <>\n \n Add a Container\n \n \n
Container Name
\n
Give this container a unique name for your reference
\n setContainerName(e.target.value)}\n />\n
\n \n \n handleCreateContainerClick()}\n >\n Create\n \n \n \n);\n\nexport default AddContainerFormModal;\n","import React from 'react';\nimport { Modal, Spinner } from 'react-bootstrap';\n\nconst CreatingContainerModal = ({ onClose }) => (\n <>\n \n Creating Container\n \n \n
\n \n
Generating a unique container code
\n
\n
\n \n);\n\nexport default CreatingContainerModal;\n","import React from 'react';\nimport { CodeBlock } from 'react-code-blocks';\nimport { Modal, Button } from 'react-bootstrap';\nimport CheckIcon from '../../../images/tag_manager/check_icon.png';\n\nconst InstallContainerModal = ({\n container,\n onClose,\n containerCode,\n handleCreatedCopyClick,\n handleCreatedDoneClick,\n isCopied,\n advertiser,\n}) => (\n <>\n \n Install Container\n \n \n
\n
\n
\n \"Checkmark\"\n
\n
\n
Container successfully created!
\n
\n Advertiser:\n {' '}\n {advertiser.name}\n
\n
\n Container name:\n {' '}\n {container.name}\n
\n
\n
\n Container ID:\n {' '}\n \n ORC-\n {container.id}\n \n
\n
\n\n
\n\n
Add container to your website
\n

\n Copy the Orion Smart Container code below and install it on every page of\n your website. Place this code as high in the\n {' '}\n {''}\n {' '}\n of the page as\n possible.\n

\n\n
\n
\n \n
\n
\n \n \n \n \n
\n
\n
\n

\n Important:\n {' '}\n The container must be installed in order to manage all your platform\n pixels from a single source. For more information about installing the\n Orion Smart Container snippet,\n email\n {' '}\n support@theversion2.com\n .\n

\n \n
\n \n \n
\n
\n \n \n \n
\n {isCopied ? 'Copied!' : 'Copy'}\n
\n \n \n Done\n \n
\n \n);\n\nexport default InstallContainerModal;\n","import React, { useState } from 'react';\nimport { toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport {\n Modal,\n} from 'react-bootstrap';\nimport { createContainerAction, getContainersAction } from '../actions/container';\nimport AddContainerFormModal from './AddContainerFormModal';\nimport CreatingContainerModal from './CreatingContainerModal';\nimport InstallContainerModal from './InstallContainerModal';\n\nconst AddContainerComponent = ({\n onClose, token, advertiser, setContainers,\n}) => {\n const [containerName, setContainerName] = useState('');\n const [isCreatingContainer, setIsCreatingContainer] = useState(false);\n const [isContainerCreated, setIsContainerCreated] = useState(false);\n const [isCopied, setIsCopied] = useState(false);\n const [container, setContainer] = useState('');\n const [containerCode, setContainerCode] = useState('');\n\n const handleCreateContainerClick = async () => {\n if (!containerName.trim()) {\n toast.error('Enter a container name to continue');\n return;\n }\n\n setIsCreatingContainer(true);\n setIsContainerCreated(false);\n\n try {\n const newContainer = await createContainerAction(containerName, toast, token, advertiser);\n\n setIsCreatingContainer(false);\n setIsContainerCreated(true);\n setContainer(newContainer);\n getContainersAction(advertiser).then((data) => {\n setContainers(data);\n });\n\n setContainerCode(``);\n } catch (error) {\n setIsCreatingContainer(false);\n setIsContainerCreated(false);\n toast.error('Error:', error.message);\n }\n };\n\n async function copyTextToClipboard(text) {\n if ('clipboard' in navigator) {\n return navigator.clipboard.writeText(text);\n }\n return document.execCommand('copy', true, text);\n }\n\n // onClick handler function for the copy button\n const handleCreatedCopyClick = () => {\n // Asynchronously call copyTextToClipboard\n copyTextToClipboard(containerCode)\n .then(() => {\n // If successful, update the isCopied state value\n setIsCopied(true);\n setTimeout(() => {\n setIsCopied(false);\n }, 1500);\n })\n .catch((err) => {\n toast.error('Failed to copy!', err);\n });\n };\n\n const handleCreatedDoneClick = () => {\n setIsContainerCreated(false);\n onClose();\n };\n\n return (\n \n \n {\n (() => {\n if (!isCreatingContainer && !isContainerCreated) {\n return (\n \n );\n }\n if (isCreatingContainer && !isContainerCreated) {\n return (\n \n );\n }\n if (isContainerCreated && !isCreatingContainer) {\n return (\n \n );\n }\n })()\n }\n \n \n );\n};\n\nexport default AddContainerComponent;\n","import React, { useState, useEffect } from 'react';\nimport { Modal, Button } from 'react-bootstrap';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { set } from 'lodash';\n\nconst AddPixelModal = ({\n show, onHide, onSave, container,\n}) => {\n const [pixelCode, setPixelCode] = useState({\n code: '',\n container_id: container.id,\n name: '',\n });\n\n const onChangeCode = React.useCallback((value) => {\n setPixelCode((prevState) => ({ ...prevState, code: value }));\n }, [pixelCode]);\n\n const handleSave = () => {\n onSave(pixelCode);\n setPixelCode({\n code: '',\n container_id: '',\n name: '',\n });\n onHide();\n };\n\n useEffect(() => {\n if (show) {\n setPixelCode((prevState) => ({ ...prevState, container_id: container.id }));\n }\n }, [show, container.id]);\n\n return (\n \n \n Add Platform Pixel\n \n \n
\n
Pixel Name
\n
Give this platform pixel a unique name for your reference
\n setPixelCode((prevState) => ({ ...prevState, name: e.target.value }))}\n style={{ width: '100%', padding: '8px', margin: '10px 0' }}\n />\n
\n
\n
Add DSP Pixel
\n Copy & paste the DSP pixel below\n \n
\n
\n \n \n \n \n
\n );\n};\n\nexport default AddPixelModal;\n","import React, { useState, useEffect } from 'react';\nimport { Modal, Button } from 'react-bootstrap';\nimport {\n formatQuery, QueryBuilder, Rule,\n} from 'react-querybuilder';\nimport Select from 'react-select';\nimport checkMarkSVG from '../../../images/tag_manager/check_icon.svg';\n\nconst selectStyles = {\n control: (provided) => ({\n ...provided,\n alignItems: 'center',\n alignSelf: 'stretch',\n background: '#FFF',\n border: '1px solid #6778DA',\n borderRadius: '8px',\n boxShadow: '0px 0px 0px 4px rgba(70, 138, 240, 0.10), 0px 1px 2px 0px rgba(70, 138, 240, 0.05)',\n display: 'flex',\n fontWeight: '600',\n padding: '3px 0px',\n }),\n option: (provided) => ({\n ...provided,\n color: '#101828',\n fontFamily: 'Inter, sans-serif',\n fontSize: '16px',\n fontStyle: 'normal',\n fontWeight: '600',\n lineHeight: '24px',\n }),\n};\n\nconst RuleComponent = (props) => {\n // Use the last number in the path array as the rule's index\n const ruleIndex = props.path[props.path.length - 1] + 1;\n\n return (\n
\n
\n {`Condition ${ruleIndex}`}\n
\n \n
\n );\n};\n\nconst Option = (props) => (\n
\n
\n {props.isSelected && \"checkmark\"}\n
\n {props.label}\n
\n);\n\nconst formatGroupLabel = (data) => (\n
\n {data.label}\n
\n);\n\nconst CustomFieldSelector = (fieldsForField) => (props) => {\n const groupedOptionsForField = [\n {\n label: 'Pages',\n options: fieldsForField,\n },\n ];\n\n return (\n
\n
Trigger Type
\n f?.name}\n value={groupedOptionsForField[0].options.find((f) => f.name === props.value)}\n onChange={(v) => props.handleOnChange(v?.name)}\n />\n
\n );\n};\n\nconst CustomOperatorSelector = (fieldsForOperator) => (props) => {\n const groupedOptionsForOperator = [\n {\n label: 'Conditions',\n options: fieldsForOperator[0].operators,\n },\n ];\n return (\n
\n
Conditions
\n f?.name}\n value={groupedOptionsForOperator[0].options.find((f) => f.name === props.value)}\n onChange={(v) => props.handleOnChange(v?.name)}\n />\n
\n );\n};\n\nconst ValueEditor = ({\n handleOnChange,\n value,\n}) => (\n
\n
Enter URL or Keywords
\n handleOnChange(e.target.value)}\n value={value}\n />\n
\n);\n\nconst CustomRemoveRuleIcon = ({ handleOnClick, ...props }) => (\n
\n \n \n \n
\n);\n\nconst AddTriggersModal = ({\n show, onHide, onSave, container, pendingPixel,\n}) => {\n const fields = [\n {\n label: 'Page URL',\n name: 'pageUrl',\n operators: [\n { label: 'Exactly', name: '=' },\n { label: 'Custom', name: 'regex' },\n { label: 'Contains', name: 'contains' },\n { label: 'Begins With', name: 'beginsWith' },\n { label: 'Ends With', name: 'endsWith' },\n ],\n },\n\n ];\n\n const [query, setQuery] = useState({\n combinator: 'and',\n rules: [\n { field: 'pageUrl', operator: '=', value: 'https://' },\n ],\n });\n\n const [triggerCode, setTriggerCode] = useState({\n container_id: container.id,\n json: '',\n });\n\n const handleAddCondition = () => {\n document.querySelector('.ruleGroup-addRule').click();\n };\n\n const handleSave = () => {\n onSave(triggerCode);\n onHide();\n };\n\n const handleQueryChange = (newQuery) => {\n setQuery(newQuery);\n setTriggerCode((prevState) => ({\n ...prevState,\n json: formatQuery(newQuery, 'json'),\n }));\n };\n\n useEffect(() => {\n if (show) {\n setTriggerCode((prevState) => ({ ...prevState, container_id: container.id }));\n }\n }, [show, container.id]);\n\n return (\n \n \n Trigger Configuration\n \n \n
{pendingPixel.name}
\n handleQueryChange(q)}\n query={query}\n showCombinatorsBetweenRules\n />\n
\n \n \n \n \n
\n );\n};\n\nexport default AddTriggersModal;\n","import React, { useState, useEffect } from 'react';\nimport { Modal, Button } from 'react-bootstrap';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\n\nconst EditPixelModal = ({\n show, onHide, onEdit, pixel,\n}) => {\n const [pixelCode, setPixelCode] = useState({\n id: pixel.id,\n code: pixel.code,\n container_id: pixel.container_id,\n name: pixel.name,\n });\n\n const onChangeCode = React.useCallback((value) => {\n setPixelCode((prevState) => ({ ...prevState, code: value }));\n }, [pixelCode]);\n\n const handleEdit = () => {\n onEdit(pixelCode);\n setPixelCode({\n id: '',\n code: '',\n container_id: '',\n name: '',\n });\n onHide();\n };\n\n return (\n \n \n Edit Platform Pixel\n \n \n
\n
Pixel Name
\n
Give this platform pixel a unique name for your reference
\n setPixelCode((prevState) => ({ ...prevState, name: e.target.value }))}\n style={{ width: '100%', padding: '8px', margin: '10px 0' }}\n />\n
\n
\n
Add DSP Pixel
\n Copy & paste the DSP pixel below\n \n
\n
\n \n \n \n \n
\n );\n};\n\nexport default EditPixelModal;\n","import React, { useState } from 'react';\nimport { Modal, Button } from 'react-bootstrap';\nimport {\n formatQuery, QueryBuilder, Rule, ValueSelector,\n} from 'react-querybuilder';\nimport Select from 'react-select';\nimport checkMarkSVG from '../../../images/tag_manager/check_icon.svg';\n\nconst selectStyles = {\n control: (provided) => ({\n ...provided,\n alignItems: 'center',\n alignSelf: 'stretch',\n background: '#FFF',\n border: '1px solid #6778DA',\n borderRadius: '8px',\n boxShadow: '0px 0px 0px 4px rgba(70, 138, 240, 0.10), 0px 1px 2px 0px rgba(70, 138, 240, 0.05)',\n display: 'flex',\n fontWeight: '600',\n padding: '3px 0px',\n }),\n option: (provided) => ({\n ...provided,\n color: '#101828',\n fontFamily: 'Inter, sans-serif',\n fontSize: '16px',\n fontStyle: 'normal',\n fontWeight: '600',\n lineHeight: '24px',\n }),\n};\n\nconst RuleComponent = (props) => {\n // Use the last number in the path array as the rule's index\n const ruleIndex = props.path[props.path.length - 1] + 1;\n\n return (\n
\n
\n {`Condition ${ruleIndex}`}\n
\n \n
\n );\n};\n\nconst Option = (props) => (\n
\n
\n {props.isSelected && \"checkmark\"}\n
\n {props.label}\n
\n);\n\nconst formatGroupLabel = (data) => (\n
\n {data.label}\n
\n);\n\nconst CustomFieldSelector = (fieldsForField) => (props) => {\n const groupedOptionsForField = [\n {\n label: 'Pages',\n options: fieldsForField,\n },\n ];\n\n return (\n
\n
Trigger Type
\n f?.name}\n value={groupedOptionsForField[0].options.find((f) => f.name === props.value)}\n onChange={(v) => props.handleOnChange(v?.name)}\n />\n
\n );\n};\n\nconst CustomOperatorSelector = (fieldsForOperator) => (props) => {\n const groupedOptionsForOperator = [\n {\n label: 'Conditions',\n options: fieldsForOperator[0].operators,\n },\n ];\n return (\n
\n
Conditions
\n f?.name}\n value={groupedOptionsForOperator[0].options.find((f) => f.name === props.value)}\n onChange={(v) => props.handleOnChange(v?.name)}\n />\n
\n );\n};\n\nconst ValueEditor = ({\n handleOnChange,\n value,\n}) => (\n
\n
Enter URL or Keywords
\n handleOnChange(e.target.value)}\n value={value}\n />\n
\n);\n\nconst CustomRemoveRuleIcon = ({ handleOnClick, ...props }) => (\n
\n \n \n \n
\n);\n\nconst EditTriggersModal = ({\n show, onHide, onEdit, container, pixel,\n}) => {\n const fields = [\n {\n label: 'Page URL',\n name: 'pageUrl',\n operators: [\n { label: 'Exactly', name: '=' },\n { label: 'Custom', name: 'regex' },\n { label: 'Contains', name: 'contains' },\n { label: 'Begins With', name: 'beginsWith' },\n { label: 'Ends With', name: 'endsWith' },\n ],\n },\n\n ];\n\n const [query, setQuery] = useState(pixel.triggers);\n\n const [triggerCode, setTriggerCode] = useState({\n id: pixel.id,\n container_id: pixel.container_id,\n json: pixel.triggers,\n });\n\n const handleAddCondition = () => {\n document.querySelector('.ruleGroup-addRule').click();\n };\n\n const handleSave = () => {\n onEdit(triggerCode);\n onHide();\n };\n\n const handleQueryChange = (newQuery) => {\n setQuery(newQuery);\n setTriggerCode((prevState) => ({\n ...prevState,\n json: formatQuery(newQuery, 'json'),\n }));\n };\n\n return (\n \n \n Edit Trigger Configuration\n \n \n
{pixel.name}
\n handleQueryChange(q)}\n defaultQuery={query}\n showCombinatorsBetweenRules\n />\n
\n \n \n \n \n
\n );\n};\n\nexport default EditTriggersModal;\n","import React, { useState } from 'react';\nimport { Table, Dropdown } from 'react-bootstrap';\nimport moment from 'moment';\nimport { toast } from 'react-toastify';\nimport CodeIcon from '../../../images/tag_manager/code_icon.svg';\nimport TriggerIcon from '../../../images/tag_manager/trigger_icon.svg';\nimport RightArrowIcon from '../../../images/tag_manager/arrow_right_icon.png';\nimport MinusCircleIcon from '../../../images/tag_manager/minus_circle_icon.svg';\nimport MinusCircleIconActive from '../../../images/tag_manager/minus_circle_icon_active.svg';\nimport EditPixelModal from './EditPixelModal';\nimport EditTriggersModal from './EditTriggersModal';\nimport { updatePixelAction, updateTriggerAction, deletePixelAction } from '../actions/pixel';\n\nconst operatorMapping = (operator) => {\n switch (operator) {\n case '=':\n return 'Exact';\n case 'endsWith':\n return 'Ends With';\n case 'startsWith':\n return 'Starts With';\n case 'contains':\n return 'Contains';\n case 'notContains':\n return 'Not Contain';\n default:\n return operator;\n }\n};\n\nconst removeRowAndResetPendingPixel = (setAddPendingPixelRow, handleRemovePendingPixel) => {\n setAddPendingPixelRow(false);\n handleRemovePendingPixel();\n};\n\nconst PixelTable = ({\n advertiser,\n token,\n pixels,\n setPixels,\n fieldTriggerMapping,\n onAddPixelClick,\n onAddTriggersClick,\n pendingPixel,\n activeContainer,\n addPendingPixelRow,\n setAddPendingPixelRow,\n handleRemovePendingPixel,\n}) => {\n const [showDropdown, setShowDropdown] = useState(false);\n const [showEditPixelModal, setShowEditPixelModal] = useState(false);\n const [currentlyEditingPixel, setCurrentlyEditingPixel] = useState(null);\n const [showEditTriggerModal, setShowEditTriggerModal] = useState(false);\n const [currentlyEditingTrigger, setCurrentlyEditingTrigger] = useState(null);\n // Define the event handlers for the dropdown items\n const handleEditPixel = (pixel) => {\n // Handle the DSP Pixel editing logic here\n setShowDropdown(false); // Close the dropdown\n setShowEditPixelModal(true);\n setCurrentlyEditingPixel(pixel);\n };\n\n const handleEditTriggers = (pixel) => {\n // Handle the Triggers editing logic here\n setShowDropdown(false); // Close the dropdown\n setShowEditTriggerModal(true);\n setCurrentlyEditingTrigger(pixel);\n };\n\n const updatePixel = async (pixelCode) => {\n toast.info('Updating DSP Pixel..');\n try {\n const response = await updatePixelAction(pixelCode,\n activeContainer,\n token,\n advertiser);\n if (response.status) {\n toast.dismiss();\n toast.success('Pixel has been changed successfully');\n setPixels(response.all_results);\n setShowEditPixelModal(false);\n setCurrentlyEditingPixel(null);\n handleRemovePendingPixel();\n } else {\n // Handle failure scenario\n toast.dismiss();\n toast.error(response.message || 'An error occurred while editing a pixel.');\n }\n } catch (error) {\n // Handle unexpected errors, like network issues\n toast.dismiss();\n toast.error('An unexpected error occurred. Please try again.');\n }\n };\n\n const updateTrigger = async (pixelCode) => {\n toast.info('Updating Triggers..');\n try {\n const response = await updateTriggerAction(pixelCode,\n activeContainer,\n token,\n advertiser);\n if (response.status) {\n toast.dismiss();\n toast.success('Trigger configuration changed successfully');\n setPixels(response.all_results);\n setShowEditPixelModal(false);\n setCurrentlyEditingPixel(null);\n handleRemovePendingPixel();\n } else {\n // Handle failure scenario\n toast.dismiss();\n toast.error(response.message || 'An error occurred while editing a pixel.');\n }\n } catch (error) {\n // Handle unexpected errors, like network issues\n toast.dismiss();\n toast.error('An unexpected error occurred. Please try again.');\n }\n };\n\n const handleDeleteItem = async (pixel) => {\n toast.info('Deleting..');\n // Handle the deletion logic here\n try {\n const response = await deletePixelAction(pixel,\n activeContainer,\n token,\n advertiser);\n if (response.status) {\n toast.dismiss();\n toast.success('Trigger deleted successfully');\n setPixels(response.all_results);\n handleRemovePendingPixel();\n } else {\n // Handle failure scenario\n toast.dismiss();\n toast.error(response.message || 'An error occurred while editing a pixel.');\n }\n } catch (error) {\n // Handle unexpected errors, like network issues\n toast.dismiss();\n toast.error('An unexpected error occurred. Please try again.');\n }\n };\n\n return (\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {pixels?.map((pixel) => (\n \n \n \n \n \n \n \n \n \n \n \n ))}\n \n
Platform PixelsTriggersConstraintsKeyword/URLLogicStatus# of HitsLast Edited\n
\n
handleEditPixel(pixel)} className=\"pixel-name pointer\">{pixel.name}
\n
\n
\n {pixel.triggers.rules.map((rule) => (\n
{fieldTriggerMapping(rule.field)}
\n ))}\n
\n
\n
\n {pixel.triggers.rules.map((rule) => (\n
\n {operatorMapping(rule.operator)}\n
\n ))}\n
\n
\n
\n {pixel.triggers.rules.map((rule) => (\n
{rule.value}
\n ))}\n
\n
\n
\n {pixel.triggers.rules.map(() => (\n
\n {pixel.triggers.combinator === 'and' ? (\n \n \n \n ) : (\n \n \n \n )}\n {pixel?.triggers?.combinator?.toUpperCase()}\n
\n ))}\n
\n
\n
\n {pixel.status ? (\n
\n ) : (\n
\n )}\n
\n
{pixel.hits}{moment(pixel.updated_at).fromNow()}\n \n \n
\n \n
\n
\n \n handleEditPixel(pixel)}>\n Edit DSP Pixel\n \n handleEditTriggers(pixel)}>\n Edit Triggers\n \n handleDeleteItem(pixel)}>\n Delete\n \n \n
\n
\n {(pixels.length === 0 || addPendingPixelRow) && (\n \n \n \n \n \n \n \n \n
\n {pendingPixel.name ? (\n
\n
\n
\"Code
\n
\n
{pendingPixel.name}
\n
\n
\n
\n ) : (\n
onAddPixelClick(activeContainer)}>\n
\n
\"Code
\n
\n
Place DSP Pixel
\n
Add the DSP pixel you would like to manage
\n
\n
\n
\"Right
\n
\n )}\n
\n
onAddTriggersClick(activeContainer)}>\n
\n
\"Trigger
\n
\n
Add Triggers
\n
Add triggers to control when this pixel fires
\n
\n
\n
\"Right
\n
\n
\n {pendingPixel.name\n ? (\n removeRowAndResetPendingPixel(\n setAddPendingPixelRow,\n handleRemovePendingPixel,\n )}\n src={MinusCircleIconActive}\n alt=\"Minus Circle Active\"\n />\n )\n : (\n\n \n )}\n
\n )}\n {currentlyEditingPixel && (\n setShowEditPixelModal(false)}\n onEdit={(pixelCode) => updatePixel(pixelCode)}\n pixel={currentlyEditingPixel}\n container={activeContainer}\n />\n )}\n {currentlyEditingTrigger && (\n setShowEditTriggerModal(false)}\n onEdit={(pixelCode) => updateTrigger(pixelCode)}\n pixel={currentlyEditingTrigger}\n container={activeContainer}\n />\n )}\n
\n );\n};\n\nexport default PixelTable;\n","const createPixelAction = (pendingPixel,\n pendingTrigger,\n container,\n token,\n advertiser) => new Promise((resolve, reject) => {\n const body = JSON.stringify({\n authenticity_token: token,\n pixel: {\n code: pendingPixel.code,\n container_id: pendingPixel.container_id,\n name: pendingPixel.name,\n triggers: JSON.parse(pendingTrigger.json),\n },\n });\n\n const requestOptions = {\n body,\n headers: { 'Content-Type': 'application/json' },\n method: 'POST',\n };\n\n fetch(`/vendors/${advertiser.id}/containers/${container.id}/pixels`, requestOptions)\n .then((response) => {\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n return response.json();\n })\n .then((data) => {\n if (data.status) {\n resolve(data);\n } else {\n throw new Error(data.message || 'An error occurred, please contact support.');\n }\n })\n .catch((error) => {\n reject(error);\n });\n});\n\nconst updatePixelAction = (pixel,\n container,\n token,\n advertiser) => new Promise((resolve, reject) => {\n const body = JSON.stringify({\n authenticity_token: token,\n pixel: {\n code: pixel?.code,\n container_id: pixel?.container_id,\n name: pixel?.name,\n },\n });\n\n const requestOptions = {\n body,\n headers: { 'Content-Type': 'application/json' },\n method: 'PUT',\n };\n\n fetch(`/vendors/${advertiser.id}/containers/${container.id}/pixels/${pixel.id}`, requestOptions)\n .then((response) => {\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n return response.json();\n })\n .then((data) => {\n if (data.status) {\n resolve(data);\n } else {\n throw new Error(data.message || 'An error occurred, please contact support.');\n }\n })\n .catch((error) => {\n reject(error);\n });\n});\n\nconst updateTriggerAction = (pixel,\n container,\n token,\n advertiser) => new Promise((resolve, reject) => {\n const body = JSON.stringify({\n authenticity_token: token,\n pixel: {\n triggers: pixel?.json ? JSON.parse(pixel?.json) : {},\n },\n });\n\n const requestOptions = {\n body,\n headers: { 'Content-Type': 'application/json' },\n method: 'PUT',\n };\n\n fetch(`/vendors/${advertiser.id}/containers/${container.id}/pixels/${pixel.id}`, requestOptions)\n .then((response) => {\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n return response.json();\n })\n .then((data) => {\n if (data.status) {\n resolve(data);\n } else {\n throw new Error(data.message || 'An error occurred, please contact support.');\n }\n })\n .catch((error) => {\n reject(error);\n });\n});\n\nconst getPixelsForContainer = (advertiser, container) => new Promise((resolve, reject) => {\n const method = 'GET';\n const requestOptions = {\n headers: { 'Content-Type': 'application/json' },\n method,\n };\n\n fetch(`/vendors/${advertiser.id}/containers/${container.id}/pixels`, requestOptions)\n .then((response) => {\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n return response.json();\n })\n .then((data) => {\n if (data.status) {\n resolve(data.result);\n } else {\n throw new Error(data.message || 'An error occurred, please contact support.');\n }\n })\n .catch((error) => {\n reject(error);\n });\n});\n\nconst deletePixelAction = (pixel,\n container,\n token,\n advertiser) => new Promise((resolve, reject) => {\n const body = JSON.stringify({\n authenticity_token: token,\n });\n\n const requestOptions = {\n body,\n headers: { 'Content-Type': 'application/json' },\n method: 'DELETE',\n };\n\n fetch(`/vendors/${advertiser.id}/containers/${container.id}/pixels/${pixel.id}`, requestOptions)\n .then((response) => {\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n return response.json();\n })\n .then((data) => {\n if (data.status) {\n resolve(data);\n } else {\n throw new Error(data.message || 'An error occurred, please contact support.');\n }\n })\n .catch((error) => {\n reject(error);\n });\n});\n\nexport {\n createPixelAction,\n getPixelsForContainer,\n updatePixelAction,\n updateTriggerAction,\n deletePixelAction,\n};\n","import React from 'react';\nimport { CodeBlock } from 'react-code-blocks';\nimport { Modal, Button } from 'react-bootstrap';\nimport CheckIconGreen from '../../../images/tag_manager/check_icon_green.png';\nimport CheckIconPurple from '../../../images/tag_manager/check_icon.png';\n\nconst ShowContainerModal = ({\n container,\n setShowPixelCodeModal,\n pixels,\n containerCode,\n isCopied,\n handleCreatedCopyClick,\n}) => (\n \n \n setShowPixelCodeModal(false)}>\n Install the Orion Smart Container\n \n \n
\n
\n
\n { container.status === true && pixels.length > 0 ? (\n \"Checkmark\n )\n : (\"Checkmark)}\n\n
\n\n {pixels && pixels.length > 0 ? (\n pixels.map((pixel) => (\n pixel.triggers.rules.length > 0 ? (\n
\n
\n { container.status === true ? (\n 'Container successfully installed!'\n ) : (\n 'Container activity not detected yet!'\n )}\n
\n
\n { container.status === true ? (\n 'The Orion Smart Container has been installed and is active on the following pages:'\n ) : (\n 'The Orion Smart Container has not detected any activity on the following pages yet:'\n )}\n
\n
\n {pixel.triggers.rules.map((rule) => (\n
{rule.value}
\n ))}\n
\n
\n ) : null\n ))\n ) : (\n
\n
No pixels available!
\n
Please add pixels to start tracking.
\n
\n )}\n
\n\n
\n\n

\n Copy the Orion Smart Container code below and install it on every page of\n your website.\n
\n Place this code as high in the\n {' '}\n {''}\n {' '}\n of the page as\n possible.\n

\n\n
\n
\n \n
\n
\n {\n if (e.keyCode === 13 || e.keyCode === 32) { // 13 is Enter, 32 is Space\n handleCreatedCopyClick();\n }\n }}\n className=\"copy-button\"\n onClick={handleCreatedCopyClick}\n >\n \n \n \n
\n
\n
\n

\n Important:\n {' '}\n For more information about installing the Orion Smart Container snippet, email\n {' '}\n support@theversion2.com\n .\n

\n \n
\n \n \n
\n
\n \n \n \n
\n {isCopied ? 'Copied!' : 'Copy'}\n
\n \n setShowPixelCodeModal(false)}\n >\n Done\n \n
\n
\n \n);\n\nexport default ShowContainerModal;\n","import React, { useEffect, useState } from 'react';\nimport { Button } from 'react-bootstrap';\nimport { toast } from 'react-toastify';\nimport { getPixelsForContainer, createPixelAction } from '../actions/pixel';\nimport AddPixelModal from '../pixels/AddPixelModal';\nimport AddTriggersModal from '../pixels/AddTriggersModal';\n// import ChevronDownIcon from '../../../images/tag_manager/chevron_down_icon.svg';\nimport PixelTable from '../pixels/PixelTable';\nimport ShowContainerModal from './ShowContainerModal';\n\nconst ContainersIndex = ({\n token,\n advertiser,\n activeContainer,\n // setActiveContainer,\n setIsContainerManager,\n // setIsPixelManager,\n // containers,\n setPaneOpen,\n}) => {\n const fieldTriggerMapping = (field) => {\n switch (field) {\n case 'pageUrl':\n return 'Page URL';\n default:\n return field;\n }\n };\n\n const [pixels, setPixels] = useState([]);\n const [containerCode, setContainerCode] = useState('');\n const [isCopied, setIsCopied] = useState(false);\n const [showAddPixelModal, setShowAddPixelModal] = useState(false);\n const [showAddTriggersModal, setShowAddTriggersModal] = useState(false);\n const [showPixelCodeModal, setShowPixelCodeModal] = useState(false);\n const [addPendingPixelRow, setAddPendingPixelRow] = useState(false);\n const [pendingPixel, setPendingPixel] = useState({\n code: '',\n container_id: '',\n name: '',\n });\n\n const [pendingTrigger, setPendingTrigger] = useState({\n container_id: '',\n json: '',\n });\n\n const onBackClick = () => {\n setPaneOpen(false);\n setIsContainerManager(false);\n };\n\n const handleRemovePendingPixel = () => {\n setPendingPixel({\n code: '',\n container_id: '',\n name: '',\n });\n setPendingTrigger({\n container_id: '',\n json: '',\n });\n };\n\n useEffect(() => {\n getPixelsForContainer(advertiser, activeContainer).then((data) => {\n setPixels(data);\n });\n }, [activeContainer]);\n\n const onAddPixelClick = () => {\n setShowAddPixelModal(true);\n };\n\n const onAddTriggersClick = () => {\n if (!pendingPixel.name) {\n toast.error('Please Place a DSP Pixel first.');\n } else {\n setShowAddTriggersModal(true);\n }\n };\n\n useEffect(() => {\n setContainerCode(``);\n }, [activeContainer]);\n\n async function copyTextToClipboard(text) {\n if ('clipboard' in navigator) {\n return navigator.clipboard.writeText(text);\n }\n return document.execCommand('copy', true, text);\n }\n\n // onClick handler function for the copy button\n const handleCreatedCopyClick = () => {\n // Asynchronously call copyTextToClipboard\n copyTextToClipboard(containerCode)\n .then(() => {\n // If successful, update the isCopied state value\n setIsCopied(true);\n setTimeout(() => {\n setIsCopied(false);\n }, 1500);\n })\n .catch((err) => {\n toast.error('Failed to copy!', err);\n });\n };\n\n // const handleContainerSelect = (container) => {\n // setActiveContainer(container);\n // };\n\n useEffect(() => {\n async function createPixelAndTrigger() {\n // Check if all necessary fields in both pendingPixel and pendingTrigger are filled\n if (pendingPixel.code && pendingPixel.container_id && pendingPixel.name\n && pendingTrigger.container_id && pendingTrigger.json) {\n try {\n const response = await createPixelAction(pendingPixel,\n pendingTrigger,\n activeContainer,\n token,\n advertiser);\n\n if (response.status) {\n toast.success('Pixel and Trigger created successfully');\n setPixels((prevPixels) => [...prevPixels, response.result]);\n setAddPendingPixelRow(false);\n // Reset pendingPixel and pendingTrigger\n handleRemovePendingPixel();\n } else {\n // Handle failure scenario\n toast.error(response.message || 'An error occurred while creating the Pixel and Trigger.');\n }\n } catch (error) {\n // Handle unexpected errors, like network issues\n toast.error('An unexpected error occurred. Please try again.');\n }\n }\n }\n\n createPixelAndTrigger();\n }, [pendingPixel, pendingTrigger]);\n\n return (\n
\n
\n
\n {/* onBackClick()}\n >\n \n
*/}\n
\n
\n Pixel Container\n
\n
\n {activeContainer.name}\n
\n
\n
\n {\n if (e.keyCode === 13 || e.keyCode === 32) { // 13 is Enter, 32 is Space\n setShowPixelCodeModal(true);\n }\n }}\n className=\"col-6 text-right d-flex justify-content-end align-items-end mb-2\"\n onClick={() => setShowPixelCodeModal(true)}\n >\n
Container ID:
\n  \n
\n ORC-\n {activeContainer.id}\n
\n {/* \n \n \"Chevron\n \n \n {containers.map((container) => (\n handleContainerSelect(container)}\n style={{ color: activeContainer.id === container.id ? '#6E20A1' : 'inherit' }}\n >\n {container.name}\n \n ))}\n \n */}\n
\n\n \n { showPixelCodeModal && (\n \n )}\n \n { pixels.length !== 0 && (\n
\n
\n
\n \n
\n
\n
\n )}\n setShowAddPixelModal(false)}\n onSave={(pixelCode) => setPendingPixel(pixelCode)}\n container={activeContainer}\n />\n setShowAddTriggersModal(false)}\n onSave={(trigger) => setPendingTrigger(trigger)}\n container={activeContainer}\n pendingPixel={pendingPixel}\n />\n \n \n );\n};\n\nexport default ContainersIndex;\n","import React, { useEffect, useState } from 'react';\nimport SlidingPane from 'react-sliding-pane';\nimport 'react-sliding-pane/dist/react-sliding-pane.css';\nimport { getContainersAction } from './actions/container';\nimport ContainersTable from './containers/ContainersTable';\nimport SlideOutHeader from './SlideOutHeader';\nimport EmptyContainersMessage from './containers/EmptyContainersMessage';\nimport AddContainerComponent from './containers/AddContainerComponent';\nimport ContainerIndex from './containers/ContainerIndex';\n\nconst SlideOutComponent = ({\n isPaneOpen, setPaneOpen, onRequestClose, token, advertiser,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [containers, setContainers] = useState([]);\n const [isContainerManager, setIsContainerManager] = useState(false);\n const [isPixelManager, setIsPixelManager] = useState(false);\n const [activeContainer, setActiveContainer] = useState(null);\n\n const handleContainersChange = (containersData) => {\n if (containersData.length === 0) {\n setIsContainerManager(true);\n } else {\n setIsContainerManager(false);\n setIsPixelManager(true);\n setActiveContainer(containersData[0]);\n }\n };\n\n useEffect(() => {\n getContainersAction(advertiser).then((data) => {\n setContainers(data);\n handleContainersChange(data);\n });\n }, []);\n\n useEffect(() => {\n handleContainersChange(containers);\n }, [containers]);\n\n return (\n
\n \n {isContainerManager && (\n <>\n
\n \n {containers && containers.length > 0 && (\n \n )}\n {containers && containers.length === 0 && (\n \n )}\n
\n {isModalOpen && (\n setIsModalOpen(false)}\n />\n )}\n \n )}\n {isPixelManager && (\n \n )}\n \n
\n );\n};\n\nexport default SlideOutComponent;\n","import React, { useState } from 'react';\nimport { AgGridReact } from 'ag-grid-react';\nimport { ToastContainer } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport 'ag-grid-community/styles/ag-grid.css';\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\nimport PropTypes from 'prop-types';\nimport { Button } from 'react-bootstrap';\nimport { moneyFormatter } from '../../common/utils';\nimport LinkButton from '../../components/LinkButton';\nimport SlideOutComponent from '../TagManager/SlideOutComponent';\n\nfunction onRowClick(event) {\n window.location.assign(event.data.link);\n}\n\nconst CampaignIndexComponent = ({\n campaigns: propCampaigns, link, token, advertiser,\n}) => {\n const columns = [\n {\n headerName: 'Status', field: 'status', sortable: true, flex: 1,\n },\n {\n headerName: 'Campaign', field: 'name', sortable: true, flex: 1,\n },\n {\n headerName: 'Flight', field: 'flight', sortable: true, flex: 1,\n },\n {\n headerName: 'Campaign Activation', field: 'humanized_campaign_type', sortable: true, flex: 1,\n },\n {\n headerName: 'Total Budget',\n field: 'budget',\n sortable: true,\n cellRenderer: (params) => moneyFormatter(params.value),\n comparator: (a, b) => a - b,\n cellStyle: { textAlign: 'center' },\n headerClass: 'center-header',\n flex: 1,\n },\n {\n headerName: 'Goal(s)', field: 'goals', sortable: true, flex: 1,\n },\n ];\n\n const setupTableData = () => propCampaigns.map(({\n id, status, name, budget, flight, campaign_type, humanized_campaign_type, goals,\n }) => ({\n budget,\n flight,\n campaign_type,\n humanized_campaign_type,\n goals,\n link: `/campaigns/${id}`,\n name,\n status,\n }));\n\n const [campaigns] = useState(setupTableData());\n const [tableData, setTableData] = useState(campaigns);\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isPaneOpenLeft] = useState(false);\n\n const onSearchInputChange = (searchTerm) => {\n const data = searchTerm !== ''\n ? campaigns.filter((campaign) => campaign.name.toLowerCase().includes(searchTerm.toLowerCase()))\n : [...campaigns];\n setTableData(data);\n };\n\n const onRequestClose = () => {\n setIsPaneOpen(false);\n };\n\n return (\n
\n
\n
\n onSearchInputChange(event.target.value)}\n />\n
\n
\n \n setIsPaneOpen(true)}\n className=\"ml-3 btn btn-secondary btn-secondary-v2 ht-50\"\n tooltip=\"Enter any additional details to launch a new campaign\"\n >\n Pixel Container\n \n
\n
\n
\n \n
\n \n \n
\n\n );\n};\n\nCampaignIndexComponent.propTypes = {\n campaigns: PropTypes.arrayOf(PropTypes.object).isRequired,\n link: PropTypes.string.isRequired,\n};\n\nexport default CampaignIndexComponent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Step = ({ step }) => (\n \n);\n\nStep.propTypes = {\n step: PropTypes.number.isRequired,\n};\n\nexport default Step;\n","/* global $ */\n\nexport default class FormUtils {\n static buildOptions(options) {\n return options.map((option) => this.buildOption(option));\n }\n\n static buildAnnualRevenueOptions(options) {\n const annualRevenueOptions = options.map((option, index) => (\n { label: option.label, value: index }\n ));\n\n return annualRevenueOptions;\n }\n\n static buildTacticOptions(options) {\n const tacticOptions = options.map((option) => (\n { label: option.label, value: option.value, tooltip: option.tooltip }\n ));\n\n return tacticOptions;\n }\n\n static buildOption(option) {\n return { label: option, value: option };\n }\n\n static buildEnumOption(selectedOption, options) {\n if (options.length === 0) {\n return null;\n }\n\n if (!selectedOption) {\n return options[0];\n }\n\n return options.filter(\n (item) => item.value === selectedOption,\n )[0];\n }\n\n static blockNonNum(event) {\n if (event.key === 'e' || event.key === 'E' || event.key === '.' || event.key === '-') {\n event.preventDefault();\n }\n }\n\n static blockE(event) {\n if (event.key === 'e' || event.key === 'E' || event.key === '-') {\n event.preventDefault();\n }\n }\n\n static validateEndDate(startingDate, endingDate) {\n const startDate = new Date(startingDate);\n const endDate = new Date(endingDate);\n\n if (!endingDate) {\n return 'End Date is required';\n }\n if (startDate >= endDate) {\n return 'End Date needs to be before Start Date';\n }\n return '';\n }\n\n static submitEnter(event, formId, handleSubmit) {\n if (event.key === 'Enter') {\n event.preventDefault();\n const form = document.getElementById(formId);\n\n form.submit((formEvent) => {\n handleSubmit(formEvent);\n });\n\n form.submit();\n }\n }\n\n static formatNumber(number) {\n if (number) {\n let parsedNumber = Number(number).toLocaleString('en', { useGrouping: true });\n\n const [_wholePart, decimalPart] = number.toString().split('.');\n\n if (decimalPart === '') {\n parsedNumber = `${parsedNumber}.`;\n }\n\n if (decimalPart === '0') {\n parsedNumber = `${parsedNumber}.0`;\n }\n\n return parsedNumber;\n }\n return '';\n }\n}\n","// This is just a wrapper around 'Form' that allows all errors returned from server\n// to be automatically rendered below the corresponding control\n// it does that by processing all children elements and applying css and html\n// to corresponding elements with errors\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport FormUtils from '../common/FormUtils';\nimport { Form } from 'react-bootstrap';\nexport default class OrionForm extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {\n formId,\n handleSubmit,\n errors,\n children,\n className\n } = this.props\n\n let processedChildren = processChildren(children)\n\n window.childs = children\n\n return (\n FormUtils.submitEnter(event, formId, handleSubmit)}\n >\n {processedChildren}\n \n );\n\n function applyErrorTo(element) {\n // renders a div with error at the end of the formControl that's child of 'element'\n let invalidatedControls = invalidateFormControls(element)\n invalidatedControls.push(errorDivFor(element));\n\n return React.cloneElement(\n element,\n { ...element.props, key: element.props.controlId },\n invalidatedControls\n )\n };\n\n function invalidateFormControls(element, controlId) {\n // adds is-invalid class to all children of type 'FormControl'\n return element.props.children.map(function(element, index) {\n if (isFormControl(element)) {\n return addClassTo(\"is-invalid\", element, `${index}-${controlId}`);\n } else {\n return element;\n }\n });\n }\n\n function isFormControl(element) {\n // Select inputs are 'StateManager'\n return element.type.displayName === \"FormControl\" || element.type.name === \"StateManager\"\n }\n\n function addClassTo(cssClass, element, uniqueKey) {\n let className = element.props.className + ` ${cssClass}`\n let key = `invalid-${uniqueKey}`\n\n return React.cloneElement(element, { ...element.props, className: className, key: key })\n }\n\n function errorDivFor(element) {\n return
{errors[element.props.controlId].join('; ')}
\n }\n\n function elementHasError(element) {\n return React.isValidElement(element) && \n element.type.displayName === \"FormGroup\" && \n errors[element.props.controlId]\n }\n\n function processChildren(children) {\n return children.map(function(element) {\n // If element is a wrapper element, process recursively\n if (React.isValidElement(element) && isWrapper(element)) {\n return React.cloneElement(\n element,\n element.props,\n processChildren(element.props.children)\n )\n }\n\n return elementHasError(element) ? applyErrorTo(element) : element;\n });\n }\n\n function isWrapper(element) {\n return React.isValidElement(element) &&\n element.props.inputwrapper === \"true\"\n }\n }\n}\n\nOrionForm.propTypes = {\n formId: PropTypes.string,\n handleSubmit: PropTypes.func,\n errors: PropTypes.object,\n className: PropTypes.string\n};\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {Form} from 'react-bootstrap';\n\nexport default class InputLabel extends Component {\n\n render() {\n const {\n label,\n tooltip,\n prepend,\n className\n } = this.props;\n\n const left = prepend ? \"9%\" :\"\";\n return (\n
\n {label}\n {tooltip ? : <>}\n
\n )\n }\n}\n\nInputLabel.propTypes = {\n label: PropTypes.string.isRequired,\n className: PropTypes.string,\n tooltip: PropTypes.string,\n prepend: PropTypes.string\n};\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {Form} from 'react-bootstrap';\nimport InputLabel from \"./InputLabel\";\nimport Select from \"react-select\";\n\nexport default class SelectInput extends Component {\n\n render() {\n const {\n name,\n label,\n options,\n value,\n tooltip,\n handleChange\n } = this.props;\n\n return (\n \n \n \n \n )\n }\n}\n\nSelectInput.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n options: PropTypes.array.isRequired,\n tooltip: PropTypes.string,\n handleChange: PropTypes.func.isRequired,\n value: PropTypes.object.isRequired\n};\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {Form} from 'react-bootstrap';\nimport InputLabel from \"./InputLabel\";\n\nexport default class TextInput extends Component {\n\n render() {\n const {\n name,\n label,\n value,\n tooltip,\n handleChange\n } = this.props;\n\n return (\n \n \n \n \n {label} is required\n \n \n )\n }\n}\n\nTextInput.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n tooltip: PropTypes.string,\n handleChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired\n};\n","import React, { Component } from 'react';\nimport FormUtils from '../common/FormUtils';\nimport PropTypes from 'prop-types';\nimport { Form } from 'react-bootstrap';\nimport InputLabel from \"./InputLabel\";\n\nexport default class UrlInput extends Component {\n\n render() {\n const {\n name,\n label,\n tooltip,\n value,\n handleChange\n } = this.props;\n\n return (\n \n \n \n \n {label} is invalid\n \n \n )\n }\n}\n\nUrlInput.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n tooltip: PropTypes.string,\n handleChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Form } from 'react-bootstrap';\nimport OrionForm from '../../../components/OrionForm';\nimport SelectInput from '../../../components/SelectInput';\nimport TextInput from '../../../components/TextInput';\nimport UrlInput from '../../../components/UrlInput';\nimport FormUtils from '../../../common/FormUtils';\n\nexport default class CampaignBasicsFormFragment extends Component {\n render() {\n const {\n advertiser_id: advertiserId,\n hide_advertiser: hideAdvertiser,\n campaign_type: campaignType,\n demand_side_platform: demandSidePlatform,\n campaign_url: campaignUrl,\n notes,\n handleSelectChange,\n handleCancel,\n handleChange,\n handleSubmit,\n name,\n options: {\n advertiser_options: advertiserOptions,\n campaign_type_options: campaignTypeOptions,\n dsp_options: dspOptions,\n },\n errors,\n } = this.props;\n\n return (\n
\n

Flight

\n
\n
\n
\n \n
\n \n
\n \n {campaignType.value === 'trade_side_platform_auto_setup'\n && (\n \n )}\n \n \n \n Notes\n \n \n
\n \n \n
\n \n
\n
\n
\n
\n );\n }\n}\n\nCampaignBasicsFormFragment.propTypes = {\n advertiser_id: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.number,\n }),\n campaign_type: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n demand_side_platform: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n hide_advertiser: PropTypes.bool,\n options: PropTypes.shape({\n goal_options: PropTypes.arrayOf(PropTypes.string),\n kpi_options: PropTypes.arrayOf(PropTypes.string),\n advertiser_options: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.number,\n })),\n }).isRequired,\n campaign_url: PropTypes.string,\n notes: PropTypes.string,\n handleCancel: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n name: PropTypes.string,\n errors: PropTypes.object,\n};\n\nCampaignBasicsFormFragment.defaultProps = {\n advertiser_id: undefined,\n hide_advertiser: undefined,\n campaign_url: undefined,\n notes: undefined,\n name: undefined,\n};\n","import React, { Component } from 'react';\nimport FormUtils from '../common/FormUtils';\nimport PropTypes from 'prop-types';\nimport { Form } from 'react-bootstrap';\nimport InputLabel from \"./InputLabel\";\n\nexport default class NumberInput extends Component {\n handleNumberChange = (event) => {\n const {\n handleChange\n } = this.props\n\n let number = event.target.value.replaceAll(',', '').replaceAll('-', '')\n\n // limit to 2 decimal places\n let [wholePart, decimalPart] = number.split('.')\n if (decimalPart) {\n decimalPart = decimalPart.substring(0, 2)\n number = `${wholePart}.${decimalPart}`\n }\n\n // js can't handle parsing of huge numbers\n if (number.length >= 16) {\n event.preventDefault()\n return\n }\n\n if (number === '') {\n handleChange(event.target.name, '');\n return\n }\n\n if (Number(number) !== 0 && !Number(number)) {\n event.preventDefault()\n return\n }\n\n if (Number(number) < 0) {\n handleChange(event.target.name, 0)\n return\n }\n\n handleChange(event.target.name, number)\n }\n\n render() {\n const {\n name,\n label,\n value,\n allowDecimal,\n className,\n prepend,\n append,\n tooltip\n } = this.props;\n\n return (\n \n \n \n {prepend &&
{prepend}
}\n {append &&
{append}
}\n
\n )\n }\n}\n\nNumberInput.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n tooltip: PropTypes.string,\n handleChange: PropTypes.func.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]).isRequired,\n allowDecimal: PropTypes.bool,\n className: PropTypes.string,\n prepend: PropTypes.string,\n append: PropTypes.string\n};\n\nNumberInput.defaultProps = {\n allowDecimal: false,\n className: \"\"\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Form } from 'react-bootstrap';\nimport Select from 'react-select';\nimport ReactTooltip from 'react-tooltip';\nimport InputLabel from './InputLabel';\n\nexport default class SelectInputWithTooltips extends Component {\n render() {\n const {\n name,\n label,\n options,\n value,\n tooltip,\n handleChange,\n multiSelect,\n } = this.props;\n\n const updatedOptions = options.map((option) => ({\n label: (\n <>\n \n \n {option?.label}\n \n \n ),\n tooltip: option.tooltip,\n value: option.value,\n }));\n\n return (\n \n \n \n \n );\n }\n}\n\nSelectInputWithTooltips.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n options: PropTypes.array.isRequired,\n tooltip: PropTypes.string,\n multiSelect: PropTypes.bool,\n handleChange: PropTypes.func.isRequired,\n value: PropTypes.object.isRequired,\n};\n","import React, { Component } from 'react';\nimport { Form } from 'react-bootstrap';\nimport PropTypes from 'prop-types';\nimport FormUtils from '../../../common/FormUtils';\nimport OrionForm from '../../../components/OrionForm';\nimport NumberInput from '../../../components/NumberInput';\nimport SelectInput from '../../../components/SelectInput';\nimport InputLabel from '../../../components/InputLabel';\nimport SelectInputWithTooltips from '../../../components/SelectInputWithTooltips';\n\nexport default class ObjectiveFormFragment extends Component {\n constructor(props) {\n super(props);\n\n const {\n objective,\n options: {\n objective_field_mapping: fieldMapping,\n },\n } = props;\n\n this.state = {\n fields: fieldMapping.field_options[objective.kpi] || [],\n goal_options: fieldMapping.goal_options[objective.media_channel] || [],\n kpi_options: fieldMapping.kpi_options[objective.goal] || [],\n tactic_options: fieldMapping.tactic_options || [],\n };\n }\n\n handleMultiSelectChange = (selectedOptions, { name }) => {\n const {\n objective,\n } = this.props;\n\n const updatedOptions = selectedOptions.map((option) => ({\n label: option.value,\n tooltip: option.tooltip,\n value: option.value,\n }));\n\n objective[name] = updatedOptions;\n this.forceUpdate();\n }\n\n handleSelectChange = (selectedOption, { name }) => {\n const {\n objective,\n } = this.props;\n\n objective[name] = selectedOption.value;\n\n if (['media_channel', 'goal', 'kpi'].includes(name)) {\n this.refreshOptions();\n } else {\n this.forceUpdate();\n }\n }\n\n handleChange = (event) => {\n const {\n objective,\n } = this.props;\n\n objective[event.target.name] = event.target.value;\n this.forceUpdate();\n }\n\n updateAttribute = (name, value) => {\n const {\n objective,\n } = this.props;\n\n objective[name] = value;\n this.forceUpdate();\n }\n\n handleNumberChange = (event) => {\n const {\n objective,\n } = this.props;\n\n let number = event.target.value.replaceAll(',', '').replaceAll('-', '');\n\n // limit to 2 decimal places\n let [wholePart, decimalPart] = number.split('.');\n if (decimalPart) {\n decimalPart = decimalPart.substring(0, 2);\n number = `${wholePart}.${decimalPart}`;\n }\n\n // js can't handle parsing of huge numbers\n if (number.length >= 16) {\n event.preventDefault();\n return;\n }\n\n if (number === '') {\n objective[event.target.name] = '';\n this.forceUpdate();\n return;\n }\n\n if (Number(number) !== 0 && !Number(number)) {\n event.preventDefault();\n return;\n }\n\n if (Number(number) < 0) {\n objective[event.target.name] = '0';\n this.forceUpdate();\n return;\n }\n\n objective[event.target.name] = number;\n this.forceUpdate();\n }\n\n handlePercentageChange = (event) => {\n const {\n objective,\n } = this.props;\n\n if (Number(event.target.value) >= 100) {\n objective[event.target.name] = '100';\n this.forceUpdate();\n return;\n }\n\n if (Number(event.target.value) < 0) {\n objective[event.target.name] = '0';\n this.forceUpdate();\n return;\n }\n\n objective[event.target.name] = event.target.value;\n this.forceUpdate();\n }\n\n handleDecimalPercentageChange = (event) => {\n const {\n objective,\n } = this.props;\n\n let [wholePart, decimalPart] = event.target.value.split('.');\n\n if (Number(event.target.value) >= 100) {\n objective[event.target.name] = '100';\n this.forceUpdate();\n return;\n }\n\n if (Number(event.target.value) < 0) {\n objective[event.target.name] = '0';\n this.forceUpdate();\n return;\n }\n\n if (decimalPart) {\n decimalPart = decimalPart.substring(0, 2);\n }\n\n const result = decimalPart ? `${wholePart}.${decimalPart}` : wholePart;\n\n objective[event.target.name] = result;\n this.forceUpdate();\n }\n\n refreshOptions = () => {\n const {\n objective,\n options: {\n objective_field_mapping: fieldMapping,\n },\n } = this.props;\n\n const goalOptions = fieldMapping.goal_options[objective.media_channel] || [];\n if (!goalOptions.includes(objective.goal)) {\n objective.goal = '';\n }\n\n const kpiOptions = fieldMapping.kpi_options[objective.media_channel][objective.goal] || [];\n if (!kpiOptions.includes(objective.kpi)) {\n objective.kpi = '';\n }\n\n const tacticOptions = fieldMapping.tactic_options || [];\n if (!tacticOptions.includes(objective.tactic)) {\n objective.tactic = '';\n }\n\n const fields = fieldMapping.field_options[objective.kpi] || [];\n\n this.setState({\n fields,\n goal_options: goalOptions,\n kpi_options: kpiOptions,\n tactic_options: tacticOptions,\n });\n\n this.forceUpdate();\n }\n\n render() {\n const {\n objective,\n options: {\n media_channel_options: mediaChannelOptions,\n },\n handleSubmit,\n } = this.props;\n\n const {\n goal_options: goalOptions,\n kpi_options: kpiOptions,\n tactic_options: tacticOptions,\n fields,\n } = this.state;\n\n let impressions = '';\n\n if (objective.budget && objective.desired_dcpm) {\n impressions = Math.round(objective.budget / objective.desired_dcpm * 1000).toLocaleString('en', { useGrouping: true });\n }\n\n return (\n \n \n {objective.media_channel\n && (\n \n )}\n {objective.goal\n && (\n \n )}\n {objective.kpi\n && (\n \n )}\n
\n { objective.tactic\n && (\n \n \n \n \n )}\n { objective.tactic\n && (\n \n \n \n \n )}\n
\n { objective.tactic\n && (\n
\n {fields.includes('budget')\n && (\n \n )}\n {fields.includes('desired_dcpm')\n && (\n \n )}\n
\n )}\n {(objective.tactic && fields.includes('budget') && fields.includes('desired_dcpm'))\n && (\n \n \n \n \n )}\n {fields.includes('target_ctr')\n && (\n \n Click Through Rate Goal\n \n
%
\n
\n )}\n {fields.includes('video_completion_rate')\n && (\n \n Video Completion Rate Goal\n \n
%
\n
\n )}\n
\n {fields.includes('average_order_value')\n && (\n \n \n \n )}\n {fields.includes('target_roas')\n && (\n \n \n \n )}\n
\n
\n {fields.includes('target_cpa')\n && (\n \n \n \n )}\n\n {fields.includes('pixel_notes')\n && (\n \n Pixel Notes\n \n \n )}\n
\n {objective.tactic\n && (\n \n Objective Notes\n \n \n )}\n \n );\n }\n}\n\nObjectiveFormFragment.propTypes = {\n objective: PropTypes.object,\n options: PropTypes.shape({\n goal_options: PropTypes.arrayOf(PropTypes.string),\n kpi_options: PropTypes.arrayOf(PropTypes.string),\n tactic_options: PropTypes.arrayOf(PropTypes.string),\n mapping_options: PropTypes.object,\n }).isRequired,\n errors: PropTypes.object,\n};\n","import React, { Component } from 'react';\nimport { Accordion, Card, Button } from 'react-bootstrap';\nimport PropTypes from 'prop-types';\nimport ObjectiveFormFragment from './ObjectiveFormFragment';\n\nexport default class CampaignGoalsFormFragment extends Component {\n constructor(props) {\n super(props);\n\n this.state = { activeTab: props.objectives.length > 1 ? '' : 'objective-0' };\n\n if (props.objectives.length === 0) {\n this.props.objectives.push(this.newObjective());\n }\n }\n\n changeSelected = (selectedKey) => {\n this.setState({ activeTab: selectedKey });\n }\n\n addNewObjective = () => {\n const {\n objectives,\n } = this.props;\n\n objectives.push(this.newObjective());\n this.setState({ activeTab: `objective-${objectives.length - 1}` });\n }\n\n newObjective = () => ({\n media_channel: '',\n goal: '',\n kpi: '',\n start_date: '',\n end_date: '',\n })\n\n deleteObjective = (event) => {\n const {\n objectives,\n } = this.props;\n\n const objectiveIndex = event.target.value;\n const objective = objectives[objectiveIndex];\n\n const requestOptions = {\n headers: { 'Content-Type': 'application/json' },\n method: 'DELETE',\n };\n\n const deleteObjectiveUrl = `/objectives/${objective.id}`;\n\n if (objective.id) {\n fetch(deleteObjectiveUrl, requestOptions)\n .then((response) => {\n if (response.ok) {\n objectives.splice(objectiveIndex, 1);\n this.forceUpdate();\n }\n });\n } else {\n objectives.splice(objectiveIndex, 1);\n this.forceUpdate();\n }\n }\n\n render() {\n const {\n average_order_value: averageOrderValue,\n budget,\n conversion_rate: conversionRate,\n errors: campaignErrors,\n goal,\n handleCancel,\n handleChange,\n handleSelectChange,\n handleSubmit,\n kpi,\n pixel_notes,\n options,\n target_cpa: targetCpa,\n target_roas: targetRoas,\n objectives,\n } = this.props;\n\n const {\n activeTab,\n } = this.state;\n\n return (\n
\n

Objectives

\n
\n
\n
\n \n { campaignErrors && campaignErrors.objectives\n &&
{campaignErrors.objectives}
}\n {objectives.map((objective, i) => (\n !objective._destroy\n && (\n \n \n \n {anyErrorsFor(objective) ? errorIcon(objective) : `${objective.media_channel || 'New Objective'}`}\n \n \n \n \n \n \n \n \n \n )\n ))}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n );\n\n function errorIcon(objective) {\n return (\n \n \n {' '}\n {`${objective.media_channel || 'New Objective'}`}\n \n );\n }\n\n function anyErrorsFor(objective) {\n return Object.keys(objective.errors || []).length > 0;\n }\n }\n}\n\nCampaignGoalsFormFragment.propTypes = {\n average_order_value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n budget: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n conversion_rate: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n errors: PropTypes.object,\n goal: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n handleCancel: PropTypes.func,\n handleChange: PropTypes.func,\n handleSelectChange: PropTypes.func,\n handleSubmit: PropTypes.func,\n kpi: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n options: PropTypes.shape({\n goal_options: PropTypes.arrayOf(PropTypes.string),\n kpi_options: PropTypes.arrayOf(PropTypes.string),\n }).isRequired,\n target_cpa: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n target_roas: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n pixel_notes: PropTypes.string,\n objectives: PropTypes.arrayOf(PropTypes.object),\n};\n\nCampaignGoalsFormFragment.defaultProps = {\n average_order_value: undefined,\n budget: undefined,\n conversion_rate: undefined,\n goal: undefined,\n handleCancel: undefined,\n handleChange: undefined,\n handleSelectChange: undefined,\n handleSubmit: undefined,\n kpi: undefined,\n target_cpa: undefined,\n target_roas: undefined,\n pixel_notes: undefined,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Form } from 'react-bootstrap';\nimport InputLabel from \"./InputLabel\";\n\nexport default class SwitchInput extends Component {\n handleSwitchChange = () => {\n const {\n name,\n value,\n handleChange\n } = this.props;\n\n handleChange(name, !value)\n }\n\n render() {\n const {\n name,\n label,\n value,\n tooltip\n } = this.props;\n\n return (\n \n \n \n \n )\n }\n}\n\nSwitchInput.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n tooltip: PropTypes.string,\n handleChange: PropTypes.func.isRequired,\n value: PropTypes.bool.isRequired\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Form } from 'react-bootstrap';\nimport { components } from 'react-select';\nimport CreatableSelect from 'react-select/creatable';\nimport Slider from '@material-ui/core/Slider';\nimport FormUtils from '../../../common/FormUtils';\nimport SwitchInput from '../../../components/SwitchInput';\nimport InputLabel from '../../../components/InputLabel';\n\nconst getSelectButtonClass = (selected) => (selected ? 'btn-primary-v2 slim no-focus' : 'btn-secondary-v2 slim no-focus');\n\nexport default class CampaignDemographicsFormFragment extends Component {\n constructor(props) {\n super(props);\n\n this.formId = 'campaign_goals_form';\n }\n\n render() {\n const shouldProceedToStep4 = (campaignData) => {\n const containsThirdPartyProspecting = campaignData?.objectives.some(\n (item) => item.tactic.some((tactic) => tactic.label === \"Third Party Prospecting\")\n );\n return containsThirdPartyProspecting;\n };\n\n const DropdownIndicator = (props) => (\n /* eslint-disable-next-line */\n \n \n \n );\n const {\n campaign,\n campaign_data,\n age_range_female: ageRangeFemale,\n age_range_male: ageRangeMale,\n female_selected: femaleSelected,\n geography,\n geography_input: geographyInput,\n geo_fence,\n geo_fence_input: geoFenceInput,\n footfall_analysis: footfallAnalysis,\n crm_data: crmData,\n contextual_targeting: contextualTargeting,\n brand_safety: brandSafety,\n targeting_notes: targetingNotes,\n handleCancel,\n handleCreatableSelectInputChange,\n handleCreatableSelectKeyDown,\n handleRangeChange,\n handleSelectChange,\n handleSubmit,\n handleSwitchChange,\n handleChange,\n updateState,\n male_selected: maleSelected,\n onSelectButtonPressed,\n validated,\n } = this.props;\n return (\n
\n

Demographics

\n
\n
\n
\n FormUtils.submitEnter(event, this.formId, handleSubmit)}\n >\n \n \n
\n \n Male\n \n \n Female\n \n
\n
\n { maleSelected && (\n \n \n
\n
\n {ageRangeMale[0]}\n
\n handleRangeChange(event, range, 'age_range_male')}\n />\n
\n {ageRangeMale[1]}\n
\n
\n
\n )}\n { femaleSelected && (\n \n \n
\n
\n {ageRangeFemale[0]}\n
\n handleRangeChange(event, range, 'age_range_female')}\n />\n
\n {ageRangeFemale[1]}\n
\n
\n
\n )}\n \n \n handleSelectChange(value, { name: 'geography' })}\n onInputChange={(value) => handleCreatableSelectInputChange(value, { name: 'geography_input' })}\n onKeyDown={(event) => handleCreatableSelectKeyDown(event, 'geography', 'geography_input')}\n placeholder=\"Type something and press enter...\"\n value={geography}\n inputValue={geographyInput}\n />\n Enter countries, states, provinces, DMAs, cities, or ZIP/postal codes.\n \n \n \n handleSelectChange(value, { name: 'geo_fence' })}\n onInputChange={(value) => handleCreatableSelectInputChange(value, { name: 'geo_fence_input' })}\n onKeyDown={(event) => handleCreatableSelectKeyDown(event, 'geo_fence', 'geo_fence_input')}\n placeholder=\"Type something and press enter...\"\n value={geo_fence}\n inputValue={geoFenceInput}\n />\n Points of interest or business locations/names.\n \n \n Guardrails\n \n \n \n \n \n Demographic Notes\n \n \n
\n \n { shouldProceedToStep4(campaign_data)\n ? (\n \n )\n : (\n \n )}\n
\n \n
\n
\n
\n
\n );\n }\n}\n\nCampaignDemographicsFormFragment.propTypes = {\n campaign: PropTypes.arrayOf(PropTypes.object),\n campaign_data: PropTypes.arrayOf(PropTypes.object),\n age_range_female: PropTypes.arrayOf(PropTypes.number),\n age_range_male: PropTypes.arrayOf(PropTypes.number),\n female_selected: PropTypes.bool,\n geography: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })),\n geography_input: PropTypes.string,\n geo_fence: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })),\n geo_fence_input: PropTypes.string,\n footfall_analysis: PropTypes.bool,\n crm_data: PropTypes.bool,\n contextual_targeting: PropTypes.bool,\n brand_safety: PropTypes.bool,\n targeting_notes: PropTypes.string,\n handleCancel: PropTypes.func.isRequired,\n handleCreatableSelectInputChange: PropTypes.func.isRequired,\n handleCreatableSelectKeyDown: PropTypes.func.isRequired,\n handleRangeChange: PropTypes.func.isRequired,\n handleSelectChange: PropTypes.func.isRequired,\n handleSwitchChange: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n updateState: PropTypes.func.isRequired,\n male_selected: PropTypes.bool,\n onSelectButtonPressed: PropTypes.func.isRequired,\n validated: PropTypes.bool,\n};\n\nCampaignDemographicsFormFragment.defaultProps = {\n campaign: [],\n campaign_data: [],\n age_range_female: [],\n age_range_male: [],\n female_selected: false,\n geography: [],\n geography_input: '',\n geo_fence: [],\n geo_fence_input: '',\n footfall_analysis: false,\n crm_data: false,\n contextual_targeting: false,\n brand_safety: false,\n targeting_notes: '',\n male_selected: false,\n validated: undefined,\n};\n","import React, { Component } from 'react';\nimport CheckboxTree from 'react-checkbox-tree';\nimport { Button, Form } from 'react-bootstrap';\nimport PropTypes from 'prop-types';\nimport AffinitiesList from '../../../components/AffinitiesList';\nimport FormUtils from '../../../common/FormUtils';\n\nexport default class CampaignAudiencesFormFragment extends Component {\n constructor(props) {\n super(props);\n\n const { data_providers: dataProviders } = this.props;\n\n this.state = {\n expanded: [],\n keyword: '',\n nodes: dataProviders,\n nodesFiltered: dataProviders,\n };\n }\n\n onExpanded = (expanded) => {\n this.setState({ expanded });\n }\n\n onSearchInputChange = (event) => {\n this.setState({\n keyword: event.target.value,\n }, this.filterTree);\n }\n\n getNodeIds(nodes) {\n let ids = [];\n if (nodes) {\n nodes.forEach(({ value, children }) => {\n ids = [...ids, value, ...this.getNodeIds(children)];\n });\n }\n return ids;\n }\n\n filterTree = () => {\n const { keyword } = this.state;\n\n // Reset nodes back to unfiltered state\n if (!keyword) {\n this.setState((prevState) => ({\n expanded: [],\n nodesFiltered: prevState.nodes,\n }));\n\n return;\n }\n\n const nodesFiltered = (prevState) => (\n { nodesFiltered: prevState.nodes.reduce(this.filterNodes, []) }\n );\n\n this.setState(nodesFiltered);\n }\n\n filterNodes = (filtered, node) => {\n const { keyword } = this.state;\n const children = (node.children || []).reduce(this.filterNodes, []);\n if (node.label.toLocaleLowerCase().indexOf(keyword.toLocaleLowerCase()) > -1\n || children.length) {\n if (children.length === 0) {\n filtered.push({ ...node, undefined });\n } else {\n filtered.push({ ...node, children });\n }\n }\n\n return filtered;\n }\n\n render() {\n const {\n affinities,\n affinities_checked: affinitiesChecked,\n audience_notes,\n handleCancel,\n handleChange,\n handleSubmit,\n onAffinityChecked,\n onCloseAffinity,\n } = this.props;\n\n const {\n expanded,\n nodesFiltered,\n } = this.state;\n\n return (\n
\n

Audiences

\n Note: when adding third party audiences, an average of $1.50 will be added to your CPM as a passthrough cost from the data provider.\n
\n
\n
Search
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
Browse
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n FormUtils.submitEnter(event, this.formId, handleSubmit)}\n >\n \n Audience Notes\n \n \n
\n \n \n
\n \n
\n
\n
\n );\n }\n}\n\nCampaignAudiencesFormFragment.propTypes = {\n audience_notes: PropTypes.string,\n affinities: PropTypes.objectOf(PropTypes.object).isRequired,\n affinities_checked: PropTypes.arrayOf(PropTypes.string).isRequired,\n data_providers: PropTypes.arrayOf(PropTypes.object).isRequired,\n handleCancel: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n onAffinityChecked: PropTypes.func.isRequired,\n onCloseAffinity: PropTypes.func.isRequired,\n};\n\nCampaignAudiencesFormFragment.defaultProps = {\n audience_notes: '',\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Step from './components/Step';\nimport CampaignBasicsFormFragment from './components/CampaignBasicsFormFragment';\nimport CampaignGoalsFormFragment from './components/CampaignGoalsFormFragment';\nimport FormUtils from '../../common/FormUtils';\nimport CampaignDemographicsFormFragment from './components/CampaignDemographicsFormFragment';\nimport CampaignAudiencesFormFragment from './components/CampaignAudiencesFormFragment';\n\nfunction getAffinityKeys(object) {\n const output = [];\n\n /* eslint-disable-next-line */\n for (const key in object) {\n output.push(key);\n }\n return output;\n}\n\nexport default class CampaignForm extends Component {\n constructor(props) {\n super(props);\n this.state = this._initialState();\n }\n\n handleSubmit = (event) => {\n event.preventDefault();\n\n this._submitForm(event);\n }\n\n handleCancel = (event) => {\n event.preventDefault();\n\n const { current_step: currentStep } = this.state;\n if (currentStep === 1) {\n window.history.back();\n } else {\n this.setState({\n current_step: currentStep - 1,\n });\n }\n }\n\n handleChange = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n handleSelectChange = (selectedOption, { name }) => {\n console.log(this.state);\n this.setState({ [name]: selectedOption });\n }\n\n handleSwitchChange = (_switchOption, { name }) => {\n const result = !this.state[name];\n\n this.setState({ [name]: result });\n }\n\n updateState = (name, value) => {\n this.setState({\n [name]: value,\n });\n }\n\n handleCreatableSelectInputChange = (value, { name }) => {\n this.setState({\n [name]: value,\n });\n }\n\n handleCreatableSelectKeyDown = (event, name, nameInput) => {\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n\n this.setState((prevState) => ({\n [name]: [...prevState[name], FormUtils.buildOption(prevState[nameInput])],\n [nameInput]: '',\n }));\n event.preventDefault();\n break;\n default:\n }\n }\n\n handleRangeChange = (event, range, name) => {\n event.preventDefault();\n this.setState({ [name]: range });\n }\n\n onSelectButtonPressed = (event) => {\n event.preventDefault();\n\n this.setState((prevState) => ({\n [event.target.name]: !prevState[event.target.name],\n }));\n }\n\n onAffinityChecked = (checked) => {\n this.setState({\n affinities: this._getAffinities(checked),\n affinities_checked: checked,\n });\n }\n\n onCloseAffinity = (key) => {\n const { affinities_checked: affinitiesChecked } = this.state;\n\n const checked = affinitiesChecked;\n const index = checked.indexOf(key);\n if (index !== -1) {\n checked.splice(index, 1);\n }\n this.onAffinityChecked(checked);\n }\n\n _getSubmitBody(event) {\n const {\n advertiser_id: advertiserId,\n campaign_type: campaignType,\n demand_side_platform: demandSidePlatform,\n male_selected: maleSelected,\n age_range_male: ageRangeMale,\n female_selected: femaleSelected,\n age_range_female: ageRangeFemale,\n geo_fence: geoFence,\n geography,\n campaign: {\n objectives,\n },\n } = this.state;\n\n const { token } = this.props;\n\n const submitState = {\n ...this.state,\n age_range_female: femaleSelected ? ageRangeFemale : null,\n age_range_male: maleSelected ? ageRangeMale : null,\n campaign_type: campaignType?.value,\n demand_side_platform: demandSidePlatform?.value,\n geography: geography?.map((option) => option.value),\n geo_fence: geoFence?.map((option) => option.value),\n advertiser_id: advertiserId?.value,\n objectives_attributes: objectives,\n };\n\n const body = JSON.stringify({\n authenticity_token: token,\n campaign: submitState,\n request_type: event.target.value,\n });\n return body;\n }\n\n _submitForm(event) {\n const {\n campaign: {\n id: campaignId,\n },\n } = this.state;\n\n const requestOptions = {\n body: this._getSubmitBody(event),\n headers: { 'Content-Type': 'application/json' },\n method: campaignId ? 'PUT' : 'POST',\n };\n\n const { current_step: currentStep } = this.state;\n const saveCampaignUrl = campaignId ? `/campaigns/${campaignId}?step=${currentStep}` : '/campaigns';\n\n fetch(saveCampaignUrl, requestOptions)\n .then((response) => {\n if (response.redirected) {\n window.location.href = response.url;\n } else if (response.ok) {\n response.json().then((data) => {\n this.setState({\n campaign: data,\n current_step: currentStep + 1,\n errors: {},\n });\n });\n } else {\n response.json().then((data) => {\n this.setState({ campaign: data });\n });\n }\n });\n }\n\n _initialState() {\n const {\n campaign,\n campaign: {\n id,\n advertiser_id: advertiserId,\n name,\n campaign_type: campaignType,\n demand_side_platform: demandSidePlatform,\n campaign_url: campaignUrl,\n notes,\n age_range_male: ageRangeMale,\n age_range_female: ageRangeFemale,\n geography,\n geo_fence,\n footfall_analysis: footfallAnalysis,\n crm_data: crmData,\n contextual_targeting: contextualTargeting,\n brand_safety: brandSafety,\n targeting_notes: targetingNotes,\n audience_notes: audienceNotes,\n affinities,\n objectives,\n },\n options: {\n advertiser_options: advertiserOptions,\n campaign_type_options: campaignTypeOptions,\n dsp_options: dspOptions,\n },\n hide_advertiser: hideAdvertiser,\n current_step: currentStep,\n } = this.props;\n\n const initialState = {\n campaign,\n advertiser_id: FormUtils.buildEnumOption(advertiserId, advertiserOptions),\n hide_advertiser: hideAdvertiser || false,\n affinities: affinities || {},\n age_range_female: ageRangeFemale || [18, 99],\n age_range_male: ageRangeMale || [18, 99],\n campaign_url: campaignUrl || 'https://',\n notes: notes || '',\n campaign_type: FormUtils.buildEnumOption(campaignType, campaignTypeOptions),\n demand_side_platform: FormUtils.buildOption(demandSidePlatform, dspOptions),\n female_selected: !!ageRangeFemale,\n geography: geography ? FormUtils.buildOptions(geography) : [],\n geography_input: '',\n geo_fence: geo_fence ? FormUtils.buildOptions(geo_fence) : [],\n geo_fence_input: '',\n footfall_analysis: footfallAnalysis,\n crm_data: crmData,\n contextual_targeting: contextualTargeting,\n brand_safety: brandSafety,\n targeting_notes: targetingNotes || '',\n audience_notes: audienceNotes || '',\n male_selected: !!ageRangeMale,\n name: name || '',\n current_step: currentStep || 1,\n };\n\n initialState.affinities_checked = getAffinityKeys(initialState.affinities);\n\n return initialState;\n }\n\n _getAffinities(checked) {\n const { data_providers_key_value: dataProvidersKeyValue } = this.props;\n\n const output = {};\n\n /* eslint-disable-next-line */\n for (const key of checked) {\n output[key] = dataProvidersKeyValue[key];\n }\n return output;\n }\n\n _getStepFragment() {\n const {\n data_providers: dataProviders,\n options,\n } = this.props;\n\n const {\n affinities,\n advertiser_id: advertiserId,\n hide_advertiser: hideAdvertiser,\n affinities_checked: affinitiesChecked,\n age_range_female: ageRangeFemale,\n age_range_male: ageRangeMale,\n campaign_type: campaignType,\n demand_side_platform: demandSidePlatform,\n campaign_url: campaignUrl,\n notes,\n current_step: currentStep,\n female_selected: femaleSelected,\n geography,\n geography_input: geographyInput,\n geo_fence,\n geo_fence_input: geoFenceInput,\n footfall_analysis: footfallAnalysis,\n crm_data: crmData,\n contextual_targeting: contextualTargeting,\n brand_safety: brandSafety,\n targeting_notes: targetingNotes,\n audience_notes: audienceNotes,\n male_selected: maleSelected,\n name,\n validated,\n campaign,\n campaign: {\n objectives,\n errors,\n },\n } = this.state;\n\n switch (currentStep) {\n case 1:\n return (\n \n );\n case 2:\n return (\n \n );\n case 3:\n return (\n \n );\n\n case 4:\n return (\n \n );\n default:\n return null;\n }\n }\n\n render() {\n const { current_step: currentStep } = this.state;\n\n return (\n
\n \n
\n {this._getStepFragment()}\n
\n );\n }\n}\n\nCampaignForm.propTypes = {\n campaign_data: PropTypes.shape({\n objectives: PropTypes.arrayOf(PropTypes.shape({\n tactic: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n tooltip: PropTypes.string,\n })),\n })),\n }),\n campaign: PropTypes.shape({\n objectives: PropTypes.arrayOf(PropTypes.object),\n advertiser_id: PropTypes.number,\n affinities: PropTypes.objectOf(PropTypes.object),\n age_range_female: PropTypes.arrayOf(PropTypes.number),\n age_range_male: PropTypes.arrayOf(PropTypes.number),\n campaign_type: PropTypes.string,\n campaign_url: PropTypes.string,\n notes: PropTypes.string,\n geography: PropTypes.arrayOf(PropTypes.string),\n geo_fence: PropTypes.arrayOf(PropTypes.string),\n footfall_analysis: PropTypes.bool,\n crm_data: PropTypes.bool,\n contextual_targeting: PropTypes.bool,\n brand_safety: PropTypes.bool,\n targeting_notes: PropTypes.string,\n id: PropTypes.number,\n name: PropTypes.string,\n status: PropTypes.string,\n }).isRequired,\n current_step: PropTypes.number,\n hide_advertiser: PropTypes.bool,\n data_providers: PropTypes.arrayOf(PropTypes.object).isRequired,\n data_providers_key_value: PropTypes.objectOf(PropTypes.object).isRequired,\n options: PropTypes.shape({\n campaign_type_options: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })),\n goal_options: PropTypes.arrayOf(PropTypes.string),\n kpi_options: PropTypes.arrayOf(PropTypes.string),\n tactic_options: PropTypes.arrayOf(PropTypes.string),\n media_channel_options: PropTypes.arrayOf(PropTypes.string),\n advertiser_options: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.number,\n })),\n }).isRequired,\n token: PropTypes.string.isRequired,\n};\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {Form} from 'react-bootstrap';\nimport InputLabel from \"./InputLabel\";\nimport Select from \"react-select\";\n\nexport default class MultiSelectInput extends Component {\n\n render() {\n const {\n name,\n label,\n options,\n value,\n tooltip,\n handleChange,\n menuPlacement\n } = this.props;\n\n return (\n \n \n \n \n )\n }\n}\n\nMultiSelectInput.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n options: PropTypes.array.isRequired,\n tooltip: PropTypes.string,\n handleChange: PropTypes.func.isRequired,\n value: PropTypes.object.isRequired,\n menuPlacement: PropTypes.string.isRequired\n};\n","import React, {Component} from 'react';\nimport {Form} from 'react-bootstrap';\nimport Select from 'react-select';\nimport PropTypes from 'prop-types';\nimport FormUtils from '../../common/FormUtils';\nimport NumberInput from '../../components/NumberInput';\nimport TextInput from '../../components/TextInput';\nimport UrlInput from '../../components/UrlInput';\nimport SelectInput from \"../../components/SelectInput\";\nimport MultiSelectInput from \"../../components/MultiSelectInput\";\n\nlet industryOptions = [];\nlet businessTypeOptions = [];\nlet mediaMixOptions = [];\n\nfunction handleCancel(event) {\n event.preventDefault();\n window.history.back();\n}\n\nexport default class AdvertiserForm extends Component {\n constructor(props) {\n super(props);\n\n this._initSelectOptions();\n this.state = this._initialState();\n }\n\n handleSubmit = (event) => {\n event.preventDefault();\n\n const {\n advertiser: {\n agency_id: agencyId,\n id,\n },\n new: isNew,\n } = this.props;\n\n const form = event.currentTarget;\n if (form.checkValidity() === false) {\n event.stopPropagation();\n } else {\n let method = 'POST';\n let path = `/agencies/${agencyId}/vendors`;\n\n if (!isNew) {\n method = 'PUT';\n path = `/vendors/${id}`;\n }\n const requestOptions = {\n body: this._getSubmitBody(),\n headers: {'Content-Type': 'application/json'},\n method,\n };\n\n fetch(path, requestOptions)\n .then((response) => {\n if (response.redirected) {\n window.location.href = response.url;\n }\n });\n }\n this.setState({validated: true});\n }\n\n handleChange = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n updateState = (name, value) => {\n this.setState({\n [name]: value\n })\n }\n\n handleSelectChange = (selectedOption, {name}) => {\n this.setState({[name]: selectedOption});\n }\n\n _getSubmitBody() {\n const {token} = this.props;\n const submitState = {...this.state};\n const {\n industry,\n business_type: businessType,\n current_media_mix: currentMediaMix,\n } = submitState;\n submitState.industry = industry?.value;\n submitState.business_type = businessType?.value;\n submitState.current_media_mix = currentMediaMix?.map((option) => option.value);\n\n const body = JSON.stringify({\n advertiser: submitState,\n authenticity_token: token,\n });\n return body;\n }\n\n _initSelectOptions() {\n const {\n business_type_options: businessTypeOptionsProp,\n industry_options: industryOptionsProp,\n media_mix_options: mediaMixOptionsProp,\n } = this.props;\n\n industryOptions = FormUtils.buildOptions(industryOptionsProp);\n businessTypeOptions = FormUtils.buildOptions(businessTypeOptionsProp);\n mediaMixOptions = FormUtils.buildOptions(mediaMixOptionsProp);\n }\n\n _initialState() {\n const {\n advertiser: {\n name,\n industry,\n website_url: websiteUrl,\n monthly_unique_visitors: monthlyUniqueVisitors,\n business_type: businessType,\n current_media_mix: currentMediaMix,\n annual_revenue: annualRevenue,\n },\n } = this.props;\n\n return {\n annual_revenue: annualRevenue || '',\n business_type: businessType ? FormUtils.buildOption(businessType) : '',\n current_media_mix: currentMediaMix ? FormUtils.buildOptions(currentMediaMix) : [],\n industry: industry ? FormUtils.buildOption(industry) : '',\n monthly_unique_visitors: monthlyUniqueVisitors || '',\n name: name || '',\n website_url: websiteUrl || 'https://',\n };\n }\n\n render() {\n const {\n annual_revenue: annualRevenue,\n name,\n industry,\n website_url: websiteUrl,\n monthly_unique_visitors: monthlyUniqueVisitors,\n business_type: businessType,\n current_media_mix: currentMediaMix,\n validated,\n } = this.state;\n\n return (\n
\n

Advertiser Profile

\n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n \n \n
\n \n
\n
\n
\n
\n );\n }\n}\n\nAdvertiserForm.propTypes = {\n advertiser: PropTypes.shape({\n agency_id: PropTypes.number,\n annual_revenue: PropTypes.number,\n business_type: PropTypes.string,\n current_media_mix: PropTypes.arrayOf(PropTypes.string),\n id: PropTypes.number,\n industry: PropTypes.string,\n monthly_unique_visitors: PropTypes.number,\n name: PropTypes.string,\n website_url: PropTypes.string,\n }).isRequired,\n business_type_options: PropTypes.arrayOf(PropTypes.string).isRequired,\n industry_options: PropTypes.arrayOf(PropTypes.string).isRequired,\n media_mix_options: PropTypes.arrayOf(PropTypes.string).isRequired,\n new: PropTypes.bool.isRequired,\n token: PropTypes.string.isRequired,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class LinkDropdownMenu extends Component {\n doAction(event, action, link) {\n const { token } = this.props;\n\n if (action === 'delete') {\n event.preventDefault();\n const body = JSON.stringify({\n authenticity_token: token,\n });\n fetch(link, {\n body,\n headers: { 'Content-Type': 'application/json' },\n method: action,\n }).then((response) => {\n if (response.redirected) {\n window.location.href = response.url;\n }\n });\n }\n }\n\n render() {\n const {\n buttonClass,\n class: dropdownClass,\n icon,\n items,\n } = this.props;\n\n return (\n
\n \n \n \n
\n {items.map((item) => (\n this.doAction(event, item.action, item.link)}\n >\n \n {item.text}\n \n ))}\n
\n
\n );\n }\n}\n\nLinkDropdownMenu.propTypes = {\n buttonClass: PropTypes.string,\n class: PropTypes.string,\n icon: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n action: PropTypes.string,\n icon: PropTypes.string,\n id: PropTypes.string,\n link: PropTypes.string,\n text: PropTypes.string,\n }),\n ).isRequired,\n token: PropTypes.string,\n};\n\nLinkDropdownMenu.defaultProps = {\n buttonClass: '',\n class: '',\n icon: '',\n token: undefined,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport LinkDropdownMenu from '../../../components/LinkDropdownMenu';\nimport LinkButton from '../../../components/LinkButton';\n\nexport default class AdvertiserCardComponent extends Component {\n constructor(props) {\n super(props);\n\n const { advertiser: { campaigns } } = props;\n\n this.numberOfCampaigns = campaigns.length;\n this.hasActiveCampaigns = this.numberOfCampaigns > 0;\n }\n\n getTopCardContent() {\n const { advertiser: { id } } = this.props;\n\n if (this.hasActiveCampaigns) {\n return (\n
\n
\n \n
\n
\n );\n }\n\n return (\n
\n
\n \n
\n
\n );\n }\n\n render() {\n const {\n advertiser: {\n agency_id: agencyId,\n id,\n name,\n },\n token,\n } = this.props;\n\n return (\n
\n
\n
\n

{name}

\n \n
\n {this.getTopCardContent()}\n
\n
\n );\n }\n}\n\nAdvertiserCardComponent.propTypes = {\n advertiser: PropTypes.shape({\n agency_id: PropTypes.number,\n campaigns: PropTypes.arrayOf(PropTypes.object),\n id: PropTypes.number,\n name: PropTypes.string,\n }).isRequired,\n token: PropTypes.string,\n};\n\nAdvertiserCardComponent.defaultProps = {\n token: undefined,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'react-select';\nimport LinkButton from '../../../components/LinkButton';\nimport FormUtils from '../../../common/FormUtils';\nimport AdvertiserCardComponent from './AdvertiserCardComponent';\n\nexport default class AdvertisersGridViewComponent extends Component {\n constructor(props) {\n super(props);\n this.state = { annualRevenueSearchValue: undefined, searchTerm: '' };\n }\n\n onSearchInputChange(searchText) {\n this.setState({\n searchTerm: searchText,\n });\n }\n\n onSelectChange = (selectedOption) => {\n this.setState({ annualRevenueSearchValue: selectedOption });\n }\n\n filteredAdvertisers = () => {\n let filteredAdvertisers;\n let minAnnualRevenue;\n let maxAnnualRevenue;\n\n const { advertisers, annualRevenueOptions } = this.props;\n const { annualRevenueSearchValue, searchTerm } = this.state;\n\n if (annualRevenueSearchValue) {\n const revenueRange = annualRevenueOptions[annualRevenueSearchValue.value].range;\n\n if (revenueRange.length === 2) {\n [minAnnualRevenue, maxAnnualRevenue] = revenueRange;\n } else if (revenueRange.length === 1) {\n [minAnnualRevenue] = revenueRange;\n }\n }\n\n filteredAdvertisers = searchTerm === '' ? advertisers : advertisers.filter((advertiser) => advertiser.name.toLowerCase().includes(searchTerm.toLowerCase()));\n filteredAdvertisers = !annualRevenueSearchValue ? filteredAdvertisers\n : filteredAdvertisers.filter(({ annual_revenue: annualRevenue }) => {\n if (minAnnualRevenue !== undefined && maxAnnualRevenue !== undefined) {\n if (annualRevenue >= minAnnualRevenue && annualRevenue <= maxAnnualRevenue) {\n return true;\n }\n } else if (minAnnualRevenue !== undefined) {\n return true;\n }\n\n return false;\n });\n\n return filteredAdvertisers;\n }\n\n render() {\n const {\n agency: {\n id,\n },\n annualRevenueOptions,\n token,\n } = this.props;\n\n const { annualRevenueSearchValue } = this.state;\n\n const filteredAdvertiserComponents = this.filteredAdvertisers();\n\n const addAdvertiserLink = `/agencies/${id}/vendors/new`;\n return (\n
\n
\n
\n this.onSearchInputChange(event.target.value)}\n />\n
\n
\n \n
\n
\n \n
\n
\n
\n {filteredAdvertiserComponents.length > 0\n ? filteredAdvertiserComponents.map((advertiser) => (\n
\n \n
\n )) :
No results found
}\n
\n
\n );\n }\n}\n\nAdvertisersGridViewComponent.propTypes = {\n advertisers: PropTypes.arrayOf(PropTypes.object).isRequired,\n agency: PropTypes.shape({\n id: PropTypes.number,\n }).isRequired,\n annualRevenueOptions: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n range: PropTypes.arrayOf(PropTypes.number),\n }),\n ).isRequired,\n token: PropTypes.string.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport AdvertisersGridViewComponent from './components/AdvertisersGridViewComponent';\nimport LinkButton from '../../components/LinkButton';\n\nconst AgencyDashboardComponent = ({\n advertisers,\n agency,\n annual_revenue_options: annualRevenueOptions,\n token,\n}) => {\n const numOfAdvertisers = advertisers ? advertisers.length : 0;\n const addAdvertiserLink = `/agencies/${agency.id}/vendors/new`;\n\n let content;\n if (numOfAdvertisers > 0) {\n content = (\n \n );\n } else {\n content = (\n
\n
\n
\n

You don’t have any advertisers yet.

\n \n
\n
\n
\n );\n }\n\n return (\n
\n
\n
\n {content}\n
\n
\n
\n );\n};\n\nAgencyDashboardComponent.propTypes = {\n advertisers: PropTypes.arrayOf(PropTypes.object).isRequired,\n agency: PropTypes.shape({\n id: PropTypes.number,\n }).isRequired,\n annual_revenue_options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n range: PropTypes.arrayOf(PropTypes.number),\n }),\n ).isRequired,\n token: PropTypes.string.isRequired,\n};\n\nexport default AgencyDashboardComponent;\n","import React, { useEffect } from 'react';\n\nconst BunnyWidget = (config) => {\n const postProjectEventHandler = (ev) => {\n if (ev.detail.data.success_hash) {\n window.location.href = `${ev.detail.data.success_hash}`;\n } else {\n window.location.href = `${ev.detail.data.error_hash}`;\n }\n };\n useEffect(() => {\n // TODO: This needs to be refactored or\n // the solution to solve the floating quote box needs to be found (it's a bug in the widget)\n setTimeout(() => {\n document.querySelector('#widget').shadowRoot.querySelector('main > div > bs-form').shadowRoot.querySelector('#quoting_field_key').style.cssText = 'position: \"static\"';\n }, 3000);\n const widget = document.getElementById('widget');\n widget.addEventListener('bsSubmit', postProjectEventHandler);\n return () => {\n widget.removeEventListener('bsSubmit', postProjectEventHandler);\n };\n }, []);\n\n return (\n
\n \n
\n );\n};\nexport default BunnyWidget;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport BunnyWidget from './components/BunnyWidget';\n\nexport default class BunnyStudioIndexComponent extends Component {\n constructor(props) {\n super(props);\n\n this.props = {\n api: props.api,\n email: props.email,\n };\n }\n\n render() {\n return (\n \n );\n }\n}\n\nBunnyStudioIndexComponent.propTypes = {\n api: PropTypes.string.isRequired,\n email: PropTypes.string.isRequired,\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport { Form, InputGroup } from 'react-bootstrap';\nimport AutoNumeric from 'autonumeric';\n\nconst AdSpendCalculator = () => {\n const [MUVs, setMUVs] = useState(0);\n const [MUVsFormatted, setMUVsFormatted] = useState('0');\n const [AOV, setAOV] = useState(0);\n const [AOVFormatted, setAOVFormatted] = useState('0');\n const [budgetCapacity, setBudgetCapacity] = useState(0);\n const [budgetCapacityFormatted, setBudgetCapacityFormatted] = useState('0.00');\n const [revenueTotalFormatted, setRevenueTotalFormatted] = useState('0.00');\n\n const [conversionRate, setConversionRate] = useState(0);\n const [conversionRateFormatted, setConversionRateFormatted] = useState('0');\n const [ROAS] = useState(3);\n const [ROASTotal, setROASTotal] = useState(0);\n const MUVsInputRef = useRef(null);\n const AOVInputRef = useRef(null);\n const conversionRateInputRef = useRef(null);\n const budgetCapacityInputRef = useRef(null);\n const revenueTotalInputRef = useRef(null);\n\n const calculateROASandBudgetCapacity = () => {\n const conversionRateDecimal = conversionRate / 100;\n const currentConversions = MUVs * conversionRateDecimal;\n const incrementalConversions = currentConversions * 0.1;\n const CPA = AOV * 0.33;\n const maxBudget = CPA * incrementalConversions;\n\n setBudgetCapacity(isNaN(maxBudget) ? 0 : maxBudget);\n const calculatedROASTotal = ROAS * maxBudget;\n setROASTotal(isNaN(calculatedROASTotal) ? 0 : calculatedROASTotal);\n setBudgetCapacityFormatted(isNaN(maxBudget) ? '0.00' : maxBudget.toLocaleString('en-US', { minimumFractionDigits: 2 }));\n setRevenueTotalFormatted(isNaN(calculatedROASTotal) ? '0.00' : calculatedROASTotal.toLocaleString('en-US', { minimumFractionDigits: 2 }));\n };\n\n useEffect(() => {\n if (budgetCapacityInputRef.current) {\n new AutoNumeric(budgetCapacityInputRef.current).northAmerican();\n }\n\n if (revenueTotalInputRef.current) {\n new AutoNumeric(revenueTotalInputRef.current).northAmerican();\n }\n\n if (MUVsInputRef.current) {\n new AutoNumeric(MUVsInputRef.current, {\n decimalPlaces: 0,\n minimumValue: '0',\n });\n }\n\n if (AOVInputRef.current) {\n new AutoNumeric(AOVInputRef.current, {\n decimalPlaces: 2,\n });\n }\n\n if (conversionRateInputRef.current) {\n new AutoNumeric(conversionRateInputRef.current, {\n maximumValue: '100',\n decimalPlaces: 2,\n });\n }\n\n return () => {\n if (budgetCapacityInputRef.current) {\n AutoNumeric.remove(budgetCapacityInputRef.current);\n }\n if (revenueTotalInputRef.current) {\n AutoNumeric.remove(revenueTotalInputRef.current);\n }\n if (MUVsInputRef.current) {\n AutoNumeric.remove(MUVsInputRef.current);\n }\n if (AOVInputRef.current) {\n AutoNumeric.remove(AOVInputRef.current);\n }\n if (conversionRateInputRef.current) {\n AutoNumeric.remove(conversionRateInputRef.current);\n }\n };\n }, []);\n\n const handleMUVsChange = (e) => {\n const value = AutoNumeric.getAutoNumericElement(e.target).getNumericString();\n setMUVs(parseFloat(value));\n setMUVsFormatted(e.target.value);\n };\n\n const handleAOVChange = (e) => {\n const value = AutoNumeric.getAutoNumericElement(e.target).getNumericString();\n setAOV(parseFloat(value));\n setAOVFormatted(e.target.value);\n };\n\n const handleConversionRateChange = (e) => {\n const value = AutoNumeric.getAutoNumericElement(e.target).getNumericString();\n setConversionRate(parseFloat(value));\n setConversionRateFormatted(e.target.value);\n };\n\n useEffect(() => {\n calculateROASandBudgetCapacity();\n }, [MUVs, AOV, conversionRate]);\n\n return (\n
\n

Budget performance estimation based on your traffic, conversion rate, and order value.

\n
\n
\n \n
\n Monthly Unique Visitors\n
\n \n
MUVs
\n \n
\n
\n \n
\n Conversion Rate\n
\n \n
%
\n \n
\n
\n \n
\n Average Order Value\n
\n \n
$
\n \n
\n
\n
\n\n

Results

\n \n
\n Budget Capacity at 3:1 ROAS\n
\n \n
$
\n \n
\n
\n \n
\n Revenue Total\n
\n \n
$
\n \n
\n
\n\n
\n
\n );\n};\n\nexport default AdSpendCalculator;\n","import React from 'react';\nimport AdSpendCalculator from '../../components/AdSpendCalculator';\n\nconst CampaignIndexComponent = () => (\n
\n
\n
\n
\n \n
\n
\n
\n
\n);\n\nexport default CampaignIndexComponent;\n","import React, { Component } from 'react';\nimport moment from 'moment';\nimport { Button, Form } from 'react-bootstrap';\n\nexport default class CampaignDetailsComponent extends Component {\n constructor(props) {\n super(props);\n\n const { campaign, current_user } = this.props;\n\n this.state = {\n optimization_request_item: '',\n optimization_request_message_item: '',\n optimization_request_submitted_item: false,\n };\n }\n\n render() {\n const handleChange = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n const resetFormState = () => {\n this.setState({\n optimization_request_item: '',\n optimization_request_item_message: '',\n optimization_request_item_submitted: false,\n });\n };\n\n const handleSubmitOptimizationReq = (event) => {\n event.preventDefault();\n const { token } = this.props;\n const body = JSON.stringify({\n authenticity_token: token,\n campaign: this.props.campaign,\n optimization_request: this.props.optimization_request,\n optimization_request_item: this.state.optimization_request_item,\n });\n\n const form = event.currentTarget;\n if (form.checkValidity() === false) {\n event.stopPropagation();\n } else {\n const method = 'POST';\n const path = `/optimization_requests/${this?.props?.optimization_request?.id}/optimization_request_items`;\n\n const requestOptions = {\n body,\n headers: { 'Content-Type': 'application/json' },\n method,\n };\n\n fetch(path, requestOptions)\n .then((response) => response.json())\n .then((data) => {\n if (data.success) {\n const { campaign } = this.props;\n const { optimization_requests } = campaign;\n this.props.optimization_request_items.unshift(data.optimization_request_item);\n this.setState({ optimization_request_item_submitted: true });\n this.setState({ optimization_request_item_message: data.message });\n } else {\n this.setState({ optimization_request_item_submitted: true });\n this.setState({ optimization_request_item_message: data.message });\n }\n });\n }\n this.setState({ validated: true });\n };\n\n return (\n
\n
\n
\n
\n \n \n Optimization Request\n \n \n
\n
\n
\n \n \n
\n {this?.props?.optimization_request?.actor_name}\n
\n
{moment(this?.props?.optimization_request?.created_at).format('LLL')}
\n
\n
\n
\n
\n
\n {this.props.optimization_request?.optimization_request}\n
\n
\n
\n
\n
\n
\n
\n { !this.state.optimization_request_item_submitted && (\n \n \n \n \n \n \n \n \n )}\n { this.state.optimization_request_item_submitted && (\n
\n
{this.state.optimization_request_item_message}
\n
\n \n
\n )}\n
\n
\n \n \n Comments\n \n \n { this.props.optimization_request_items.length === 0 && (\n
\n
\n
\n \n

\n There have been no comments on this optimization request yet\n

\n
\n
\n
\n
\n )}\n {\n this.props.optimization_request_items.map((request) => (\n
\n
\n
\n \n \n
\n {request?.actor_name}\n
\n
{moment(request.created_at).format('LLL')}
\n
\n
\n
\n
\n
\n {request?.content}\n
\n
\n
\n
\n \n \n ))\n }\n \n \n \n );\n }\n}\n","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n\nrequire(\"@rails/ujs\").start();\nrequire(\"turbolinks\").start();\nrequire(\"@rails/activestorage\").start();\nrequire(\"channels\");\n\nimport \"bootstrap\";\n\nimport 'react-checkbox-tree/lib/react-checkbox-tree.css';\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n\nimport ReactOnRails from \"react-on-rails\";\n\nimport CampaignDetailsComponent from \"../bundles/Campaign/CampaignDetailsComponent\";\nimport CampaignIndexComponent from \"../bundles/Campaign/CampaignIndexComponent\";\nimport CampaignForm from '../bundles/Campaign/CampaignForm'\nimport AdvertiserForm from \"../bundles/Advertiser/AdvertiserForm\";\nimport AgencyDashboardComponent from \"../bundles/Dashboard/AgencyDashboardComponent\";\nimport BunnyStudioIndexComponent from \"../bundles/Platform/BunnyStudioIndexComponent\";\nimport LinkDropdownMenu from \"../components/LinkDropdownMenu\";\nimport LinkButton from \"../components/LinkButton\";\nimport ToolsIndexComponent from \"../bundles/Tools/ToolsIndexComponent\";\nimport OptimizationRequestShow from \"../bundles/OptimizationRequest/OptimizationRequestShow\";\n\nReactOnRails.register({\n AgencyDashboardComponent,\n BunnyStudioIndexComponent,\n LinkDropdownMenu,\n CampaignIndexComponent,\n CampaignDetailsComponent,\n LinkButton,\n AdvertiserForm,\n CampaignForm,\n ToolsIndexComponent,\n OptimizationRequestShow\n});\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","webpackEmptyContext","channels","require","forEach","status","statusLabel","statusColor","formatRange","range","moneyFormatter","value","currency","Intl","NumberFormat","maximumFractionDigits","style","format","AffinitiesList","Component","_getAffinities","affinities","onCloseAffinity","this","props","key","React","className","margin","parent","color","fontSize","name","type","onClick","alt","src","CancelSvg","width","render","defaultProps","undefined","CampaignActionItemsFormFragment","constructor","super","state","_initialState","campaignId","crmData","brandSafety","contextualTargeting","crmDataChecked","brandSafetyText","contextualTargetingText","isCreativeUploaded","campaign_id","crm_data","brand_safety","contextual_targeting","crm_data_checked","brand_safety_text","contextual_targeting_text","is_creative_uploaded","validated","handleChange","event","setState","target","handleChangeCheckbox","checked","handleComplete","preventDefault","_submitComplete","form","currentTarget","completeActionItems","requestOptions","body","_getSubmitBody","headers","method","checkValidity","stopPropagation","fetch","then","response","redirected","window","location","href","url","handleSave","_submitForm","submitState","token","JSON","stringify","authenticity_token","campaign","request_type","campaignType","campaign_type","selectCreativeUploadTab","padding","paddingLeft","Form","noValidate","formId","onSubmit","Group","controlId","Check","label","rel","required","defaultChecked","onChange","Control","Feedback","Label","placeholder","as","rows","creatives","handleDeleteCreative","handleOnFileChange","inputElement","useRef","creative","index","title","filetype","file","getIcon","shortname","Dropzone","onChangeStatus","InputComponent","selectFileInput","accept","onFiles","files","getFilesFromEvent","current","click","ref","display","multiple","chosenFiles","getUploadParams","fileParams","meta","Promise","getDroppedOrSelectedFiles","f","fileObject","submitButtonDisabled","canRemove","maxFiles","maxSize","inputContext","styles","CampaignDetailsComponent","tabs","campaignAudienceTab","campaignGoalsTab","actionItemsNeeded","push","uploadCreativeTab","optimizationRequestTab","selectedTab","itemsValue","some","v","unshift","campaignActionItem","btn","document","getElementById","setSelectedTab","objectives","objective","i","objectiveSegment","handleSubmitOptimizationReq","optimization_request","json","data","success","optimization_requests","optimization_request_submitted","optimization_request_message","message","Button","resetFormState","request","alignItems","flexDirection","justifyContent","moment","created_at","navigateToItem","substring","length","field_mapping","fieldMapping","fields","field_options","kpi","goal","includes","budget","desired_dcpm","impressions","Number","toLocaleString","useGrouping","target_ctr","video_completion_rate","target_cpa","average_order_value","target_roas","geography","geo_fence","targeting_notes","_getGenderLabel","_getAgeLabels","geographyItem","geoItem","parse","xhr","updatedCreatives","remove","creativeId","ok","splice","FileUpload","age_range_male","ageRangeMale","age_range_female","ageRangeFemale","dsp_links","campaign_url","campaignUrl","notes","flight","demand_side_platform","dspArray","dspString","options","find","item","filter","dsp","Tabs","LinkButton","buttonClass","icon","link","text","tooltip","getContainersAction","advertiser","reject","result","catch","error","ContainersTable","containers","setIsContainerManager","setIsPixelManager","setActiveContainer","Table","responsive","striped","bordered","hover","container","onContainerClick","updated_at","SlideOutHeader","setIsModalOpen","subtitle","EmptyContainersMessage","PinIcon","AddContainerFormModal","onClose","containerName","setContainerName","handleCreateContainerClick","Modal","Header","closeButton","Title","Body","Footer","variant","disabled","trim","CreatingContainerModal","Spinner","height","animation","role","size","InstallContainerModal","containerCode","handleCreatedCopyClick","handleCreatedDoneClick","isCopied","CheckIcon","CodeBlock","language","showLineNumbers","xmlns","viewBox","fill","d","stroke","AddContainerComponent","setContainers","useState","isCreatingContainer","setIsCreatingContainer","isContainerCreated","setIsContainerCreated","setIsCopied","setContainer","setContainerCode","async","newContainer","createContainerAction","toast","process","advertiser_id","navigator","clipboard","writeText","execCommand","copyTextToClipboard","setTimeout","err","backgroundColor","left","overflowY","position","top","zIndex","Dialog","centered","AddPixelModal","show","onHide","onSave","pixelCode","setPixelCode","container_id","onChangeCode","prevState","useEffect","dialogClassName","CodeMirror","marginTop","extensions","javascript","jsx","selectStyles","control","provided","alignSelf","background","border","borderRadius","boxShadow","fontWeight","option","fontFamily","fontStyle","lineHeight","RuleComponent","ruleIndex","path","transform","writingMode","Rule","Option","assign","innerProps","isSelected","checkMarkSVG","formatGroupLabel","ValueEditor","handleOnChange","CustomRemoveRuleIcon","handleOnClick","strokeOpacity","strokeWidth","strokeLinecap","strokeLinejoin","AddTriggersModal","pendingPixel","operators","query","setQuery","combinator","rules","field","operator","triggerCode","setTriggerCode","QueryBuilder","controlElements","fieldSelector","fieldsForField","groupedOptionsForField","Select","components","getOptionValue","operatorSelector","fieldsForOperator","groupedOptionsForOperator","removeRuleAction","rule","valueEditor","onQueryChange","q","handleQueryChange","newQuery","formatQuery","showCombinatorsBetweenRules","querySelector","EditPixelModal","onEdit","pixel","handleEdit","EditTriggersModal","triggers","defaultQuery","PixelTable","pixels","setPixels","fieldTriggerMapping","onAddPixelClick","onAddTriggersClick","activeContainer","addPendingPixelRow","setAddPendingPixelRow","handleRemovePendingPixel","showDropdown","setShowDropdown","showEditPixelModal","setShowEditPixelModal","currentlyEditingPixel","setCurrentlyEditingPixel","showEditTriggerModal","setShowEditTriggerModal","currentlyEditingTrigger","setCurrentlyEditingTrigger","handleEditPixel","updatePixel","info","updatePixelAction","dismiss","all_results","updateTrigger","updateTriggerAction","handleDeleteItem","deletePixelAction","operatorMapping","toUpperCase","hits","fromNow","Dropdown","Toggle","cursor","Menu","Item","handleEditTriggers","colSpan","CodeIcon","RightArrowIcon","TriggerIcon","removeRowAndResetPendingPixel","MinusCircleIconActive","MinusCircleIcon","ShowContainerModal","setShowPixelCodeModal","CheckIconGreen","CheckIconPurple","tabIndex","onKeyDown","keyCode","ContainersIndex","setPaneOpen","showAddPixelModal","setShowAddPixelModal","showAddTriggersModal","setShowAddTriggersModal","showPixelCodeModal","setPendingPixel","pendingTrigger","setPendingTrigger","getPixelsForContainer","createPixelAction","prevPixels","createPixelAndTrigger","trigger","SlideOutComponent","isPaneOpen","onRequestClose","isModalOpen","isContainerManager","isPixelManager","handleContainersChange","containersData","SlidingPane","overlayClassName","isOpen","hideHeader","ContainerIndex","onRowClick","CampaignIndexComponent","campaigns","propCampaigns","columns","headerName","sortable","flex","cellRenderer","params","comparator","a","b","cellStyle","textAlign","headerClass","humanized_campaign_type","goals","tableData","setTableData","setIsPaneOpen","isPaneOpenLeft","searchTerm","toLowerCase","onSearchInputChange","AgGridReact","rowSelection","onRowClicked","columnDefs","rowData","domLayout","ToastContainer","Step","step","FormUtils","buildOptions","buildOption","buildAnnualRevenueOptions","buildTacticOptions","buildEnumOption","selectedOption","blockNonNum","blockE","validateEndDate","startingDate","endingDate","startDate","Date","endDate","submitEnter","handleSubmit","submit","formEvent","formatNumber","number","parsedNumber","_wholePart","decimalPart","toString","split","OrionForm","errors","children","processedChildren","processChildren","element","inputwrapper","isWrapper","displayName","elementHasError","invalidatedControls","isFormControl","cssClass","uniqueKey","addClassTo","invalidateFormControls","join","errorDivFor","applyErrorTo","childs","onKeyPress","InputLabel","prepend","SelectInput","classNamePrefix","TextInput","UrlInput","CampaignBasicsFormFragment","advertiserId","hide_advertiser","hideAdvertiser","demandSidePlatform","handleSelectChange","handleCancel","advertiser_options","advertiserOptions","campaign_type_options","campaignTypeOptions","dsp_options","dspOptions","NumberInput","handleNumberChange","replaceAll","wholePart","allowDecimal","append","SelectInputWithTooltips","multiSelect","updatedOptions","ReactTooltip","place","effect","selectOption","isMulti","ObjectiveFormFragment","objective_field_mapping","goal_options","media_channel","kpi_options","tactic_options","handleMultiSelectChange","selectedOptions","forceUpdate","refreshOptions","updateAttribute","handlePercentageChange","handleDecimalPercentageChange","goalOptions","kpiOptions","tacticOptions","tactic","media_channel_options","mediaChannelOptions","Math","round","start_date","end_date","pixel_notes","objective_notes","CampaignGoalsFormFragment","activeTab","newObjective","changeSelected","selectedKey","addNewObjective","deleteObjective","objectiveIndex","deleteObjectiveUrl","averageOrderValue","conversion_rate","conversionRate","campaignErrors","targetCpa","targetRoas","Accordion","activeKey","onSelect","_destroy","Card","overflow","eventKey","anyErrorsFor","errorIcon","Collapse","SwitchInput","handleSwitchChange","Switch","getSelectButtonClass","selected","CampaignDemographicsFormFragment","DropdownIndicator","campaign_data","female_selected","femaleSelected","geography_input","geographyInput","geo_fence_input","geoFenceInput","footfall_analysis","footfallAnalysis","targetingNotes","handleCreatableSelectInputChange","handleCreatableSelectKeyDown","handleRangeChange","updateState","male_selected","maleSelected","onSelectButtonPressed","marginLeft","Slider","min","max","valueLabelDisplay","CreatableSelect","isClearable","menuIsOpen","onInputChange","inputValue","campaignData","containsThirdPartyProspecting","shouldProceedToStep4","marginRight","CampaignAudiencesFormFragment","data_providers","dataProviders","expanded","keyword","nodes","nodesFiltered","onExpanded","filterTree","getNodeIds","ids","reduce","filterNodes","filtered","node","toLocaleLowerCase","indexOf","affinities_checked","affinitiesChecked","audience_notes","onAffinityChecked","marginBottom","CheckboxTree","onCheck","onExpand","noCascade","showNodeIcon","CampaignForm","current_step","currentStep","history","back","console","log","_switchOption","nameInput","geoFence","objectives_attributes","audienceNotes","initialState","object","output","getAffinityKeys","data_providers_key_value","dataProvidersKeyValue","_getStepFragment","MultiSelectInput","menuPlacement","industryOptions","businessTypeOptions","mediaMixOptions","AdvertiserForm","_initSelectOptions","agency_id","agencyId","new","isNew","industry","business_type","businessType","current_media_mix","currentMediaMix","business_type_options","businessTypeOptionsProp","industry_options","industryOptionsProp","media_mix_options","mediaMixOptionsProp","website_url","websiteUrl","monthly_unique_visitors","monthlyUniqueVisitors","annual_revenue","annualRevenue","LinkDropdownMenu","doAction","action","class","dropdownClass","items","AdvertiserCardComponent","numberOfCampaigns","hasActiveCampaigns","getTopCardContent","AdvertisersGridViewComponent","annualRevenueSearchValue","searchText","onSelectChange","filteredAdvertisers","minAnnualRevenue","maxAnnualRevenue","advertisers","annualRevenueOptions","revenueRange","agency","filteredAdvertiserComponents","addAdvertiserLink","isSearchable","AgencyDashboardComponent","annual_revenue_options","numOfAdvertisers","content","config","postProjectEventHandler","ev","detail","success_hash","error_hash","shadowRoot","cssText","widget","addEventListener","removeEventListener","api","email","BunnyStudioIndexComponent","BunnyWidget","AdSpendCalculator","MUVs","setMUVs","MUVsFormatted","setMUVsFormatted","AOV","setAOV","AOVFormatted","setAOVFormatted","budgetCapacity","setBudgetCapacity","budgetCapacityFormatted","setBudgetCapacityFormatted","revenueTotalFormatted","setRevenueTotalFormatted","setConversionRate","conversionRateFormatted","setConversionRateFormatted","ROAS","ROASTotal","setROASTotal","MUVsInputRef","AOVInputRef","conversionRateInputRef","budgetCapacityInputRef","revenueTotalInputRef","AutoNumeric","northAmerican","decimalPlaces","minimumValue","maximumValue","calculateROASandBudgetCapacity","maxBudget","isNaN","calculatedROASTotal","minimumFractionDigits","InputGroup","getNumericString","parseFloat","readOnly","current_user","optimization_request_item","optimization_request_message_item","optimization_request_submitted_item","optimization_request_items","optimization_request_item_submitted","optimization_request_item_message","actor","actor_name","float","ReactOnRails","ToolsIndexComponent","OptimizationRequestShow"],"sourceRoot":""}