コード例 #1
0
ファイル: Global.cs プロジェクト: DeBiese/SparkleXrm
        public static void GetRunningActivities(CommandProperties commandProperties)
        {
            // Get a list of all running activities
            // TODO: This list could be filtered to only 'billable' activities
            EntityCollection runningActivities = OrganizationServiceProxy.RetrieveMultiple(Queries.CurrentOpenActivitesWithSessions);
            RibbonMenuSection section = new RibbonMenuSection("dev1.Activities.Section", "Activities", 1, RibbonDisplayMode.Menu16);
            int i=0;

            foreach (Dictionary activity in runningActivities.Entities)
            {
                string image = "WebResources/dev1_/images/start.gif";

                bool isRunning = activity["isRunning"] != null && (activity["isRunning"].ToString() == "1");
                if (isRunning)
                    image = "WebResources/dev1_/images/stop.gif";


                section.AddButton(
                    new RibbonButton("dev1.Activity." + activity["a.activityid"].ToString(),
                        i,
                        activity["a.subject"].ToString(),
                        "dev1.ApplicationRibbon.StartStopActivity.Command",
                        image,
                        image));
                    i++;
            }

            RibbonMenu activities = new RibbonMenu("dev1.Activities").AddSection(section);

        

            commandProperties.PopulationXML = activities.SerialiseToRibbonXml();

        }
コード例 #2
0
ファイル: Ribbon.cs プロジェクト: DeBiese/SparkleXrm
        public static void Populate(CommandProperties commandProperties)
        {
            
           

            _resources = (Dictionary<string, string>)Script.Literal("window.top._quickNav__resources");
            _userPriviledgeNames = (Dictionary<string, string>)Script.Literal("window.top._quickNav__userPriviledgeNames");
            _siteMap = (SiteMap)Script.Literal("window.top._quickNav__siteMap");

            uniquePrefix = "dev1_" + DateTime.Now.GetTime().ToString() + "|";
            bool isOnForm = (Page.Ui != null);

            LoadResources();

            RibbonMenu quickNav = new RibbonMenu("dev1.QuickNav");
            RibbonMenuSection topSection = new RibbonMenuSection("dev1.SiteMapMenuSection", "", 2, RibbonDisplayMode.Menu16);
            quickNav.AddSection(topSection);

            // Only show Sitemap in web client
            if (Page.Context.Client.GetClient() == ClientType.Web)
            {
                if (isOnForm)
                {
                    RibbonFlyoutAnchor siteMapMenuFlyout = new RibbonFlyoutAnchor(uniquePrefix + "SiteMapButton", 1, ReplaceResourceToken("$Site_Map"), "Mscrm.Enabled", "/_imgs/FormEditorRibbon/Subgrid_16.png", null);
                    topSection.AddButton((RibbonButton)(object)siteMapMenuFlyout);

                    siteMapMenuFlyout.Menu = new RibbonMenu("dev1.SiteMapButton.Menu");

                    RibbonMenuSection siteMapMenuFlyoutSection = new RibbonMenuSection(uniquePrefix + "SiteMapButton.Menu.Section", "", 1, RibbonDisplayMode.Menu16);
                    siteMapMenuFlyout.Menu.AddSection(siteMapMenuFlyoutSection);
                    GetSiteMap(siteMapMenuFlyoutSection);
                }
                else
                    GetSiteMap(topSection);
            }

            // Add Advanced Find
            RibbonButton advFind = new RibbonButton("dev1.OpenAdvancedFind.Button", 1, ReplaceResourceToken("$Advanced_Find"), "dev1.OpenAdvancedFind", "/_imgs/ribbon/AdvancedFind_16.png", null);
            topSection.AddButton(advFind);

            GetFormTabs(quickNav);

            GetFormNav(quickNav);

            commandProperties.PopulationXML = quickNav.SerialiseToRibbonXml();

            // Store for next time
            Script.Literal("window.top._quickNav__resources={0}",_resources);
            Script.Literal("window.top._quickNav__userPriviledgeNames={0}",_userPriviledgeNames);
            Script.Literal("window.top._quickNav__siteMap={0}",_siteMap);
        }
コード例 #3
0
ファイル: Ribbon.cs プロジェクト: DeBiese/SparkleXrm
 private static void GetFormNav(RibbonMenu quickNav)
 {
     SELECT_NAV_COMMAND_PREFIX = uniquePrefix + "QuickNav.Nav";
     if (Page.Ui != null && Page.Ui.Navigation != null)
     {
         RibbonMenuSection navSection = new RibbonMenuSection(uniquePrefix + "QuickNav.Nav", "Related", 1, RibbonDisplayMode.Menu16);
         quickNav.AddSection(navSection);
         int i = 0;
         Page.Ui.Navigation.Items.ForEach(delegate(NavigationItem nav, int index)
         {
             RibbonButton button = new RibbonButton(SELECT_NAV_COMMAND_PREFIX + nav.GetId(), i, nav.GetLabel(), "dev1.QuickNav.SelectNav", "/_imgs/FormEditorRibbon/Subgrid_16.png", "");
             navSection.AddButton(button);
             
             i++;
             return true;
         });
     }
 }
コード例 #4
0
ファイル: Ribbon.cs プロジェクト: ThomasCanaple/SparkleXrm
        private static void GetFormTabs(RibbonMenu quickNav)
        {
            SELECT_TAB_COMMAND_PREFIX = uniquePrefix + "QuickNav.Tabs.";
            if (Page.Ui!=null && Page.Ui.FormSelector != null)
            {

                FormSelectorItem form = Page.Ui.FormSelector.GetCurrentItem();
                string formSectionName = "Form";
                if (form != null)
                {
                    formSectionName = form.GetLabel();
                }

                RibbonMenuSection tabsSection = new RibbonMenuSection(uniquePrefix + "QuickNav.Tabs", formSectionName, 1, RibbonDisplayMode.Menu16);
                quickNav.AddSection(tabsSection);
                int i = 0;
                // Get the tabs and sections on the form
                Page.Ui.Tabs.ForEach(delegate(TabItem tab, int index)
                {
                    RibbonButton button = new RibbonButton(SELECT_TAB_COMMAND_PREFIX + tab.GetName(), i, tab.GetLabel(), "dev1.QuickNav.SelectTab", "/_imgs/FormEditorRibbon/Subgrid_16.png", "");
                    tabsSection.AddButton(button);
                    i++;
                    return true;
                });
            }
        }