25c12f2b18
Adds a URL-driven toggle (?labels=true, mirroring embed=va) that swaps grid column headers between NAME and LABEL in both the Viewer and Editor, with a "Show labels"/"Show names" item in each grid's right-click context menu. The header-info popup now shows NAME first regardless of display mode. Sorting/filtering/data binding stay NAME-based throughout — only the displayed header text changes. New shared, unit-tested utils (parse-labels-param, display-col-headers, col-info-html) back both pages. Mock data (viewdata.js, getdata.js) gains a couple of columns with LABEL != NAME plus a blank-LABEL case, covered by a new viewer-labels.cy.ts e2e spec now wired into CI. Also fixes a pre-existing gap in cypress/support/commands.ts: the isLoggedIn/loginAndUpdateValidKey custom commands had no Cypress Chainable type augmentation, and moment was imported as a namespace import despite its `export =` typing making it uncallable that way.