-
Notifications
You must be signed in to change notification settings - Fork 432
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(vision): add "save result as json/csv" buttons #6158
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
1 Ignored Deployment
|
No changes to documentation |
Component Testing Report Updated Apr 27, 2024 1:04 AM (UTC)
|
Looks great! I noticed that CSV exports breaks if a column includes something non-string, like an object. Could you test it with different types of data and make sure they are encoded correctly? |
c687f54
to
a1b81b8
Compare
a1b81b8
to
416bfa3
Compare
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected] |
👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎ This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think using blob urls is a little safer here than using data URLs (especially when not base64 encoded). I've made a PR that changes to using those instead - let me know what you think.
There is one change I'd like to see here; we do not encourage splitting internationalized strings into different parts, which we do here:
- "Save result as"
- "CSV" / "JSON"
The rationale is that some languages may need to put the format at the start or middle of the sentence, which this does not allow for.
What we can do is use the <Translate>
component and pass in the format download button as a component, eg:
<Translate
components={{DownloadFormatButton: JsonButton /* or CsvButton */}}
i18nKey="result.save-result-as-format"
t={t}
/>
And have the resource key be:
{
// ...
'result.save-result-as-format': 'Save result as <DownloadFormatButton/>'
}
This will allow translators to use the format anywhere they want in the string.
This will need a bit of CSS tweaking, however, since the button would be inline with the rest of the string
@rexxars I've updated the PR with your suggestions now and ended up with the following structure: <Translate
components={{
SaveResultButtons: () => (
<>
<SaveJsonButton blobUrl={jsonUrl} />
<SaveCsvButton blobUrl={csvUrl} />
</>
),
}}
i18nKey="result.save-result-as-format"
t={t}
/> For the buttons I ended up using a static string (CSV, JSON), as these are file extensions and afaik should not differ between languages(?) Let me know what you think |
e1c2145
to
6ff433d
Compare
6ff433d
to
33acdde
Compare
* feat(vision): add download as json/csv buttons * fix(vision): use blob urls for downloads (#6213) * fix(vision): use Translate component to avoid splitting i18n strings * fix(vision): clean up i18n resources for result saving feature --------- Co-authored-by: Espen Hovlandsdal <[email protected]>
* feat(vision): add download as json/csv buttons * fix(vision): use blob urls for downloads (#6213) * fix(vision): use Translate component to avoid splitting i18n strings * fix(vision): clean up i18n resources for result saving feature --------- Co-authored-by: Espen Hovlandsdal <[email protected]>
* feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * fix(studio): adding tooltip to read-only bool inputs (#6580) * fix(studio): adding tooltip to read-only bool inputs * fix(studio): testing for tooltip on boolean read-only inputs * fix(studio): removing memoisation as it was useless * chore(deps): dedupe pnpm-lock.yaml (#6607) Co-authored-by: juice49 <[email protected]> * feat: add canHandleIntent to Structure Builder component (#6516) * feat: add canHandleIntent to S.component * fix: properly type canHandleIntent * Update packages/sanity/src/structure/structureBuilder/Component.ts Co-authored-by: Ash <[email protected]> --------- Co-authored-by: Ash <[email protected]> * {wip} saved 2024-05-8 16:18 * fix(structure): use case insensitive search for inspect dialog (#6588) * test(core): await publish action to prevent test flakiness (#6609) * fix(deps): update dependency get-it to ^8.4.29 (#6603) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(vision): add "save result as json/csv" buttons (#6158) * feat(vision): add download as json/csv buttons * fix(vision): use blob urls for downloads (#6213) * fix(vision): use Translate component to avoid splitting i18n strings * fix(vision): clean up i18n resources for result saving feature --------- Co-authored-by: Espen Hovlandsdal <[email protected]> * fix(core/form): prevent onFocus for root object paths being called by editing form (#6610) This will prevent any input calling element.onFocus() on any opened block or inline-object inside the PT-input, as that will close the editing modal for them (through DocumentPaneProvider) * feat(core): add useEditStateList hook * feat(sheet-list): add table view * feat(structure): rendering columns in sheet list * Merge branch 'edx-1284' into EDX-1308 * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * test(core, desk): add tests for keyvalue storage (#6587) * test(core): add tests for document list sort and display * test(structure): add test for inspect dialog * test(core): add tests for saved searches * v3.41.0 * test(core): fixes flaky test with document publish (#6595) * test(core): fixes flaky test with document publish * test(core): use more realistic fix for flaky test * chore(deps): update linters (#6590) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency styled-components to ^6.1.10 (#6585) * chore(deps): update dependency styled-components to ^6.1.10 * chore: update test snapshot --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cody Olsen <[email protected]> * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(lockfile): update dependency @sanity/react-loader to v1.9.17 (#6584) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(presentation): regression causing a crash when in an embedded studio (#6606) * v3.41.1 * fix(studio): adding tooltip to read-only bool inputs (#6580) * fix(studio): adding tooltip to read-only bool inputs * fix(studio): testing for tooltip on boolean read-only inputs * fix(studio): removing memoisation as it was useless * chore(deps): dedupe pnpm-lock.yaml (#6607) Co-authored-by: juice49 <[email protected]> * feat: add canHandleIntent to Structure Builder component (#6516) * feat: add canHandleIntent to S.component * fix: properly type canHandleIntent * Update packages/sanity/src/structure/structureBuilder/Component.ts Co-authored-by: Ash <[email protected]> --------- Co-authored-by: Ash <[email protected]> * fix(structure): use case insensitive search for inspect dialog (#6588) * test(core): await publish action to prevent test flakiness (#6609) * fix(deps): update dependency get-it to ^8.4.29 (#6603) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(vision): add "save result as json/csv" buttons (#6158) * feat(vision): add download as json/csv buttons * fix(vision): use blob urls for downloads (#6213) * fix(vision): use Translate component to avoid splitting i18n strings * fix(vision): clean up i18n resources for result saving feature --------- Co-authored-by: Espen Hovlandsdal <[email protected]> * fix(core/form): prevent onFocus for root object paths being called by editing form (#6610) This will prevent any input calling element.onFocus() on any opened block or inline-object inside the PT-input, as that will close the editing modal for them (through DocumentPaneProvider) * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * v3.41.0 * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(presentation): regression causing a crash when in an embedded studio (#6606) * v3.41.1 * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(sheet-list): add paginated sheet list view * feat(structure): control column visibility in sheet list * feat(structure): control column visibility in sheet list * feat(structure): control column visibility in sheet list * feat(structure): row selection * chore(bundle): remove unnecessary bundles and make root imports index (#6616) * chore(bundle): remove unnecessary bundles and make root imports index * chore: remove unnecessary depcheck updates * feat(pte): add `hideToolbar` and `fullscreen` props to `PortableTextInput` (#6621) * feat(form/inputs): add prop to hide the toolbar in PT-input * feat(form/inputs): control PT-input fullscreen from props * chore(test-studio): add example document type with custom block editor variants * refactor: rename `fullscreen` to `initialFullscreen` * refactor: don't unnecessarily alias `initialFullscreen` prop --------- Co-authored-by: Per-Kristian Nordnes <[email protected]> * fix(pte): don't render the PTE block extras container when not in use, disable pointer events on highlights (#6620) * fix(pte): don't unnecessarily render PTE block actions container * fix: remove pointer-events from validation + change highlight blocks * chore(lockfile): update dependency @sanity/assist to v3.0.4 (#6601) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * skip recalling invokePrepare (#6608) * feat(structure): only showing the column select for hideable columns * fix(core): update test snapshots (#6629) * fix(e2e): support headless/headful env var toggle (#6558) * fix(deps): update dependency @sanity/presentation to v1.15.2 (#6632) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(structure): booleans render as selects * feat: add icon to BlockStyleDefinition (#6613) * feat(pte): initial support for `renderEditable` in portable text inputs (#6627) * feat(form/inputs): support rendering PTE Editable through PortableTextInput * fix(form/inputs): render with props, but without defaultRender defaultRender is not part of the PortableTextEditor's Editable props * refactor: rename useSpellcheck hook for consistency * refactor: prefer importing react MutableRefObject type directly * chore(test-studio): update custom block editor schema * chore: mark renderEditable as hidden and in beta --------- Co-authored-by: Per-Kristian Nordnes <[email protected]> * chore(ci): add a circleci config to bundle packages (#6446) * chore(ci): add a circleci config to bundle packages * fix: store escaped package names in the manifest * chore: run job only on current * chore(lockfile): update dependency esbuild to v0.21.2 (#6602) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(structure): add virtualised documentSheetList and sheetListStore * feat(core): add useEditStateList hook * feat(sheet-list): add table view * feat(sheet-list): add paginated sheet list view * feat(structure): clean files and implement paginated sheet list with filter * fix(core): remove useEditStateList hook * chore(core): refactor search elements for export and reusability * feat(structure): adding columns control back in * fix(structure): update documentSheetList test * chore(structure): rename useDocumentSheetListStore properties * feat(structure): refactor for cols control * feat(structure): always require 1 column visible * feat(structure): testing for Columns Control * feat(structure): spreadsheet styling on sheetlistcell * fix(deps): Update dev-non-major (#6659) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(scheduled-publishing): don't include it if it's the only plugin available (#6530) * fix(scheduled-publishing): don't include the tool if it's the plugin available * chore(core): add tests for resolve default plugins * feat(structure): add virtualised documentSheetList and sheetListStore * feat(core): add useEditStateList hook * feat(sheet-list): add table view * feat(sheet-list): add paginated sheet list view * feat(structure): clean files and implement paginated sheet list with filter * fix(core): remove useEditStateList hook * chore(core): refactor search elements for export and reusability * fix(structure): update documentSheetList test * chore(structure): rename useDocumentSheetListStore properties * chore(structure): rename documentSheet* to documentSheetList* * Merge branch 'edx-1284' into EDX-1308 * Merge branch 'edx-1284' into EDX-1308 * Merge branch 'edx-1284' into EDX-1308 * feat(structure): removing changes to book schema * fix(structure): remove useEffect and set table columns as initial state (#6712) * fix(structure): remove useEffect and set table columns as initial state * fix(structure): use resetColumnVisibility() helper * feat(structure): testing for useDocumentSheetColumns with initial cols * feat(structure): PR comments to improve types and remove WIP * feat(structure): fixing broken test for init col visibilities --------- Co-authored-by: ecospark[bot] <128108030+ecospark[bot]@users.noreply.github.com> Co-authored-by: juice49 <[email protected]> Co-authored-by: Carolina Gonzalez <[email protected]> Co-authored-by: Ash <[email protected]> Co-authored-by: Pedro Bonamin <[email protected]> Co-authored-by: Espen Hovlandsdal <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Rostislav Melkumyan <[email protected]> Co-authored-by: Per-Kristian Nordnes <[email protected]> Co-authored-by: Binoy Patel <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Cody Olsen <[email protected]> Co-authored-by: Cody Olsen <[email protected]> Co-authored-by: Robin Pyon <[email protected]> Co-authored-by: Evensix <[email protected]> Co-authored-by: Bjørge Næss <[email protected]> Co-authored-by: Pedro Bonamin <[email protected]>
* feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * fix(studio): adding tooltip to read-only bool inputs (#6580) * fix(studio): adding tooltip to read-only bool inputs * fix(studio): testing for tooltip on boolean read-only inputs * fix(studio): removing memoisation as it was useless * chore(deps): dedupe pnpm-lock.yaml (#6607) Co-authored-by: juice49 <[email protected]> * feat: add canHandleIntent to Structure Builder component (#6516) * feat: add canHandleIntent to S.component * fix: properly type canHandleIntent * Update packages/sanity/src/structure/structureBuilder/Component.ts Co-authored-by: Ash <[email protected]> --------- Co-authored-by: Ash <[email protected]> * {wip} saved 2024-05-8 16:18 * fix(structure): use case insensitive search for inspect dialog (#6588) * test(core): await publish action to prevent test flakiness (#6609) * fix(deps): update dependency get-it to ^8.4.29 (#6603) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(vision): add "save result as json/csv" buttons (#6158) * feat(vision): add download as json/csv buttons * fix(vision): use blob urls for downloads (#6213) * fix(vision): use Translate component to avoid splitting i18n strings * fix(vision): clean up i18n resources for result saving feature --------- Co-authored-by: Espen Hovlandsdal <[email protected]> * fix(core/form): prevent onFocus for root object paths being called by editing form (#6610) This will prevent any input calling element.onFocus() on any opened block or inline-object inside the PT-input, as that will close the editing modal for them (through DocumentPaneProvider) * feat(core): add useEditStateList hook * feat(sheet-list): add table view * feat(structure): rendering columns in sheet list * Merge branch 'edx-1284' into EDX-1308 * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * test(core, desk): add tests for keyvalue storage (#6587) * test(core): add tests for document list sort and display * test(structure): add test for inspect dialog * test(core): add tests for saved searches * v3.41.0 * test(core): fixes flaky test with document publish (#6595) * test(core): fixes flaky test with document publish * test(core): use more realistic fix for flaky test * chore(deps): update linters (#6590) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency styled-components to ^6.1.10 (#6585) * chore(deps): update dependency styled-components to ^6.1.10 * chore: update test snapshot --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cody Olsen <[email protected]> * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(lockfile): update dependency @sanity/react-loader to v1.9.17 (#6584) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(presentation): regression causing a crash when in an embedded studio (#6606) * v3.41.1 * fix(studio): adding tooltip to read-only bool inputs (#6580) * fix(studio): adding tooltip to read-only bool inputs * fix(studio): testing for tooltip on boolean read-only inputs * fix(studio): removing memoisation as it was useless * chore(deps): dedupe pnpm-lock.yaml (#6607) Co-authored-by: juice49 <[email protected]> * feat: add canHandleIntent to Structure Builder component (#6516) * feat: add canHandleIntent to S.component * fix: properly type canHandleIntent * Update packages/sanity/src/structure/structureBuilder/Component.ts Co-authored-by: Ash <[email protected]> --------- Co-authored-by: Ash <[email protected]> * fix(structure): use case insensitive search for inspect dialog (#6588) * test(core): await publish action to prevent test flakiness (#6609) * fix(deps): update dependency get-it to ^8.4.29 (#6603) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(vision): add "save result as json/csv" buttons (#6158) * feat(vision): add download as json/csv buttons * fix(vision): use blob urls for downloads (#6213) * fix(vision): use Translate component to avoid splitting i18n strings * fix(vision): clean up i18n resources for result saving feature --------- Co-authored-by: Espen Hovlandsdal <[email protected]> * fix(core/form): prevent onFocus for root object paths being called by editing form (#6610) This will prevent any input calling element.onFocus() on any opened block or inline-object inside the PT-input, as that will close the editing modal for them (through DocumentPaneProvider) * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * v3.41.0 * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(presentation): regression causing a crash when in an embedded studio (#6606) * v3.41.1 * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(sheet-list): add paginated sheet list view * feat(structure): control column visibility in sheet list * feat(structure): control column visibility in sheet list * feat(structure): control column visibility in sheet list * feat(structure): row selection * chore(bundle): remove unnecessary bundles and make root imports index (#6616) * chore(bundle): remove unnecessary bundles and make root imports index * chore: remove unnecessary depcheck updates * feat(pte): add `hideToolbar` and `fullscreen` props to `PortableTextInput` (#6621) * feat(form/inputs): add prop to hide the toolbar in PT-input * feat(form/inputs): control PT-input fullscreen from props * chore(test-studio): add example document type with custom block editor variants * refactor: rename `fullscreen` to `initialFullscreen` * refactor: don't unnecessarily alias `initialFullscreen` prop --------- Co-authored-by: Per-Kristian Nordnes <[email protected]> * fix(pte): don't render the PTE block extras container when not in use, disable pointer events on highlights (#6620) * fix(pte): don't unnecessarily render PTE block actions container * fix: remove pointer-events from validation + change highlight blocks * featu(strucuture): allowing shift selecting across multiple sheet list rows * chore(lockfile): update dependency @sanity/assist to v3.0.4 (#6601) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * skip recalling invokePrepare (#6608) * feat(structure): only showing the column select for hideable columns * fix(core): update test snapshots (#6629) * fix(e2e): support headless/headful env var toggle (#6558) * fix(deps): update dependency @sanity/presentation to v1.15.2 (#6632) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(structure): booleans render as selects * feat: add icon to BlockStyleDefinition (#6613) * feat(pte): initial support for `renderEditable` in portable text inputs (#6627) * feat(form/inputs): support rendering PTE Editable through PortableTextInput * fix(form/inputs): render with props, but without defaultRender defaultRender is not part of the PortableTextEditor's Editable props * refactor: rename useSpellcheck hook for consistency * refactor: prefer importing react MutableRefObject type directly * chore(test-studio): update custom block editor schema * chore: mark renderEditable as hidden and in beta --------- Co-authored-by: Per-Kristian Nordnes <[email protected]> * chore(ci): add a circleci config to bundle packages (#6446) * chore(ci): add a circleci config to bundle packages * fix: store escaped package names in the manifest * chore: run job only on current * chore(lockfile): update dependency esbuild to v0.21.2 (#6602) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(structure): add virtualised documentSheetList and sheetListStore * feat(core): add useEditStateList hook * feat(sheet-list): add table view * feat(sheet-list): add paginated sheet list view * feat(structure): clean files and implement paginated sheet list with filter * fix(core): remove useEditStateList hook * chore(core): refactor search elements for export and reusability * feat(structure): adding columns control back in * fix(structure): update documentSheetList test * chore(structure): rename useDocumentSheetListStore properties * feat(structure): refactor for cols control * feat(structure): always require 1 column visible * feat(structure): testing for Columns Control * feat(structure): spreadsheet styling on sheetlistcell * fix(deps): Update dev-non-major (#6659) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(scheduled-publishing): don't include it if it's the only plugin available (#6530) * fix(scheduled-publishing): don't include the tool if it's the plugin available * chore(core): add tests for resolve default plugins * feat(structure): add virtualised documentSheetList and sheetListStore * feat(core): add useEditStateList hook * feat(sheet-list): add table view * feat(sheet-list): add paginated sheet list view * feat(structure): clean files and implement paginated sheet list with filter * fix(core): remove useEditStateList hook * chore(core): refactor search elements for export and reusability * fix(structure): update documentSheetList test * chore(structure): rename useDocumentSheetListStore properties * chore(structure): rename documentSheet* to documentSheetList* * Merge branch 'edx-1284' into EDX-1308 * Merge branch 'edx-1284' into EDX-1308 * Merge branch 'edx-1284' into EDX-1308 * feat(structure): removing changes to book schema * feat(structure): state for selected anchor * fix(structure): remove useEffect and set table columns as initial state (#6712) * fix(structure): remove useEffect and set table columns as initial state * fix(structure): use resetColumnVisibility() helper * feat(structure): testing for useDocumentSheetColumns with initial cols * feat(structure): fixing import of afterAll * feat(structure): PR comments to improve types and remove WIP * feat(structure): fixing broken test for init col visibilities * feat(structure): redirectory of sheet list modules * feat(structure): testing row selector * feat(structure): refactor of additional selection rows * feat(structure): refactor of additional selection rows * feat(structure): fixing issue with nested fields and separator * fix(structure): fixing incorrect way of setting col visibility * feat(structure): removing incorrectly placed hook * feat(structure): codeowners for doc list * feat(structure): fixing type issue * feat(structure): rename of options.meta fnc --------- Co-authored-by: ecospark[bot] <128108030+ecospark[bot]@users.noreply.github.com> Co-authored-by: juice49 <[email protected]> Co-authored-by: Carolina Gonzalez <[email protected]> Co-authored-by: Ash <[email protected]> Co-authored-by: Pedro Bonamin <[email protected]> Co-authored-by: Espen Hovlandsdal <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Rostislav Melkumyan <[email protected]> Co-authored-by: Per-Kristian Nordnes <[email protected]> Co-authored-by: Binoy Patel <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Cody Olsen <[email protected]> Co-authored-by: Cody Olsen <[email protected]> Co-authored-by: Robin Pyon <[email protected]> Co-authored-by: Evensix <[email protected]> Co-authored-by: Bjørge Næss <[email protected]> Co-authored-by: Pedro Bonamin <[email protected]>
* feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * fix(studio): adding tooltip to read-only bool inputs (#6580) * fix(studio): adding tooltip to read-only bool inputs * fix(studio): testing for tooltip on boolean read-only inputs * fix(studio): removing memoisation as it was useless * chore(deps): dedupe pnpm-lock.yaml (#6607) Co-authored-by: juice49 <[email protected]> * feat: add canHandleIntent to Structure Builder component (#6516) * feat: add canHandleIntent to S.component * fix: properly type canHandleIntent * Update packages/sanity/src/structure/structureBuilder/Component.ts Co-authored-by: Ash <[email protected]> --------- Co-authored-by: Ash <[email protected]> * {wip} saved 2024-05-8 16:18 * fix(structure): use case insensitive search for inspect dialog (#6588) * test(core): await publish action to prevent test flakiness (#6609) * fix(deps): update dependency get-it to ^8.4.29 (#6603) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(vision): add "save result as json/csv" buttons (#6158) * feat(vision): add download as json/csv buttons * fix(vision): use blob urls for downloads (#6213) * fix(vision): use Translate component to avoid splitting i18n strings * fix(vision): clean up i18n resources for result saving feature --------- Co-authored-by: Espen Hovlandsdal <[email protected]> * fix(core/form): prevent onFocus for root object paths being called by editing form (#6610) This will prevent any input calling element.onFocus() on any opened block or inline-object inside the PT-input, as that will close the editing modal for them (through DocumentPaneProvider) * feat(core): add useEditStateList hook * feat(sheet-list): add table view * feat(structure): rendering columns in sheet list * Merge branch 'edx-1284' into EDX-1308 * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * test(core, desk): add tests for keyvalue storage (#6587) * test(core): add tests for document list sort and display * test(structure): add test for inspect dialog * test(core): add tests for saved searches * v3.41.0 * test(core): fixes flaky test with document publish (#6595) * test(core): fixes flaky test with document publish * test(core): use more realistic fix for flaky test * chore(deps): update linters (#6590) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency styled-components to ^6.1.10 (#6585) * chore(deps): update dependency styled-components to ^6.1.10 * chore: update test snapshot --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cody Olsen <[email protected]> * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(lockfile): update dependency @sanity/react-loader to v1.9.17 (#6584) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(presentation): regression causing a crash when in an embedded studio (#6606) * v3.41.1 * fix(studio): adding tooltip to read-only bool inputs (#6580) * fix(studio): adding tooltip to read-only bool inputs * fix(studio): testing for tooltip on boolean read-only inputs * fix(studio): removing memoisation as it was useless * chore(deps): dedupe pnpm-lock.yaml (#6607) Co-authored-by: juice49 <[email protected]> * feat: add canHandleIntent to Structure Builder component (#6516) * feat: add canHandleIntent to S.component * fix: properly type canHandleIntent * Update packages/sanity/src/structure/structureBuilder/Component.ts Co-authored-by: Ash <[email protected]> --------- Co-authored-by: Ash <[email protected]> * fix(structure): use case insensitive search for inspect dialog (#6588) * test(core): await publish action to prevent test flakiness (#6609) * fix(deps): update dependency get-it to ^8.4.29 (#6603) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(vision): add "save result as json/csv" buttons (#6158) * feat(vision): add download as json/csv buttons * fix(vision): use blob urls for downloads (#6213) * fix(vision): use Translate component to avoid splitting i18n strings * fix(vision): clean up i18n resources for result saving feature --------- Co-authored-by: Espen Hovlandsdal <[email protected]> * fix(core/form): prevent onFocus for root object paths being called by editing form (#6610) This will prevent any input calling element.onFocus() on any opened block or inline-object inside the PT-input, as that will close the editing modal for them (through DocumentPaneProvider) * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * v3.41.0 * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(presentation): regression causing a crash when in an embedded studio (#6606) * v3.41.1 * fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(core, structure) sheet list menu option (#6593) * feat(structure): Rendering sheet list layout option in test-studio * feat(structure): branching the rendering of different document list panes * feat(structure): renaming of generic pane components * feat(structure): fixing typing for new sheetList * feat(structure): resolving a default export to named * feat(structure): testing sheet view pane display logcic * fix(structure): resolving testing for useStructureTool * chore(lockfile): update dependency zod to v3.23.7 (#6527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(sheet-list): add paginated sheet list view * feat(structure): control column visibility in sheet list * feat(structure): control column visibility in sheet list * feat(structure): control column visibility in sheet list * feat(structure): row selection * chore(bundle): remove unnecessary bundles and make root imports index (#6616) * chore(bundle): remove unnecessary bundles and make root imports index * chore: remove unnecessary depcheck updates * feat(pte): add `hideToolbar` and `fullscreen` props to `PortableTextInput` (#6621) * feat(form/inputs): add prop to hide the toolbar in PT-input * feat(form/inputs): control PT-input fullscreen from props * chore(test-studio): add example document type with custom block editor variants * refactor: rename `fullscreen` to `initialFullscreen` * refactor: don't unnecessarily alias `initialFullscreen` prop --------- Co-authored-by: Per-Kristian Nordnes <[email protected]> * fix(pte): don't render the PTE block extras container when not in use, disable pointer events on highlights (#6620) * fix(pte): don't unnecessarily render PTE block actions container * fix: remove pointer-events from validation + change highlight blocks * chore(lockfile): update dependency @sanity/assist to v3.0.4 (#6601) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * skip recalling invokePrepare (#6608) * feat(structure): only showing the column select for hideable columns * fix(core): update test snapshots (#6629) * fix(e2e): support headless/headful env var toggle (#6558) * fix(deps): update dependency @sanity/presentation to v1.15.2 (#6632) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(structure): booleans render as selects * feat: add icon to BlockStyleDefinition (#6613) * feat(pte): initial support for `renderEditable` in portable text inputs (#6627) * feat(form/inputs): support rendering PTE Editable through PortableTextInput * fix(form/inputs): render with props, but without defaultRender defaultRender is not part of the PortableTextEditor's Editable props * refactor: rename useSpellcheck hook for consistency * refactor: prefer importing react MutableRefObject type directly * chore(test-studio): update custom block editor schema * chore: mark renderEditable as hidden and in beta --------- Co-authored-by: Per-Kristian Nordnes <[email protected]> * chore(ci): add a circleci config to bundle packages (#6446) * chore(ci): add a circleci config to bundle packages * fix: store escaped package names in the manifest * chore: run job only on current * chore(lockfile): update dependency esbuild to v0.21.2 (#6602) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(structure): add virtualised documentSheetList and sheetListStore * feat(core): add useEditStateList hook * feat(sheet-list): add table view * feat(sheet-list): add paginated sheet list view * feat(structure): clean files and implement paginated sheet list with filter * fix(core): remove useEditStateList hook * chore(core): refactor search elements for export and reusability * feat(structure): adding columns control back in * fix(structure): update documentSheetList test * chore(structure): rename useDocumentSheetListStore properties * feat(structure): refactor for cols control * feat(structure): always require 1 column visible * feat(structure): testing for Columns Control * feat(structure): spreadsheet styling on sheetlistcell * feat(structure): POC for cell value copy/paste * feat(structure): handling up and down selection of cells * feat(structure): handling up and down selection of cells * feat(structure): handling up and down selection of cells * feat(structure): handling up and down selection of cells * feat(structure): handling up and down selection of cells * feat(structure): simplifying handler for keyDown * feat(structure): return types for SheetListContext * feat(structure): fixing all key down issue on focused cell * feat(structure): starting support for left and right arrows * feat(structure): starting to branch on double clicks * feat(structure): supporting arrow right/left for col navigation * feat(structure): using singleton alias import * feat(structure): merge with latest next * feat(structure): handling enter clicks * feat(structure): handling enter clicks * feat(structure): single cell paste * feat(structure): handling batch pastes * feat(structure): handling copy when selected * feat(structure): copy only handled in addition to default on anchor select * feat(structure): improvement to readability; enter to blur and submit * feat(structure): testing for keyboard nav on cells * feat(structure): testing for keyboard nav on cells * feat(structure): fixing mock for pane test * feat(structure): fixing mock for pane test * feat(structure): fixing for react compiler * feat(structure): refactor of name for selection provider * feat(structure): supporting keyboard on select; refactor of provider name --------- Co-authored-by: ecospark[bot] <128108030+ecospark[bot]@users.noreply.github.com> Co-authored-by: juice49 <[email protected]> Co-authored-by: Carolina Gonzalez <[email protected]> Co-authored-by: Ash <[email protected]> Co-authored-by: Pedro Bonamin <[email protected]> Co-authored-by: Espen Hovlandsdal <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Rostislav Melkumyan <[email protected]> Co-authored-by: Per-Kristian Nordnes <[email protected]> Co-authored-by: Binoy Patel <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Cody Olsen <[email protected]> Co-authored-by: Cody Olsen <[email protected]> Co-authored-by: Robin Pyon <[email protected]> Co-authored-by: Evensix <[email protected]> Co-authored-by: Bjørge Næss <[email protected]>
Description
Added "save result as" buttons to Vision result when a result is present. See bottom right corner of screenshot.
What to review
Testing
Notes for release
You can now save the Sanity vision result as JSON and CSV after querying