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/overview/searchitem.js | |
| parent | e27bc1e75280f02a0798e7150d7e7c775ee1aff6 (diff) | |
| parent | e29068df76f763a999b9013ece32c8adb299b29f (diff) | |
Merge branch 'experimental-ags' into main
Diffstat (limited to 'config/ags/modules/overview/searchitem.js')
| -rw-r--r-- | config/ags/modules/overview/searchitem.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/config/ags/modules/overview/searchitem.js b/config/ags/modules/overview/searchitem.js new file mode 100644 index 00000000..2a3303a4 --- /dev/null +++ b/config/ags/modules/overview/searchitem.js @@ -0,0 +1,65 @@ +import Widget from 'resource:///com/github/Aylur/ags/widget.js'; + +export const searchItem = ({ materialIconName, name, actionName, content, onActivate, extraClassName = '', ...rest }) => { + const actionText = Widget.Revealer({ + revealChild: false, + transition: "crossfade", + transitionDuration: userOptions.animations.durationLarge, + child: Widget.Label({ + className: 'overview-search-results-txt txt txt-small txt-action', + label: `${actionName}`, + }) + }); + const actionTextRevealer = Widget.Revealer({ + revealChild: false, + transition: "slide_left", + transitionDuration: userOptions.animations.durationSmall, + child: actionText, + }) + return Widget.Button({ + className: `overview-search-result-btn txt ${extraClassName}`, + onClicked: onActivate, + child: Widget.Box({ + children: [ + Widget.Box({ + vertical: false, + children: [ + Widget.Label({ + className: `icon-material overview-search-results-icon`, + label: `${materialIconName}`, + }), + Widget.Box({ + vertical: true, + children: [ + Widget.Label({ + hpack: 'start', + className: 'overview-search-results-txt txt-smallie txt-subtext', + label: `${name}`, + truncate: "end", + }), + Widget.Label({ + hpack: 'start', + className: 'overview-search-results-txt txt-norm', + label: `${content}`, + truncate: "end", + }), + ] + }), + Widget.Box({ hexpand: true }), + actionTextRevealer, + ], + }) + ] + }), + setup: (self) => self + .on('focus-in-event', (button) => { + actionText.revealChild = true; + actionTextRevealer.revealChild = true; + }) + .on('focus-out-event', (button) => { + actionText.revealChild = false; + actionTextRevealer.revealChild = false; + }) + , + }); +} |
