America/US Samples
Europe Samples
Asia Samples

Gaia Ajax Viewport Example

This is our Ajax Viewport Example. This Viewport is built by small building blocks of Ajax widgets like our Ajax Panel, AspectDraggable, ExtendedPanel and so on. And by combining these small building blocks together you experience something far more expressive and flexible than what most other Ajax component vendors can offer you. Gaia Ajax is an Ajax Framework and not an Ajax Component suite. And this makes Gaia extremely flexible. Click the "Show Viewport" button further down and try to resize the different views in the window popping up. Or try to resize the two ExtendedPanels separated by the grey dottet line in the middle of this screen.

We recommend testing out the Viewport Community Extension. This extension made by our community makes it easy to have the Viewport as a separate control and the logic of the Viewport is hidden from your business logic.

This Extended Panel has 100% width which means you can get panels to fill the entire surface of your area.
Here we have two ExtendedPanels with a third "normal" panel between them which...
...effectively have created a Split View for us. Important thing to notice is that this splitview is even doing calculations in PERCENTAGE which is quite unique ;)

Here we have...
...rendered 6 panels...
...inside a div with width of 100%...
...and all of them are floating to the left...
...which means that they will "spill over"...
...when they come to the right end of the container they're within!

This panel have collapsing turned OFF. If you try to click the "arrow icon" in any of the other panels you will see that they are in fact collapsing. This panel have collapsing turned OFF. But you can MOVE this panel around. And if you move it you will see this text change
And this panel will animate for 0.2 seconds when collapsed in addition to that it is movable. And for all logic things which can be done with the panel you have the option of creating an Event Handler for it trapping that event in your own code and respond to it. So you see why we have named this widget "Extended Panel".

