@box/metadata-template-browser 2.4.21 → 2.4.23

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 +1 @@
1
- import{EMPTY_BROWSE_NODE}from"../constants.js";var BrowserActionType=function(BrowserActionType){return BrowserActionType.NavigateTo=`NAVIGATE_TO`,BrowserActionType.NavigateBack=`NAVIGATE_BACK`,BrowserActionType.BrowseFetchStart=`BROWSE_FETCH_START`,BrowserActionType.BrowseLoaded=`BROWSE_LOADED`,BrowserActionType.InitialLoadError=`INITIAL_LOAD_ERROR`,BrowserActionType.BrowseError=`BROWSE_ERROR`,BrowserActionType.BrowsePageCancelled=`BROWSE_PAGE_CANCELLED`,BrowserActionType.LoadMoreStart=`LOAD_MORE_START`,BrowserActionType.LoadMoreNamespacesLoaded=`LOAD_MORE_NAMESPACES_LOADED`,BrowserActionType.LoadMoreTemplatesLoaded=`LOAD_MORE_TEMPLATES_LOADED`,BrowserActionType.LoadMoreError=`LOAD_MORE_ERROR`,BrowserActionType.LoadMoreCancelled=`LOAD_MORE_CANCELLED`,BrowserActionType.SearchValueChange=`SEARCH_VALUE_CHANGE`,BrowserActionType.SearchFetchStart=`SEARCH_FETCH_START`,BrowserActionType.SearchLoaded=`SEARCH_LOADED`,BrowserActionType.SearchError=`SEARCH_ERROR`,BrowserActionType.SearchClear=`SEARCH_CLEAR`,BrowserActionType.LoadMoreSearchLoaded=`LOAD_MORE_SEARCH_LOADED`,BrowserActionType.TemplateSelect=`TEMPLATE_SELECT`,BrowserActionType.TemplateCreated=`TEMPLATE_CREATED`,BrowserActionType.TemplateUpdated=`TEMPLATE_UPDATED`,BrowserActionType}({}),initialState={namespaceFQN:``,path:[],canCreateInCurrentNamespace:!1,canCreateAtRoot:!1,browseByFqn:new Map,isFetching:!1,isFetchingMore:!1,initialLoadError:null,browseError:null,loadMoreError:null,searchValue:``,searchQuery:``,searchResults:[],searchNextMarker:void 0,isFetchingSearch:!1,searchError:null,selectedTemplateId:null};function resolveCanCreateForFqn(state,fqn){let pathEntry=state.path.find(entry=>entry.fqn===fqn);if(pathEntry?.canCreate!==void 0)return pathEntry.canCreate;for(let node of state.browseByFqn.values()){let match=node.namespaces.find(namespace=>namespace.id===fqn);if(match)return match.canCreate??!1}return state.canCreateAtRoot}function mergeTemplates(existing,incoming){let incomingIds=new Set(incoming.map(template=>template.id));return[...existing.filter(template=>!incomingIds.has(template.id)),...incoming]}function appendUniqueTemplates(existing,incoming){let existingIds=new Set(existing.map(template=>template.id));return[...existing,...incoming.filter(template=>!existingIds.has(template.id))]}function setBrowseNode(browseByFqn,fqn,node){return new Map(browseByFqn).set(fqn,node)}function replaceTemplateById(templates,updated){let found=!1,next=templates.map(template=>template.id===updated.id?(found=!0,updated):template);return found?next:null}function browserReducer(state,action){switch(action.type){case`NAVIGATE_TO`:return{...state,namespaceFQN:action.namespace.id,path:[...state.path,{fqn:action.namespace.id,displayName:action.namespace.displayName,canCreate:action.namespace.canCreate}],canCreateInCurrentNamespace:action.namespace.canCreate??!1,initialLoadError:null,browseError:null,loadMoreError:null};case`NAVIGATE_BACK`:return{...state,namespaceFQN:action.fqn,path:state.path.filter(entry=>action.fqn===entry.fqn||action.fqn.startsWith(`${entry.fqn}.`)),canCreateInCurrentNamespace:resolveCanCreateForFqn(state,action.fqn),initialLoadError:null,browseError:null,loadMoreError:null};case`BROWSE_FETCH_START`:return{...state,isFetching:!0,initialLoadError:null,browseError:null};case`BROWSE_PAGE_CANCELLED`:return{...state,isFetching:!1};case`BROWSE_LOADED`:{let previous=state.browseByFqn.get(state.namespaceFQN);return{...state,isFetching:!1,browseByFqn:setBrowseNode(state.browseByFqn,state.namespaceFQN,{namespaces:action.namespaces,namespaceNextMarker:action.namespaceNextMarker,isNamespacesExhausted:!action.namespaceNextMarker,templates:previous?mergeTemplates(previous.templates,action.templates):action.templates,templateNextMarker:action.templateNextMarker})}}case`INITIAL_LOAD_ERROR`:return{...state,isFetching:!1,initialLoadError:action.error};case`BROWSE_ERROR`:return{...state,isFetching:!1,browseError:action.error};case`LOAD_MORE_START`:return{...state,isFetchingMore:!0,loadMoreError:null};case`LOAD_MORE_NAMESPACES_LOADED`:{let current=state.browseByFqn.get(state.namespaceFQN)??EMPTY_BROWSE_NODE,namespacesExhausted=!action.nextMarker;return{...state,isFetchingMore:!1,browseByFqn:setBrowseNode(state.browseByFqn,state.namespaceFQN,{...current,namespaces:[...current.namespaces,...action.entries],namespaceNextMarker:action.nextMarker,isNamespacesExhausted:namespacesExhausted,...action.templates!==void 0&&{templates:mergeTemplates(current.templates,action.templates),templateNextMarker:action.templateNextMarker}})}}case`LOAD_MORE_TEMPLATES_LOADED`:{let current=state.browseByFqn.get(state.namespaceFQN)??EMPTY_BROWSE_NODE;return{...state,isFetchingMore:!1,browseByFqn:setBrowseNode(state.browseByFqn,state.namespaceFQN,{...current,templates:appendUniqueTemplates(current.templates,action.entries),templateNextMarker:action.nextMarker})}}case`LOAD_MORE_ERROR`:return{...state,isFetchingMore:!1,loadMoreError:action.error};case`LOAD_MORE_CANCELLED`:return{...state,isFetchingMore:!1,loadMoreError:null};case`SEARCH_VALUE_CHANGE`:return{...state,searchValue:action.value};case`SEARCH_FETCH_START`:return{...state,isFetchingSearch:!0,searchQuery:action.query,searchResults:[],searchNextMarker:void 0,searchError:null};case`SEARCH_LOADED`:return{...state,isFetchingSearch:!1,searchResults:action.results,searchNextMarker:action.nextMarker};case`SEARCH_ERROR`:return{...state,isFetchingSearch:!1,searchError:action.error};case`SEARCH_CLEAR`:return{...state,searchValue:``,searchQuery:``,searchResults:[],searchNextMarker:void 0,isFetchingSearch:!1,searchError:null};case`LOAD_MORE_SEARCH_LOADED`:return{...state,isFetchingMore:!1,searchResults:[...state.searchResults,...action.entries],searchNextMarker:action.nextMarker};case`TEMPLATE_SELECT`:return{...state,selectedTemplateId:action.template.id};case`TEMPLATE_CREATED`:{let node=state.browseByFqn.get(action.namespaceFQN);return node?{...state,browseByFqn:setBrowseNode(state.browseByFqn,action.namespaceFQN,{...node,templates:[action.template,...node.templates.filter(template=>template.id!==action.template.id)]})}:state}case`TEMPLATE_UPDATED`:{let browseChanged=!1,browseByFqn=new Map(state.browseByFqn);for(let[fqn,node]of state.browseByFqn){let templates=replaceTemplateById(node.templates,action.template);templates&&(browseByFqn.set(fqn,{...node,templates}),browseChanged=!0)}let searchResults=replaceTemplateById(state.searchResults,action.template);return!browseChanged&&searchResults===null?state:{...state,...browseChanged&&{browseByFqn},...searchResults!==null&&{searchResults}}}default:return state}}export{BrowserActionType,browserReducer,initialState};
1
+ import{EMPTY_BROWSE_NODE}from"../constants.js";var BrowserActionType=function(BrowserActionType){return BrowserActionType.NavigateTo=`NAVIGATE_TO`,BrowserActionType.NavigateBack=`NAVIGATE_BACK`,BrowserActionType.BrowseFetchStart=`BROWSE_FETCH_START`,BrowserActionType.BrowseLoaded=`BROWSE_LOADED`,BrowserActionType.InitialLoadError=`INITIAL_LOAD_ERROR`,BrowserActionType.BrowseError=`BROWSE_ERROR`,BrowserActionType.BrowsePageCancelled=`BROWSE_PAGE_CANCELLED`,BrowserActionType.LoadMoreStart=`LOAD_MORE_START`,BrowserActionType.LoadMoreNamespacesLoaded=`LOAD_MORE_NAMESPACES_LOADED`,BrowserActionType.LoadMoreTemplatesLoaded=`LOAD_MORE_TEMPLATES_LOADED`,BrowserActionType.LoadMoreError=`LOAD_MORE_ERROR`,BrowserActionType.LoadMoreCancelled=`LOAD_MORE_CANCELLED`,BrowserActionType.SearchValueChange=`SEARCH_VALUE_CHANGE`,BrowserActionType.SearchFetchStart=`SEARCH_FETCH_START`,BrowserActionType.SearchLoaded=`SEARCH_LOADED`,BrowserActionType.SearchError=`SEARCH_ERROR`,BrowserActionType.SearchClear=`SEARCH_CLEAR`,BrowserActionType.LoadMoreSearchLoaded=`LOAD_MORE_SEARCH_LOADED`,BrowserActionType.TemplateSelect=`TEMPLATE_SELECT`,BrowserActionType.TemplateCreated=`TEMPLATE_CREATED`,BrowserActionType.TemplateUpdated=`TEMPLATE_UPDATED`,BrowserActionType}({}),initialState={namespaceFQN:``,path:[],canCreateInCurrentNamespace:!1,canCreateAtRoot:!1,browseByFqn:new Map,isFetching:!0,isFetchingMore:!1,initialLoadError:null,browseError:null,loadMoreError:null,searchValue:``,searchQuery:``,searchResults:[],searchNextMarker:void 0,isFetchingSearch:!1,searchError:null,selectedTemplateId:null};function resolveCanCreateForFqn(state,fqn){let pathEntry=state.path.find(entry=>entry.fqn===fqn);if(pathEntry?.canCreate!==void 0)return pathEntry.canCreate;for(let node of state.browseByFqn.values()){let match=node.namespaces.find(namespace=>namespace.id===fqn);if(match)return match.canCreate??!1}return state.canCreateAtRoot}function mergeTemplates(existing,incoming){let incomingIds=new Set(incoming.map(template=>template.id));return[...existing.filter(template=>!incomingIds.has(template.id)),...incoming]}function appendUniqueTemplates(existing,incoming){let existingIds=new Set(existing.map(template=>template.id));return[...existing,...incoming.filter(template=>!existingIds.has(template.id))]}function setBrowseNode(browseByFqn,fqn,node){return new Map(browseByFqn).set(fqn,node)}function replaceTemplateById(templates,updated){let found=!1,next=templates.map(template=>template.id===updated.id?(found=!0,updated):template);return found?next:null}function browserReducer(state,action){switch(action.type){case`NAVIGATE_TO`:return{...state,namespaceFQN:action.namespace.id,path:[...state.path,{fqn:action.namespace.id,displayName:action.namespace.displayName,canCreate:action.namespace.canCreate}],canCreateInCurrentNamespace:action.namespace.canCreate??!1,initialLoadError:null,browseError:null,loadMoreError:null};case`NAVIGATE_BACK`:return{...state,namespaceFQN:action.fqn,path:state.path.filter(entry=>action.fqn===entry.fqn||action.fqn.startsWith(`${entry.fqn}.`)),canCreateInCurrentNamespace:resolveCanCreateForFqn(state,action.fqn),initialLoadError:null,browseError:null,loadMoreError:null};case`BROWSE_FETCH_START`:return{...state,isFetching:!0,initialLoadError:null,browseError:null};case`BROWSE_PAGE_CANCELLED`:return{...state,isFetching:!1};case`BROWSE_LOADED`:{let previous=state.browseByFqn.get(state.namespaceFQN);return{...state,isFetching:!1,browseByFqn:setBrowseNode(state.browseByFqn,state.namespaceFQN,{namespaces:action.namespaces,namespaceNextMarker:action.namespaceNextMarker,isNamespacesExhausted:!action.namespaceNextMarker,templates:previous?mergeTemplates(previous.templates,action.templates):action.templates,templateNextMarker:action.templateNextMarker})}}case`INITIAL_LOAD_ERROR`:return{...state,isFetching:!1,initialLoadError:action.error};case`BROWSE_ERROR`:return{...state,isFetching:!1,browseError:action.error};case`LOAD_MORE_START`:return{...state,isFetchingMore:!0,loadMoreError:null};case`LOAD_MORE_NAMESPACES_LOADED`:{let current=state.browseByFqn.get(state.namespaceFQN)??EMPTY_BROWSE_NODE,namespacesExhausted=!action.nextMarker;return{...state,isFetchingMore:!1,browseByFqn:setBrowseNode(state.browseByFqn,state.namespaceFQN,{...current,namespaces:[...current.namespaces,...action.entries],namespaceNextMarker:action.nextMarker,isNamespacesExhausted:namespacesExhausted,...action.templates!==void 0&&{templates:mergeTemplates(current.templates,action.templates),templateNextMarker:action.templateNextMarker}})}}case`LOAD_MORE_TEMPLATES_LOADED`:{let current=state.browseByFqn.get(state.namespaceFQN)??EMPTY_BROWSE_NODE;return{...state,isFetchingMore:!1,browseByFqn:setBrowseNode(state.browseByFqn,state.namespaceFQN,{...current,templates:appendUniqueTemplates(current.templates,action.entries),templateNextMarker:action.nextMarker})}}case`LOAD_MORE_ERROR`:return{...state,isFetchingMore:!1,loadMoreError:action.error};case`LOAD_MORE_CANCELLED`:return{...state,isFetchingMore:!1,loadMoreError:null};case`SEARCH_VALUE_CHANGE`:return{...state,searchValue:action.value};case`SEARCH_FETCH_START`:return{...state,isFetchingSearch:!0,searchQuery:action.query,searchResults:[],searchNextMarker:void 0,searchError:null};case`SEARCH_LOADED`:return{...state,isFetchingSearch:!1,searchResults:action.results,searchNextMarker:action.nextMarker};case`SEARCH_ERROR`:return{...state,isFetchingSearch:!1,searchError:action.error};case`SEARCH_CLEAR`:return{...state,searchValue:``,searchQuery:``,searchResults:[],searchNextMarker:void 0,isFetchingSearch:!1,searchError:null};case`LOAD_MORE_SEARCH_LOADED`:return{...state,isFetchingMore:!1,searchResults:[...state.searchResults,...action.entries],searchNextMarker:action.nextMarker};case`TEMPLATE_SELECT`:return{...state,selectedTemplateId:action.template.id};case`TEMPLATE_CREATED`:{let node=state.browseByFqn.get(action.namespaceFQN);return node?{...state,browseByFqn:setBrowseNode(state.browseByFqn,action.namespaceFQN,{...node,templates:[action.template,...node.templates.filter(template=>template.id!==action.template.id)]})}:state}case`TEMPLATE_UPDATED`:{let browseChanged=!1,browseByFqn=new Map(state.browseByFqn);for(let[fqn,node]of state.browseByFqn){let templates=replaceTemplateById(node.templates,action.template);templates&&(browseByFqn.set(fqn,{...node,templates}),browseChanged=!0)}let searchResults=replaceTemplateById(state.searchResults,action.template);return!browseChanged&&searchResults===null?state:{...state,...browseChanged&&{browseByFqn},...searchResults!==null&&{searchResults}}}default:return state}}export{BrowserActionType,browserReducer,initialState};
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@box/metadata-template-browser",
3
- "version": "2.4.21",
3
+ "version": "2.4.23",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "peerDependencies": {
6
- "@box/blueprint-web": "^17.15.3",
7
- "@box/blueprint-web-assets": "^5.10.25",
6
+ "@box/blueprint-web": "^17.16.0",
7
+ "@box/blueprint-web-assets": "^5.10.27",
8
8
  "lodash": "^4.17.15",
9
9
  "react": "^18.0.0",
10
10
  "react-aria-components": "1.16.0",
@@ -12,10 +12,10 @@
12
12
  "react-intl": "^6.4.2"
13
13
  },
14
14
  "devDependencies": {
15
- "@box/blueprint-web": "^17.15.3",
16
- "@box/blueprint-web-assets": "^5.10.25",
17
- "@box/eslint-plugin-blueprint": "2.2.23",
18
- "@box/storybook-utils": "1.2.69",
15
+ "@box/blueprint-web": "^17.16.0",
16
+ "@box/blueprint-web-assets": "^5.10.27",
17
+ "@box/eslint-plugin-blueprint": "2.2.24",
18
+ "@box/storybook-utils": "1.2.71",
19
19
  "react-intl": "^6.4.2"
20
20
  },
21
21
  "publishConfig": {