Exemplo n.º 1
0
 /// <summary>
 /// Prepares the given workflow navigation <paramref name="context"/>, i.e. prepares the view data and the
 /// available filter criteria to be used in the menu.
 /// </summary>
 protected void PrepareState(NavigationContext context)
 {
   _currentNavigationContext = context;
   NavigationData navigationData = GetNavigationData(context, false);
   if (navigationData != null)
     return;
   // Initialize root media navigation state. We will set up all sub processes for each media model "part", i.e.
   // audio, videos, images, browse local media and browse media library.
   IDictionary<string, object> contextVariables = PrepareRootState(context.WorkflowState.StateId);
   foreach (KeyValuePair<string, object> variable in contextVariables)
     context.SetContextVariable(variable.Key, variable.Value);
 }
Exemplo n.º 2
0
 protected static void SetNavigationData(NavigationData navigationData, NavigationContext navigationContext)
 {
   navigationContext.SetContextVariable(Consts.KEY_NAVIGATION_DATA, navigationData);
 }
Exemplo n.º 3
0
 /// <summary>
 /// Returns the config location corresponding to the workflow state given by the specified
 /// workflow navigation <paramref name="context"/>.
 /// </summary>
 /// <param name="context">The workflow navigation context to lookup the context state.</param>
 /// <returns>Previously initialized config location of the given navigation <paramref name="context"/> or <c>"/"</c>,
 /// if the context wasn't initialized before.</returns>
 protected static string GetConfigLocation(NavigationContext context)
 {
   string result = context.GetContextVariable(CONFIG_LOCATION_KEY, false) as string;
   if (result == null)
     context.SetContextVariable(CONFIG_LOCATION_KEY, result = "/");
   return result;
 }
Exemplo n.º 4
0
 protected internal static void SetMode(string mode, NavigationContext context)
 {
   if (context == null)
     return;
   context.SetContextVariable(Consts.KEY_NAVIGATION_MODE, mode);
 }
        void updateState(NavigationContext context)
        {
            bool updateList = false;
            navigationData = GetNavigationData(context);
            if (context.WorkflowState.StateId == Guids.ViewItemsState && (navigationData == null || navigationData.StartupState != startupState))
            {
                updateList = true;
                navigationData = getStartupNavigationData();
                context.SetContextVariable(NavigationData.NAVIGATION_DATA, navigationData);
            }

            if (navigationData != null)
            {
                Header = navigationData.DisplayName;
                ItemsList items = Items;
                if (items != null && updateList)
                {
                    items.Clear();
                    foreach (ListItem item in navigationData.ItemsList)
                        items.Add(item);
                    items.FireChange();
                }
                else
                {
                    items = new ItemsList();
                    foreach (ListItem item in navigationData.ItemsList)
                        items.Add(item);
                    Items = items;
                }
            }
        }