diff --git a/package-lock.json b/package-lock.json
index 2af3d8a1..c4c97a74 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -30,7 +30,7 @@
},
"devDependencies": {
"@adobe/auth-token": "^1.0.0",
- "@adobe/reactor-sandbox": "^13.0.0",
+ "@adobe/reactor-sandbox": "^13.1.0",
"@adobe/reactor-turbine": "^28.0.0",
"@adobe/reactor-turbine-schemas": "^10.6.0",
"@babel/cli": "^7.25.9",
@@ -340,13 +340,13 @@
"license": "Apache-2.0"
},
"node_modules/@adobe/reactor-sandbox": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/@adobe/reactor-sandbox/-/reactor-sandbox-13.0.0.tgz",
- "integrity": "sha512-o9ap41WXNNihYKizyMnuyt8Q7SmWJUauD9vrc+FOb+gVDK1YmE6tt5gtIGjz0Q05SAwrvGeLNbv0Z0H9UYnOJQ==",
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/@adobe/reactor-sandbox/-/reactor-sandbox-13.1.0.tgz",
+ "integrity": "sha512-x9fWKl0Jqf/SEcwXM1xW9a+wDOC8XLbw90A47zmwzsCBpyHSeJFYPRyKAxLmzUqYgWrbr3a2ppXpeMWa90Hi4A==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@adobe/react-spectrum": "^3.14.1",
+ "@adobe/react-spectrum": "^3.37.1",
"@adobe/reactor-babel-plugin-replace-tokens-edge": "^1.1.0",
"@adobe/reactor-bridge": "^11.0.1",
"@adobe/reactor-extension-core-edge": "^1.1.3",
diff --git a/package.json b/package.json
index 5a016b80..c1296d3d 100644
--- a/package.json
+++ b/package.json
@@ -78,7 +78,7 @@
},
"devDependencies": {
"@adobe/auth-token": "^1.0.0",
- "@adobe/reactor-sandbox": "^13.0.0",
+ "@adobe/reactor-sandbox": "^13.1.0",
"@adobe/reactor-turbine": "^28.0.0",
"@adobe/reactor-turbine-schemas": "^10.6.0",
"@babel/cli": "^7.25.9",
diff --git a/response.json b/response.json
deleted file mode 100644
index f788d65e..00000000
--- a/response.json
+++ /dev/null
@@ -1,856 +0,0 @@
-{
- "properties": {
- "_unifiedjsqeonly": {
- "type": "object",
- "properties": {
- "vendor": {
- "title": "Vendor",
- "description": "",
- "type": "object",
- "isRequired": false,
- "required": [],
- "properties": {
- "name": {
- "title": "Name",
- "description": "",
- "type": "string",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "string"
- },
- "numEmployees": {
- "title": "Number of Employees",
- "description": "",
- "type": "integer",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "int",
- "minimum": -2147483648,
- "maximum": 2147483647
- },
- "revenue": {
- "title": "Revenue",
- "description": "",
- "type": "number",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "number"
- },
- "isLicensed": {
- "title": "Is Licensed",
- "description": "",
- "type": "boolean",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "boolean"
- },
- "industries": {
- "title": "Industries",
- "description": "",
- "type": "array",
- "isRequired": false,
- "required": [],
- "items": {
- "type": "string",
- "meta:xdmType": "string"
- },
- "meta:xdmType": "array"
- }
- },
- "meta:xdmType": "object"
- },
- "customer": {
- "title": "Customer",
- "description": "",
- "type": "object",
- "isRequired": false,
- "required": [
- "emailAddress"
- ],
- "properties": {
- "firstName": {
- "title": "First Name",
- "description": "",
- "type": "string",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "string"
- },
- "lastName": {
- "title": "Last Name",
- "description": "",
- "type": "string",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "string"
- },
- "emailAddress": {
- "title": "Email Address",
- "description": "",
- "type": "string",
- "isRequired": true,
- "required": [],
- "format": "email",
- "meta:xdmType": "string"
- },
- "mailingAddress": {
- "title": "Mailing Address",
- "description": "",
- "type": "object",
- "isRequired": false,
- "required": [],
- "properties": {
- "streetAddress": {
- "title": "Street Address",
- "description": "",
- "type": "string",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "string"
- },
- "city": {
- "title": "City",
- "description": "",
- "type": "string",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "string"
- },
- "state": {
- "title": "State",
- "description": "",
- "type": "string",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "string"
- },
- "zipcode": {
- "title": "Zip Code",
- "description": "",
- "type": "string",
- "isRequired": false,
- "required": [],
- "meta:xdmType": "string"
- }
- },
- "meta:xdmType": "object"
- }
- },
- "meta:xdmType": "object"
- }
- },
- "meta:xdmType": "object"
- },
- "_id": {
- "title": "Identifier",
- "type": "string",
- "format": "uri-reference",
- "description": "A unique identifier for the time-series event.",
- "meta:xdmType": "string",
- "meta:xdmField": "@id"
- },
- "device": {
- "title": "Device",
- "description": "An identified device, application or device browser instance that is trackable across sessions, normally by cookies.",
- "type": "object",
- "meta:xdmType": "object",
- "properties": {
- "colorDepth": {
- "title": "Color depth",
- "type": "integer",
- "description": "The number of colors the display is able to represent.",
- "minimum": -2147483648,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:colorDepth"
- },
- "isBackgroundPushEnabled": {
- "title": "Background Push Enabled Flag",
- "type": "boolean",
- "description": "For devices like mobile , this tracks the system background push enabled permision status.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:isBackgroundPushEnabled"
- },
- "isLocationEnabled": {
- "title": "Location Enabled Flag",
- "type": "boolean",
- "description": "Indicates whether or not the device has location services enabled.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:isLocationEnabled"
- },
- "isPushOptIn": {
- "title": "Push Opt In Flag",
- "type": "boolean",
- "description": "Indicates whether or not the device opted-in to receive push notifications.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:isPushOptIn"
- },
- "locationPermission": {
- "title": "Location Permission",
- "type": "string",
- "description": "Tracks the device location permision attribute setting.",
- "enum": [
- "SYSTEM_LOCATION_DISABLED",
- "NOT_ALLOWED",
- "ALWAYS_ALLOWED",
- "FOREGROUND_ALLOWED",
- "UNPROMPTED"
- ],
- "meta:enum": {
- "SYSTEM_LOCATION_DISABLED": "System Location Disabled",
- "NOT_ALLOWED": "Not Allowed",
- "ALWAYS_ALLOWED": "Always Allowed",
- "FOREGROUND_ALLOWED": "Foreground Allowed",
- "UNPROMPTED": "Unprompted"
- },
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:locationPermission"
- },
- "manufacturer": {
- "title": "Manufacturer",
- "type": "string",
- "description": "The name of the organization who owns the design and creation of the device, for example, 'Apple' is the manufacturer of the iPhone.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:manufacturer"
- },
- "model": {
- "title": "Model",
- "type": "string",
- "description": "The name of the model for the device. This is the common, human-readable, or marketing name for the device. For example, the 'iPhone 6S' is a particular model of mobile phone.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:model"
- },
- "modelNumber": {
- "title": "Model number",
- "type": "string",
- "description": "The unique model number designation assigned by the manufacturer for this device. Model numbers are not versions, but unique identifiers that identify a particular model configuration. While the model for a particular phone might be 'iPhone 6S' the model number would be 'A1633', or 'A1634' based on configuration at the time of sale.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:modelNumber"
- },
- "screenHeight": {
- "title": "Screen height",
- "type": "integer",
- "description": "The number of vertical pixels of the device's active display in the default orientation.",
- "minimum": -2147483648,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:screenHeight"
- },
- "screenOrientation": {
- "title": "Screen orientation",
- "type": "string",
- "description": "The current screen orientation such as \"portrait\" or \"landscape\".",
- "enum": [
- "portrait",
- "landscape"
- ],
- "meta:enum": {
- "portrait": "Portrait",
- "landscape": "Landscape"
- },
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:screenOrientation"
- },
- "screenWidth": {
- "title": "Screen width",
- "type": "integer",
- "description": "The number of horizontal pixels of the device's active display in the default orientation.",
- "minimum": -2147483648,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:screenWidth"
- },
- "type": {
- "title": "Type",
- "type": "string",
- "description": "Type of device being tracked.",
- "meta:enum": {
- "mobile": "Mobile",
- "tablet": "Tablet",
- "desktop": "Desktop",
- "ereader": "E-reader",
- "gaming": "Gaming console",
- "television": "Television",
- "settop": "Set-top box",
- "mediaplayer": "Media player",
- "computers": "Computers",
- "tv screens": "TV screens"
- },
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:type"
- },
- "typeID": {
- "title": "Type identifier",
- "type": "string",
- "description": "An identifier for the device. This may be an identifier from 'DeviceAtlas' or another service that identifies the hardware that is being used.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:typeID"
- },
- "typeIDService": {
- "title": "Type identifier service",
- "type": "string",
- "format": "uri",
- "description": "The namespace of the service that is used to identify the device type.",
- "meta:enum": {
- "https://ns.adobe.com/xdm/external/deviceatlas": "DeviceAtlas",
- "https://ns.adobe.com/xdm/external/adobecampaign": "Adobe Campaign"
- },
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:typeIDService"
- }
- },
- "meta:referencedFrom": "https://ns.adobe.com/xdm/context/device",
- "meta:xdmField": "xdm:device"
- },
- "environment": {
- "title": "Environment",
- "description": "Information about the surrounding situation the event observation occurred in, specifically detailing transitory information such as the network or software versions.",
- "type": "object",
- "meta:xdmType": "object",
- "properties": {
- "_dc": {
- "properties": {
- "language": {
- "meta:usereditable": false,
- "title": "Language",
- "type": "string",
- "pattern": "^(((([A-Za-z]{2,3}(-([A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-([A-Za-z]{4}))?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-([0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+))*(-(x(-[A-Za-z0-9]{1,8})+))?)|(x(-[A-Za-z0-9]{1,8})+)|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$",
- "description": "The language of the environment to represent the user's linguistic, geographical, or cultural preferences for data presentation.\nLanguages are specified in language code as defined in [IETF RFC 3066](https://www.ietf.org/rfc/rfc3066.txt), which is part of BCP 47, which is used elsewhere in XDM.",
- "examples": [
- "en-US",
- "pt-BR",
- "es-ES"
- ],
- "meta:xdmType": "string",
- "meta:xdmField": "dc:language"
- }
- },
- "type": "object",
- "meta:xdmType": "object",
- "meta:xedConverted": true
- },
- "ISP": {
- "title": "Internet service provider",
- "type": "string",
- "description": "The name of the user's internet service provider.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:ISP"
- },
- "browserDetails": {
- "title": "Browser details",
- "description": "The browser specific details such as browser name, version, javascript version, user agent string, and accept language.",
- "type": "object",
- "meta:xdmType": "object",
- "properties": {
- "acceptLanguage": {
- "title": "Accept language",
- "type": "string",
- "description": "An IETF language tag (RFC 5646).",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:acceptLanguage"
- },
- "cookiesEnabled": {
- "title": "Allows cookies",
- "type": "boolean",
- "description": "The current user agent settings allow for the writing of cookies.'",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:cookiesEnabled"
- },
- "javaEnabled": {
- "title": "Java enabled",
- "type": "boolean",
- "description": "If Java was enabled in the device this observation was made from.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:javaEnabled"
- },
- "javaScriptEnabled": {
- "title": "JavaScript enabled",
- "type": "boolean",
- "description": "If JavaScript was enabled in the device this observation was made from.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:javaScriptEnabled"
- },
- "javaScriptVersion": {
- "title": "JavaScript version",
- "type": "string",
- "description": "The version of JavaScript supported during the observation.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:javaScriptVersion"
- },
- "javaVersion": {
- "title": "Java version",
- "type": "string",
- "description": "The version of Java supported during the observation.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:javaVersion"
- },
- "name": {
- "title": "Name",
- "type": "string",
- "description": "The application or browser name.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:name"
- },
- "quicktimeVersion": {
- "title": "Quicktime version",
- "type": "string",
- "description": "The version of Apple Quicktime supported during the observation.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:quicktimeVersion"
- },
- "thirdPartyCookiesEnabled": {
- "title": "Allows third-party cookies",
- "type": "boolean",
- "description": "If third-party cookies were enabled when this observation was made.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:thirdPartyCookiesEnabled"
- },
- "userAgent": {
- "title": "User agent",
- "type": "string",
- "description": "The HTTP user-agent string from the client request.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:userAgent"
- },
- "userAgentClientHints": {
- "type": "object",
- "properties": {
- "architecture": {
- "title": "Platform architecture",
- "type": "string",
- "description": "The user agent's underlying CPU architecture (e.g., ARM, or x86).",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:architecture"
- },
- "bitness": {
- "title": "Platform bitness",
- "type": "string",
- "description": "The user agent's underlying CPU architecture bitness (e.g., 32 or 64).",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:bitness"
- },
- "brands": {
- "type": "array",
- "items": {
- "type": "object",
- "description": "User-agent associated commercial name with significant versions.",
- "properties": {
- "brand": {
- "title": "Brand",
- "type": "string",
- "description": "The user-agent's commercial name (e.g., cURL, Edge).",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:brand"
- },
- "version": {
- "title": "Significant version",
- "type": "string",
- "description": "The marketing version which includes distinguishable web-exposed features (e.g., 72, 3, or 12.1), corresponding to the user-agent.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:version"
- }
- },
- "meta:xdmType": "object"
- },
- "meta:xdmType": "array",
- "meta:xdmField": "xdm:brands"
- },
- "mobile": {
- "title": "Mobileness",
- "type": "boolean",
- "description": "A boolean indicating if the user agent's device is a mobile device.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:mobile"
- },
- "model": {
- "title": "Model",
- "type": "string",
- "description": "The user agent's device model (e.g., Pixel 2 XL).",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:model"
- },
- "platform": {
- "title": "Platform",
- "type": "string",
- "description": "The user agent's operating system's commercial name.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:platform"
- },
- "platformVersion": {
- "title": "Platform version",
- "type": "string",
- "description": "The user agent's operating system's version (e.g., NT 6.0, 15, or 17G).",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:platformVersion"
- },
- "wow64": {
- "title": "WoW64-ness",
- "type": "boolean",
- "description": "A boolean indicating if the user agent's binary is running in 32-bit mode on 64-bit Windows.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:wow64"
- }
- },
- "meta:xdmType": "object",
- "meta:xdmField": "xdm:userAgentClientHints"
- },
- "vendor": {
- "title": "Vendor",
- "type": "string",
- "description": "The application or browser vendor.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:vendor"
- },
- "version": {
- "title": "Version",
- "type": "string",
- "description": "The application or browser version.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:version"
- },
- "viewportHeight": {
- "title": "Viewport height",
- "type": "integer",
- "description": "The vertical size in pixels of the window the experience was displayed inside. For a web view event, the browser viewport height.",
- "minimum": -2147483648,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:viewportHeight"
- },
- "viewportWidth": {
- "title": "Viewport width",
- "type": "integer",
- "description": "The horizontal size in pixels of the window the experience was displayed inside. For a web view event, the browser viewport width.",
- "minimum": -2147483648,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:viewportWidth"
- }
- },
- "meta:referencedFrom": "https://ns.adobe.com/xdm/context/browserdetails",
- "meta:xdmField": "xdm:browserDetails"
- },
- "carrier": {
- "title": "Mobile network carrier",
- "type": "string",
- "description": "A mobile network carrier or MNO, also known as a wireless service provider, wireless carrier, cellular company, or mobile network carrier, is a provider of services wireless communications that owns or controls all the elements necessary to sell and deliver services to an end user.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:carrier"
- },
- "colorDepth": {
- "title": "Color depth",
- "type": "integer",
- "description": "The number of bits used for each color component of a single pixel.",
- "minimum": 0,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:colorDepth"
- },
- "connectionType": {
- "title": "Connection type",
- "type": "string",
- "description": "Internet connection type.",
- "enum": [
- "dialup",
- "isdn",
- "bisdn",
- "dsl",
- "cable",
- "wireless_wifi",
- "mobile",
- "mobile_edge",
- "mobile_gprs",
- "mobile_2g",
- "mobile_3g",
- "mobile_lte",
- "t1",
- "t3",
- "oc3",
- "lan",
- "modem"
- ],
- "meta:enum": {
- "dialup": "Dial-up",
- "isdn": "ISDN",
- "bisdn": "BISDN",
- "dsl": "DSL",
- "cable": "Cable",
- "wireless_wifi": "Wireless wifi",
- "mobile": "Mobile",
- "mobile_edge": "Mobile Edge",
- "mobile_gprs": "Mobile GPRS",
- "mobile_2g": "Mobile 2G",
- "mobile_3g": "Mobile 3G",
- "mobile_lte": "Mobile LTE",
- "t1": "T1",
- "t3": "T3",
- "oc3": "OC3",
- "lan": "LAN",
- "modem": "Modem"
- },
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:connectionType"
- },
- "domain": {
- "title": "Domain",
- "type": "string",
- "description": "The domain of the users ISP.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:domain"
- },
- "duration": {
- "title": "Duration",
- "type": "integer",
- "description": "The number of milliseconds that the user was on the screen.",
- "minimum": 0,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:duration"
- },
- "ipV4": {
- "title": "IPv4",
- "type": "string",
- "format": "ipv4",
- "description": "The numerical label assigned to a device participating in a computer network that uses the Internet Protocol for communication. ",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:ipV4"
- },
- "ipV6": {
- "title": "IPv6",
- "type": "string",
- "format": "ipv6",
- "description": "The numerical label assigned to a device participating in a computer network that uses the Internet Protocol for communication. ",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:ipV6"
- },
- "operatingSystem": {
- "title": "Operating system",
- "type": "string",
- "description": "The name of the operating system used when the observation was made. The attribute should not contain any version information such as '10.5.3', but instead contain 'edition' designations such as 'Ultimate' or 'Professional'.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:operatingSystem"
- },
- "operatingSystemVendor": {
- "title": "Operating system vendor",
- "type": "string",
- "description": "The name of the operating system vendor used when the observation was made.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:operatingSystemVendor"
- },
- "operatingSystemVersion": {
- "title": "Operating system version",
- "type": "string",
- "description": "The full version identifier for the operating system used when the observation was made. Versions are generally numerically composed but may be in a vendor defined format.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:operatingSystemVersion"
- },
- "previousScreen": {
- "title": "Previous Screen",
- "type": "string",
- "description": "The frinedly name assigned to the screen the user was on prior to the viewedScreen.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:previousScreen"
- },
- "type": {
- "title": "Type",
- "type": "string",
- "description": "The type of the application environment.",
- "enum": [
- "browser",
- "application",
- "iot",
- "external",
- "widget"
- ],
- "meta:enum": {
- "browser": "Browser",
- "application": "Application",
- "iot": "Internet of things",
- "external": "External system",
- "widget": "Application extension"
- },
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:type"
- },
- "viewedScreen": {
- "title": "Viewed Screen",
- "type": "string",
- "description": "The friendly name assigned to the screen that the user was on.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:viewedScreen"
- },
- "viewportHeight": {
- "title": "Viewport height",
- "type": "integer",
- "description": "The vertical size in pixels of the window the experience was displayed inside. For a web view event, the browser viewport height.",
- "minimum": 0,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:viewportHeight"
- },
- "viewportWidth": {
- "title": "Viewport width",
- "type": "integer",
- "description": "The horizontal size in pixels of the window the experience was displayed inside. For a web view event, the browser viewport width.",
- "minimum": 0,
- "maximum": 2147483647,
- "meta:xdmType": "int",
- "meta:xdmField": "xdm:viewportWidth"
- }
- },
- "meta:referencedFrom": "https://ns.adobe.com/xdm/context/environment",
- "meta:xdmField": "xdm:environment"
- },
- "eventMergeId": {
- "title": "ExperienceEvent merge ID",
- "description": "An ID to correlate or merge multiple Experience events together that are essentially the same event or should be merged. This is intended to be populated by the data producer prior to ingestion.",
- "type": "string",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:eventMergeId"
- },
- "eventType": {
- "title": "Event Type",
- "type": "string",
- "description": "The primary event type for this time-series record.",
- "meta:enum": {
- "advertising.completes": "Advertising Completes",
- "advertising.timePlayed": "Advertising Time Played",
- "advertising.federated": "Advertising Federated",
- "advertising.clicks": "Advertising Clicks",
- "advertising.conversions": "Advertising Conversions",
- "advertising.firstQuartiles": "Advertising First Quartiles",
- "advertising.impressions": "Advertising Impressions",
- "advertising.midpoints": "Advertising Midpoints",
- "advertising.starts": "Advertising Starts",
- "advertising.thirdQuartiles": "Advertising Third Quartiles",
- "application.close": "Application Close",
- "application.launch": "Application Launch",
- "web.webpagedetails.pageViews": "Web Webpagedetails Page Views",
- "web.webinteraction.linkClicks": "Web Webinteraction Link Clicks",
- "web.formFilledOut": "Web Form Filled Out",
- "commerce.checkouts": "Commerce Checkouts",
- "commerce.productListAdds": "Commerce Product List (Cart) Adds",
- "commerce.productListOpens": "Commerce Product List (Cart) Opens",
- "commerce.productListRemovals": "Commerce Product List (Cart) Removals",
- "commerce.productListReopens": "Commerce Product List (Cart) Reopens",
- "commerce.productListViews": "Commerce Product List (Cart) Views",
- "commerce.productViews": "Commerce Product Views",
- "commerce.purchases": "Commerce Purchases",
- "commerce.saveForLaters": "Commerce Save For Laters",
- "commerce.backofficeOrderPlaced": "Commerce Backoffice Order Placed",
- "commerce.backofficeOrderCancelled": "Commerce Backoffice Order Cancelled",
- "commerce.backofficeOrderItemsShipped": "Commerce Backoffice OrderItems Shipped",
- "commerce.backofficeCreditMemoIssued": "Commerce Backoffice CreditMemo Issued",
- "commerce.backofficeShipmentCompleted": "Commerce Backoffice Shipment Completed",
- "decisioning.propositionDisplay": "Decisioning Proposition Display",
- "decisioning.propositionInteract": "Decisioning Proposition Interact",
- "decisioning.propositionSend": "Decisioning Proposition Send",
- "decisioning.propositionDismiss": "Decisioning Proposition Dismiss",
- "decisioning.propositionTrigger": "Decisioning Proposition Trigger",
- "delivery.feedback": "Delivery Feedback",
- "message.feedback": "Message Feedback",
- "message.tracking": "Message Tracking",
- "pushTracking.applicationOpened": "Push Tracking Application Opened",
- "pushTracking.customAction": "Push Tracking Custom Action",
- "listOperation.removeFromList": "List Operation Remove From List",
- "listOperation.addToList": "List Operation Add To List",
- "leadOperation.scoreChanged": "Lead Operation Score Changed",
- "leadOperation.revenueStageChanged": "Lead Operation Revenue Stage changed",
- "leadOperation.statusInCampaignProgressionChanged": "Lead Operation Status In Campaign Progression Changed",
- "leadOperation.interestingMoment": "Lead Operation Interesting Moment",
- "leadOperation.newLead": "Lead Operation New Lead",
- "leadOperation.convertLead": "Lead Operation Convert Lead",
- "leadOperation.callWebhook": "Lead Operation Call Webhook",
- "leadOperation.changeEngagementCampaignCadence": "Change Engagement Campaign Cadence",
- "leadOperation.addToCampaign": "Lead Operation Add To Campaign",
- "leadOperation.changeCampaignStream": "Lead Operation Change Campaign Stream",
- "leadOperation.mergeLeads": "Lead Operation Merge Leads",
- "directMarketing.emailBounced": "Direct Marketing Email Bounced",
- "directMarketing.emailBouncedSoft": "Direct Marketing Email Bounced Soft",
- "directMarketing.emailDelivered": "Direct Marketing Email Delivered",
- "directMarketing.emailUnsubscribed": "Direct Marketing Email Unsubscribed",
- "directMarketing.emailOpened": "Direct Marketing Email Opened",
- "directMarketing.emailClicked": "Direct Marketing Email Clicked",
- "directMarketing.emailSent": "Direct Marketing Email Sent",
- "opportunityEvent.removeFromOpportunity": "Opportunity Event Remove From Opportunity",
- "opportunityEvent.addToOpportunity": "Opportunity Event Add To Opportunity",
- "opportunityEvent.opportunityUpdated": "Opportunity Event Opportunity Updated",
- "inappmessageTracking.dismiss": "inapp message was dimissed",
- "inappmessageTracking.display": "inapp message was displayed",
- "inappmessageTracking.interact": "inapp message was interacted with",
- "media.ping": "Media ping",
- "media.sessionStart": "Media sessionStart",
- "media.play": "Media play",
- "media.bufferStart": "Media bufferStart",
- "media.pauseStart": "Media pauseStart",
- "media.chapterStart": "Media chapterStart",
- "media.chapterSkip": "Media chapterSkip",
- "media.chapterComplete": "Media chapterComplete",
- "media.adStart": "Media adStart",
- "media.adSkip": "Media adSkip",
- "media.adComplete": "Media adComplete",
- "media.adBreakStart": "Media adBreakStart",
- "media.adBreakComplete": "Media adBreakComplete",
- "media.bitrateChange": "Media bitrateChange",
- "media.error": "Media error",
- "media.sessionComplete": "Media sessionComplete",
- "media.sessionEnd": "Media sessionEnd",
- "media.statesUpdate": "Media statesUpdate",
- "media.downloaded": "Media downloaded content",
- "media.customTracking": "Media custom tracking",
- "location.entry": "Location entry",
- "location.exit": "Location exit"
- },
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:eventType"
- },
- "identityMap": {
- "type": "object",
- "meta:xdmType": "map",
- "additionalProperties": {
- "type": "array",
- "items": {
- "type": "object",
- "meta:xdmType": "object",
- "properties": {
- "authenticatedState": {
- "description": "The state this identity is authenticated as for this observed ExperienceEvent.",
- "type": "string",
- "default": "ambiguous",
- "enum": [
- "ambiguous",
- "authenticated",
- "loggedOut"
- ],
- "meta:enum": {
- "ambiguous": "Ambiguous",
- "authenticated": "User identified by a login or similar action that was valid at the time of the event observation.",
- "loggedOut": "User was identified by a login action at some point of time previously, but is not currently logged in."
- },
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:authenticatedState"
- },
- "id": {
- "title": "Identifier",
- "type": "string",
- "description": "Identity of the consumer in the related namespace.",
- "meta:xdmType": "string",
- "meta:xdmField": "xdm:id"
- },
- "primary": {
- "title": "Primary",
- "type": "boolean",
- "default": false,
- "description": "Indicates this identity is the preferred identity. Is used as a hint to help systems better organize how identities are queried.",
- "meta:xdmType": "boolean",
- "meta:xdmField": "xdm:primary"
- }
- },
- "meta:referencedFrom": "https://ns.adobe.com/xdm/context/identityitem"
- },
- "meta:xdmType": "array"
- },
- "meta:xdmField": "xdm:identityMap"
- }
- }
-}
\ No newline at end of file
diff --git a/src/view/components/objectEditor/editor.jsx b/src/view/components/objectEditor/editor.jsx
index 14cc5b29..1b62ef88 100644
--- a/src/view/components/objectEditor/editor.jsx
+++ b/src/view/components/objectEditor/editor.jsx
@@ -61,6 +61,7 @@ const Editor = ({
const { values: formState } = useFormikContext();
const [showDisplayNames, setShowDisplayNames] = useState(false);
const [expandedNodeIdsInTree, setExpandedNodeIdsInTree] = useState(() => {
+ // There is a root node with the id node-1. We don't want that.
return fetchNodeIdsForDepth(formState, initialExpandedDepth + 1).slice(1);
});
const [nodeIdToScrollIntoViewInTree, setNodeIdToScrollIntoViewInTree] =
@@ -108,6 +109,15 @@ const Editor = ({
gap="size-400"
direction={verticalLayout ? "column" : ""}
>
+ {
+ // Minimum of 300px wide, but can expand. This is for when the user
+ // has nodes with really long text or they expand several nodes, making
+ // the tree very wide. Another option is to limit the width, but show a
+ // horizontal scrollbar. Be aware that limiting the width has an interesting
+ // side effect in Safari, because Safari doesn't allow you to scroll the page by
+ // scrolling the scroll wheel or swiping when the cursor is over an element
+ // that has a scrollbar (vertical or horizontal).
+ }
+ {
+ // We want the first column to be at least 300px wide, but it can
+ // grow the tree gets bigger. Then the second column will take the
+ // rest of the space.
+ }
0
@@ -145,6 +154,8 @@ export default ({
return getTreeNode({
formStateNode: formState,
treeNodeComponent,
+ // Display name for the top-level node doesn't really
+ // matter because it won't be shown in the tree anyway.
displayName: "",
errors,
touched,
diff --git a/src/view/components/objectEditor/xdmTree.jsx b/src/view/components/objectEditor/xdmTree.jsx
index 6b1fe727..b77e9a41 100644
--- a/src/view/components/objectEditor/xdmTree.jsx
+++ b/src/view/components/objectEditor/xdmTree.jsx
@@ -70,6 +70,10 @@ const XdmTree = ({
showDisplayNames,
});
+ // Expand invalid items when the user attempts to submit the form by hitting
+ // the save button in Launch. We purposefully don't expand invalid items when
+ // validation occurs as a result of a user changing the value of a field because
+ // it's a jarring experience.
useNewlyValidatedFormSubmission(() => {
const nodeIdsContainingError =
getNodeIdsToExpandForValidation(treeStructure);