@salesforcedevs/docs-components 1.17.11 → 1.17.12-search-alpha

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforcedevs/docs-components",
3
- "version": "1.17.11",
3
+ "version": "1.17.12-search-alpha",
4
4
  "description": "Docs Lightning web components for DSC",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
@@ -25,5 +25,5 @@
25
25
  "@types/lodash.orderby": "4.6.9",
26
26
  "@types/lodash.uniqby": "4.7.9"
27
27
  },
28
- "gitHead": "788524c2a30a036b5c06c95ecdb37b46ee522ea5"
28
+ "gitHead": "4629fdd9ca18a13480044ad43515b91945d16aad"
29
29
  }
@@ -1,13 +1,7 @@
1
1
  <template>
2
2
  <doc-content-layout
3
3
  lwc:if={isVersionFetched}
4
- use-old-sidebar={useOldSidebar}
5
4
  class="content-type content-type-reference"
6
- coveo-organization-id={coveoOrganizationId}
7
- coveo-public-access-token={coveoPublicAccessToken}
8
- coveo-analytics-token={coveoAnalyticsToken}
9
- coveo-search-hub={coveoSearchHub}
10
- coveo-advanced-query-config={coveoAdvancedQueryConfig}
11
5
  breadcrumbs={breadcrumbs}
12
6
  sidebar-header={sidebarHeader}
13
7
  sidebar-value={selectedSidebarValue}
@@ -20,6 +14,7 @@
20
14
  languages={languages}
21
15
  language={language}
22
16
  show-footer={enableFooter}
17
+ empty-state-message={emptyStateMessage}
23
18
  >
24
19
  <doc-phase
25
20
  slot="doc-phase"
@@ -3,7 +3,7 @@ import { noCase } from "no-case";
3
3
  import { sentenceCase } from "sentence-case";
4
4
  import qs from "query-string";
5
5
  import { AmfModelParser } from "doc/amfModelParser";
6
- import { normalizeBoolean, toJson } from "dxUtils/normalizers";
6
+ import { normalizeBoolean } from "dxUtils/normalizers";
7
7
  import type { OptionWithLink } from "typings/custom";
