/** * Entities Selectors * * Dynamic selectors for entity CRUD operations. * All selectors use {slug} placeholder for entity type. * * ═══════════════════════════════════════════════════════════════════════════════ * FIRST-LEVEL KEYS ORGANIZATION (6 keys) * ═══════════════════════════════════════════════════════════════════════════════ * * 1. page - Page-level container * 2. list - List view (search, filters, table, pagination, bulk, confirm) * 3. header - Entity detail header (view/edit/create modes) * 4. detail - Detail view container * 5. form - Form container, fields, and actions * 6. childEntity - Child entity management section * * ═══════════════════════════════════════════════════════════════════════════════ * * ╔════════════════════════════════════════════════════════════════════════════╗ * ║ ENTITY LIST VIEW LAYOUT ║ * ╠════════════════════════════════════════════════════════════════════════════╣ * ║ ║ * ║ ┌─────────────────────────────────────────────────────────────────────┐ ║ * ║ │ [page.container] │ ║ * ║ │ │ ║ * ║ │ ┌──────────────────────────────────────────────────────────────┐ │ ║ * ║ │ │ [list.container] │ │ ║ * ║ │ │ │ │ ║ * ║ │ │ ┌─────────────────────────────────────────────────────────┐│ │ ║ * ║ │ │ │ Header Row ││ │ ║ * ║ │ │ │ ┌────────────────┐ ┌───────────────────┐ ┌──────────┐││ │ ║ * ║ │ │ │ │ Title │ │ [list.search.*] │ │[list.add]│││ │ ║ * ║ │ │ │ │ "Customers" │ │ 🔍 Search... │ │ + Add │││ │ ║ * ║ │ │ │ └────────────────┘ └───────────────────┘ └──────────┘││ │ ║ * ║ │ │ └─────────────────────────────────────────────────────────┘│ │ ║ * ║ │ │ │ │ ║ * ║ │ │ ┌─────────────────────────────────────────────────────────┐│ │ ║ * ║ │ │ │ [list.filters.*] ││ │ ║ * ║ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ ││ │ ║ * ║ │ │ │ │ Status ▼ │ │ Type ▼ │ │ Clear filters │ ││ │ ║ * ║ │ │ │ │ [trigger] │ │ [trigger] │ │ [clearAll] │ ││ │ ║ * ║ │ │ │ └──────────────┘ └──────────────┘ └──────────────────┘ ││ │ ║ * ║ │ │ └─────────────────────────────────────────────────────────┘│ │ ║ * ║ │ │ │ │ ║ * ║ │ │ ┌─────────────────────────────────────────────────────────┐│ │ ║ * ║ │ │ │ [list.table.*] ││ │ ║ * ║ │ │ │ ┌───┬───────────────────────────────────────────┬─────┐ ││ │ ║ * ║ │ │ │ │ ☐ │ Name [column.header] │ Status │ Date │ ⋮ │ ││ │ ║ * ║ │ │ │ │[selectAll]│ [sort] │ │ │ │ ││ │ ║ * ║ │ │ │ ├───┼───────────────────────────────────────────┼─────┤ ││ │ ║ * ║ │ │ │ │ ☐ │ [row.element] │ [cell] │ [cell] │[menu]│││ │ ║ * ║ │ │ │ │ │ John Doe │ Active │ 2024 │ │ ││ │ ║ * ║ │ │ │ ├───┼───────────────────────────────────────────┼─────┤ ││ │ ║ * ║ │ │ │ │ ☑ │ [row.element] │ [cell] │ [cell] │[menu]│││ │ ║ * ║ │ │ │ │ │ Jane Smith │ Pending│ 2024 │ │ ││ │ ║ * ║ │ │ │ └───┴───────────────────────────────────────────┴─────┘ ││ │ ║ * ║ │ │ └─────────────────────────────────────────────────────────┘│ │ ║ * ║ │ │ │ │ ║ * ║ │ │ ┌─────────────────────────────────────────────────────────┐│ │ ║ * ║ │ │ │ [list.pagination.*] ││ │ ║ * ║ │ │ │ [info] Showing 1-10 of 50 [prev] [1][2][3] [next] ││ │ ║ * ║ │ │ └─────────────────────────────────────────────────────────┘│ │ ║ * ║ │ └──────────────────────────────────────────────────────────────┘ │ ║ * ║ └─────────────────────────────────────────────────────────────────────┘ ║ * ║ ║ * ║ ┌─────────────────────────────────────────────────────────────────────┐ ║ * ║ │ [list.bulk.*] (floating bar, appears when items selected) │ ║ * ║ │ ┌────────────┐ ┌──────────┐ ┌────────────┐ ┌────────────┐ ┌───┐ │ ║ * ║ │ │ [count] │ │Select All│ │Change Stat.│ │ Delete │ │ ✕ │ │ ║ * ║ │ │ "3 items" │ │[selectAll]│ │[statusBtn] │ │[deleteBtn] │ │ │ │ ║ * ║ │ └────────────┘ └──────────┘ └────────────┘ └────────────┘ └───┘ │ ║ * ║ └─────────────────────────────────────────────────────────────────────┘ ║ * ║ ║ * ║ [list.confirm.*] - Generic confirmation dialogs for row actions ║ * ╚════════════════════════════════════════════════════════════════════════════╝ * * ╔════════════════════════════════════════════════════════════════════════════╗ * ║ ENTITY DETAIL/VIEW LAYOUT ║ * ╠════════════════════════════════════════════════════════════════════════════╣ * ║ ║ * ║ ┌─────────────────────────────────────────────────────────────────────┐ ║ * ║ │ [detail.container] │ ║ * ║ │ │ ║ * ║ │ ┌──────────────────────────────────────────────────────────────┐ │ ║ * ║ │ │ [header.container] mode="view" │ │ ║ * ║ │ │ │ │ ║ * ║ │ │ ┌──────────────────┐ ┌─────┐ ┌────────┐ │ │ ║ * ║ │ │ │ [header.back] │ │Edit │ │ Delete │ │ │ ║ * ║ │ │ │ ← Back to List │ │[edit]│ │[delete]│ │ │ ║ * ║ │ │ └──────────────────┘ └─────┘ └────────┘ │ │ ║ * ║ │ │ │ │ ║ * ║ │ │ ┌──────────────────────────────────────────────────────┐ │ │ ║ * ║ │ │ │ [header.title] "Customer: John Doe" │ │ │ ║ * ║ │ │ └──────────────────────────────────────────────────────┘ │ │ ║ * ║ │ └──────────────────────────────────────────────────────────────┘ │ ║ * ║ │ │ ║ * ║ │ ┌──────────────────────────────────────────────────────────────┐ │ ║ * ║ │ │ Detail Fields │ │ ║ * ║ │ │ ┌────────────────────┐ ┌────────────────────┐ │ │ ║ * ║ │ │ │ Name: John Doe │ │ Email: john@ex.com │ │ │ ║ * ║ │ │ └────────────────────┘ └────────────────────┘ │ │ ║ * ║ │ └──────────────────────────────────────────────────────────────┘ │ ║ * ║ │ │ ║ * ║ │ ┌──────────────────────────────────────────────────────────────┐ │ ║ * ║ │ │ [childEntity.*] Child Entity Section │ │ ║ * ║ │ │ ┌─────────────────────────────┐ ┌─────────────────┐ │ │ ║ * ║ │ │ │ Social Platforms │ │ + Add Platform │ │ │ ║ * ║ │ │ │ [container] │ │ [addButton] │ │ │ ║ * ║ │ │ └─────────────────────────────┘ └─────────────────┘ │ │ ║ * ║ │ └──────────────────────────────────────────────────────────────┘ │ ║ * ║ └─────────────────────────────────────────────────────────────────────┘ ║ * ╚════════════════════════════════════════════════════════════════════════════╝ * * ╔════════════════════════════════════════════════════════════════════════════╗ * ║ ENTITY CREATE/EDIT LAYOUT ║ * ╠════════════════════════════════════════════════════════════════════════════╣ * ║ ║ * ║ ┌─────────────────────────────────────────────────────────────────────┐ ║ * ║ │ [form.container] │ ║ * ║ │ │ ║ * ║ │ ┌──────────────────────────────────────────────────────────────┐ │ ║ * ║ │ │ [header.container] mode="create" | mode="edit" │ │ ║ * ║ │ │ │ │ ║ * ║ │ │ ┌──────────────────┐ │ │ ║ * ║ │ │ │ [header.back] │ │ │ ║ * ║ │ │ │ ← Back to List │ │ │ ║ * ║ │ │ └──────────────────┘ │ │ ║ * ║ │ │ │ │ ║ * ║ │ │ ┌──────────────────────────────────────────────────────┐ │ │ ║ * ║ │ │ │ [header.title] "Create Customer" | "Edit: John Doe" │ │ │ ║ * ║ │ │ └──────────────────────────────────────────────────────┘ │ │ ║ * ║ │ └──────────────────────────────────────────────────────────────┘ │ ║ * ║ │ │ ║ * ║ │ ┌──────────────────────────────────────────────────────────────┐ │ ║ * ║ │ │ Form Fields │ │ ║ * ║ │ │ ┌────────────────────┐ ┌────────────────────┐ │ │ ║ * ║ │ │ │ [form.field] Name │ │ [form.field] Email │ │ │ ║ * ║ │ │ │ ┌────────────────┐ │ │ ┌────────────────┐ │ │ │ ║ * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ * ║ │ │ │ └────────────────┘ │ │ └────────────────┘ │ │ │ ║ * ║ │ │ └────────────────────┘ └────────────────────┘ │ │ ║ * ║ │ └──────────────────────────────────────────────────────────────┘ │ ║ * ║ │ │ ║ * ║ │ ┌──────────────────────────────────────────────────────────────┐ │ ║ * ║ │ │ Actions ┌────────┐ ┌─────────────┐ │ │ ║ * ║ │ │ │ Cancel │ │ Save/Create │ │ │ ║ * ║ │ │ │ │ │[form.submit]│ │ │ ║ * ║ │ │ └────────┘ └─────────────┘ │ │ ║ * ║ │ └──────────────────────────────────────────────────────────────┘ │ ║ * ║ └─────────────────────────────────────────────────────────────────────┘ ║ * ╚════════════════════════════════════════════════════════════════════════════╝ * * Placeholders: * - {slug} - Entity slug (customers, tasks, pages, posts) * - {id} - Record ID * - {name} - Field name * - {field} - Filter field name * - {value} - Filter/option value * - {action} - Action name (edit, delete, view) * - {mode} - View mode (view, edit, create) * - {size} - Page size * - {parentSlug} - Parent entity slug * - {childName} - Child entity name */ export declare const ENTITIES_SELECTORS: { readonly page: { readonly container: "{slug}-page"; readonly title: "{slug}-page-title"; }; readonly list: { readonly container: "{slug}-list"; readonly addButton: "{slug}-add"; readonly selectionCount: "{slug}-selection-count"; readonly search: { readonly container: "{slug}-search"; readonly input: "{slug}-search-input"; readonly clear: "{slug}-search-clear"; }; readonly filters: { readonly container: "{slug}-filters"; readonly trigger: "{slug}-filter-{field}"; readonly content: "{slug}-filter-{field}-content"; readonly option: "{slug}-filter-{field}-option-{value}"; readonly badge: "{slug}-filter-{field}-badge-{value}"; readonly removeBadge: "{slug}-filter-{field}-remove-{value}"; readonly clearAll: "{slug}-filter-{field}-clear-all"; }; readonly table: { readonly container: "{slug}-table-container"; readonly element: "{slug}-table"; readonly selectAll: "{slug}-select-all"; readonly empty: "{slug}-table-empty"; readonly loading: "{slug}-table-loading"; readonly column: { readonly header: "{slug}-col-{name}"; readonly sort: "{slug}-sort-{name}"; }; readonly row: { readonly element: "{slug}-row-{id}"; readonly checkbox: "{slug}-select-{id}"; readonly menu: "{slug}-menu-{id}"; readonly menuContent: "{slug}-menu-content-{id}"; readonly action: "{slug}-action-{action}-{id}"; readonly quickAction: "{slug}-quick-{action}-{id}"; }; readonly cell: { readonly element: "{slug}-cell-{name}-{id}"; }; }; readonly pagination: { readonly container: "{slug}-pagination"; readonly info: "{slug}-page-info"; readonly pageSize: "{slug}-page-size"; readonly pageSizeOption: "{slug}-page-size-{size}"; readonly first: "{slug}-page-first"; readonly prev: "{slug}-page-prev"; readonly next: "{slug}-page-next"; readonly last: "{slug}-page-last"; }; readonly bulk: { readonly bar: "{slug}-bulk-bar"; readonly count: "{slug}-bulk-count"; readonly selectAll: "{slug}-bulk-select-all"; readonly statusButton: "{slug}-bulk-status"; readonly statusDialog: "{slug}-bulk-status-dialog"; readonly statusSelect: "{slug}-bulk-status-select"; readonly statusOption: "{slug}-bulk-status-{value}"; readonly statusCancel: "{slug}-bulk-status-cancel"; readonly statusConfirm: "{slug}-bulk-status-confirm"; readonly deleteButton: "{slug}-bulk-delete"; readonly deleteDialog: "{slug}-bulk-delete-dialog"; readonly deleteCancel: "{slug}-bulk-delete-cancel"; readonly deleteConfirm: "{slug}-bulk-delete-confirm"; readonly clearButton: "{slug}-bulk-clear"; }; readonly confirm: { readonly dialog: "{slug}-confirm-dialog"; readonly cancel: "{slug}-confirm-cancel"; readonly action: "{slug}-confirm-action"; }; }; readonly header: { readonly container: "{slug}-{mode}-header"; readonly backButton: "{slug}-back"; readonly title: "{slug}-header-title"; readonly editButton: "{slug}-edit"; readonly deleteButton: "{slug}-delete"; readonly deleteDialog: "{slug}-delete-dialog"; readonly deleteCancel: "{slug}-delete-cancel"; readonly deleteConfirm: "{slug}-delete-confirm"; }; readonly detail: { readonly container: "{slug}-detail"; readonly copyId: "{slug}-copy-id"; }; readonly form: { readonly container: "{slug}-form"; readonly field: "{slug}-field-{name}"; readonly submitButton: "{slug}-form-submit"; }; readonly childEntity: { readonly container: "{parentSlug}-{childName}-section"; readonly addButton: "{parentSlug}-{childName}-add"; }; }; export type EntitiesSelectorsType = typeof ENTITIES_SELECTORS; //# sourceMappingURL=entities.selectors.d.ts.map