{"id":23078012,"url":"https://github.com/jaliborc/dropextend-1.0","last_synced_at":"2025-07-14T18:37:50.222Z","repository":{"id":141927287,"uuid":"598561396","full_name":"Jaliborc/DropExtend-1.0","owner":"Jaliborc","description":"Library for hooking into native WoW dropdowns without taint or addon conflict.","archived":false,"fork":false,"pushed_at":"2023-02-07T11:17:15.000Z","size":2,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-19T06:53:51.650Z","etag":null,"topics":["dropdown","library","lua","world-of-warcraft"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jaliborc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"jaliborc","custom":"paypal.me/jaliborc"}},"created_at":"2023-02-07T11:15:25.000Z","updated_at":"2023-02-07T11:21:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"815a28f3-cf4d-45e7-b934-208945ad5cfd","html_url":"https://github.com/Jaliborc/DropExtend-1.0","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jaliborc/DropExtend-1.0","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaliborc%2FDropExtend-1.0","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaliborc%2FDropExtend-1.0/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaliborc%2FDropExtend-1.0/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaliborc%2FDropExtend-1.0/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jaliborc","download_url":"https://codeload.github.com/Jaliborc/DropExtend-1.0/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaliborc%2FDropExtend-1.0/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265333226,"owners_count":23748759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dropdown","library","lua","world-of-warcraft"],"created_at":"2024-12-16T10:46:09.266Z","updated_at":"2025-07-14T18:37:50.213Z","avatar_url":"https://github.com/Jaliborc.png","language":"Lua","funding_links":["https://patreon.com/jaliborc","paypal.me/jaliborc","https://www.patreon.com/jaliborc","https://www.paypal.me/jaliborc"],"categories":[],"sub_categories":[],"readme":"# DropExtend-1.0\n[![Patreon](http://img.shields.io/badge/news%20\u0026%20rewards-patreon-ff4d42)](https://www.patreon.com/jaliborc) [![Paypal](http://img.shields.io/badge/donate-paypal-1d3fe5)](https://www.paypal.me/jaliborc) [![Discord](http://img.shields.io/badge/discuss-discord-5865F2)](https://bit.ly/discord-jaliborc)  \n\nAllows to extend Blizzard dropdowns without spreading taint (because the native dropdown code should not be trusted). Also ensures multiple addons extending the same dropdown through this API do not interfere with one another.\n\n### API\nDropExtend provides a single method:\n\n```lua\nLibStub('DropExtend-1.0'):Hook(dropdown, callback)\n```\n\n- **dropdown:** the frame you wish to extend\n- **callback:** function that will be called each time the dropdown native `initFunc` is executed (see [definition](https://wowpedia.fandom.com/wiki/API_UIDropDownMenu_Initialize)), with the same parameters `callback(dropdown, level, menuList)`. Should return a frame you wish to show with the content being initialized, or nil when you have nothing to add.\n\n### Example\nThis code will add content to the Loot Journal class filter dropdown - one frame `MyMainLevelExtension` to the dropdown main level, and another frame `MyClassListExtension` to the class list:\n\n```lua\nLibStub('DropExtend-1.0'):Hook(LootJournalItemsClassDropDown, function(dropdown, level, menuList)\n    if level == 1 then\n        return MyMainLevelFrame\n    elseif level == 2 and UIDROPDOWNMENU_MENU_VALUE == CLASS_DROPDOWN then\n        return MyClassListFrame\n    end\nend)\n```\n\n### :warning: Reminder!\nIf you use this library, please list it as one of your dependencies in the CurseForge admin system. It's a big help! :+1:","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaliborc%2Fdropextend-1.0","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaliborc%2Fdropextend-1.0","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaliborc%2Fdropextend-1.0/lists"}