diff options
| author | Ja.KooLit <jimmielovejay@gmail.com> | 2024-05-05 00:12:26 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-05 00:12:26 +0900 |
| commit | 962a09dd0088cd01cbf3e678c4c500ff5087e4e4 (patch) | |
| tree | 92f8977ed345ba8a39141ff7d36f423efd46f43a /config/ags/modules/.widgethacks/popupwindow.js | |
| parent | e27bc1e75280f02a0798e7150d7e7c775ee1aff6 (diff) | |
| parent | e29068df76f763a999b9013ece32c8adb299b29f (diff) | |
Merge branch 'experimental-ags' into main
Diffstat (limited to 'config/ags/modules/.widgethacks/popupwindow.js')
| -rw-r--r-- | config/ags/modules/.widgethacks/popupwindow.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/config/ags/modules/.widgethacks/popupwindow.js b/config/ags/modules/.widgethacks/popupwindow.js new file mode 100644 index 00000000..26dad59c --- /dev/null +++ b/config/ags/modules/.widgethacks/popupwindow.js @@ -0,0 +1,32 @@ +import App from 'resource:///com/github/Aylur/ags/app.js'; +import Widget from 'resource:///com/github/Aylur/ags/widget.js'; +const { Box, Window } = Widget; + + +export default ({ + name, + child, + showClassName = "", + hideClassName = "", + ...props +}) => { + return Window({ + name, + visible: false, + layer: 'overlay', + ...props, + + child: Box({ + setup: (self) => { + self.hook(App, (self, currentName, visible) => { + if (currentName === name) { + self.toggleClassName(hideClassName, !visible); + } + }).keybind("Escape", () => App.closeWindow(name)) + if (showClassName !== "" && hideClassName !== "") + self.className = `${showClassName} ${hideClassName}`; + }, + child: child, + }), + }); +}
\ No newline at end of file |
