Skip to content

feat(cms): snippet (for TACC project pages redesign)#558

Draft
wesleyboar wants to merge 25 commits into
mainfrom
feat/research-software-cms-phase-b
Draft

feat(cms): snippet (for TACC project pages redesign)#558
wesleyboar wants to merge 25 commits into
mainfrom
feat/research-software-cms-phase-b

Conversation

@wesleyboar

@wesleyboar wesleyboar commented Jun 1, 2026

Copy link
Copy Markdown
Member

Overview

Snippet for manual Research/Software CMS pages. Provides:

  • sortable tables with optional JS-built filters (data-sortable-filters on the table)
  • warning banners (used on old project pages)

Note

Does not update CMS (a task saved for #557).

Related

Changes

  • added includes/sortable_table_filter_templates.html and include in snippet
  • updated jsDelivr pins: Core-Styles@v2.57.0, Core-CMS@v4.40.0-rc6 (CSS); sortableTable.js on feat/sortableTable-auto-filter until #1178 is released
  • deleted promoteDataAriaAttributes import from snippet (step 6)

Testing

  1. Create/Open Test page with snippet.
  2. Page needs:
    • sortable table with RT #42216 columns and data-sortable-filters JSON on the table
    • Bootstrap Alert plugin (warning style)
  3. Table sorts and filters (search, column selects, result count).
  4. Alerts, by default, have c-message styling.

UI

Screenshots: pending upload

Notes

Important

After Core-CMS PRs are all merged and released, delete snippet.

GOAL, snippet, sortable table CSS/JS, and core-styles-staging for upstream.
Phase B jsDelivr pins until Core-Styles/Core-CMS tags; separate from PR 557.

Co-authored-by: Cursor <cursoragent@cursor.com>
wesleyboar and others added 9 commits June 1, 2026 17:16
Load alert and sortable CSS from Core-Styles@31e62d5 and sort JS from Core-CMS@1fe2544.

Co-authored-by: Cursor <cursoragent@cursor.com>
Align GOAL and workspace prompt with snippet jsDelivr URLs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sortable JS/CSS and alert staging now load from Core-CMS/Core-Styles via snippet CDN only.

Co-authored-by: Cursor <cursoragent@cursor.com>
We don't need this to coordinate AI effort. I am working across repos with a workspace that has all three checked out.
Use table.is-sortable; sort styles ship with Core-CMS module, not Core-Styles.

Co-authored-by: Cursor <cursoragent@cursor.com>
@wesleyboar wesleyboar changed the title feat(cms): Research/Software project page assets (Phase B) feat(cms): snippet (for TACC project pages redesign) Jun 2, 2026
wesleyboar added a commit to TACC/Core-Styles that referenced this pull request Jun 2, 2026
## Overview

Skins Django CMS Bootstrap 4 Alert plugin output using `x-message`.

## Related

- [RT
#42216](https://tickets.tacc.utexas.edu/Ticket/Display.html?id=42216)
- required by TACC/tup-ui#558
- pairs with TACC/Core-CMS#1167

## Changes

- **added** Bootstrap 4 `alert` component

## Testing

1. `npm run build:css`
2. `npm start`
3. Open the [Bootstrap 4 Alerts
demo](http://localhost:3000/components/detail/alert).
4. Review styles.
5. Compare to [C Message
demo](http://localhost:3000/components/detail/c-message--type).

## UI

| Alerts | Primary Alert = Global Message |
| - | - |
| <img width="1066" height="1581" alt="Alerts"
src="https://github.com/user-attachments/assets/9567db25-6ec6-4ad1-af7c-a3684a23187a"
/> | <img width="900" height="470" alt="Primary Alert : Global Message"
src="https://github.com/user-attachments/assets/a78f31a7-76a1-4ae6-8f01-027e0259af84"
/> |


https://github.com/user-attachments/assets/87f3f3f7-f642-41de-a0f7-8ceca25fcba3

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
wesleyboar added a commit to TACC/Core-CMS that referenced this pull request Jun 2, 2026
## Overview

Sort tables on CMS pages.

> [!IMPORTANT]
> Reconsider using
[tristen/tablesort](https://github.com/tristen/tablesort). It may not
use button, but it is still accessible, and maintained, and clean.

## Related

- [RT
#42216](https://tickets.tacc.utexas.edu/Ticket/Display.html?id=42216)
- pairs with TACC/Core-Styles#642
- required by TACC/tup-ui#558

## Changes

- **added** sortable table script
- **updated** delayed page assets to run it on main content

## Testing

1. Listing table: Name column A→Z by default; Description does not sort.
2. Other columns sort on header click.

## UI


https://github.com/user-attachments/assets/363997f8-d8fd-4119-a7c7-9de2d85d5f73

<img width="900" height="470" alt="markup"
src="https://github.com/user-attachments/assets/543c75fe-4cf8-4151-9d0e-14ba0c709109"
/>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Load list.js before sortableTable; pin Core-CMS 063e44f9. Document
js-sortable and not-sortable; no default sort on load.

Co-authored-by: Cursor <cursoragent@cursor.com>
wesleyboar and others added 6 commits June 4, 2026 16:57
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Listing/table authoring is documented in Core-CMS sortableTable instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace inline data-aria promotion with the shared _utils module before sortableTable init.

Co-authored-by: Cursor <cursoragent@cursor.com>
wesleyboar added a commit to TACC/Core-Styles that referenced this pull request Jun 8, 2026
## Overview

ES module to overcome Core-CMS WYSIWYG deleting `aria-*` attributes.

## Related

- supports testing TACC/tup-ui#558

## Changes

- **adds** script

## Testing

Test TACC/Core-CMS#1169 still works via
TACC/tup-ui#558 using new module hack.

```diff
<script type="module">
+ import promoteDataAriaAttributes from 'https://cdn.jsdelivr.net/gh/TACC/Core-Styles@feat/promote-data-aria-attributes/src/lib/_utils/js/promote-data-aria-attributes.js';
  import sortableTable from 'https://cdn.jsdelivr.net/gh/TACC/Core-CMS@58e0875e/taccsite_cms/static/site_cms/js/modules/sortableTable.js';

  const scopeElement = document.getElementById('cms-content');

+ promoteDataAriaAttributes(scopeElement);
  sortableTable({
    scopeElement,
    buttonClass: 'btn btn-link',
  });
</script>
```

> [!TIP]
> Still works!

## UI

Skipped.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
wesleyboar added a commit to TACC/Core-CMS that referenced this pull request Jun 8, 2026
## Overview

Sortable CMS tables use List.js 2.3.1 instead of custom sort logic.
Editors use `js-sortable` on the table and `not-sortable` on non-sort
columns; row order stays as authored until a header is clicked.

## Related

- [RT
#42216](https://tickets.tacc.utexas.edu/Ticket/Display.html?id=42216)
- closes #1168
- supersedes #1167
- required by TACC/tup-ui#558

## Changes

- **added** List.js 2.3.1 from jsDelivr in delayed assets (SRI)
- **refactored** `sortableTable.js` for List prep, row `data-*`,
aria-sort sync
- **updated** `sortableTable.css` for `js-sortable` and `.sort` controls

## Testing

1. Deploy or load delayed assets with List.js + `sortableTable` on
`#cms-content`.
2. Use a table with `o-fixed-header-table js-sortable` and
`th.not-sortable` on Description.
3. On load: CMS row order, all `aria-sort="none"`.
    <sup>⚠️ CMS strips `data-attribute`.</sup>
4. Click headers: sort toggles; other columns reset to `none`.
5. Column with link in cell sorts on link text.
6. Add `<fieldset>` with filter UI (see `tmp/pr-1169.html`).
7. Verify filtering works.

## UI


https://github.com/user-attachments/assets/52ab6aed-2e43-47f1-be46-6df493128f86

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
wesleyboar added a commit to TACC/Core-CMS-Custom that referenced this pull request Jun 8, 2026
## Overview

ES module for Core CMS WYSIWYG HTML that copies `data-aria-*` to
`aria-*` on a scope root before other scripts run.

## Related

- moves TACC/Core-Styles#645
- supports testing TACC/tup-ui#558

## Changes

- **added** `generic_assets/js/promote-data-aria-attributes.js`

## Testing

1. After merge, import from jsDelivr on this repo (pin commit hash).
2. Confirm sortable table / ARIA behavior still works per
TACC/tup-ui#558.

## UI

Skipped.

Co-authored-by: Cursor <cursoragent@cursor.com>
Research snippet includes filter template, drops promote script, and pins assets to Core-Styles/Core-CMS tags with interim branch JS for dynamic filters.
Branch refs cache poorly on jsDelivr; use b13909f4 until #1178 is tagged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant