@salesforcedevs/docs-components 1.3.194-langpicker18-alpha → 1.3.194-langpicker19-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/lwc.config.json +1 -1
- package/package.json +1 -1
- package/src/modules/doc/contentLayout/contentLayout.html +2 -8
- package/src/modules/doc/contentLayout/contentLayout.ts +2 -5
- package/src/modules/doc/{footerNav/footerNav.ts → sidebarFooterNav/sidebarFooterNav.ts} +19 -33
- package/src/modules/doc/xmlContent/types.ts +2 -2
- package/src/modules/doc/xmlContent/xmlContent.html +2 -4
- package/src/modules/doc/xmlContent/xmlContent.ts +8 -35
- /package/src/modules/doc/{footerNav/footerNav.css → sidebarFooterNav/sidebarFooterNav.css} +0 -0
- /package/src/modules/doc/{footerNav/footerNav.html → sidebarFooterNav/sidebarFooterNav.html} +0 -0
package/lwc.config.json
CHANGED
package/package.json
CHANGED
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
value={sidebarValue}
|
|
8
8
|
header={sidebarHeader}
|
|
9
9
|
ontogglesidebar={onToggleSidebar}
|
|
10
|
-
|
|
11
|
-
language={language}
|
|
12
|
-
bail-href={bailHref}
|
|
13
|
-
bail-label={bailLabel}
|
|
10
|
+
sidebar-footer-content={sidebarFooterContent}
|
|
14
11
|
>
|
|
15
12
|
<slot name="sidebar-header" slot="header"></slot>
|
|
16
13
|
</dx-sidebar-old>
|
|
@@ -26,10 +23,7 @@
|
|
|
26
23
|
coveo-search-hub={coveoSearchHub}
|
|
27
24
|
coveo-advanced-query-config={coveoAdvancedQueryConfig}
|
|
28
25
|
ontogglesidebar={onToggleSidebar}
|
|
29
|
-
|
|
30
|
-
language={language}
|
|
31
|
-
bail-href={bailHref}
|
|
32
|
-
bail-label={bailLabel}
|
|
26
|
+
sidebar-footer-content={sidebarFooterContent}
|
|
33
27
|
>
|
|
34
28
|
<slot name="sidebar-header" slot="header"></slot>
|
|
35
29
|
</dx-sidebar>
|
|
@@ -4,7 +4,7 @@ import { closest } from "kagekiri";
|
|
|
4
4
|
import { toJson } from "dxUtils/normalizers";
|
|
5
5
|
import { highlightTerms } from "dxUtils/highlight";
|
|
6
6
|
import { SearchSyncer } from "docUtils/searchSyncer";
|
|
7
|
-
import type {
|
|
7
|
+
import type { SidebarFooter } from "typings/custom";
|
|
8
8
|
|
|
9
9
|
type AnchorMap = { [key: string]: { intersect: boolean; id: string } };
|
|
10
10
|
|
|
@@ -37,10 +37,7 @@ export default class ContentLayout extends LightningElement {
|
|
|
37
37
|
@api coveoSearchHub!: string;
|
|
38
38
|
@api coveoAdvancedQueryConfig!: string;
|
|
39
39
|
@api useOldSidebar?: boolean = false;
|
|
40
|
-
@api
|
|
41
|
-
@api language!: string;
|
|
42
|
-
@api bailHref!: string;
|
|
43
|
-
@api bailLabel!: string;
|
|
40
|
+
@api sidebarFooterContent!: SidebarFooter;
|
|
44
41
|
|
|
45
42
|
@api
|
|
46
43
|
get breadcrumbs() {
|
|
@@ -1,66 +1,52 @@
|
|
|
1
1
|
/* eslint-disable @lwc/lwc/no-document-query */
|
|
2
2
|
import { LightningElement, api } from "lwc";
|
|
3
|
-
import type {
|
|
4
|
-
import { toJson } from "dxUtils/normalizers";
|
|
3
|
+
import type { DocLanguage, SidebarFooter } from "typings/custom";
|
|
5
4
|
import get from "lodash.get";
|
|
6
5
|
import { track } from "dxUtils/analytics";
|
|
7
6
|
|
|
8
7
|
const MOBILE_SIZE_MATCH = "768px";
|
|
9
8
|
|
|
10
|
-
export default class
|
|
9
|
+
export default class SidebarFooterNav extends LightningElement {
|
|
11
10
|
@api langValuePath: string = "id";
|
|
12
|
-
@api bailHref?: string | null = null;
|
|
13
|
-
@api bailLabel?: string | null = null;
|
|
14
11
|
|
|
15
12
|
@api
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
set sidebarFooterContent(values: SidebarFooter) {
|
|
14
|
+
this._languages = values?.languages;
|
|
15
|
+
this._language = values?.language || null;
|
|
16
|
+
this._bailHref = values?.bailHref;
|
|
17
|
+
this._bailLabel = values?.bailLabel;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
this._languages = toJson(value);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@api
|
|
25
|
-
get language() {
|
|
26
|
-
return this._language;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
set language(value) {
|
|
30
|
-
if (this._language !== value) {
|
|
31
|
-
this._language = value;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
private _languages!: OptionWithLink[];
|
|
20
|
+
private _languages!: DocLanguage[];
|
|
36
21
|
private _language: string | null = null;
|
|
22
|
+
private _bailHref?: string | null = null;
|
|
23
|
+
private _bailLabel?: string | null = null;
|
|
37
24
|
private mobile: boolean = false;
|
|
38
25
|
private matchMedia!: MediaQueryList;
|
|
39
26
|
|
|
40
27
|
private get hasLanguages(): boolean {
|
|
41
|
-
return !!(this.
|
|
28
|
+
return !!(this._languages && this._languages.length > 1);
|
|
42
29
|
}
|
|
43
30
|
|
|
44
31
|
private get languageLabel(): string {
|
|
45
32
|
return (
|
|
46
|
-
(this.
|
|
47
|
-
this.
|
|
48
|
-
(lang) => get(lang, this.langValuePath) === this.
|
|
33
|
+
(this._language &&
|
|
34
|
+
this._languages.find(
|
|
35
|
+
(lang) => get(lang, this.langValuePath) === this._language
|
|
49
36
|
)?.label) ||
|
|
50
|
-
this.
|
|
37
|
+
this._languages[0].label
|
|
51
38
|
);
|
|
52
39
|
}
|
|
53
40
|
|
|
54
41
|
get hasBailLink(): boolean {
|
|
55
|
-
return !!(this.
|
|
42
|
+
return !!(this._bailHref && this._bailLabel);
|
|
56
43
|
}
|
|
57
44
|
|
|
58
45
|
private onLangChange(event: CustomEvent<string>): void {
|
|
59
46
|
const { detail } = event;
|
|
60
47
|
this._language = detail;
|
|
61
48
|
|
|
62
|
-
|
|
63
|
-
docElement?.dispatchEvent(new CustomEvent("langchange", { detail }));
|
|
49
|
+
this.dispatchEvent(new CustomEvent("langchange", { detail }));
|
|
64
50
|
}
|
|
65
51
|
|
|
66
52
|
private getFilename = function (path: string) {
|
|
@@ -70,14 +56,14 @@ export default class ContentLayout extends LightningElement {
|
|
|
70
56
|
private handleBailClick(event: Event) {
|
|
71
57
|
const payload = {
|
|
72
58
|
click_text: "pdf",
|
|
73
|
-
click_url: this.
|
|
59
|
+
click_url: this._bailHref,
|
|
74
60
|
element_title: "pdf",
|
|
75
61
|
element_type: "link",
|
|
76
62
|
content_category: "download"
|
|
77
63
|
};
|
|
78
64
|
track(event.target!, "custEv_pdfDownload", {
|
|
79
65
|
...payload,
|
|
80
|
-
file_name: this.getFilename(this.
|
|
66
|
+
file_name: this.getFilename(this._bailHref!),
|
|
81
67
|
file_extension: "pdf"
|
|
82
68
|
});
|
|
83
69
|
|
|
@@ -59,14 +59,14 @@ export type ApiDocLanguage = {
|
|
|
59
59
|
url: string;
|
|
60
60
|
};
|
|
61
61
|
|
|
62
|
-
export
|
|
62
|
+
export type SidebarFooter = {
|
|
63
63
|
subtitle: string;
|
|
64
64
|
bailHref: string;
|
|
65
65
|
bailLabel: string;
|
|
66
66
|
languages: Array<DocLanguage>;
|
|
67
67
|
language?: string;
|
|
68
68
|
headerHref: string;
|
|
69
|
-
}
|
|
69
|
+
};
|
|
70
70
|
|
|
71
71
|
export type ApiNavItem = {
|
|
72
72
|
children: Array<ApiNavItem>;
|
|
@@ -11,10 +11,8 @@
|
|
|
11
11
|
sidebar-value={sidebarValue}
|
|
12
12
|
onselect={handleSelect}
|
|
13
13
|
use-old-sidebar={useOldSidebar}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
bail-href={pageHeader.bailHref}
|
|
17
|
-
bail-label={pageHeader.bailLabel}
|
|
14
|
+
onlangchange={handleLanguageChange}
|
|
15
|
+
sidebar-footer-content={sidebarFooterObj}
|
|
18
16
|
>
|
|
19
17
|
<doc-phase
|
|
20
18
|
slot="version-banner"
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
DocLanguage,
|
|
8
8
|
DocVersion,
|
|
9
9
|
TreeNode,
|
|
10
|
-
|
|
10
|
+
SidebarFooter,
|
|
11
11
|
HistoryState,
|
|
12
12
|
PageReference,
|
|
13
13
|
TocMap
|
|
@@ -70,7 +70,7 @@ export default class DocXmlContent extends LightningElementWithState<{
|
|
|
70
70
|
private version: DocVersion | null = null;
|
|
71
71
|
private docTitle = "";
|
|
72
72
|
private _pathName = "";
|
|
73
|
-
private
|
|
73
|
+
private sidebarFooterObj?: SidebarFooter | null = null;
|
|
74
74
|
private listenerAttached = false;
|
|
75
75
|
private _enableCoveo?: boolean = false;
|
|
76
76
|
|
|
@@ -214,13 +214,6 @@ export default class DocXmlContent extends LightningElementWithState<{
|
|
|
214
214
|
disconnectedCallback(): void {
|
|
215
215
|
window.removeEventListener("popstate", this.handlePopState);
|
|
216
216
|
this.searchSyncer.dispose();
|
|
217
|
-
if (this.listenerAttached) {
|
|
218
|
-
this.pageHeader.removeEventListener(
|
|
219
|
-
"langchange",
|
|
220
|
-
this.handleLanguageChange
|
|
221
|
-
);
|
|
222
|
-
this.listenerAttached = false;
|
|
223
|
-
}
|
|
224
217
|
}
|
|
225
218
|
|
|
226
219
|
private get languageId(): string | undefined {
|
|
@@ -265,14 +258,6 @@ export default class DocXmlContent extends LightningElementWithState<{
|
|
|
265
258
|
return config;
|
|
266
259
|
}
|
|
267
260
|
|
|
268
|
-
private get pageHeader(): Header {
|
|
269
|
-
if (!this._pageHeader) {
|
|
270
|
-
this._pageHeader = document.querySelector("doc-header")!;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
return this._pageHeader;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
261
|
private get sidebarValue(): string {
|
|
277
262
|
if (this.pageReference?.contentDocumentId) {
|
|
278
263
|
const hashedUri = `${
|
|
@@ -527,33 +512,21 @@ export default class DocXmlContent extends LightningElementWithState<{
|
|
|
527
512
|
}
|
|
528
513
|
|
|
529
514
|
updateHeader(): void {
|
|
530
|
-
if (!this.pageHeader) {
|
|
531
|
-
return;
|
|
532
|
-
}
|
|
533
|
-
|
|
534
515
|
if (this.docTitle) {
|
|
535
|
-
this.
|
|
516
|
+
this.sidebarFooterObj!.subtitle = this.docTitle;
|
|
536
517
|
}
|
|
537
518
|
|
|
538
519
|
if (this.pdfUrl) {
|
|
539
|
-
this.
|
|
540
|
-
this.
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
if (!this.listenerAttached) {
|
|
544
|
-
this.pageHeader.addEventListener(
|
|
545
|
-
"langchange",
|
|
546
|
-
this.handleLanguageChange
|
|
547
|
-
);
|
|
548
|
-
this.listenerAttached = true;
|
|
520
|
+
this.sidebarFooterObj!.bailHref = this.pdfUrl;
|
|
521
|
+
this.sidebarFooterObj!.bailLabel = "PDF";
|
|
549
522
|
}
|
|
550
523
|
|
|
551
|
-
this.
|
|
552
|
-
this.
|
|
524
|
+
this.sidebarFooterObj!.languages = this.availableLanguages;
|
|
525
|
+
this.sidebarFooterObj!.language = this.language?.id;
|
|
553
526
|
|
|
554
527
|
if (this.pageReference) {
|
|
555
528
|
const { docId, deliverable, page } = this.pageReference;
|
|
556
|
-
this.
|
|
529
|
+
this.sidebarFooterObj!.headerHref = `/${page}/${docId}/${deliverable}/`;
|
|
557
530
|
}
|
|
558
531
|
}
|
|
559
532
|
|
|
File without changes
|
/package/src/modules/doc/{footerNav/footerNav.html → sidebarFooterNav/sidebarFooterNav.html}
RENAMED
|
File without changes
|