diff options
| author | Ja.KooLit <jimmielovejay@gmail.com> | 2024-05-09 00:35:23 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-09 00:35:23 +0900 |
| commit | 472661662b29ec932f017e44a36a63b0dc61ac38 (patch) | |
| tree | 2217d9d7a5168d2eb367f0b486c6a3238b769b24 /config/ags/modules/overview/searchitem.js | |
| parent | 8e9b6f015038ae76ce68035d6aee7ff88a5be06c (diff) | |
| parent | 25cbdc6a01177a5da063458438cc9ea10271ec9f (diff) | |
Merge pull request #247 from JaKooLit/development
Development to 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; + }) + , + }); +} |
