示例#1
0
        public Task <INodeUIResolver> GetNodeUIResolverAsync(UsageType usageType, string collectionAlias)
        {
            var collection = _collectionProvider.GetCollection(collectionAlias);
            var node       = usageType.HasFlag(UsageType.View) ? collection.NodeView : collection.NodeEditor;

            if (node == null)
            {
                throw new InvalidOperationException($"Failed to get UI configuration from collection {collectionAlias} for action {usageType}");
            }

            INodeUIResolver nodeUI = new NodeUIResolver(node, _dataProviderService, _authorizationService, _httpContextAccessor);

            return(Task.FromResult(nodeUI));
        }
示例#2
0
        public Task <INodeUIResolver> GetNodeUIResolverAsync(UsageType usageType, string collectionAlias)
        {
            var collection = _collectionResolver.ResolveSetup(collectionAlias);
            var node       = usageType.HasFlag(UsageType.View)
                ? collection.NodeView ?? collection.NodeEditor
                : collection.NodeEditor ?? collection.NodeView;

            if (node == null)
            {
                throw new InvalidOperationException($"Failed to get UI configuration from collection {collectionAlias} for action {usageType}");
            }

            INodeUIResolver nodeUI = new NodeUIResolver(node, _dataProviderResolver, _buttonActionHandlerResolver, _authService);

            return(Task.FromResult(nodeUI));
        }
        public async Task <INodeUIResolver> GetNodeUIResolverAsync(NavigationState navigationState)
        {
            var collection = await _collectionResolver.ResolveSetupAsync(navigationState.CollectionAlias);

            var node = navigationState.UsageType.HasFlag(UsageType.View)
                ? collection.NodeView ?? collection.NodeEditor
                : collection.NodeEditor ?? collection.NodeView;

            if (node == null)
            {
                throw new InvalidOperationException($"Failed to get UI configuration from collection {navigationState.CollectionAlias} for action {navigationState.UsageType}");
            }

            INodeUIResolver nodeUI = new NodeUIResolver(node, _dataProviderResolver, _buttonActionHandlerResolver, _navigationStateProvider, _authService);

            return(nodeUI);
        }