@esri/hub-common 11.2.0 → 11.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/urls/get-campaign-url.js +25 -0
- package/dist/esm/urls/get-campaign-url.js.map +1 -0
- package/dist/esm/urls/index.js +1 -0
- package/dist/esm/urls/index.js.map +1 -1
- package/dist/node/urls/get-campaign-url.js +29 -0
- package/dist/node/urls/get-campaign-url.js.map +1 -0
- package/dist/node/urls/index.js +1 -0
- package/dist/node/urls/index.js.map +1 -1
- package/dist/types/urls/get-campaign-url.d.ts +22 -0
- package/dist/types/urls/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { getPortalUrl } from "./get-portal-url";
|
|
3
|
+
import { btoa } from "abab";
|
|
4
|
+
import { _getHubUrlFromPortalHostname } from "./_get-hub-url-from-portal-hostname";
|
|
5
|
+
/**
|
|
6
|
+
* Builds a Hub "campaign" URL used as a single entry-point into
|
|
7
|
+
* Hub from external links, i.e. push notifications, emails, sms, etc,
|
|
8
|
+
* from which we can capture campaign-related telemetry before redirecting
|
|
9
|
+
* the user off to a provided destination.
|
|
10
|
+
* @param options.portal A string IPortal IHubRequestOptions or IRequestOptions object
|
|
11
|
+
* @param options.uri A URI that provides additional context for how to parse the provide meta
|
|
12
|
+
* @param options.meta An object of metadata for the campaign URL
|
|
13
|
+
* @param options.redirectURL A redirect URL
|
|
14
|
+
* @returns string A campaign URL
|
|
15
|
+
*/
|
|
16
|
+
export function getCampaignUrl(options) {
|
|
17
|
+
const { portal } = options, data = __rest(options, ["portal"]);
|
|
18
|
+
const portalUrl = getPortalUrl(portal);
|
|
19
|
+
const hubURL = _getHubUrlFromPortalHostname(portalUrl);
|
|
20
|
+
const url = new URL(`${hubURL}/c`);
|
|
21
|
+
const b64Data = btoa(JSON.stringify(data));
|
|
22
|
+
url.searchParams.set("d", b64Data);
|
|
23
|
+
return url.toString();
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=get-campaign-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-campaign-url.js","sourceRoot":"","sources":["../../../src/urls/get-campaign-url.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AASnF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,OAA6B;IAC1D,MAAM,EAAE,MAAM,KAAc,OAAO,EAAhB,IAAI,UAAK,OAAO,EAA7B,UAAmB,CAAU,CAAC;IACpC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/esm/urls/index.js
CHANGED
|
@@ -18,6 +18,7 @@ export * from "./getHubApiFromPortalUrl";
|
|
|
18
18
|
export * from "./getPortalBaseFromOrgUrl";
|
|
19
19
|
export * from "./getGroupHomeUrl";
|
|
20
20
|
export * from "./getUserHomeUrl";
|
|
21
|
+
export * from "./get-campaign-url";
|
|
21
22
|
const MAP_OR_FEATURE_SERVER_URL_REGEX = /\/(map|feature)server/i;
|
|
22
23
|
/**
|
|
23
24
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IACrD,OAAO,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAE,EAAE;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,YAAY,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;AAC/D,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCampaignUrl = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const get_portal_url_1 = require("./get-portal-url");
|
|
6
|
+
const abab_1 = require("abab");
|
|
7
|
+
const _get_hub_url_from_portal_hostname_1 = require("./_get-hub-url-from-portal-hostname");
|
|
8
|
+
/**
|
|
9
|
+
* Builds a Hub "campaign" URL used as a single entry-point into
|
|
10
|
+
* Hub from external links, i.e. push notifications, emails, sms, etc,
|
|
11
|
+
* from which we can capture campaign-related telemetry before redirecting
|
|
12
|
+
* the user off to a provided destination.
|
|
13
|
+
* @param options.portal A string IPortal IHubRequestOptions or IRequestOptions object
|
|
14
|
+
* @param options.uri A URI that provides additional context for how to parse the provide meta
|
|
15
|
+
* @param options.meta An object of metadata for the campaign URL
|
|
16
|
+
* @param options.redirectURL A redirect URL
|
|
17
|
+
* @returns string A campaign URL
|
|
18
|
+
*/
|
|
19
|
+
function getCampaignUrl(options) {
|
|
20
|
+
const { portal } = options, data = tslib_1.__rest(options, ["portal"]);
|
|
21
|
+
const portalUrl = get_portal_url_1.getPortalUrl(portal);
|
|
22
|
+
const hubURL = _get_hub_url_from_portal_hostname_1._getHubUrlFromPortalHostname(portalUrl);
|
|
23
|
+
const url = new URL(`${hubURL}/c`);
|
|
24
|
+
const b64Data = abab_1.btoa(JSON.stringify(data));
|
|
25
|
+
url.searchParams.set("d", b64Data);
|
|
26
|
+
return url.toString();
|
|
27
|
+
}
|
|
28
|
+
exports.getCampaignUrl = getCampaignUrl;
|
|
29
|
+
//# sourceMappingURL=get-campaign-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-campaign-url.js","sourceRoot":"","sources":["../../../src/urls/get-campaign-url.ts"],"names":[],"mappings":";;;;AACA,qDAAgD;AAGhD,+BAA4B;AAC5B,2FAAmF;AASnF;;;;;;;;;;GAUG;AACH,SAAgB,cAAc,CAAC,OAA6B;IAC1D,MAAM,EAAE,MAAM,KAAc,OAAO,EAAhB,IAAI,kBAAK,OAAO,EAA7B,UAAmB,CAAU,CAAC;IACpC,MAAM,SAAS,GAAG,6BAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,gEAA4B,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,WAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AARD,wCAQC"}
|
package/dist/node/urls/index.js
CHANGED
|
@@ -22,6 +22,7 @@ tslib_1.__exportStar(require("./getHubApiFromPortalUrl"), exports);
|
|
|
22
22
|
tslib_1.__exportStar(require("./getPortalBaseFromOrgUrl"), exports);
|
|
23
23
|
tslib_1.__exportStar(require("./getGroupHomeUrl"), exports);
|
|
24
24
|
tslib_1.__exportStar(require("./getUserHomeUrl"), exports);
|
|
25
|
+
tslib_1.__exportStar(require("./get-campaign-url"), exports);
|
|
25
26
|
const MAP_OR_FEATURE_SERVER_URL_REGEX = /\/(map|feature)server/i;
|
|
26
27
|
/**
|
|
27
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":";;;;AAAA,kCAAqC;AACrC,sDAA4B;AAC5B,qEAA2C;AAC3C,+DAAqC;AACrC,2DAAiC;AACjC,2DAAiC;AACjC,6DAAmC;AACnC,2DAAiC;AACjC,qEAA2C;AAC3C,0DAAgC;AAChC,wEAA8C;AAC9C,oEAA0C;AAC1C,8DAAoC;AACpC,6DAAmC;AACnC,8DAAoC;AACpC,wEAA8C;AAC9C,mEAAyC;AACzC,oEAA0C;AAC1C,4DAAkC;AAClC,2DAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":";;;;AAAA,kCAAqC;AACrC,sDAA4B;AAC5B,qEAA2C;AAC3C,+DAAqC;AACrC,2DAAiC;AACjC,2DAAiC;AACjC,6DAAmC;AACnC,2DAAiC;AACjC,qEAA2C;AAC3C,0DAAgC;AAChC,wEAA8C;AAC9C,oEAA0C;AAC1C,8DAAoC;AACpC,6DAAmC;AACnC,8DAAoC;AACpC,wEAA8C;AAC9C,mEAAyC;AACzC,oEAA0C;AAC1C,4DAAkC;AAClC,2DAAiC;AACjC,6DAAmC;AAEnC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEjE;;;;GAIG;AACU,QAAA,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IACrD,OAAO,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,qBAAqB,GAAG,CAAC,GAAW,EAAE,EAAE;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,YAAY,IAAI,GAAG,iBAAU,CAAC,YAAY,CAAC,UAAU,CAAC;AAC/D,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IHubRequestOptions } from "../types";
|
|
2
|
+
import { IPortal } from "@esri/arcgis-rest-portal";
|
|
3
|
+
import { IRequestOptions } from "@esri/arcgis-rest-request";
|
|
4
|
+
interface IBuildHubCampaignUrl {
|
|
5
|
+
portal: string | IPortal | IHubRequestOptions | IRequestOptions;
|
|
6
|
+
uri: string;
|
|
7
|
+
meta: any;
|
|
8
|
+
redirectUrl: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Builds a Hub "campaign" URL used as a single entry-point into
|
|
12
|
+
* Hub from external links, i.e. push notifications, emails, sms, etc,
|
|
13
|
+
* from which we can capture campaign-related telemetry before redirecting
|
|
14
|
+
* the user off to a provided destination.
|
|
15
|
+
* @param options.portal A string IPortal IHubRequestOptions or IRequestOptions object
|
|
16
|
+
* @param options.uri A URI that provides additional context for how to parse the provide meta
|
|
17
|
+
* @param options.meta An object of metadata for the campaign URL
|
|
18
|
+
* @param options.redirectURL A redirect URL
|
|
19
|
+
* @returns string A campaign URL
|
|
20
|
+
*/
|
|
21
|
+
export declare function getCampaignUrl(options: IBuildHubCampaignUrl): string;
|
|
22
|
+
export {};
|