示例#1
0
	protected void Page_Init(object sender, EventArgs e)
	{
		Master.PopupHeight = 460;
		Master.PopupWidth = 800;

		PXGridWithPreview grd = this.gridActivities;
		string internalGridID = null;
		foreach (PXDataSource.CommandState command in ds.GetCommandStates())
			if (command.Name != null && command.Name.StartsWith("NewActivity$", StringComparison.OrdinalIgnoreCase))
			{
				this.ds.CallbackCommands.Add(new PXDSCallbackCommand { Name = command.Name, CommitChanges = true, Visible = false });
				if (grd != null)
				{
					if (internalGridID == null) internalGridID = grd.DataMember + "_grid";
					PXDataSource.CommandState.Images images = command.Image;
					PXToolBarButton button = new PXToolBarButton { Text = command.DisplayName };
					button.Images.Normal = string.IsNullOrEmpty(images.Normal) ? Sprite.Main.GetFullUrl(Sprite.Main.AddNew) : images.Normal;
					button.Images.Disabled = string.IsNullOrEmpty(images.Disabled) ? string.Empty : images.Disabled;
					button.AutoCallBack.Enabled = true;
					button.AutoCallBack.Command = command.Name;
					button.AutoCallBack.Target = "ds";
					button.PopupCommand.Enabled = true;
					button.PopupCommand.Command = "Refresh";
					button.PopupCommand.Target = internalGridID;
					grd.ActionBar.CustomItems.Add(button);
				}
			}
	}
    //---------------------------------------------------------------------------
    /// <summary>
    ///
    /// </summary>
    private PXToolBarButton GetAttachedFiles()
    {
        PXToolBarButton btn = Button(_TOOLBAR_FILES);
        string          url = Page.AppRelativeVirtualPath;

        btn.MenuItems.Clear();
        if (string.IsNullOrEmpty(url))
        {
            btn.Visible = false;
            return(btn);
        }

        UploadFileMaintenance filesAccessor = PXGraph.CreateInstance <UploadFileMaintenance>();

        foreach (string filename in filesAccessor.GetFileNamesAttachedToScreen(PXSiteMap.CurrentScreenID))
        {
            PXMenuItem item = new PXMenuItem(FileInfo.GetShortName(filename));
            item.NavigateUrl    = ResolveUrl("~/Frames/GetFile.ashx") + "?file=" + HttpUtility.UrlEncode(filename);
            item.Target         = "_blank";
            item.RenderLink     = false;
            item.Style.CssClass = "MenuItem";
            item.Value          = ResolveUrl("~/Pages/SM/SM202510.aspx") + "?fileID=" + HttpUtility.UrlEncode(filename);
            btn.MenuItems.Add(item);
        }

        PXMenuItem mi = new PXMenuItem("Attach file...");

        mi.ShowSeparator = true;
        mi.PopupPanel    = "Uploader";
        mi.Value         = "notfilelink";
        btn.MenuItems.Add(mi);


        String[] importScenarios = PX.Api.SYImportMaint.GetAvailableMappings(this.ScreenID);
        String[] exportScenarios = PX.Api.SYExportMaint.GetAvailableMappings(this.ScreenID);
        if (importScenarios.Length > 0)
        {
            mi             = new PXMenuItem("Import Scenarios");
            mi.NavigateUrl = "~/pages/sm/SM206036.aspx";
            foreach (String scenario in importScenarios)
            {
                PXMenuItem submi = new PXMenuItem(scenario);
                submi.NavigateUrl = ResolveUrl("~/Main.aspx?ScreenId=SM206036&Name=") + HttpUtility.UrlEncode(scenario);
                submi.Target      = "_blank";
                submi.RenderLink  = false;
                mi.ChildItems.Add(submi);
            }
            if (exportScenarios.Length <= 0)
            {
                mi.ShowSeparator = true;
            }
            btn.MenuItems.Add(mi);
        }
        if (exportScenarios.Length > 0)
        {
            mi             = new PXMenuItem("Export Scenarios");
            mi.NavigateUrl = "~/pages/sm/SM207036.aspx";
            foreach (String scenario in exportScenarios)
            {
                PXMenuItem submi = new PXMenuItem(scenario);
                submi.NavigateUrl = ResolveUrl("~/Main.aspx?ScreenId=SM207036&Name=") + HttpUtility.UrlEncode(scenario);
                submi.Target      = "_blank";
                submi.RenderLink  = false;
                mi.ChildItems.Add(submi);
            }
            mi.ShowSeparator = true;
            btn.MenuItems.Add(mi);
        }

        if (!this.Page.IsCallback)
        {
            Page.ClientScript.RegisterClientScriptBlock(GetType(), "filesMenuIndex", "var __filesMenuIndex=" + tlbTools.Items.IndexOf(Button(_TOOLBAR_FILES)).ToString() + ";", true);
        }
        return(btn);
    }
    //---------------------------------------------------------------------------
    /// <summary>
    /// Initialize the user name button.
    /// </summary>
    private void InitHelpMenu()
    {
        PXToolBarButton btn = (PXToolBarButton)tlbTools.Items[_TOOLBAR_HELP];

        Func <string, string, string, string> func = delegate(string txt, string val, string labelID)
        {
            return(string.Format(
                       "<div class='size-xs inline-block'>{0}</div> <span id='{1}'>{2}</span>", txt, labelID, val));
        };
        Func <PXMenuItem, PXMenuItem> addItem = delegate(PXMenuItem item) { btn.MenuItems.Add(item); return(item); };

        var prefix = "";

        if (Page is PXPage)
        {
            bool isCustomized = ((PXPage)Page).IsPageCustomized;
            if (isCustomized)
            {
                prefix = "CST.";
            }
        }

        PXMenuItem lastItem;

        if (uiModeService == null || uiModeService.UseLegacyUIForCurrentUser)
        {
            lastItem              = addItem(new PXMenuItem(func(btn.Text, prefix + HttpUtility.HtmlEncode(this.screenID), "screenID")));
            lastItem.HtmlEncode   = false;
            lastItem.NavigateUrl  = this.HelpUrl;
            lastItem.OpenFrameset = true;
        }
        lastItem = addItem(new PXMenuItem(Msg.GetLink)
        {
            CommandSourceID = "tlbDataView", CommandName = "LinkShow"
        });

        PXMenuItem webItem = null;

        if (!String.IsNullOrEmpty(this.screenID))
        {
            PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByScreenID(screenID.Replace(".", ""));
            if (WebServicesAvailable && (node != null && !String.IsNullOrEmpty(node.GraphType) &&
                                         System.Web.Compilation.PXBuildManager.GetType(node.GraphType, false) != null) || (node != null && node.Url.ToLower().Contains("frames/reportlauncher.aspx")) || (node != null && node.Url.ToLower().Contains("frames/rmlauncher.aspx")))
            {
                PXMenuItem item = new PXMenuItem(ActionsMessages.WebService);
                item.NavigateUrl          = "~/Soap/" + screenID.Replace(".", "") + ".asmx";
                item.OpenFrameset         = false;
                item.Target               = "_blank";
                item.ShowSeparator        = true;
                btn.MenuItems.Add(webItem = item);
            }
        }
        if (webItem == null)
        {
            lastItem.ShowSeparator = true;
        }

        if (!String.IsNullOrEmpty(this.screenID) && PXSiteMap.CurrentNode != null)
        {
            PXSiteMapNode node = PXSiteMap.CurrentNode;
            if (PXList.Provider.IsList(screenID))
            {
                string entryScreenID = PXList.Provider.GetEntryScreenID(screenID);
                node = PXSiteMap.Provider.FindSiteMapNodeByScreenID(entryScreenID) ?? node;
            }
            string accessUrl = string.Format("~/Pages/SM/SM201020.aspx?Screen={0}", node.NodeID.ToString());
            addItem(new PXMenuItem("Access Rights...")
            {
                NavigateUrl = accessUrl, Target = "_blank"
            });
        }
        if (System.Web.Security.Roles.IsUserInRole(PXAccess.GetAdministratorRoles().First()))
        {
            var siteMapNode = PX.Data.PXSiteMap.CurrentNode;
            var hideSharing = siteMapNode is PX.Data.PXWikiMapNode ||
                              PX.Data.PXSiteMap.IsDashboard(siteMapNode) ||
                              PX.Data.PXSiteMap.IsReport(siteMapNode.Url) ||
                              PX.Data.PXSiteMap.IsARmReport(siteMapNode.Url) ||
                              Page.Request.Url.AbsolutePath.StartsWith(PX.Common.PXUrl.RemoveSessionSplit(Page.ResolveUrl(PX.Olap.Maintenance.PXPivotTableGraph.PivotUri)));
            if (!hideSharing)
            {
                addItem(new PXMenuItem("Share Column Configuration")
                {
                    PopupPanel = "shareColumnsDlg"
                });
            }
        }
        addItem(new PXMenuItem("Trace...")
        {
            NavigateUrl = "~/Frames/Trace.aspx?preserveSession=true", Target = "_blank", Value = "trace"
        });
        addItem(new PXMenuItem("About...")
        {
            PopupPanel = "pnlAbout"
        });

        if (uiModeService != null && !uiModeService.UseLegacyUIForCurrentUser)
        {
            btn.Text             = PXMessages.LocalizeNoPrefix(PX.AscxControlsMessages.PageTitle.Tools);
            btn.Tooltip          = PXMessages.LocalizeNoPrefix(PX.AscxControlsMessages.PageTitle.ToolsTip);
            btn.AlreadyLocalized = true;
        }
    }