Markup (ASPX/.aspx)

   1:   
   2:      <div style="width:100%;position:relative;">
   3:          <gaia:ExtendedPanel 
   4:              runat="server" 
   5:              Caption="Extended Panel with 100% width" 
   6:              Collapsed="false"
   7:              Draggable="false"
   8:              style="width:100%;"
   9:              ID="ext1">
  10:              <div style="padding:15px;">
  11:                  This Extended Panel has 100% width which means you can get panels to fill the
  12:                  entire surface of your area.
  13:              </div>
  14:          </gaia:ExtendedPanel>
  15:      </div>
  16:      <div style="width:100%;position:relative;">
  17:          <gaia:ExtendedPanel 
  18:              runat="server" 
  19:              Caption="39% width" 
  20:              Collapsed="false"
  21:              Draggable="false"
  22:              style="width:39%;float:left;overflow:hidden;"
  23:              ID="pnlLeft">
  24:              <div style="padding:15px;height:80px;">
  25:                  Here we have two ExtendedPanels with a third "normal" panel between them which...
  26:              </div>
  27:          </gaia:ExtendedPanel>
  28:          <gaia:Panel 
  29:              runat="server" 
  30:              ID="dragger" 
  31:              CssClass="viewPortDraggerVert"
  32:              style="height:137px;z-index:699;">
  33:          </gaia:Panel>
  34:          <gaia:ExtendedPanel 
  35:              runat="server" 
  36:              
  37:              Caption="60% width" 
  38:              Collapsed="false"
  39:              Draggable="false" 
  40:              style="width:60%;float:left;overflow:hidden;"
  41:              ID="pnlRight">
  42:              <div style="padding:15px;height:80px;">
  43:                  ...effectively have created a Split View for us. Important thing to notice is that this splitview 
  44:                  is even doing calculations in PERCENTAGE which is quite unique ;)
  45:              </div>
  46:          </gaia:ExtendedPanel>
  47:      </div>
  48:      <br style="clear:both;" />
  49:      <div style="width:100%;position:relative;">
  50:          <gaia:ExtendedPanel 
  51:              runat="server" 
  52:              
  53:              Caption="100px Width" 
  54:              Collapsed="false"
  55:              Draggable="false"
  56:              style="width:100px;float:left;"
  57:              ID="dragRight">
  58:              <div style="padding:15px;height:100px;">
  59:                  Here we have...
  60:              </div>
  61:          </gaia:ExtendedPanel>
  62:          <gaia:ExtendedPanel 
  63:              runat="server" 
  64:              
  65:              Caption="100px Width" 
  66:              Collapsed="false"
  67:              Draggable="false"
  68:              style="width:100px;float:left;"
  69:              ID="ExtendedPanel2">
  70:              <div style="padding:15px;height:100px;">
  71:                  ...rendered 6 panels...
  72:              </div>
  73:          </gaia:ExtendedPanel>
  74:          <gaia:ExtendedPanel 
  75:              runat="server" 
  76:              
  77:              Caption="100px Width" 
  78:              Collapsed="false"
  79:              Draggable="false"
  80:              style="width:100px;float:left;"
  81:              ID="ExtendedPanel3">
  82:              <div style="padding:15px;height:100px;">
  83:                  ...inside a div with width of 100%...
  84:              </div>
  85:          </gaia:ExtendedPanel>
  86:          <gaia:ExtendedPanel 
  87:              runat="server" 
  88:              
  89:              Caption="100px Width" 
  90:              Collapsed="false"
  91:              Draggable="false"
  92:              style="width:100px;float:left;"
  93:              ID="ExtendedPanel4">
  94:              <div style="padding:15px;height:100px;">
  95:                  ...and all of them are floating to the left...
  96:              </div>
  97:          </gaia:ExtendedPanel>
  98:          <gaia:ExtendedPanel 
  99:              runat="server" 
 100:              
 101:              Caption="100px Width" 
 102:              Collapsed="false"
 103:              Draggable="false"
 104:              style="width:100px;float:left;"
 105:              ID="ExtendedPanel5">
 106:              <div style="padding:15px;height:100px;">
 107:                  ...which means that they will "spill over"...
 108:              </div>
 109:          </gaia:ExtendedPanel>
 110:          <gaia:ExtendedPanel 
 111:              runat="server" 
 112:              
 113:              Caption="100px Width" 
 114:              Collapsed="false"
 115:              Draggable="false"
 116:              style="width:100px;float:left;"
 117:              ID="ExtendedPanel6">
 118:              <div style="padding:15px;height:100px;">
 119:                  ...when they come to the right end of the container they're within!
 120:              </div>
 121:          </gaia:ExtendedPanel>
 122:          <gaia:ExtendedPanel 
 123:              runat="server" 
 124:              
 125:              Caption="Shows another viewport" 
 126:              Collapsed="false"
 127:              Draggable="false"
 128:              style="width:200px;float:left;"
 129:              ID="ExtendedPanel1">
 130:              <div style="padding:15px;height:100px;">
 131:                  <gaia:ExtendedButton 
 132:                      runat="server" 
 133:                      OnClick="showWindow_Click"
 134:                      
 135:                      ID="showWindow" Height="35" 
 136:                      Text="Show viewport" />
 137:              </div>
 138:          </gaia:ExtendedPanel>
 139:      </div>
 140:      <br style="clear:both;" />
 141:      <div style="width:100%;position:relative;height:130px;">
 142:          <gaia:ExtendedPanel 
 143:              runat="server" 
 144:              
 145:              Caption="100% Width, no collapsing, movable" 
 146:              Collapsed="false"
 147:              Draggable="true"
 148:              style="width:100%;" 
 149:              OnMoved="MovedPanel"
 150:              CanBeToggled="false" 
 151:              ID="ExtendedPanel8">
 152:              <div style="padding:15px;height:70px;">
 153:                  This panel have collapsing turned OFF. If you try to click the "arrow icon"
 154:                  in any of the other panels you will see that they are in fact collapsing. This
 155:                  panel have collapsing turned OFF. But you can MOVE this panel around. And if
 156:                  you move it you will see <gaia:Label runat="server" Text="this text" ID="lblMovable" />
 157:                  change
 158:              </div>
 159:          </gaia:ExtendedPanel>
 160:      </div>
 161:      <div style="width:100%;position:relative;height:140px;">
 162:          <gaia:ExtendedPanel 
 163:              runat="server" 
 164:              
 165:              Caption="100% Width, draggable with animation" 
 166:              Collapsed="false"
 167:              Draggable="true" 
 168:              AnimationDuration="200"
 169:              style="width:100%;" 
 170:              CanBeToggled="true" 
 171:              ID="ExtendedPanel9">
 172:              <div style="padding:15px;height:80px;">
 173:                  And this panel will animate for 0.2 seconds when collapsed in addition to that 
 174:                  it is movable. And for all logic things which can be done with the panel you
 175:                  have the option of creating an Event Handler for it trapping that event
 176:                  in your own code and respond to it. So you see why we have named this
 177:                  widget "Extended Panel".
 178:              </div>
 179:          </gaia:ExtendedPanel>
 180:      </div>
 181:      <gaia:Window 
 182:          id="viewportWindow" 
 183:          Width="800px" 
 184:          Height="700px" 
 185:          Draggable="true" 
 186:          Minimizable="false" 
 187:          Resizable="false" 
 188:          Maximizable="false"
 189:          Caption="Ajax Viewport"
 190:          Closable="true"
 191:          Visible="false"
 192:           
 193:          runat="server">
 194:   
 195:          <gaia:Panel 
 196:              runat="server" 
 197:              ID="viewTop" 
 198:              style="width:100%;height:39%;background-color:#fefefe;overflow:auto;">
 199:   
 200:              <gaia:Accordion 
 201:                  AnimationDuration="300"
 202:                  runat="server" 
 203:                  
 204:                  ID="acc">
 205:   
 206:                  <gaia:ExtendedPanel runat="server" Collapsed="false" Caption="Flash animations">
 207:                      <div style="padding:15px;">
 208:                          <gaia:ExtendedButton 
 209:                              ID="animateButton"
 210:                              OnClick="animateClicked"
 211:                               
 212:                              runat="server" 
 213:                              Text="Click me" />
 214:                      </div>
 215:                  </gaia:ExtendedPanel>
 216:                  <gaia:ExtendedPanel runat="server" Collapsed="true" Caption="Something else">
 217:   
 218:                      <gaia:TabControl runat="server"  Height="150px">
 219:                      
 220:                          <gaia:TabView ID="TabView1" runat="server" Caption="Tab 1">
 221:                              <div style="padding:15px;">
 222:                                  <p>
 223:                                      And HTML within TabControls too :)
 224:                                  </p>
 225:                              </div>
 226:                          </gaia:TabView>
 227:   
 228:                          <gaia:TabView ID="TabView2" runat="server" Caption="Tab 2">
 229:                              <div style="padding:15px;">
 230:                                  <p>
 231:                                      Gaia is about freedom to create! We want to put the fun back into systems development. 
 232:                                  </p>
 233:                              </div>
 234:                          </gaia:TabView>
 235:   
 236:                      </gaia:TabControl>
 237:   
 238:                  </gaia:ExtendedPanel>
 239:                  <gaia:ExtendedPanel runat="server" Collapsed="true" Caption="'Pure' HTML">
 240:                      <div style="padding:15px;">
 241:                          <h3>HTML</h3>
 242:                          <p>
 243:                              As you can see it's easy to also embed <strong>HTML</strong> inside any other Container Widgets...
 244:                          </p>
 245:                      </div>
 246:                  </gaia:ExtendedPanel>
 247:   
 248:              </gaia:Accordion>
 249:   
 250:          </gaia:Panel>
 251:   
 252:          <gaia:Panel 
 253:              runat="server" 
 254:              ID="draggerTop" 
 255:              CssClass="viewPortDraggerHorz">
 256:          </gaia:Panel>
 257:   
 258:          <gaia:ExtendedPanel 
 259:              runat="server" 
 260:              ID="viewLeft" 
 261:               
 262:              Draggable="false" 
 263:              CanBeToggled="false"
 264:              Caption="TreeView here..."
 265:              style="width:25%;height:60%;background-color:#fefefe;float:left;">
 266:   
 267:              <gaia:TreeView 
 268:                  OnNodeSelected="tree_NodeSelected"
 269:                  runat="server" 
 270:                  ID="tree" 
 271:                   
 272:                  style="width:100%;margin-bottom:4px;background-color:#fefefe;">
 273:   
 274:                  <gaia:TreeViewItem runat="server"   Collapsed="false" IconCssClass="folder">
 275:                      Cool Stuff
 276:                      <gaia:TreeViewItem runat="server"  Collapsed="true" IconCssClass="folder">
 277:                          Web
 278:                          <gaia:TreeViewItem ID="xhtml" runat="server"  IsLeaf="true" IconCssClass="file">
 279:                              XHTML
 280:                          </gaia:TreeViewItem>
 281:                          <gaia:TreeViewItem ID="css" runat="server"  IsLeaf="true" IconCssClass="file">
 282:                              CSS
 283:                          </gaia:TreeViewItem>
 284:                          <gaia:TreeViewItem ID="js" runat="server"  IsLeaf="true" IconCssClass="file">
 285:                              JavaScript
 286:                          </gaia:TreeViewItem>
 287:                      </gaia:TreeViewItem>
 288:                      <gaia:TreeViewItem runat="server"  IconCssClass="folder">
 289:                          Music
 290:                          <gaia:TreeViewItem ID="jazz" runat="server"  IsLeaf="true" IconCssClass="file">
 291:                              Jazz
 292:                          </gaia:TreeViewItem>
 293:                          <gaia:TreeViewItem ID="classic" runat="server"  IsLeaf="true" IconCssClass="file">
 294:                              Classic
 295:                          </gaia:TreeViewItem>
 296:                      </gaia:TreeViewItem>
 297:                  </gaia:TreeViewItem>
 298:   
 299:              </gaia:TreeView>
 300:   
 301:          </gaia:ExtendedPanel>
 302:   
 303:          <gaia:Panel 
 304:              runat="server" 
 305:              ID="draggerCenter" 
 306:              CssClass="viewPortDraggerVert">
 307:          </gaia:Panel>
 308:   
 309:          <gaia:ExtendedPanel 
 310:              runat="server" 
 311:              ID="viewRight" 
 312:               
 313:              Draggable="false" 
 314:              CanBeToggled="false"
 315:              Caption="TreeView OUTPUT here..."
 316:              style="width:74%;height:60%;background-color:#fefefe;float:left;">
 317:              <div style="margin:15px;">
 318:                  <gaia:Label 
 319:                      runat="server" 
 320:                      ID="msg" />
 321:              </div>
 322:          </gaia:ExtendedPanel>
 323:   
 324:      </gaia:Window>
 325:      
 326:   
 327: