@salesforcedevs/docs-components 1.18.0 → 1.18.5
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 +2 -2
- package/src/modules/doc/amfReference/amfReference.html +1 -6
- package/src/modules/doc/amfReference/amfReference.ts +10 -37
- package/src/modules/doc/contentLayout/contentLayout.html +16 -38
- package/src/modules/doc/contentLayout/contentLayout.ts +2 -9
- package/src/modules/doc/lwcContentLayout/lwcContentLayout.html +15 -38
- package/src/modules/doc/xmlContent/xmlContent.html +0 -6
- package/src/modules/doc/xmlContent/xmlContent.ts +5 -44
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforcedevs/docs-components",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.5",
|
|
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": "
|
|
28
|
+
"gitHead": "02496252ecb927f3d6504ef8e40a329f36e82bf3"
|
|
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
|
|
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 {
|
|
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
|
+
"Select a relevant API specification",
|
|
164
|
+
"Please consider misspellings",
|
|
165
|
+
"Try different search keywords"
|
|
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
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
|
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
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
>
|
|
17
|
-
|
|
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,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 {
|
|
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.
|
|
264
|
-
this.
|
|
265
|
-
|
|
266
|
-
|
|
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",
|