@pendo/agent 2.347.0 → 2.348.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/dom.esm.js +5 -4
- package/dist/pendo.module.js +117 -63
- package/dist/pendo.module.min.js +7 -7
- package/dist/servers.json +8 -8
- package/package.json +1 -1
package/dist/dom.esm.js
CHANGED
|
@@ -7555,7 +7555,7 @@ function applyMatrix2dRect(matrix2d, rect) {
|
|
|
7555
7555
|
return transformedRect;
|
|
7556
7556
|
}
|
|
7557
7557
|
|
|
7558
|
-
var VERSION = '2.
|
|
7558
|
+
var VERSION = '2.348.0_';
|
|
7559
7559
|
|
|
7560
7560
|
var decodeURIComponent = _.isFunction(globalScope.decodeURIComponent) ? globalScope.decodeURIComponent : _.identity;
|
|
7561
7561
|
|
|
@@ -7915,13 +7915,13 @@ var agentStorage = (function () {
|
|
|
7915
7915
|
resetCache(storageAvailable);
|
|
7916
7916
|
if (storageIsDisabled()) {
|
|
7917
7917
|
inMemoryStorage[key] = ttlWrite(val, duration);
|
|
7918
|
-
return;
|
|
7918
|
+
return true;
|
|
7919
7919
|
}
|
|
7920
7920
|
if (shouldUseLocalStorage(keyLocalStorageOnly)) {
|
|
7921
7921
|
if (storageAvailable('localStorage')) {
|
|
7922
7922
|
try {
|
|
7923
7923
|
localStorage.setItem(key, ttlWrite(val, duration));
|
|
7924
|
-
return;
|
|
7924
|
+
return true;
|
|
7925
7925
|
}
|
|
7926
7926
|
catch (e) { }
|
|
7927
7927
|
}
|
|
@@ -7931,11 +7931,12 @@ var agentStorage = (function () {
|
|
|
7931
7931
|
if (!isPlain)
|
|
7932
7932
|
duration = duration || DEFAULT_EXPIRE_LEN;
|
|
7933
7933
|
setCookie(key, val, duration, isSecure);
|
|
7934
|
-
return;
|
|
7934
|
+
return true;
|
|
7935
7935
|
}
|
|
7936
7936
|
catch (e) { }
|
|
7937
7937
|
}
|
|
7938
7938
|
inMemoryStorage[key] = ttlWrite(val, duration);
|
|
7939
|
+
return false;
|
|
7939
7940
|
}
|
|
7940
7941
|
function ttlWrite(value, duration) {
|
|
7941
7942
|
if (duration === null) {
|
package/dist/pendo.module.js
CHANGED
|
@@ -4138,8 +4138,8 @@ let SERVER = '';
|
|
|
4138
4138
|
let ASSET_HOST = '';
|
|
4139
4139
|
let ASSET_PATH = '';
|
|
4140
4140
|
let DESIGNER_SERVER = '';
|
|
4141
|
-
let VERSION = '2.
|
|
4142
|
-
let PACKAGE_VERSION = '2.
|
|
4141
|
+
let VERSION = '2.348.0_';
|
|
4142
|
+
let PACKAGE_VERSION = '2.348.0';
|
|
4143
4143
|
let LOADER = 'xhr';
|
|
4144
4144
|
/* eslint-enable web-sdk-eslint-rules/no-gulp-env-references */
|
|
4145
4145
|
/**
|
|
@@ -5133,13 +5133,13 @@ var agentStorage = (function () {
|
|
|
5133
5133
|
resetCache(storageAvailable);
|
|
5134
5134
|
if (storageIsDisabled()) {
|
|
5135
5135
|
inMemoryStorage[key] = ttlWrite(val, duration);
|
|
5136
|
-
return;
|
|
5136
|
+
return true;
|
|
5137
5137
|
}
|
|
5138
5138
|
if (shouldUseLocalStorage(keyLocalStorageOnly)) {
|
|
5139
5139
|
if (storageAvailable('localStorage')) {
|
|
5140
5140
|
try {
|
|
5141
5141
|
localStorage.setItem(key, ttlWrite(val, duration));
|
|
5142
|
-
return;
|
|
5142
|
+
return true;
|
|
5143
5143
|
}
|
|
5144
5144
|
catch (e) { }
|
|
5145
5145
|
}
|
|
@@ -5149,11 +5149,12 @@ var agentStorage = (function () {
|
|
|
5149
5149
|
if (!isPlain)
|
|
5150
5150
|
duration = duration || DEFAULT_EXPIRE_LEN;
|
|
5151
5151
|
setCookie(key, val, duration, isSecure);
|
|
5152
|
-
return;
|
|
5152
|
+
return true;
|
|
5153
5153
|
}
|
|
5154
5154
|
catch (e) { }
|
|
5155
5155
|
}
|
|
5156
5156
|
inMemoryStorage[key] = ttlWrite(val, duration);
|
|
5157
|
+
return false;
|
|
5157
5158
|
}
|
|
5158
5159
|
function ttlWrite(value, duration) {
|
|
5159
5160
|
if (duration === null) {
|
|
@@ -12995,6 +12996,23 @@ function migrateLegacyCookieEvents(events) {
|
|
|
12995
12996
|
clearCookie(getPendoCookieKey(UNSENT_EVENTS_KEY));
|
|
12996
12997
|
}
|
|
12997
12998
|
}
|
|
12999
|
+
// the quota error doesn't say how much space is left, so halving keeps the
|
|
13000
|
+
// number of retries during pagehide small
|
|
13001
|
+
function dropOldestHalf(events) {
|
|
13002
|
+
const entries = [];
|
|
13003
|
+
_.each(events, (requests, key) => {
|
|
13004
|
+
_.each(requests, (request) => {
|
|
13005
|
+
entries.push({ key, request });
|
|
13006
|
+
});
|
|
13007
|
+
});
|
|
13008
|
+
const newest = _.sortBy(entries, (entry) => entry.request.ts).slice(Math.ceil(entries.length / 2));
|
|
13009
|
+
const remaining = {};
|
|
13010
|
+
_.each(newest, (entry) => {
|
|
13011
|
+
remaining[entry.key] = remaining[entry.key] || [];
|
|
13012
|
+
remaining[entry.key].push(entry.request);
|
|
13013
|
+
});
|
|
13014
|
+
return remaining;
|
|
13015
|
+
}
|
|
12998
13016
|
class LocalStorageEventBuffer {
|
|
12999
13017
|
constructor() {
|
|
13000
13018
|
this.events = {};
|
|
@@ -13039,12 +13057,14 @@ class LocalStorageEventBuffer {
|
|
|
13039
13057
|
storage.clear(UNSENT_EVENTS_KEY);
|
|
13040
13058
|
}
|
|
13041
13059
|
write(storage) {
|
|
13042
|
-
|
|
13043
|
-
|
|
13044
|
-
|
|
13045
|
-
|
|
13046
|
-
|
|
13060
|
+
let events = this.events;
|
|
13061
|
+
while (_.size(events) > 0) {
|
|
13062
|
+
if (storage.write(UNSENT_EVENTS_KEY, JSON.stringify(events), UNSENT_EVENTS_MAX_AGE)) {
|
|
13063
|
+
return;
|
|
13064
|
+
}
|
|
13065
|
+
events = dropOldestHalf(events);
|
|
13047
13066
|
}
|
|
13067
|
+
storage.clear(UNSENT_EVENTS_KEY);
|
|
13048
13068
|
}
|
|
13049
13069
|
}
|
|
13050
13070
|
var localStorageEventBuffer = new LocalStorageEventBuffer();
|
|
@@ -14239,6 +14259,14 @@ var isWalkthrough = function (guide) {
|
|
|
14239
14259
|
var isForm = function (guide) {
|
|
14240
14260
|
return !!(_.get(guide, 'attributes.form'));
|
|
14241
14261
|
};
|
|
14262
|
+
// An HTML guide step's type is 'html' and it has no domJson to derive calculatedType
|
|
14263
|
+
// from, so its layout only shows up in buildingBlockLayoutType
|
|
14264
|
+
var isTooltipStep = function (step) {
|
|
14265
|
+
var tooltip = 'tooltip';
|
|
14266
|
+
return _.get(step, 'type') === tooltip ||
|
|
14267
|
+
_.get(step, 'attributes.calculatedType') === tooltip ||
|
|
14268
|
+
_.get(step, 'attributes.buildingBlockLayoutType', _.get(step, 'buildingBlockLayoutType')) === tooltip;
|
|
14269
|
+
};
|
|
14242
14270
|
function isPreviewing() {
|
|
14243
14271
|
/* global selmo */
|
|
14244
14272
|
return (typeof selmo !== 'undefined' && !!selmo.isPreviewing);
|
|
@@ -17881,6 +17909,7 @@ var FlexboxPolyfill = (function () {
|
|
|
17881
17909
|
wrapElementInMockFlexboxContainer,
|
|
17882
17910
|
getVisualElementsWrappedInFlexElements,
|
|
17883
17911
|
initializeFlexRows,
|
|
17912
|
+
initializeNativeFlexRow,
|
|
17884
17913
|
getRowWidth,
|
|
17885
17914
|
wrapFlexElementsInFlexRows,
|
|
17886
17915
|
formatFlexRows,
|
|
@@ -18242,32 +18271,26 @@ var FlexboxPolyfill = (function () {
|
|
|
18242
18271
|
var computedStyles = getComputedStyle_safe(row);
|
|
18243
18272
|
return parseInt(width, 10) - parseInt(computedStyles.paddingLeft, 10) - parseInt(computedStyles.paddingRight, 10);
|
|
18244
18273
|
}
|
|
18245
|
-
function
|
|
18246
|
-
|
|
18247
|
-
|
|
18248
|
-
|
|
18249
|
-
|
|
18250
|
-
|
|
18251
|
-
|
|
18252
|
-
|
|
18253
|
-
|
|
18254
|
-
|
|
18255
|
-
|
|
18256
|
-
|
|
18257
|
-
|
|
18258
|
-
|
|
18259
|
-
|
|
18260
|
-
|
|
18261
|
-
|
|
18262
|
-
|
|
18263
|
-
|
|
18264
|
-
|
|
18265
|
-
var flexRows = FlexboxPolyfill.wrapFlexElementsInFlexRows(flexElements, row, rowWidth);
|
|
18266
|
-
// Once we have all the pendo-mock-flexbox-element elements placed in to
|
|
18267
|
-
// pendo-mock-flexbox-row rows, loop through each pendo-mock-flexbox-row and set the
|
|
18268
|
-
// height and alignment
|
|
18269
|
-
FlexboxPolyfill.formatFlexRows(flexRows, row, justifyContent, rowVerticalAlignment, rowWidth);
|
|
18270
|
-
}
|
|
18274
|
+
function initializeNativeFlexRow(row, justifyContent, rowVerticalAlignment) {
|
|
18275
|
+
var alignments = {
|
|
18276
|
+
top: 'flex-start',
|
|
18277
|
+
center: 'center',
|
|
18278
|
+
bottom: 'flex-end'
|
|
18279
|
+
};
|
|
18280
|
+
row.style.display = 'flex';
|
|
18281
|
+
row.style.flexWrap = 'wrap';
|
|
18282
|
+
row.style.justifyContent = justifyContent;
|
|
18283
|
+
row.style.alignItems = alignments[rowVerticalAlignment] || 'flex-start';
|
|
18284
|
+
}
|
|
18285
|
+
function initializeFlexRows(row, justifyContent, rowVerticalAlignment, rowWidth) {
|
|
18286
|
+
var flexElements = getFlexboxElements(row.children);
|
|
18287
|
+
if (flexElements.length === 0)
|
|
18288
|
+
return;
|
|
18289
|
+
var flexRows = FlexboxPolyfill.wrapFlexElementsInFlexRows(flexElements, row, rowWidth);
|
|
18290
|
+
// Once we have all the pendo-mock-flexbox-element elements placed in to
|
|
18291
|
+
// pendo-mock-flexbox-row rows, loop through each pendo-mock-flexbox-row and set the
|
|
18292
|
+
// height and alignment
|
|
18293
|
+
FlexboxPolyfill.formatFlexRows(flexRows, row, justifyContent, rowVerticalAlignment, rowWidth);
|
|
18271
18294
|
}
|
|
18272
18295
|
function wrapFlexElementsInFlexRows(flexElements, row, rowWidthPreCalc) {
|
|
18273
18296
|
var rowWidth = rowWidthPreCalc || getRowWidth(row);
|
|
@@ -18347,10 +18370,17 @@ var FlexboxPolyfill = (function () {
|
|
|
18347
18370
|
function flexElement(ele, useNativeFlexbox) {
|
|
18348
18371
|
var rowsToBeFlexed = dom('[data-pendo-display-flex]', ele);
|
|
18349
18372
|
_.each(rowsToBeFlexed, function (row) {
|
|
18350
|
-
var rowWithFlexedElements = useNativeFlexbox ? row : FlexboxPolyfill.initializeFlexElements(row);
|
|
18351
18373
|
var horizontalAlignment = row.getAttribute('data-pendo-justify-content');
|
|
18352
18374
|
var rowVerticalAlignment = row.getAttribute('data-row-vertical-alignment');
|
|
18353
|
-
|
|
18375
|
+
if (useNativeFlexbox) {
|
|
18376
|
+
FlexboxPolyfill.initializeNativeFlexRow(row, horizontalAlignment, rowVerticalAlignment);
|
|
18377
|
+
return;
|
|
18378
|
+
}
|
|
18379
|
+
// Initializing flex elements can add a temporary scrollbar to a scrolling ancestor and shrink the
|
|
18380
|
+
// width of the rows. Pre-measure the row width to prevent its children from wrapping onto a new row.
|
|
18381
|
+
var rowWidth = FlexboxPolyfill.getRowWidth(row);
|
|
18382
|
+
var rowWithFlexedElements = FlexboxPolyfill.initializeFlexElements(row);
|
|
18383
|
+
FlexboxPolyfill.initializeFlexRows(rowWithFlexedElements, horizontalAlignment, rowVerticalAlignment, rowWidth);
|
|
18354
18384
|
});
|
|
18355
18385
|
}
|
|
18356
18386
|
function flexAllThings(containerId, step) {
|
|
@@ -22914,7 +22944,7 @@ function stepShowingProc(guide, step) {
|
|
|
22914
22944
|
step.checkPlacement();
|
|
22915
22945
|
return;
|
|
22916
22946
|
}
|
|
22917
|
-
var isTooltip = (step
|
|
22947
|
+
var isTooltip = isTooltipStep(step);
|
|
22918
22948
|
if (isTooltip && wouldBeVisibleAfterAutoScroll(element) && elementMatchesContainsRules) {
|
|
22919
22949
|
// the element was scrolled out of view, the guide should be invisible for now, but still "active"
|
|
22920
22950
|
return;
|
|
@@ -23716,10 +23746,9 @@ function attachP1AdvanceActions(step, guide, pendo) {
|
|
|
23716
23746
|
return;
|
|
23717
23747
|
if (isBadge(guide) && !isWalkthrough(guide))
|
|
23718
23748
|
return;
|
|
23719
|
-
|
|
23720
|
-
const htmlLayoutType = _.get(step, 'attributes.buildingBlockLayoutType', step.buildingBlockLayoutType);
|
|
23721
|
-
if (!_.contains([htmlLayoutType, step.type], 'tooltip'))
|
|
23749
|
+
if (!isTooltipStep(step))
|
|
23722
23750
|
return;
|
|
23751
|
+
const { _ } = pendo;
|
|
23723
23752
|
const advanceMethods = step.advanceMethod.split(',');
|
|
23724
23753
|
_.each(advanceMethods, (method) => {
|
|
23725
23754
|
if (method === 'element') {
|
|
@@ -23959,12 +23988,6 @@ var popoverStep = {
|
|
|
23959
23988
|
script: popoverRuntimeScript
|
|
23960
23989
|
};
|
|
23961
23990
|
|
|
23962
|
-
function isTooltip({ _ }, step) {
|
|
23963
|
-
const tooltip = 'tooltip';
|
|
23964
|
-
return _.get(step, 'attributes.calculatedType') === tooltip ||
|
|
23965
|
-
_.get(step, 'attributes.buildingBlockLayoutType', step.buildingBlockLayoutType) === tooltip ||
|
|
23966
|
-
step.type === tooltip;
|
|
23967
|
-
}
|
|
23968
23991
|
function attachScrollHandlers({ _ }, step, scrollCallback) {
|
|
23969
23992
|
const throttledScrollCallback = _.throttle(_.bind(scrollCallback, step, step), 10);
|
|
23970
23993
|
step.attachEvent(window, 'scroll', throttledScrollCallback, true);
|
|
@@ -23992,7 +24015,7 @@ function attachStepScrollHandlers(step, guide, pendo) {
|
|
|
23992
24015
|
// APP-68789
|
|
23993
24016
|
if (isPreviewing() && step.element === dom.getBody())
|
|
23994
24017
|
return;
|
|
23995
|
-
if (
|
|
24018
|
+
if (isTooltipStep(step)) {
|
|
23996
24019
|
const repositionCallback = step.domJson ? bbRepositionTooltip : p1RepositionTooltip;
|
|
23997
24020
|
attachScrollHandlers(pendo, step, _.partial(tooltipOnScroll, pendo, step, repositionCallback));
|
|
23998
24021
|
}
|
|
@@ -24691,11 +24714,17 @@ var canStepBeRendered = function (step) {
|
|
|
24691
24714
|
if (targetElem && step.elementContainsRulesList && !doesElementMatchContainsRules(targetElem, step.elementContainsRulesList)) {
|
|
24692
24715
|
return statusWriter(false, 'contains_rules');
|
|
24693
24716
|
}
|
|
24694
|
-
const
|
|
24695
|
-
if (
|
|
24696
|
-
|
|
24717
|
+
const embedConfig = _.get(step, 'guide.attributes.embedConfig');
|
|
24718
|
+
if (embedConfig && embedConfig.selector) {
|
|
24719
|
+
const embedHost = dom(embedConfig.selector)[0];
|
|
24720
|
+
if (!embedHost) {
|
|
24721
|
+
return false;
|
|
24722
|
+
}
|
|
24723
|
+
if (embedConfig.method === 'replace' && isEmbedHostReplacedByAnotherGuide(step.guide, embedHost)) {
|
|
24724
|
+
return false;
|
|
24725
|
+
}
|
|
24697
24726
|
}
|
|
24698
|
-
var isTooltip = step
|
|
24727
|
+
var isTooltip = isTooltipStep(step) || BuildingBlockTooltips.isBuildingBlockGuideRelativeToElement(step);
|
|
24699
24728
|
var isVisible = isElementVisible(elm);
|
|
24700
24729
|
if (!isTooltip) {
|
|
24701
24730
|
return statusWriter(isVisible, 'target_element');
|
|
@@ -24706,6 +24735,14 @@ var canStepBeRendered = function (step) {
|
|
|
24706
24735
|
const wouldBeVisible = wouldBeVisibleAfterAutoScroll(elm);
|
|
24707
24736
|
return statusWriter(wouldBeVisible, 'target_element_tooltip_scroll');
|
|
24708
24737
|
};
|
|
24738
|
+
function isEmbedHostReplacedByAnotherGuide(guide, embedHost) {
|
|
24739
|
+
return _.some(getActiveGuides(), function (other) {
|
|
24740
|
+
if (other === guide || !_.isFunction(other.isShown) || !other.isShown())
|
|
24741
|
+
return false;
|
|
24742
|
+
const otherEmbedConfig = _.get(other, 'attributes.embedConfig');
|
|
24743
|
+
return !!otherEmbedConfig && otherEmbedConfig.method === 'replace' && dom(otherEmbedConfig.selector)[0] === embedHost;
|
|
24744
|
+
});
|
|
24745
|
+
}
|
|
24709
24746
|
function pullContentsFromTargetElement(ele) {
|
|
24710
24747
|
var wrappedEle = dom(ele);
|
|
24711
24748
|
var eleText = wrappedEle.text() || ''; // .text() can return undefined
|
|
@@ -29734,10 +29771,6 @@ const PluginAPI = {
|
|
|
29734
29771
|
removeGlobalScript: GuideRuntime.removeGlobalScript
|
|
29735
29772
|
},
|
|
29736
29773
|
GuideActivity,
|
|
29737
|
-
GuideEvents: {
|
|
29738
|
-
stageGuideEvent,
|
|
29739
|
-
createGuideEvent
|
|
29740
|
-
},
|
|
29741
29774
|
GuideLoop: {
|
|
29742
29775
|
addUpdatePhase,
|
|
29743
29776
|
removeUpdatePhase
|
|
@@ -29943,6 +29976,19 @@ function initIdentityEvents() {
|
|
|
29943
29976
|
};
|
|
29944
29977
|
}
|
|
29945
29978
|
|
|
29979
|
+
/**
|
|
29980
|
+
* The cookie consent tier, or tiers, the visitor has already agreed to. Each tier is the id of a cookie consent
|
|
29981
|
+
* level configured for your subscription, and determines what data the web SDK can collect: visitor identity,
|
|
29982
|
+
* analytics events, guides, and session replay. If not set, the web SDK runs without any consent restrictions.
|
|
29983
|
+
* Use `pendo.updateCookieConsent` to change consent after initialization. Read more about
|
|
29984
|
+
* [Cookie Consent Levels](/cookies/consent-levels).
|
|
29985
|
+
*
|
|
29986
|
+
* @access public
|
|
29987
|
+
* @category Config/Core
|
|
29988
|
+
* @name cookieConsentTiers
|
|
29989
|
+
* @default undefined
|
|
29990
|
+
* @type {string | string[]}
|
|
29991
|
+
*/
|
|
29946
29992
|
const CONSENT_TIERS = 'cookieConsentTiers';
|
|
29947
29993
|
function applyCookieConsent(tiers, identity) {
|
|
29948
29994
|
rememberConsentTiers(tiers);
|
|
@@ -29964,18 +30010,21 @@ function isCurrentCookieConsent(tiers) {
|
|
|
29964
30010
|
}
|
|
29965
30011
|
/**
|
|
29966
30012
|
* Enforces the cookie consent policy a visitor has agreed to. The policy is defined by the subscription's cookie consent configuration,
|
|
29967
|
-
* and is used to determine
|
|
30013
|
+
* and is used to determine what data the web SDK can collect. The new tiers replace any previously consented tiers,
|
|
30014
|
+
* including those passed to `pendo.initialize` as `cookieConsentTiers`, and are shared with other frames running the web SDK for the same application.
|
|
29968
30015
|
*
|
|
29969
30016
|
* A visitor who was not being tracked has no identity for the web SDK to resume, so pass one in
|
|
29970
30017
|
* `identity` when the new tiers start allowing identity. It is ignored otherwise.
|
|
29971
30018
|
*
|
|
30019
|
+
* Read more about [Cookie Consent Levels](/cookies/consent-levels).
|
|
30020
|
+
*
|
|
29972
30021
|
* @access public
|
|
29973
30022
|
* @category Core
|
|
29974
30023
|
* @param {string | string[]} tiers tier or tiers the visitor consented to
|
|
29975
30024
|
* @param {object} [identity] visitor and account to identify, in the same shape as
|
|
29976
30025
|
* `pendo.updateOptions` -- applied only when consent moves a do-not-track visitor to a tier
|
|
29977
30026
|
* that permits identity
|
|
29978
|
-
* @returns {object}
|
|
30027
|
+
* @returns {object} what data is now collected -- `guides` and `identity` are
|
|
29979
30028
|
* booleans (identity disabled means DNT), `textCollection` is `none`/`whitelist`/`all`,
|
|
29980
30029
|
* `analytics` and `guideAnalytics` are each an array of allowed event types
|
|
29981
30030
|
* @example
|
|
@@ -34011,7 +34060,11 @@ var GuideDisplay = (function () {
|
|
|
34011
34060
|
return false;
|
|
34012
34061
|
}
|
|
34013
34062
|
step.lock();
|
|
34014
|
-
|
|
34063
|
+
// Prefer the step's own fetchContent so a plugin-defined step (e.g. HTML
|
|
34064
|
+
// guides) can supply its content; for building-block steps it is
|
|
34065
|
+
// AsyncContent.fetchContent anyway
|
|
34066
|
+
var contentPromise = _.isFunction(step.fetchContent) ? step.fetchContent() : AsyncContent.fetchContent(step);
|
|
34067
|
+
return contentPromise.then(function () {
|
|
34015
34068
|
if (step.type !== 'whatsnew' && !step.isShown()) {
|
|
34016
34069
|
return false;
|
|
34017
34070
|
}
|
|
@@ -41557,8 +41610,9 @@ var P1GuidePlugin = (function () {
|
|
|
41557
41610
|
// Adds a close button to the guide
|
|
41558
41611
|
function CloseButton(guide) {
|
|
41559
41612
|
var step = this;
|
|
41560
|
-
// We only want to have the agent add close buttons to legacy guides, not building block
|
|
41561
|
-
|
|
41613
|
+
// We only want to have the agent add close buttons to legacy guides, not building block
|
|
41614
|
+
// inserts or HTML guides (which have no domJson either)
|
|
41615
|
+
if (step.domJson || step.domJsonpUrl || step.type === 'html')
|
|
41562
41616
|
return step;
|
|
41563
41617
|
step.after('render', function () {
|
|
41564
41618
|
if (!step.guideElement || !step.guideElement.length)
|
|
@@ -41575,7 +41629,7 @@ var P1GuidePlugin = (function () {
|
|
|
41575
41629
|
// Adds pendo credits to the guide unless disabled
|
|
41576
41630
|
function Credits() {
|
|
41577
41631
|
var step = this;
|
|
41578
|
-
if (!step.hideCredits && !step.domJson && !step.domJsonpUrl && !isForm(step.guide)) {
|
|
41632
|
+
if (!step.hideCredits && !step.domJson && !step.domJsonpUrl && step.type !== 'html' && !isForm(step.guide)) {
|
|
41579
41633
|
step.after('render', function () {
|
|
41580
41634
|
_addCredits(step.guideElement[0]);
|
|
41581
41635
|
});
|