8
8
  import type {
9
9
  AmfConfig,
@@ -28,7 +28,7 @@ import {
28
28
  } from "./constants";
29
29
  import { restoreScroll } from "dx/scrollManager";
30
30
  import { DocPhaseInfo } from "typings/custom";
31
- import { logCoveoPageView, oldVersionDocInfo } from "docUtils/utils";
31
+ import { oldVersionDocInfo } from "docUtils/utils";
32
32
 
33
33
  type NavigationItem = {
34
34
  label: string;
@@ -41,11 +41,6 @@ type NavigationItem = {
41
41
  export default class AmfReference extends LightningElement {
42
42
  @api breadcrumbs: string | null = null;
43
43
  @api sidebarHeader!: string;
44
- @api coveoOrganizationId!: string;
45
- @api coveoPublicAccessToken!: string;
46
- @api coveoAnalyticsToken!: string;
47
- @api coveoSearchHub!: string;
48
- @api useOldSidebar: boolean = false;
49
44
  @api tocTitle?: string;
50
45
  @api tocOptions?: string;
51
46
  @api languages!: OptionWithLink[];
@@ -54,7 +49,6 @@ export default class AmfReference extends LightningElement {
54
49
  @track navigation = [] as NavigationItem[];
55
50
  @track versions: Array<ReferenceVersion> = [];
56
51
  @track showVersionBanner = false;
57
- @track _coveoAdvancedQueryConfig!: { [key: string]: any };
58
52
 
59
53
  // Update this to update what component gets rendered in the content block
60
54
  @track
@@ -160,35 +154,18 @@ export default class AmfReference extends LightningElement {
160
154
  this._expandChildren = normalizeBoolean(value);
161
155
  }
162
156
 
163
- /*
164
- * The get coveoAdvancedQueryConfig() method returns this._coveoAdvancedQueryConfig,
165
- * but before returning it, it checks if there are multiple versions (this.versions.length > 1)
166
- * and if a version is selected (this.selectedVersion). If both conditions are met,
167
- * it updates the version property of this._coveoAdvancedQueryConfig with the selected version.
168
- */
169
- @api
170
- get coveoAdvancedQueryConfig(): { [key: string]: any } {
171
- const coveoConfig = this._coveoAdvancedQueryConfig;
172
- if (this.versions.length > 1 && this.selectedVersion) {
173
- const currentGAVersionRef = this.versions[0];
174
- if (this.selectedVersion.id !== currentGAVersionRef.id) {
175
- // Currently Coveo only supports query without "v"
176
- const version = this.selectedVersion.id.replace("v", "");
177
- coveoConfig.version = version;
178
- this._coveoAdvancedQueryConfig = coveoConfig;
179
- }
180
- }
181
- return this._coveoAdvancedQueryConfig;
182
- }
183
-
184
- set coveoAdvancedQueryConfig(config) {
185
- this._coveoAdvancedQueryConfig = toJson(config);
186
- }
187
-
188
157
  private get enableFooter(): boolean {
189
158
  return !this.hideFooter;
190
159
  }
191
160
 
161
+ private get emptyStateMessage(): string {
162
+ return JSON.stringify([
163
+ "Please consider misspellings",
164
+ "Try different search keywords",
165
+ "Select a relevant API specification"
166
+ ]);
167
+ }
168
+
192
169
  // model
193
170
  protected _amfConfigList: AmfConfig[] = [];
194
171
  protected _amfConfigMap: Map<string, AmfConfig> = new Map();
@@ -1436,10 +1413,6 @@ export default class AmfReference extends LightningElement {
1436
1413
  metaVal
1437
1414
  );
1438
1415
 
1439
- logCoveoPageView(
1440
- this.coveoOrganizationId,
1441
- this.coveoAnalyticsToken
1442
- );
1443
1416
  this.updateUrlWithSelected(parentReferencePath, metaVal);
1444
1417
  this.updateTags(metadata.navTitle);
1445
1418
  } else {
@@ -1,43 +1,21 @@
1
1
  <template>
2
2
  <div class="content">
3
- <template lwc:if={useOldSidebar}>
4
- <dx-sidebar-old
5
- class="is-sticky left-nav-bar"
6
- trees={sidebarContent}
7
- value={sidebarValue}
8
- header={sidebarHeader}
9
- ontogglesidebar={onToggleSidebar}
10
- languages={languages}
11
- language={language}
12
- bail-href={bailHref}
13
- bail-label={bailLabel}
14
- dev-center={devCenter}
15
- brand={brand}
16
- >
17
- <slot name="sidebar-header" slot="version-picker"></slot>
18
- </dx-sidebar-old>
19
- </template>
20
- <template lwc:else>
21
- <dx-sidebar
22
- class="is-sticky left-nav-bar"
23
- trees={sidebarContent}
24
- value={sidebarValue}
25
- header={sidebarHeader}
26
- coveo-organization-id={coveoOrganizationId}
27
- coveo-public-access-token={coveoPublicAccessToken}
28
- coveo-search-hub={coveoSearchHub}
29
- coveo-advanced-query-config={coveoAdvancedQueryConfig}
30
- ontogglesidebar={onToggleSidebar}
31
- languages={languages}
32
- language={language}
33
- bail-href={bailHref}
34
- bail-label={bailLabel}
35
- dev-center={devCenter}
36
- brand={brand}
37
- >
38
- <slot name="sidebar-header" slot="version-picker"></slot>
39
- </dx-sidebar>
40
- </template>
3
+ <dx-sidebar-old
4
+ class="is-sticky left-nav-bar"
5
+ trees={sidebarContent}
6
+ value={sidebarValue}
7
+ header={sidebarHeader}
8
+ ontogglesidebar={onToggleSidebar}
9
+ languages={languages}
10
+ language={language}
11
+ bail-href={bailHref}
12
+ bail-label={bailLabel}
13
+ dev-center={devCenter}
14
+ brand={brand}
15
+ empty-state-message={emptyStateMessage}
16
+ >
17
+ <slot name="sidebar-header" slot="version-picker"></slot>
18
+ </dx-sidebar-old>
41
19
  <div class="content-body-doc-phase-container">
42
20
  <slot name="doc-phase"></slot>
43
21
  <slot name="version-banner"></slot>
@@ -32,11 +32,6 @@ export default class ContentLayout extends LightningElement {
32
32
  @api sidebarHeader!: string;
33
33
  @api tocTitle!: string;
34
34
  @api enableSlotChange = false;
35
- @api coveoOrganizationId!: string;
36
- @api coveoPublicAccessToken!: string;
37
- @api coveoAnalyticsToken!: string;
38
- @api coveoSearchHub!: string;
39
- @api coveoAdvancedQueryConfig!: string;
40
35
  @api useOldSidebar?: boolean = false;
41
36
  @api languages!: OptionWithLink[];
42
37
  @api language!: string;
@@ -44,6 +39,7 @@ export default class ContentLayout extends LightningElement {
44
39
  @api bailLabel!: string;
45
40
  @api devCenter: any;
46
41
  @api brand: any;
42
+ @api emptyStateMessage?: string;
47
43
 
48
44
  // This is needed for now to prevent failing snapshot tests due to links in the footer
49
45
  @api showFooter = false;
@@ -210,10 +206,7 @@ export default class ContentLayout extends LightningElement {
210
206
  We have to account for the global nav changing height due to animations.
211
207
  */
212
208
  adjustNavPosition = () => {
213
- const sidebarType = this.useOldSidebar
214
- ? "dx-sidebar-old"
215
- : "dx-sidebar";
216
- const sidebarEl = this.template.querySelector(sidebarType);
209
+ const sidebarEl = this.template.querySelector("dx-sidebar-old");
217
210
  const globalNavEl = document.querySelector(
218
211
  "hgf-c360nav"
219
212
  ) as HTMLElement;
@@ -1,43 +1,20 @@
1
1
  <template>
2
2
  <div class="content">
3
- <template lwc:if={useOldSidebar}>
4
- <dx-sidebar-old
5
- class="is-sticky left-nav-bar"
6
- trees={sidebarContent}
7
- value={sidebarValue}
8
- header={sidebarHeader}
9
- ontogglesidebar={onToggleSidebar}
10
- languages={languages}
11
- language={language}
12
- bail-href={bailHref}
13
- bail-label={bailLabel}
14
- dev-center={devCenter}
15
- brand={brand}
16
- >
17
- <slot name="sidebar-header" slot="version-picker"></slot>
18
- </dx-sidebar-old>
19
- </template>
20
- <template lwc:else>
21
- <dx-sidebar
22
- class="is-sticky left-nav-bar"
23
- trees={sidebarContent}
24
- value={sidebarValue}
25
- header={sidebarHeader}
26
- coveo-organization-id={coveoOrganizationId}
27
- coveo-public-access-token={coveoPublicAccessToken}
28
- coveo-search-hub={coveoSearchHub}
29
- coveo-advanced-query-config={coveoAdvancedQueryConfig}
30
- ontogglesidebar={onToggleSidebar}
31
- languages={languages}
32
- language={language}
33
- bail-href={bailHref}
34
- bail-label={bailLabel}
35
- dev-center={devCenter}
36
- brand={brand}
37
- >
38
- <slot name="sidebar-header" slot="version-picker"></slot>
39
- </dx-sidebar>
40
- </template>
3
+ <dx-sidebar-old
4
+ class="is-sticky left-nav-bar"
5
+ trees={sidebarContent}
6
+ value={sidebarValue}
7
+ header={sidebarHeader}
8
+ ontogglesidebar={onToggleSidebar}
9
+ languages={languages}
10
+ language={language}
11
+ bail-href={bailHref}
12
+ bail-label={bailLabel}
13
+ dev-center={devCenter}
14
+ brand={brand}
15
+ >
16
+ <slot name="sidebar-header" slot="version-picker"></slot>
17
+ </dx-sidebar-old>
41
18
  <div class="content-body-doc-phase-container">
42
19
  <slot name="doc-phase"></slot>
43
20
  <slot name="version-banner"></slot>
@@ -2,44 +2,111 @@ import ContentLayout from "doc/contentLayout";
2
2
 
3
3
  const TOC_HEADER_TAG = "doc-heading";
4
4
  const RNB_BY_TAB = "docs-tab";
5
- const SPECIFICATION_TAB_TITLE = "Specification";
5
+ const SPECIFICATION_TAG = "doc-specification-content";
6
6
  export const OBSERVER_ATTACH_WAIT_TIME = 500;
7
7
 
8
8
  export default class LwcContentLayout extends ContentLayout {
9
9
  private rnbByTab: boolean = false;
10
10
 
11
+ // DOM element caches to avoid repeated queries
12
+ private tabPanelListCache: any = null;
13
+ private hasSpecContentCache: boolean | null = null;
14
+ private allTabsCache: any[] | null = null;
15
+ private mainSlotCache: any = null;
16
+
11
17
  private setRNBByTab() {
12
- const tabPanelListItem: any = this.getTabPanelList();
13
- this.rnbByTab = tabPanelListItem?.id === RNB_BY_TAB ? true : false;
18
+ const tabPanelListItem = this.getTabPanelList();
19
+ this.rnbByTab = tabPanelListItem?.id === RNB_BY_TAB;
14
20
  }
15
21
 
16
22
  get showTabBasedRNB() {
17
23
  return this.rnbByTab;
18
24
  }
19
25
 
26
+ /**
27
+ * Check if the main slot contains doc-specification-content
28
+ * Uses caching to avoid repeated DOM queries
29
+ */
30
+ private hasSpecificationContent(): boolean {
31
+ if (this.hasSpecContentCache !== null) {
32
+ return this.hasSpecContentCache;
33
+ }
34
+
35
+ const mainSlot = this.getMainSlot();
36
+ if (mainSlot) {
37
+ const assignedElements = (mainSlot as any).assignedElements();
38
+
39
+ for (const element of assignedElements) {
40
+ if (
41
+ element.tagName === SPECIFICATION_TAG ||
42
+ element.querySelector(SPECIFICATION_TAG) ||
43
+ element.shadowRoot?.querySelector(SPECIFICATION_TAG)
44
+ ) {
45
+ return (this.hasSpecContentCache = true);
46
+ }
47
+ }
48
+ }
49
+ return (this.hasSpecContentCache = false);
50
+ }
51
+
52
+ /**
53
+ * Clear all caches when content changes
54
+ */
55
+ private clearAllCaches(): void {
56
+ this.hasSpecContentCache = null;
57
+ this.tabPanelListCache = null;
58
+ this.allTabsCache = null;
59
+ this.mainSlotCache = null;
60
+ }
61
+
62
+ /**
63
+ * Get the main slot element with caching
64
+ */
65
+ private getMainSlot(): any {
66
+ if (!this.mainSlotCache) {
67
+ this.mainSlotCache =
68
+ this.template.querySelector("slot:not([name])");
69
+ }
70
+ return this.mainSlotCache;
71
+ }
72
+
73
+ /**
74
+ * Get tab panel list with caching
75
+ */
76
+ private getTabPanelList(): any {
77
+ if (!this.tabPanelListCache) {
78
+ // eslint-disable-next-line @lwc/lwc/no-document-query
79
+ this.tabPanelListCache =
80
+ document.querySelector("dx-tab-panel-list");
81
+ }
82
+ return this.tabPanelListCache;
83
+ }
84
+
20
85
  onRNBClick = (event: CustomEvent) => {
21
86
  event.stopPropagation();
22
- const currentTab = this.getSelectedTabId();
23
- if (currentTab === SPECIFICATION_TAB_TITLE) {
87
+ if (this.hasSpecificationContent()) {
24
88
  this.didScrollToSelectedHash = false;
25
89
  }
26
90
  };
27
91
 
28
92
  onTabChanged = () => {
29
93
  this.updateRNB();
30
- };
31
94
 
32
- private getTabPanelList() {
33
- // eslint-disable-next-line @lwc/lwc/no-document-query
34
- return document.querySelector("dx-tab-panel-list");
35
- }
95
+ const { hash } = window.location;
96
+ if (this.hasSpecificationContent() && hash) {
97
+ this.didScrollToSelectedHash = false;
98
+
99
+ requestAnimationFrame(() => this.updateHeadingForRNB());
100
+ }
101
+ };
36
102
 
37
103
  protected getHeadingElements() {
38
104
  let headingElements = super.getHeadingElements();
39
105
  if (this.showTabBasedRNB) {
40
- const tabPanelListItem: any = this.getTabPanelList();
106
+ const tabPanelListItem = this.getTabPanelList();
41
107
  const tabPanels =
42
108
  tabPanelListItem?.querySelectorAll("dx-tab-panel");
109
+
43
110
  for (const tabPanelItem of tabPanels) {
44
111
  if (tabPanelItem.active) {
45
112
  // This is needed for Specification tab content
@@ -65,6 +132,7 @@ export default class LwcContentLayout extends ContentLayout {
65
132
  private updateURL() {
66
133
  const tabs = this.getAllTabs();
67
134
  const selectedTabId = this.getSelectedTabId();
135
+
68
136
  tabs.forEach((tab: any) => {
69
137
  if (tab.getAttribute("aria-selected") === "true") {
70
138
  const tabID = tab.getAttribute("aria-label");
@@ -101,22 +169,38 @@ export default class LwcContentLayout extends ContentLayout {
101
169
  const selectedTabId = this.getSelectedTabId();
102
170
  if (selectedTabId) {
103
171
  this.selectTabById(selectedTabId);
172
+
173
+ // If there's a hash and we have specification content,
174
+ // we need to wait for the content to load before scrolling
175
+ const { hash } = window.location;
176
+ if (this.hasSpecificationContent() && hash) {
177
+ // Reset the scroll flag to allow scrolling once content is loaded
178
+ this.didScrollToSelectedHash = false;
179
+ }
104
180
  }
105
181
  });
106
182
  }
107
183
 
108
184
  private getAllTabs(): any[] {
109
- const tabPanelListItem: any = this.getTabPanelList();
185
+ // Return cached result if available
186
+ if (this.allTabsCache) {
187
+ return this.allTabsCache;
188
+ }
189
+
190
+ const tabPanelListItem = this.getTabPanelList();
110
191
  if (tabPanelListItem?.shadowRoot) {
111
- return Array.from(
192
+ this.allTabsCache = Array.from(
112
193
  tabPanelListItem.shadowRoot.querySelectorAll(
113
194
  "dx-tab-panel-item"
114
195
  )
115
196
  ).map((tabPanelItem: any) =>
116
197
  tabPanelItem.shadowRoot.querySelector("button")
117
198
  );
199
+ } else {
200
+ this.allTabsCache = [];
118
201
  }
119
- return [];
202
+
203
+ return this.allTabsCache;
120
204
  }
121
205
 
122
206
  private selectTabById(tabId: string) {
@@ -158,8 +242,12 @@ export default class LwcContentLayout extends ContentLayout {
158
242
  }
159
243
  }
160
244
 
245
+ onSlotChange(): void {
246
+ this.clearAllCaches();
247
+ super.onSlotChange();
248
+ }
249
+
161
250
  updateHeadingForRNB(): void {
162
- // We only need to update URL in case of /docs and ignore if tabs are used anywhere else in DSC
163
251
  if (this.showTabBasedRNB) {
164
252
  this.updateURL();
165
253
  }
@@ -73,9 +73,7 @@
73
73
  <template lwc:if={method.firstArgument}>
74
74
  <tr key={method.name}>
75
75
  <td rowspan={method.arguments.length}>
76
- <span class="code">
77
- {method.nameInKebabCase}
78
- </span>
76
+ <span class="code">{method.name}</span>
79
77
  </td>
80
78
  <td rowspan={method.arguments.length}>
81
79
  {method.description}
@@ -100,9 +98,7 @@
100
98
  <template lwc:else>
101
99
  <tr key={method.name}>
102
100
  <td>
103
- <span class="code">
104
- {method.nameInKebabCase}
105
- </span>
101
+ <span class="code">{method.name}</span>
106
102
  </td>
107
103
  <td>{method.description}</td>
108
104
  <td colspan="3"></td>
@@ -2,16 +2,10 @@
2
2
  <doc-content-layout
3
3
  lwc:if={displayContent}
4
4
  lwc:ref="docContentLayout"
5
- coveo-organization-id={coveoOrganizationId}
6
- coveo-public-access-token={coveoPublicAccessToken}
7
- coveo-analytics-token={coveoAnalyticsToken}
8
- coveo-search-hub={coveoSearchHub}
9
- coveo-advanced-query-config={coveoAdvancedQueryConfig}
10
5
  sidebar-header={docTitle}
11
6
  sidebar-content={sidebarContent}
12
7
  sidebar-value={sidebarValue}
13
8
  onselect={handleSelect}
14
- use-old-sidebar={useOldSidebar}
15
9
  onlangchange={handleLanguageChange}
16
10
  languages={sidebarFooterContent.languages}
17
11
  language={sidebarFooterContent.language}
@@ -1,9 +1,7 @@
1
1
  /* eslint-disable @lwc/lwc/no-document-query */
2
2
  import { api, track } from "lwc";
3
- import { normalizeBoolean } from "dxUtils/normalizers";
4
3
  import { FetchContent } from "./utils";
5
4
  import {
6
- CoveoAdvancedQueryXMLConfig,
7
5
  DocLanguage,
8
6
  DocVersion,
9
7
  TreeNode,
@@ -16,7 +14,7 @@ import {
16
14
  } from "./types";
17
15
  import { SearchSyncer } from "docUtils/searchSyncer";
18
16
  import { LightningElementWithState } from "dxBaseElements/lightningElementWithState";
19
- import { logCoveoPageView, oldVersionDocInfo } from "docUtils/utils";
17
+ import { oldVersionDocInfo } from "docUtils/utils";
20
18
  import { Breadcrumb, DocPhaseInfo, Language } from "typings/custom";
21
19
  import { track as trackGTM } from "dxUtils/analytics";
22
20
  import DOMPurify from "dompurify";
@@ -42,10 +40,6 @@ export default class DocXmlContent extends LightningElementWithState<{
42
40
  internalLinkClicked: boolean;
43
41
  }> {
44
42
  @api apiDomain = "https://developer.salesforce.com";
45
- @api coveoOrganizationId!: string;
46
- @api coveoPublicAccessToken!: string;
47
- @api coveoAnalyticsToken!: string;
48
- @api coveoSearchHub!: string;
49
43
  @api hideFooter = false;
50
44
 
51
45
  @api
@@ -59,15 +53,6 @@ export default class DocXmlContent extends LightningElementWithState<{
59
53
  }
60
54
  }
61
55
 
62
- @api
63
- get enableCoveo() {
64
- return this._enableCoveo;
65
- }
66
-
67
- set enableCoveo(value) {
68
- this._enableCoveo = normalizeBoolean(value);
69
- }
70
-
71
56
  private availableLanguages: Array<DocLanguage> = [];
72
57
  @track private availableVersions: Array<DocVersion> = [];
73
58
  private contentProvider?: FetchContent;
@@ -83,7 +68,6 @@ export default class DocXmlContent extends LightningElementWithState<{
83
68
  private docTitle = "";
84
69
  private _pathName = "";
85
70
  private listenerAttached = false;
86
- private _enableCoveo?: boolean = false;
87
71
  private sidebarFooterContent: SiderbarFooter = { ...defaultSidebarFooter };
88
72
  private latestVersion = false;
89
73
  private previewVersion = false;
@@ -260,35 +244,13 @@ export default class DocXmlContent extends LightningElementWithState<{
260
244
  // Coveo is enabled and the version is greater than 51 (within the latest 3 versions)
261
245
  // TODO: we need a better fix for version number check
262
246
  return !(
263
- this.enableCoveo &&
264
- this.coveoOrganizationId &&
265
- this.coveoPublicAccessToken &&
266
- (!this.version?.releaseVersion ||
267
- (this.version?.releaseVersion &&
268
- parseInt(
269
- this.version.releaseVersion.replace("v", ""),
270
- 10
271
- ) >= 53))
247
+ !this.version?.releaseVersion ||
248
+ (this.version?.releaseVersion &&
249
+ parseInt(this.version.releaseVersion.replace("v", ""), 10) >=
250
+ 53)
272
251
  );
273
252
  }
274
253
 
275
- private get coveoAdvancedQueryConfig(): CoveoAdvancedQueryXMLConfig {
276
- const config: {
277
- locale?: string;
278
- topicid?: string;
279
- version?: string;
280
- } = {
281
- locale: this.languageId,
282
- topicid: this.deliverable
283
- };
284
-
285
- if (this.releaseVersionId && this.releaseVersionId !== "noversion") {
286
- config.version = this.releaseVersionId;
287
- }
288
-
289
- return config;
290
- }
291
-
292
254
  private get pageHeader(): Header {
293
255
  if (!this._pageHeader) {
294
256
  this._pageHeader = document.querySelector("doc-header")!;
@@ -589,7 +551,6 @@ export default class DocXmlContent extends LightningElementWithState<{
589
551
  }
590
552
 
591
553
  updateUrl(method = HistoryState.PUSH_STATE): void {
592
- logCoveoPageView(this.coveoOrganizationId, this.coveoAnalyticsToken);
593
554
  window.history[method](
594
555
  {},
595
556
  "docs",
package/LICENSE DELETED
@@ -1,12 +0,0 @@
1
- Copyright (c) 2020, Salesforce.com, Inc.
2
- All rights reserved.
3
-
4
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
-
6
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7
-
8
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
9
-
10
- * Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
11
-
12
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.