browser-extension-settings 0.8.1 → 0.8.2
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/lib/messages/index.ts +2 -2
- package/lib/settings.ts +39 -13
- package/package.json +1 -1
package/lib/messages/index.ts
CHANGED
|
@@ -74,11 +74,11 @@ const locales = Object.keys(localeMap)
|
|
|
74
74
|
|
|
75
75
|
initAvailableLocales(locales)
|
|
76
76
|
|
|
77
|
-
console.log("[settings] prefferedLocale:", getPrefferedLocale())
|
|
77
|
+
// console.log("[settings] prefferedLocale:", getPrefferedLocale())
|
|
78
78
|
// eslint-disable-next-line import-x/no-mutable-exports
|
|
79
79
|
export let i = initI18n(localeMap, getPrefferedLocale())
|
|
80
80
|
|
|
81
81
|
export function resetI18n(locale?: string) {
|
|
82
|
-
console.log("[settings] prefferedLocale:", getPrefferedLocale(), "locale:", locale)
|
|
82
|
+
// console.log("[settings] prefferedLocale:", getPrefferedLocale(), "locale:", locale)
|
|
83
83
|
i = initI18n(localeMap, locale || getPrefferedLocale())
|
|
84
84
|
}
|
package/lib/settings.ts
CHANGED
|
@@ -172,17 +172,23 @@ const closeModal = () => {
|
|
|
172
172
|
settingsContainer.remove()
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
removeEventListener(
|
|
176
|
-
removeEventListener(
|
|
177
|
-
removeEventListener(
|
|
178
|
-
globalThis,
|
|
179
|
-
"beforeShowSettings",
|
|
180
|
-
onBeforeShowSettings,
|
|
181
|
-
true
|
|
182
|
-
)
|
|
175
|
+
removeEventListener(doc, "click", onDocumentClick, true)
|
|
176
|
+
removeEventListener(doc, "keydown", onDocumentKeyDown, true)
|
|
177
|
+
removeEventListener(win, "beforeShowSettings", onBeforeShowSettings, true)
|
|
183
178
|
}
|
|
184
179
|
|
|
185
180
|
export function hideSettings() {
|
|
181
|
+
if (win.self !== win.top) {
|
|
182
|
+
win.top?.postMessage(
|
|
183
|
+
{
|
|
184
|
+
type: "bes-hide-settings",
|
|
185
|
+
id: settingsOptions?.id,
|
|
186
|
+
},
|
|
187
|
+
"*"
|
|
188
|
+
)
|
|
189
|
+
return
|
|
190
|
+
}
|
|
191
|
+
|
|
186
192
|
closeModal()
|
|
187
193
|
}
|
|
188
194
|
|
|
@@ -591,24 +597,32 @@ function onBeforeShowSettings() {
|
|
|
591
597
|
}
|
|
592
598
|
|
|
593
599
|
export async function showSettings() {
|
|
600
|
+
// Close opened modal before showing settings
|
|
594
601
|
if (win.self !== win.top) {
|
|
602
|
+
win.top?.postMessage(
|
|
603
|
+
{
|
|
604
|
+
type: "bes-show-settings",
|
|
605
|
+
id: settingsOptions?.id,
|
|
606
|
+
},
|
|
607
|
+
"*"
|
|
608
|
+
)
|
|
595
609
|
return
|
|
596
610
|
}
|
|
597
|
-
|
|
611
|
+
|
|
598
612
|
closeModal()
|
|
599
613
|
|
|
600
614
|
const event = new CustomEvent("beforeShowSettings")
|
|
601
615
|
// Dispatch beforeShowSettings event to close other extension's settings
|
|
602
|
-
|
|
616
|
+
win.dispatchEvent(event)
|
|
603
617
|
|
|
604
618
|
// Listen to beforeShowSettings event to close opened modal before showing settings from other extension
|
|
605
|
-
addEventListener(
|
|
619
|
+
addEventListener(win, "beforeShowSettings", onBeforeShowSettings, true)
|
|
606
620
|
|
|
607
621
|
createSettingsElement()
|
|
608
622
|
await updateOptions()
|
|
609
623
|
|
|
610
|
-
addEventListener(
|
|
611
|
-
addEventListener(
|
|
624
|
+
addEventListener(doc, "click", onDocumentClick, true)
|
|
625
|
+
addEventListener(doc, "keydown", onDocumentKeyDown, true)
|
|
612
626
|
// activeExtension(settingsOptions.id)
|
|
613
627
|
// deactiveExtensionList()
|
|
614
628
|
}
|
|
@@ -690,5 +704,17 @@ export const initSettings = async (optionsProvider: () => SettingsOptions) => {
|
|
|
690
704
|
accessKey: "o",
|
|
691
705
|
})
|
|
692
706
|
|
|
707
|
+
addEventListener(win, "message", (event: MessageEvent) => {
|
|
708
|
+
if (!event.data || event.data.id !== settingsOptions?.id) {
|
|
709
|
+
return
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
if (event.data.type === "bes-show-settings") {
|
|
713
|
+
void showSettings()
|
|
714
|
+
} else if (event.data.type === "bes-hide-settings") {
|
|
715
|
+
hideSettings()
|
|
716
|
+
}
|
|
717
|
+
})
|
|
718
|
+
|
|
693
719
|
handleShowSettingsUrl()
|
|
694
720
|
}
|