Custom Position of the Dialog is missing - solution Title is required

Jun 20, 2009 at 12:30 PM

To define a custom Position for a Dialog we need only a very few changes:


Add a new entry in DNA.JQuery\Dialog\DialogPositions.cs:

    6 namespace DNA.UI.JQuery

    7 {

    8     public enum DialogPositions

    9     {

   10         Center=0,

   11         LeftTop=1,

   12         RightTop=2,

   13         Left=3,

   14         Right=4,

   15         LeftBottom=5,

   16         RightBottom=6,

   17         Top=7,

   18         Bottom=8,

   19         PositionAbsolute=9

   20     }

   21 }

<!--EndFragment-->



Adding two Properties in the dialog.cs
PositionLeft and PositionTop

And another switch:
case DialogPositions.Coordinates:
      pos = "[" + PositionLeft  + "," + PositionTop+ "]";
      break;

Changes of in then following DNA jQuery Web Controls\DNA.JQuery\Dialog\Dialog.cs are red

 

 

  404       /// <summary>

  405         /// Gets/Sets the dialog's default position when open

  406         /// </summary>

  407         [Category("Layout")]

  408         [NotifyParentProperty(true)]

  409         [Bindable(true)]

  410         [Description("Gets/Sets the dialog's default position when open")]

  411         public int PositionLeft

  412         {

  413             get

  414             {

  415                 object obj = ViewState["PositionLeft"];

  416                 return (obj == null) ? 0 : (int)obj;

  417             }

  418             set

  419             {

  420                 ViewState["PositionLeft"] = value;

  421             }

  422         }

  423 

  424 

  425         /// <summary>

  426         /// Gets/Sets the dialog's default position when open

  427         /// </summary>

  428         [Category("Layout")]

  429         [NotifyParentProperty(true)]

  430         [Bindable(true)]

  431         [Description("Gets/Sets the dialog's default position when open")]

  432         public int PositionTop

  433         {

  434             get

  435             {

  436                 object obj = ViewState["PositionTop"];

  437                 return (obj == null) ? 0 : (int)obj;

  438             }

  439             set

  440             {

  441                 ViewState["PositionTop"] = value;

  442             }

  443         }

<!--EndFragment-->

 

<!--EndFragment-->

  978                 if (Position != DialogPositions.Center)

  979                 {

  980                     string pos = "";

  981                     switch (Position)

  982                     {

  983                         case DialogPositions.Top:

  984                             pos = "'top'";

  985                             break;

  986                         case DialogPositions.Bottom:

  987                             pos = "'bottom'";

  988                             break;

  989                         case DialogPositions.Left:

  990                             pos = "'left'";

  991                             break;

  992                         case DialogPositions.Right:

  993                             pos = "'right'";

  994                             break;

  995                         case DialogPositions.LeftTop:

  996                             pos = "['left','top']";

  997                             break;

  998                         case DialogPositions.RightTop:

  999                             pos = "['right','top']";

 1000                             break;

 1001                         case DialogPositions.LeftBottom:

 1002                             pos = "['left','bottom']";

 1003                             break;

 1004                         case DialogPositions.RightBottom:

 1005                             pos = "['right','bottom']";

 1006                             break;

 1007                         case DialogPositions.PositionAbsolute:

 1008                             pos = "[" + PositionLeft + "," + PositionTop + "]";

 1009                             break;

 1010                     }

 1011                     //options.Add("position", pos);

 1012                     builder.AddOption("position", pos);

 1013                 }

<!--EndFragment-->
Coordinator
Jun 21, 2009 at 9:15 AM

Very good! I already update this code in the source file.