Skip to content

ksoltanidev/TradeSkillMaster_AuctionsTab

Repository files navigation

TradeSkillMaster_AuctionsTab

A TradeSkillMaster addon module that adds a dedicated "My Auctions" tab to the Auction House, displaying all your posted auctions in a clean, organized table.

Interface: 30300 WoW Version: WotLK 3.3.5

Features

  • Dedicated AH Tab - A new "My Auctions" tab in the TSM Auction House interface
  • Grouped Display - Auctions are grouped by item, showing consolidated information
  • Expandable Rows - Double-click to expand items with multiple price points
  • Real-time Search - Filter your auctions instantly by item name
  • Group Filter - Filter auctions by TSM groups with hierarchical dropdown
  • Statistics - View total auctions, items, and gold value at a glance
  • Sortable Columns - Click column headers to sort by any field
  • Quick Cancel - Alt+Click any auction to cancel it immediately
  • Dynamic Sizing - Table adapts to window size like the Shopping tab

Requirements

Installation

  1. Download the addon
  2. Extract to your WoW AddOns folder:
    World of Warcraft/Interface/AddOns/TradeSkillMaster_AuctionsTab/
    
  3. Restart WoW or type /reload if in-game

Usage

Opening the Tab

  1. Open the Auction House
  2. Click on the TSM icon to switch to TSM mode
  3. Click the "My Auctions" tab (coin icon)

Table Columns

Column Description
Item Item name with icon
Stacks Number of auction stacks
Stack Size Items per stack
Quantity Total items across all stacks
Unit Price Price per single item
Total Total value of all stacks
Time Left Auction duration remaining

Interacting with Auctions

  • Click a row to select it
  • Double-click an item with multiple price points to expand/collapse sub-rows
  • Alt+Click to cancel the selected auction
  • Click column headers to sort (click again to reverse)

Search/Filter

Type in the search box to filter auctions by item name. The filter works instantly without querying the server.

Group Filter

A dropdown menu allows filtering auctions by TSM group:

  • Select a group to show only auctions for items in that group
  • Hierarchical display shows parent/child group structure with indentation
  • Selecting a parent group includes all items from subgroups
  • Supports items with "Ignore Random Enchants" (e.g., "Belt of the Tiger" shows under "Belt" group)
  • Works alongside the text search filter

When filtering (by text or group):

  • Statistics update to show filtered totals
  • "Filtered Value" appears showing the value of matching items

Statistics Bar

Located above the table:

  • Auctions - Total number of auction listings
  • Items - Total quantity of items posted
  • Total Value - Combined buyout value in gold
  • Filtered Value - (Only when filtering) Value of filtered items

Buttons

  • Refresh - Reload auction data from the server
  • Cancel - Cancel the currently selected auction

Time Left Values

Display Meaning
Short Less than 30 minutes
Medium 30 minutes to 2 hours
Long 2 to 12 hours
Very Long 12 to 48 hours
Mixed Multiple time values in group

Contributing

Project Structure

TradeSkillMaster_AuctionsTab/
├── TradeSkillMaster_AuctionsTab.lua   # Main addon code
├── TradeSkillMaster_AuctionsTab.toc   # Addon metadata
├── Locale/
│   └── enUS.lua                       # English localization
├── deploy.bat                         # Windows deployment script
└── README.md

Architecture

The addon uses the AceAddon-3.0 framework and integrates with TSM via TSMAPI:NewModule().

Key Components:

Component Description
TSM.auctionTab Tab registration with TSM
private.frame Main content frame
private.rows Table row frames
private.headCols Header column buttons
private.scrollFrame FauxScrollFrame for scrolling

Data Flow:

  1. RefreshAuctions() - Queries WoW API for owner auctions
  2. GroupAuctions() - Groups auctions by item and price
  3. BuildDisplayData() - Creates display rows with sorting/filtering
  4. DrawRows() - Renders visible rows in the scroll frame

Saved Variables Structure:

AscensionTSM_AuctionsTabDB = {
    profile = {
        sortCol = 5,        -- Default sort column (Unit Price)
        sortAscending = true,
    }
}

Adding Localization

  1. Create a new file in Locale/ (e.g., frFR.lua)
  2. Copy the structure from enUS.lua
  3. Replace the locale code and translate strings
  4. Add the file to the .toc before the main lua file

Testing

  • No automated tests; test in-game
  • Use /reload after code changes
  • Check for Lua errors in the chat frame
  • Test with various auction quantities and item types

License

All Rights Reserved - See license information included with the TradeSkillMaster addon.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages