@salesforcedevs/docs-components 1.3.194-langpicker11-alpha → 1.3.194-langpicker13-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
|
@@ -12,6 +12,27 @@
|
|
|
12
12
|
>
|
|
13
13
|
{bailLabel}
|
|
14
14
|
</dx-button>
|
|
15
|
+
<dx-dropdown
|
|
16
|
+
if:true={hasLanguages}
|
|
17
|
+
class="footer_lang-dropdown"
|
|
18
|
+
options={languages}
|
|
19
|
+
small
|
|
20
|
+
value-path={langValuePath}
|
|
21
|
+
value={language}
|
|
22
|
+
onchange={onLangChange}
|
|
23
|
+
variant="docoption"
|
|
24
|
+
>
|
|
25
|
+
<dx-button
|
|
26
|
+
aria-label="Select Language"
|
|
27
|
+
variant="inline"
|
|
28
|
+
icon-size="large"
|
|
29
|
+
icon-symbol="world"
|
|
30
|
+
>
|
|
31
|
+
{languageLabel}
|
|
32
|
+
</dx-button>
|
|
33
|
+
</dx-dropdown>
|
|
34
|
+
</div>
|
|
35
|
+
<div if:true={mobile} class="footer-display">
|
|
15
36
|
<dx-dropdown
|
|
16
37
|
if:true={hasLanguages}
|
|
17
38
|
class="footer_lang-dropdown"
|
|
@@ -5,6 +5,8 @@ import { toJson } from "dxUtils/normalizers";
|
|
|
5
5
|
import get from "lodash.get";
|
|
6
6
|
import { track } from "dxUtils/analytics";
|
|
7
7
|
|
|
8
|
+
const MOBILE_SIZE_MATCH = "768px";
|
|
9
|
+
|
|
8
10
|
export default class ContentLayout extends LightningElement {
|
|
9
11
|
@api langValuePath: string = "id";
|
|
10
12
|
@api bailHref?: string | null = null;
|
|
@@ -32,6 +34,8 @@ export default class ContentLayout extends LightningElement {
|
|
|
32
34
|
|
|
33
35
|
private _languages!: OptionWithLink[];
|
|
34
36
|
private _language: string | null = null;
|
|
37
|
+
private mobile: boolean = false;
|
|
38
|
+
private matchMedia!: MediaQueryList;
|
|
35
39
|
|
|
36
40
|
private get hasLanguages(): boolean {
|
|
37
41
|
return !!(this.languages && this.languages.length > 1);
|
|
@@ -81,4 +85,20 @@ export default class ContentLayout extends LightningElement {
|
|
|
81
85
|
...payload
|
|
82
86
|
});
|
|
83
87
|
}
|
|
88
|
+
|
|
89
|
+
connectedCallback() {
|
|
90
|
+
this.matchMedia = window.matchMedia(
|
|
91
|
+
`(max-width: ${MOBILE_SIZE_MATCH})`
|
|
92
|
+
);
|
|
93
|
+
this.onMediaChange(this.matchMedia);
|
|
94
|
+
this.matchMedia.addEventListener("change", this.onMediaChange);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
disconnectedCallback() {
|
|
98
|
+
this.matchMedia.removeEventListener("change", this.onMediaChange);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
private onMediaChange = (event: MediaQueryListEvent | MediaQueryList) => {
|
|
102
|
+
this.mobile = event.matches;
|
|
103
|
+
};
|
|
84
104
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { api } from "lwc";
|
|
2
2
|
import cx from "classnames";
|
|
3
|
-
import type { OptionWithNested
|
|
3
|
+
import type { OptionWithNested } from "typings/custom";
|
|
4
4
|
import { HeaderBase } from "dxBaseElements/headerBase";
|
|
5
5
|
import { toJson } from "dxUtils/normalizers";
|
|
6
|
-
import get from "lodash.get";
|
|
7
|
-
import { track } from "dxUtils/analytics";
|
|
8
6
|
|
|
9
7
|
const TABLET_MATCH = "980px";
|
|
10
8
|
const MOBILE_MATCH = "880px";
|
|
@@ -23,28 +21,6 @@ export default class Header extends HeaderBase {
|
|
|
23
21
|
this._scopedNavItems = toJson(value);
|
|
24
22
|
}
|
|
25
23
|
|
|
26
|
-
@api
|
|
27
|
-
get languages() {
|
|
28
|
-
return this._languages;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
set languages(value) {
|
|
32
|
-
this._languages = toJson(value);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
@api
|
|
36
|
-
get language() {
|
|
37
|
-
return this._language;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
set language(value) {
|
|
41
|
-
if (this._language !== value) {
|
|
42
|
-
this._language = value;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
private _language: string | null = null;
|
|
47
|
-
private _languages!: OptionWithLink[];
|
|
48
24
|
private _scopedNavItems!: OptionWithNested[];
|
|
49
25
|
private smallMobile = false;
|
|
50
26
|
private smallMobileMatchMedia!: MediaQueryList;
|
|
@@ -60,24 +36,6 @@ export default class Header extends HeaderBase {
|
|
|
60
36
|
return this.scopedNavItems && this.scopedNavItems.length > 0;
|
|
61
37
|
}
|
|
62
38
|
|
|
63
|
-
private get hasLanguages(): boolean {
|
|
64
|
-
return !!(this.languages && this.languages.length);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
private get showMobileLanguages(): boolean {
|
|
68
|
-
return this.smallMobile && this.hasLanguages;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
private get languageLabel(): string {
|
|
72
|
-
return (
|
|
73
|
-
(this.language &&
|
|
74
|
-
this.languages.find(
|
|
75
|
-
(lang) => get(lang, this.langValuePath) === this.language
|
|
76
|
-
)?.label) ||
|
|
77
|
-
this.languages[0].label
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
39
|
connectedCallback(): void {
|
|
82
40
|
super.connectedCallback();
|
|
83
41
|
this.tabletMatchMedia = window.matchMedia(
|
|
@@ -129,34 +87,4 @@ export default class Header extends HeaderBase {
|
|
|
129
87
|
this.hasScopedNavItems && "has-scoped-nav-items"
|
|
130
88
|
);
|
|
131
89
|
}
|
|
132
|
-
|
|
133
|
-
private onLangChange(event: CustomEvent<string>): void {
|
|
134
|
-
const { detail } = event;
|
|
135
|
-
this._language = detail;
|
|
136
|
-
|
|
137
|
-
this.dispatchEvent(new CustomEvent("langchange", { detail }));
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
private handleBailClick(event: Event) {
|
|
141
|
-
const payload = {
|
|
142
|
-
click_text: "pdf",
|
|
143
|
-
click_url: this.bailHref,
|
|
144
|
-
element_title: "pdf",
|
|
145
|
-
element_type: "link",
|
|
146
|
-
content_category: "download"
|
|
147
|
-
};
|
|
148
|
-
track(event.target!, "custEv_pdfDownload", {
|
|
149
|
-
...payload,
|
|
150
|
-
file_name: this.getFilename(this.bailHref!),
|
|
151
|
-
file_extension: "pdf"
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
track(event.target!, "custEv_linkClick", {
|
|
155
|
-
...payload
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
private getFilename = function (path: string) {
|
|
160
|
-
return path.substring(path.lastIndexOf("/") + 1);
|
|
161
|
-
};
|
|
162
90
|
}
|