tycho-components 0.38.0 → 0.38.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,7 @@
1
1
  declare function updateLiveTour(liveTour: boolean): Promise<import("axios").AxiosResponse<string, any, {}>>;
2
+ declare function updateSettings(settings: Record<string, unknown>): Promise<import("axios").AxiosResponse<string, any, {}>>;
2
3
  declare const ProfileService: {
3
4
  updateLiveTour: typeof updateLiveTour;
5
+ updateSettings: typeof updateSettings;
4
6
  };
5
7
  export default ProfileService;
@@ -2,7 +2,11 @@ import api from '../api';
2
2
  function updateLiveTour(liveTour) {
3
3
  return api.patch(`${import.meta.env.VITE_APP_AUTH_API}/profile/live-tour`, { liveTour });
4
4
  }
5
+ function updateSettings(settings) {
6
+ return api.patch(`${import.meta.env.VITE_APP_AUTH_API}/profile/settings`, { settings });
7
+ }
5
8
  const ProfileService = {
6
9
  updateLiveTour,
10
+ updateSettings,
7
11
  };
8
12
  export default ProfileService;
@@ -10,6 +10,8 @@ export type Corpus = {
10
10
  uploadDir: string;
11
11
  parameters: Record<string, any>;
12
12
  editionTiers?: EditionTierDefinition[];
13
+ /** Populated by some API payloads when `editionTiers` is absent. */
14
+ editionTiersOrDefault?: EditionTierDefinition[];
13
15
  status: CorpusStatus;
14
16
  opened: boolean;
15
17
  featured?: boolean;
@@ -1,5 +1,6 @@
1
1
  import { useContext } from 'react';
2
2
  import CommonContext from './CommonContext';
3
+ import { normalizeCorpusFromApi } from '../functions/normalizeCorpusFromApi';
3
4
  import { corpus } from './store/actions';
4
5
  import { EMPTY_CORPUS } from './types/Corpus';
5
6
  export const useCorpusUtils = () => {
@@ -8,7 +9,7 @@ export const useCorpusUtils = () => {
8
9
  return state.corpus || EMPTY_CORPUS;
9
10
  };
10
11
  const setCorpus = (thisCorpus) => {
11
- dispatch(corpus(thisCorpus));
12
+ dispatch(corpus(thisCorpus ? normalizeCorpusFromApi(thisCorpus) : undefined));
12
13
  };
13
14
  const hasCorpus = () => {
14
15
  return state.corpus !== undefined && state.corpus.uid !== '';
@@ -1,4 +1,5 @@
1
1
  export { default as PageRenderView } from './PageRenderView';
2
2
  export { default as collapseElementsForTier, shouldSkipJunctionContinuationElement, shouldSkipSegmentationElement, shouldSkipSegmentationToken, findSegmentationGroupBounds, isTokenBearingCollapsed, } from './collapseElementsForTier';
3
3
  export { tokenRefToToken, default as isTokenRefVisible } from './tokenUtils';
4
+ export * from './editionTierOrder';
4
5
  export * from './types';
@@ -1,4 +1,5 @@
1
1
  export { default as PageRenderView } from './PageRenderView';
2
2
  export { default as collapseElementsForTier, shouldSkipJunctionContinuationElement, shouldSkipSegmentationElement, shouldSkipSegmentationToken, findSegmentationGroupBounds, isTokenBearingCollapsed, } from './collapseElementsForTier';
3
3
  export { tokenRefToToken, default as isTokenRefVisible } from './tokenUtils';
4
+ export * from './editionTierOrder';
4
5
  export * from './types';
@@ -13,5 +13,5 @@ export type { SearchCriteria } from "./TreeView/TreeViewSearch/TreeViewSearch";
13
13
  export { default as CytoscapeMenuCanvas } from "./CytoscapeMenu/CytoscapeMenuCanvas";
14
14
  export { registerCytoscapeContextMenus, contextMenus } from "./CytoscapeMenu";
15
15
  export type { CytoscapeContextMenuOptions, MenuItemOption, ContextMenusInstance, } from "./CytoscapeMenu";
16
- export { PageRenderView, collapseElementsForTier, shouldSkipJunctionContinuationElement, shouldSkipSegmentationElement, shouldSkipSegmentationToken, findSegmentationGroupBounds, isTokenBearingCollapsed, tokenRefToToken, isTokenRefVisible, } from "./PageRender";
16
+ export { PageRenderView, collapseElementsForTier, shouldSkipJunctionContinuationElement, shouldSkipSegmentationElement, shouldSkipSegmentationToken, findSegmentationGroupBounds, isTokenBearingCollapsed, tokenRefToToken, isTokenRefVisible, getEditionTierOrder, resolveHighestEditionTierForDisplay, resolveEffectiveEditionTierForDisplay, shouldApplySegmentationOverJunction, JUNCTION_TIER, SEGMENTATION_TIER, } from "./PageRender";
17
17
  export type { PageRenderElement, PageRenderElementType, PageRenderViewProps, PageRenderTokenContext, TokenRef, CollapsedPageRenderElement, TokenClickSource, TokenClickModifiers, } from "./PageRender";
@@ -9,4 +9,4 @@ export { default as SyntreesCytoscape } from "./TreeView/cytoscape/SyntreesCytos
9
9
  export { default as TreeViewSearch } from "./TreeView/TreeViewSearch/TreeViewSearch";
10
10
  export { default as CytoscapeMenuCanvas } from "./CytoscapeMenu/CytoscapeMenuCanvas";
11
11
  export { registerCytoscapeContextMenus, contextMenus } from "./CytoscapeMenu";
12
- export { PageRenderView, collapseElementsForTier, shouldSkipJunctionContinuationElement, shouldSkipSegmentationElement, shouldSkipSegmentationToken, findSegmentationGroupBounds, isTokenBearingCollapsed, tokenRefToToken, isTokenRefVisible, } from "./PageRender";
12
+ export { PageRenderView, collapseElementsForTier, shouldSkipJunctionContinuationElement, shouldSkipSegmentationElement, shouldSkipSegmentationToken, findSegmentationGroupBounds, isTokenBearingCollapsed, tokenRefToToken, isTokenRefVisible, getEditionTierOrder, resolveHighestEditionTierForDisplay, resolveEffectiveEditionTierForDisplay, shouldApplySegmentationOverJunction, JUNCTION_TIER, SEGMENTATION_TIER, } from "./PageRender";
@@ -1,5 +1,6 @@
1
1
  export { default as DateUtils } from './DateUtils';
2
2
  export { default as EditionTierUtils } from './EditionTierUtils';
3
+ export { normalizeCorpusFromApi } from './normalizeCorpusFromApi';
3
4
  export { default as FilterUtils } from './FilterUtils';
4
5
  export { default as FormUtils } from './FormUtils';
5
6
  export { default as ImageUtils } from './ImageUtils';
@@ -1,5 +1,6 @@
1
1
  export { default as DateUtils } from './DateUtils';
2
2
  export { default as EditionTierUtils } from './EditionTierUtils';
3
+ export { normalizeCorpusFromApi } from './normalizeCorpusFromApi';
3
4
  export { default as FilterUtils } from './FilterUtils';
4
5
  export { default as FormUtils } from './FormUtils';
5
6
  export { default as ImageUtils } from './ImageUtils';
@@ -0,0 +1,3 @@
1
+ import type { Corpus } from '../configs/types/Corpus';
2
+ /** Ensures `editionTiers` is set from `editionTiersOrDefault` when the API omits it. */
3
+ export declare function normalizeCorpusFromApi(corpus: Corpus): Corpus;
@@ -0,0 +1,13 @@
1
+ /** Ensures `editionTiers` is set from `editionTiersOrDefault` when the API omits it. */
2
+ export function normalizeCorpusFromApi(corpus) {
3
+ if (corpus.editionTiers?.length) {
4
+ return corpus;
5
+ }
6
+ if (corpus.editionTiersOrDefault?.length) {
7
+ return {
8
+ ...corpus,
9
+ editionTiers: corpus.editionTiersOrDefault,
10
+ };
11
+ }
12
+ return corpus;
13
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tycho-components",
3
3
  "private": false,
4
- "version": "0.38.0",
4
+ "version": "0.38.2",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {