@jsenv/plugin-toolbar 0.1.13 → 0.1.15
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/dist/html/toolbar.html +5 -4
- package/dist/jsenv_plugin_toolbar.js +30 -7
- package/package.json +3 -3
- package/src/client/core/animation_actions.js +5 -5
- package/src/client/core/animation_effects.js +6 -6
- package/src/client/core/animation_signals.js +4 -4
- package/src/client/core/changes_actions.js +5 -5
- package/src/client/core/changes_signals.js +2 -2
- package/src/client/core/execution_actions.js +16 -16
- package/src/client/core/execution_effects.js +10 -10
- package/src/client/core/execution_signals.js +6 -6
- package/src/client/core/notification_actions.js +31 -31
- package/src/client/core/notification_context.js +2 -1
- package/src/client/core/notification_effects.js +6 -6
- package/src/client/core/notification_signals.js +5 -5
- package/src/client/core/parent_window_actions.js +18 -18
- package/src/client/core/parent_window_context.js +5 -5
- package/src/client/core/parent_window_effects.js +9 -9
- package/src/client/core/parent_window_signals.js +17 -17
- package/src/client/core/server_actions.js +5 -5
- package/src/client/core/server_effects.js +6 -6
- package/src/client/core/server_signals.js +7 -7
- package/src/client/core/settings_actions.js +5 -5
- package/src/client/core/settings_signals.js +2 -2
- package/src/client/core/theme_actions.js +5 -5
- package/src/client/core/theme_effects.js +5 -5
- package/src/client/core/theme_signals.js +4 -4
- package/src/client/core/toolbar_logger.js +8 -8
- package/src/client/core/toolbar_open_actions.js +5 -5
- package/src/client/core/toolbar_open_effects.js +4 -4
- package/src/client/core/toolbar_open_signals.js +4 -4
- package/src/client/core/toolbar_state_context.js +1 -1
- package/src/client/core/toolbar_state_effects.js +7 -7
- package/src/client/core/toolbar_state_signals.js +11 -11
- package/src/client/core/tooltip_actions.js +5 -5
- package/src/client/toolbar_core.js +8 -8
- package/src/client/toolbar_injector.js +97 -97
- package/src/client/ui/changes_indicator/changes_indicator.js +33 -33
- package/src/client/ui/document_execution_indicator/document_execution_indicator.js +28 -28
- package/src/client/ui/document_index_link/document_index_link.js +3 -3
- package/src/client/ui/server_indicator/server_indicator.js +30 -30
- package/src/client/ui/toolbar_close_button/toolbar_close_button.js +6 -6
- package/src/client/ui/toolbar_menu_overflow/toolbar_menu_overflow.js +50 -50
- package/src/client/ui/toolbar_opening/toolbar_opening.js +35 -35
- package/src/client/ui/toolbar_overlay/toolbar_overlay.js +36 -36
- package/src/client/ui/toolbar_settings/toolbar_animation_setting.js +13 -13
- package/src/client/ui/toolbar_settings/toolbar_autoreload_setting.js +19 -19
- package/src/client/ui/toolbar_settings/toolbar_notification_setting.js +47 -47
- package/src/client/ui/toolbar_settings/toolbar_settings.js +29 -29
- package/src/client/ui/toolbar_settings/toolbar_theme_setting.js +8 -8
- package/src/client/ui/toolbar_ui.js +19 -19
- package/src/client/ui/util/animation.js +116 -116
- package/src/client/ui/util/dom.js +29 -29
- package/src/client/ui/util/fetch_using_xhr.js +184 -184
- package/src/client/ui/util/fetching.js +6 -6
- package/src/client/ui/util/iframe_to_parent_href.js +6 -6
- package/src/client/ui/util/responsive.js +48 -48
- package/src/client/ui/util/util.js +13 -13
- package/src/client/ui/variant.js +27 -27
- package/src/jsenv_plugin_toolbar.js +55 -30
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { effect } from "@preact/signals"
|
|
1
|
+
import { effect } from "@preact/signals";
|
|
2
2
|
|
|
3
|
-
import { autoreloadEnabledSignal } from "../../core/parent_window_signals.js"
|
|
3
|
+
import { autoreloadEnabledSignal } from "../../core/parent_window_signals.js";
|
|
4
4
|
import {
|
|
5
5
|
disableAutoreload,
|
|
6
6
|
enableAutoreload,
|
|
7
|
-
} from "../../core/parent_window_actions.js"
|
|
7
|
+
} from "../../core/parent_window_actions.js";
|
|
8
8
|
|
|
9
9
|
export const renderToolbarAutoreloadSetting = () => {
|
|
10
|
-
const parentWindowReloader = window.parent.__reloader__
|
|
10
|
+
const parentWindowReloader = window.parent.__reloader__;
|
|
11
11
|
if (!parentWindowReloader) {
|
|
12
|
-
disableAutoreloadSetting()
|
|
13
|
-
return
|
|
12
|
+
disableAutoreloadSetting();
|
|
13
|
+
return;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
const autoreloadCheckbox = document.querySelector("#toggle_autoreload")
|
|
16
|
+
const autoreloadCheckbox = document.querySelector("#toggle_autoreload");
|
|
17
17
|
effect(() => {
|
|
18
|
-
const autoreloadEnabled = autoreloadEnabledSignal.value
|
|
18
|
+
const autoreloadEnabled = autoreloadEnabledSignal.value;
|
|
19
19
|
if (autoreloadEnabled) {
|
|
20
|
-
autoreloadCheckbox.checked = true
|
|
20
|
+
autoreloadCheckbox.checked = true;
|
|
21
21
|
} else {
|
|
22
|
-
autoreloadCheckbox.checked = false
|
|
22
|
+
autoreloadCheckbox.checked = false;
|
|
23
23
|
}
|
|
24
|
-
})
|
|
24
|
+
});
|
|
25
25
|
|
|
26
26
|
autoreloadCheckbox.onchange = () => {
|
|
27
27
|
if (autoreloadCheckbox.checked) {
|
|
28
|
-
enableAutoreload()
|
|
28
|
+
enableAutoreload();
|
|
29
29
|
} else {
|
|
30
|
-
disableAutoreload()
|
|
30
|
+
disableAutoreload();
|
|
31
31
|
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
34
|
|
|
35
35
|
const disableAutoreloadSetting = () => {
|
|
36
36
|
document
|
|
37
37
|
.querySelector(".settings_autoreload")
|
|
38
|
-
.setAttribute("data-disabled", "true")
|
|
38
|
+
.setAttribute("data-disabled", "true");
|
|
39
39
|
document
|
|
40
40
|
.querySelector(".settings_autoreload")
|
|
41
|
-
.setAttribute("title", `Autoreload not enabled on server`)
|
|
42
|
-
document.querySelector("#toggle_autoreload").disabled = true
|
|
43
|
-
}
|
|
41
|
+
.setAttribute("title", `Autoreload not enabled on server`);
|
|
42
|
+
document.querySelector("#toggle_autoreload").disabled = true;
|
|
43
|
+
};
|
|
44
44
|
|
|
45
45
|
// const changeLink = variantNode.querySelector(".eventsource-changes-link")
|
|
46
46
|
// changeLink.innerHTML = reloadMessageCount
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
import { effect } from "@preact/signals"
|
|
1
|
+
import { effect } from "@preact/signals";
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
notificationsEnabledSignal,
|
|
5
5
|
notificationPermissionSignal,
|
|
6
|
-
} from "../../core/notification_signals.js"
|
|
7
|
-
import { notificationAPIDetected } from "../../core/notification_context.js"
|
|
6
|
+
} from "../../core/notification_signals.js";
|
|
7
|
+
import { notificationAPIDetected } from "../../core/notification_context.js";
|
|
8
8
|
import {
|
|
9
9
|
enableNotifications,
|
|
10
10
|
disableNotifications,
|
|
11
11
|
requestPermission,
|
|
12
|
-
} from "../../core/notification_actions.js"
|
|
13
|
-
import { enableVariant } from "../variant.js"
|
|
12
|
+
} from "../../core/notification_actions.js";
|
|
13
|
+
import { enableVariant } from "../variant.js";
|
|
14
14
|
|
|
15
|
-
const notifCheckbox = document.querySelector("#toggle_notifs")
|
|
15
|
+
const notifCheckbox = document.querySelector("#toggle_notifs");
|
|
16
16
|
|
|
17
17
|
export const renderToolbarNotificationSetting = () => {
|
|
18
18
|
effect(() => {
|
|
19
|
-
const notificationsEnabled = notificationsEnabledSignal.value
|
|
20
|
-
notifCheckbox.checked = notificationsEnabled
|
|
21
|
-
})
|
|
19
|
+
const notificationsEnabled = notificationsEnabledSignal.value;
|
|
20
|
+
notifCheckbox.checked = notificationsEnabled;
|
|
21
|
+
});
|
|
22
22
|
|
|
23
23
|
effect(() => {
|
|
24
|
-
const notificationPermission = notificationPermissionSignal.value
|
|
24
|
+
const notificationPermission = notificationPermissionSignal.value;
|
|
25
25
|
if (!notificationAPIDetected) {
|
|
26
|
-
applyNotificationNotAvailableEffects()
|
|
27
|
-
return
|
|
26
|
+
applyNotificationNotAvailableEffects();
|
|
27
|
+
return;
|
|
28
28
|
}
|
|
29
29
|
if (notificationPermission === "default") {
|
|
30
|
-
applyNotificationDefaultEffects()
|
|
31
|
-
return
|
|
30
|
+
applyNotificationDefaultEffects();
|
|
31
|
+
return;
|
|
32
32
|
}
|
|
33
33
|
if (notificationPermission === "denied") {
|
|
34
|
-
applyNotificationDeniedEffects()
|
|
35
|
-
return
|
|
34
|
+
applyNotificationDeniedEffects();
|
|
35
|
+
return;
|
|
36
36
|
}
|
|
37
37
|
if (notificationPermission === "granted") {
|
|
38
|
-
applyNotificationGrantedEffects()
|
|
39
|
-
return
|
|
38
|
+
applyNotificationGrantedEffects();
|
|
39
|
+
return;
|
|
40
40
|
}
|
|
41
|
-
})
|
|
42
|
-
}
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
43
|
|
|
44
44
|
const applyNotificationNotAvailableEffects = () => {
|
|
45
|
-
const notifSetting = document.querySelector(".settings_notification")
|
|
46
|
-
notifSetting.setAttribute("data-disabled", "true")
|
|
45
|
+
const notifSetting = document.querySelector(".settings_notification");
|
|
46
|
+
notifSetting.setAttribute("data-disabled", "true");
|
|
47
47
|
notifSetting.setAttribute(
|
|
48
48
|
"title",
|
|
49
49
|
`Notification not available in the browser`,
|
|
50
|
-
)
|
|
51
|
-
notifCheckbox.disabled = true
|
|
52
|
-
}
|
|
50
|
+
);
|
|
51
|
+
notifCheckbox.disabled = true;
|
|
52
|
+
};
|
|
53
53
|
const applyNotificationDefaultEffects = () => {
|
|
54
|
-
applyNotificationNOTGrantedEffects()
|
|
55
|
-
const notifSetting = document.querySelector(".settings_notification")
|
|
56
|
-
notifSetting.removeAttribute("data-disabled")
|
|
57
|
-
notifSetting.removeAttribute("title")
|
|
58
|
-
}
|
|
54
|
+
applyNotificationNOTGrantedEffects();
|
|
55
|
+
const notifSetting = document.querySelector(".settings_notification");
|
|
56
|
+
notifSetting.removeAttribute("data-disabled");
|
|
57
|
+
notifSetting.removeAttribute("title");
|
|
58
|
+
};
|
|
59
59
|
const applyNotificationDeniedEffects = () => {
|
|
60
|
-
applyNotificationNOTGrantedEffects()
|
|
61
|
-
const notifSetting = document.querySelector(".settings_notification")
|
|
62
|
-
notifSetting.setAttribute("data-disabled", "true")
|
|
63
|
-
notifSetting.setAttribute("title", `Notification denied`)
|
|
64
|
-
}
|
|
60
|
+
applyNotificationNOTGrantedEffects();
|
|
61
|
+
const notifSetting = document.querySelector(".settings_notification");
|
|
62
|
+
notifSetting.setAttribute("data-disabled", "true");
|
|
63
|
+
notifSetting.setAttribute("title", `Notification denied`);
|
|
64
|
+
};
|
|
65
65
|
const applyNotificationGrantedEffects = () => {
|
|
66
66
|
enableVariant(document.querySelector(".notification_text"), {
|
|
67
67
|
notif_granted: "yes",
|
|
68
|
-
})
|
|
69
|
-
notifCheckbox.disabled = false
|
|
68
|
+
});
|
|
69
|
+
notifCheckbox.disabled = false;
|
|
70
70
|
notifCheckbox.onchange = () => {
|
|
71
71
|
if (notifCheckbox.checked) {
|
|
72
|
-
enableNotifications()
|
|
72
|
+
enableNotifications();
|
|
73
73
|
} else {
|
|
74
|
-
disableNotifications()
|
|
74
|
+
disableNotifications();
|
|
75
75
|
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
78
|
|
|
79
79
|
const applyNotificationNOTGrantedEffects = () => {
|
|
80
80
|
enableVariant(document.querySelector(".notification_text"), {
|
|
81
81
|
notif_granted: "no",
|
|
82
|
-
})
|
|
83
|
-
notifCheckbox.disabled = true
|
|
84
|
-
notifCheckbox.checked = false
|
|
82
|
+
});
|
|
83
|
+
notifCheckbox.disabled = true;
|
|
84
|
+
notifCheckbox.checked = false;
|
|
85
85
|
document.querySelector("a.request_notification_permission").onclick = () => {
|
|
86
|
-
requestPermission()
|
|
87
|
-
}
|
|
88
|
-
}
|
|
86
|
+
requestPermission();
|
|
87
|
+
};
|
|
88
|
+
};
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { effect } from "@preact/signals"
|
|
1
|
+
import { effect } from "@preact/signals";
|
|
2
2
|
|
|
3
|
-
import { settingsOpenedSignal } from "../../core/settings_signals.js"
|
|
4
|
-
import { openSettings, closeSettings } from "../../core/settings_actions.js"
|
|
5
|
-
import { enableVariant } from "../variant.js"
|
|
3
|
+
import { settingsOpenedSignal } from "../../core/settings_signals.js";
|
|
4
|
+
import { openSettings, closeSettings } from "../../core/settings_actions.js";
|
|
5
|
+
import { enableVariant } from "../variant.js";
|
|
6
6
|
import {
|
|
7
7
|
activateToolbarSection,
|
|
8
8
|
deactivateToolbarSection,
|
|
9
|
-
} from "../util/dom.js"
|
|
10
|
-
import { renderToolbarAutoreloadSetting } from "./toolbar_autoreload_setting.js"
|
|
11
|
-
import { renderToolbarAnimationSetting } from "./toolbar_animation_setting.js"
|
|
12
|
-
import { renderToolbarNotificationSetting } from "./toolbar_notification_setting.js"
|
|
13
|
-
import { renderToolbarThemeSetting } from "./toolbar_theme_setting.js"
|
|
9
|
+
} from "../util/dom.js";
|
|
10
|
+
import { renderToolbarAutoreloadSetting } from "./toolbar_autoreload_setting.js";
|
|
11
|
+
import { renderToolbarAnimationSetting } from "./toolbar_animation_setting.js";
|
|
12
|
+
import { renderToolbarNotificationSetting } from "./toolbar_notification_setting.js";
|
|
13
|
+
import { renderToolbarThemeSetting } from "./toolbar_theme_setting.js";
|
|
14
14
|
|
|
15
15
|
export const renderToolbarSettings = () => {
|
|
16
|
-
document.querySelector("#settings_open_button").onclick = toggleSettings
|
|
17
|
-
document.querySelector("#settings_close_button").onclick = toggleSettings
|
|
18
|
-
disableWarningStyle()
|
|
16
|
+
document.querySelector("#settings_open_button").onclick = toggleSettings;
|
|
17
|
+
document.querySelector("#settings_close_button").onclick = toggleSettings;
|
|
18
|
+
disableWarningStyle();
|
|
19
19
|
|
|
20
|
-
renderToolbarAutoreloadSetting()
|
|
21
|
-
renderToolbarAnimationSetting()
|
|
22
|
-
renderToolbarNotificationSetting()
|
|
23
|
-
renderToolbarThemeSetting()
|
|
20
|
+
renderToolbarAutoreloadSetting();
|
|
21
|
+
renderToolbarAnimationSetting();
|
|
22
|
+
renderToolbarNotificationSetting();
|
|
23
|
+
renderToolbarThemeSetting();
|
|
24
24
|
|
|
25
25
|
effect(() => {
|
|
26
|
-
const settingsOpened = settingsOpenedSignal.value
|
|
26
|
+
const settingsOpened = settingsOpenedSignal.value;
|
|
27
27
|
if (settingsOpened) {
|
|
28
|
-
activateToolbarSection(document.querySelector("#settings"))
|
|
28
|
+
activateToolbarSection(document.querySelector("#settings"));
|
|
29
29
|
} else {
|
|
30
|
-
deactivateToolbarSection(document.querySelector("#settings"))
|
|
30
|
+
deactivateToolbarSection(document.querySelector("#settings"));
|
|
31
31
|
}
|
|
32
|
-
})
|
|
33
|
-
}
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
34
|
|
|
35
35
|
const toggleSettings = () => {
|
|
36
|
-
const settingsOpened = settingsOpenedSignal.value
|
|
36
|
+
const settingsOpened = settingsOpenedSignal.value;
|
|
37
37
|
if (settingsOpened) {
|
|
38
|
-
closeSettings()
|
|
38
|
+
closeSettings();
|
|
39
39
|
} else {
|
|
40
|
-
openSettings()
|
|
40
|
+
openSettings();
|
|
41
41
|
}
|
|
42
|
-
}
|
|
42
|
+
};
|
|
43
43
|
|
|
44
44
|
export const enableWarningStyle = () => {
|
|
45
45
|
enableVariant(document.querySelector("#settings_open_button"), {
|
|
46
46
|
has_warning: "yes",
|
|
47
|
-
})
|
|
48
|
-
}
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
49
|
|
|
50
50
|
export const disableWarningStyle = () => {
|
|
51
51
|
enableVariant(document.querySelector("#settings_open_button"), {
|
|
52
52
|
has_warning: "no",
|
|
53
|
-
})
|
|
54
|
-
}
|
|
53
|
+
});
|
|
54
|
+
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { themeSignal } from "../../core/theme_signals.js"
|
|
1
|
+
import { themeSignal } from "../../core/theme_signals.js";
|
|
2
2
|
import {
|
|
3
3
|
switchToDefaultTheme,
|
|
4
4
|
switchToLightTheme,
|
|
5
|
-
} from "../../core/theme_actions.js"
|
|
5
|
+
} from "../../core/theme_actions.js";
|
|
6
6
|
|
|
7
7
|
export const renderToolbarThemeSetting = () => {
|
|
8
|
-
const checkbox = document.querySelector("#checkbox_dark_theme")
|
|
9
|
-
checkbox.checked = themeSignal.value === "dark"
|
|
8
|
+
const checkbox = document.querySelector("#checkbox_dark_theme");
|
|
9
|
+
checkbox.checked = themeSignal.value === "dark";
|
|
10
10
|
checkbox.onchange = () => {
|
|
11
11
|
if (checkbox.checked) {
|
|
12
|
-
switchToDefaultTheme()
|
|
12
|
+
switchToDefaultTheme();
|
|
13
13
|
} else {
|
|
14
|
-
switchToLightTheme()
|
|
14
|
+
switchToLightTheme();
|
|
15
15
|
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { initToolbarOpening } from "./toolbar_opening/toolbar_opening.js"
|
|
2
|
-
import { initToolbarMenuOverflow } from "./toolbar_menu_overflow/toolbar_menu_overflow.js"
|
|
3
|
-
import { renderToolbarOverlay } from "./toolbar_overlay/toolbar_overlay.js"
|
|
4
|
-
import { renderDocumentIndexLink } from "./document_index_link/document_index_link.js"
|
|
5
|
-
import { renderDocumentExecutionIndicator } from "./document_execution_indicator/document_execution_indicator.js"
|
|
6
|
-
import { renderChangesIndicator } from "./changes_indicator/changes_indicator.js"
|
|
7
|
-
import { renderServerIndicator } from "./server_indicator/server_indicator.js"
|
|
8
|
-
import { renderToolbarSettings } from "./toolbar_settings/toolbar_settings.js"
|
|
9
|
-
import { renderToolbarCloseButton } from "./toolbar_close_button/toolbar_close_button.js"
|
|
1
|
+
import { initToolbarOpening } from "./toolbar_opening/toolbar_opening.js";
|
|
2
|
+
import { initToolbarMenuOverflow } from "./toolbar_menu_overflow/toolbar_menu_overflow.js";
|
|
3
|
+
import { renderToolbarOverlay } from "./toolbar_overlay/toolbar_overlay.js";
|
|
4
|
+
import { renderDocumentIndexLink } from "./document_index_link/document_index_link.js";
|
|
5
|
+
import { renderDocumentExecutionIndicator } from "./document_execution_indicator/document_execution_indicator.js";
|
|
6
|
+
import { renderChangesIndicator } from "./changes_indicator/changes_indicator.js";
|
|
7
|
+
import { renderServerIndicator } from "./server_indicator/server_indicator.js";
|
|
8
|
+
import { renderToolbarSettings } from "./toolbar_settings/toolbar_settings.js";
|
|
9
|
+
import { renderToolbarCloseButton } from "./toolbar_close_button/toolbar_close_button.js";
|
|
10
10
|
|
|
11
11
|
export const initToolbarUI = () => {
|
|
12
|
-
initToolbarOpening()
|
|
13
|
-
initToolbarMenuOverflow()
|
|
14
|
-
renderToolbarOverlay()
|
|
15
|
-
renderDocumentIndexLink()
|
|
16
|
-
renderDocumentExecutionIndicator()
|
|
17
|
-
renderChangesIndicator()
|
|
18
|
-
renderServerIndicator()
|
|
19
|
-
renderToolbarSettings()
|
|
20
|
-
renderToolbarCloseButton()
|
|
21
|
-
}
|
|
12
|
+
initToolbarOpening();
|
|
13
|
+
initToolbarMenuOverflow();
|
|
14
|
+
renderToolbarOverlay();
|
|
15
|
+
renderDocumentIndexLink();
|
|
16
|
+
renderDocumentExecutionIndicator();
|
|
17
|
+
renderChangesIndicator();
|
|
18
|
+
renderServerIndicator();
|
|
19
|
+
renderToolbarSettings();
|
|
20
|
+
renderToolbarCloseButton();
|
|
21
|
+
};
|