示例#4
0
	/// <summary>
	/// Create menu item with specified parameters.
	/// </summary>
	private static PXMenuItem CreateMenuItem(PXToolBarButton btn, string text, string key)
	{
		return CreateMenuItem(btn, text, key, string.Empty, string.Empty);
	}
示例#5
0
	/// <summary>
	/// Create menu item with specified parameters.
	/// </summary>
	private static PXMenuItem CreateMenuItem(
		PXToolBarButton btn, string text, string key, string imageSet, string imageKey)
	{
		var item = new PXMenuItem() { Text = text, Value = key };
		item.ImageSet = imageSet; item.ImageKey = imageKey;
		if (btn != null) btn.MenuItems.Add(item);
		return item;
	}
示例#6
0
	/// <summary>
	/// Create toolbar button with specified parameters.
	/// </summary>
	private static PXToolBarButton CreateToolsButton(
		PXToolBar tlb, string tooltip, string key, string imageUrl)
	{
		var btn = new PXToolBarButton() { Tooltip = tooltip, Key = key };
		btn.Images.Normal = imageUrl;
		if (tlb != null) tlb.Items.Add(btn);
		return btn;
	}
示例#7
0
	//---------------------------------------------------------------------------
	/// <summary>
	/// Create toolbar button with specified parameters.
	/// </summary>
	private static PXToolBarButton CreateToolsButton(
		PXToolBar tlb, string text, string key, string imageSet, string imageKey)
	{
		var btn = new PXToolBarButton() { Text = text, Key = key };
		btn.ImageSet = imageSet; btn.ImageKey = imageKey;
		if (tlb != null) tlb.Items.Add(btn);
		return btn;
	}
    protected void Page_Init(object sender, EventArgs e)
    {
        if (!this.Page.IsCallback)
        {
            this.Page.ClientScript.RegisterHiddenField(_pivotIdField, string.Empty);
        }
        else
        {
            string pivotIDstr = this.Request.Form[_pivotIdField];
            int    pivotID;
            if (!string.IsNullOrEmpty(pivotIDstr) && int.TryParse(pivotIDstr, out pivotID))
            {
                DataSource.PivotTableID = pivotID;
            }
        }

        Title = DataSource.PivotTitle;
        tlbPivot.Style[HtmlTextWriterStyle.Display] = "none";

        // show tabs only if there is special parameter in the URL
        if (!String.Equals(this.Request.QueryString[PXPivotTableGraph.ShowTabsParam], true.ToString(), StringComparison.OrdinalIgnoreCase))
        {
            return;
        }

        string screenID     = this.Request.QueryString[typeof(PivotTable.screenID).Name];
        string pivotTableID = this.Request.QueryString[typeof(PivotTable.pivotTableID).Name];
        bool   isFirst      = true;

        if (!string.IsNullOrEmpty(screenID) && !this.Page.IsCallback)
        {
            foreach (PivotTable table in PXPivotTableGraph.PivotTables
                     .Where(t => String.Equals(t.ScreenID, screenID, StringComparison.OrdinalIgnoreCase) &&
                            (t.OwnerName == null || String.Equals(t.OwnerName, DataSource.DataGraph.Accessinfo.UserName, StringComparison.OrdinalIgnoreCase))))
            {
                var btn = new PXToolBarButton
                {
                    Text        = table.Name,
                    Key         = table.PivotTableID.Value.ToString(),
                    ToggleMode  = true,
                    ToggleGroup = "1"
                };

                btn.Pushed = (pivotTableID == btn.Key);
                if (isFirst)
                {
                    btn.Attributes["first-tab"] = "1";
                    isFirst = false;
                }
                tlbPivot.Items.Add(btn);
            }
            if (tlbPivot.Items.Count > 1)
            {
                var lbl = new PXToolBarLabel()
                {
                    Width = Unit.Percentage(100)
                };
                tlbPivot.Items.Add(lbl);
                tlbPivot.Style[HtmlTextWriterStyle.Display] = "";
            }
        }
    }