@box/metadata-template-browser 3.0.11 → 3.0.13
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:!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.fqn===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
|
|
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.fqn===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 seenIds=new Set(existing.map(template=>template.id)),appended=incoming.filter(template=>seenIds.has(template.id)?!1:(seenIds.add(template.id),!0));return[...existing,...appended]}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.fqn,path:[...state.path,{fqn:action.namespace.fqn,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:appendUniqueTemplates([],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:appendUniqueTemplates(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": "3.0.
|
|
3
|
+
"version": "3.0.13",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@box/blueprint-web": "^18.
|
|
7
|
-
"@box/blueprint-web-assets": "^5.12.
|
|
6
|
+
"@box/blueprint-web": "^18.3.0",
|
|
7
|
+
"@box/blueprint-web-assets": "^5.12.2",
|
|
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": "^18.
|
|
16
|
-
"@box/blueprint-web-assets": "^5.12.
|
|
17
|
-
"@box/eslint-plugin-blueprint": "2.2.
|
|
18
|
-
"@box/storybook-utils": "1.4.
|
|
15
|
+
"@box/blueprint-web": "^18.3.0",
|
|
16
|
+
"@box/blueprint-web-assets": "^5.12.2",
|
|
17
|
+
"@box/eslint-plugin-blueprint": "2.2.29",
|
|
18
|
+
"@box/storybook-utils": "1.4.14",
|
|
19
19
|
"react-intl": "^6.4.2"
|
|
20
20
|
},
|
|
21
21
|
"publishConfig": {
|