[CLOSED] JavaScript error in dynamic user control

  1. #1

    [CLOSED] JavaScript error in dynamic user control

    I load a user control that has a treepanel and gridpanel and loaded dynamically. When the control is loaded, I get a javascript error "Microsoft JScript compilation error: Expected ';"..what is the problem here ?
    Last edited by Daniil; Dec 21, 2010 at 4:12 PM. Reason: [CLOSED]
  2. #2
    Please see #1 at the following location,

    http://forums.ext.net/showthread.php...ation-Required

    As well, a quick review of the forum posting guidelines will help, see

    http://forums.ext.net/showthread.php...ing-New-Topics
    Geoffrey McGill
    Founder
  3. #3
    We have a default page that implements a desktop control

    Default.aspx
    ----------------
    
    <%@ Page Title="Home Page" Language="C#" AutoEventWireup="true"
        CodeBehind="Default.aspx.cs" Inherits="CooliteDemo._Default" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <%@ Register TagPrefix="uc10" TagName="Permissions" Src="~/Planroom/UserControls/Permissions.ascx" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <%--<link rel="stylesheet" type="text/css" href="resources/css/ext-all-notheme.css" />
    <link rel="stylesheet" type="text/css" href="resources/css/xtheme-tp.css" />--%>
        <title>BlueprintOnline</title>
        <style type="text/css">
            #ux-taskbar-start, #TaskBarStart-xsplit
            {
                display: none;
            }
            
            
            
            
            .start-button
            {
                background-image: url(vista_start_button.gif) !important;
            }
            
            
            .icon-AddressBook
            {
                background-image: url(resources/images/address_book_btn_off.png) !important;
                background-repeat: no-repeat;
                background-position: center bottom;
                filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="resources/images/address_book_btn_off.png");
            }
            
            .desktopEl
            {
                position: absolute !important;
                background-color: black;
            }
            .desktopEl1
            {
                position: absolute !important;
            }
            
            .desktopElText
            {
                color: #4dc8e9;
                font-size: medium;
                font-weight: bold;
            }
        </style>
        
    </head>
    <body>
        <form id="DefaultForm" runat="server">
       
        <ext:Hidden ID="ShowPermissions" runat="server" />
       
        <ext:ResourceManager ID="ResourceManager1" DirectMethodNamespace="BPOLX" runat="server"
            RethrowAjaxExceptions="true" Theme="Slate">
          
        </ext:ResourceManager>
        <ext:Desktop ID="MyDesktop" runat="server" BackgroundColor="Black" ShortcutTextColor="White">
            <Modules>
                <ext:DesktopModule ModuleID="DesktopModule6" WindowID="winPermissions">
                    <Launcher ID="Launcher6" runat="server" Text="Permissions" Icon="UserTick" />
                </ext:DesktopModule>
            </Modules>
            <Shortcuts>
                <ext:DesktopShortcut ModuleID="DesktopModule6" X="100" Y="200" IconCls="shortcut-icon icon-AddressBook" />
            </Shortcuts>
        </ext:Desktop>
        
        <ext:DesktopWindow ID="winPermissions" runat="server" Title="Permissions" Width="600"
            Height="500" Maximizable="false">
            <Content>
                <ext:Panel runat="server" ID="pnlPermission" />
            </Content>
            <DirectEvents>
                <BeforeShow OnEvent="ShowPermissionControl" />
                <BeforeHide OnEvent="HidePermissionControl" />
            </DirectEvents>
        </ext:DesktopWindow>
       
        </form>
    </body>
    </html>
    Code-behind for default.aspx
    ------------------------------------

    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using CooliteDemo.Planroom.UserControls;
    using Ext.Net;
    
    namespace CooliteDemo
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
                if (ShowPermissions.Text == "true")
                {
                    var permissionControl = (WebUserControl1)LoadControl("Planroom/UserControls/Permissions.ascx");
                    permissionControl.ID = "PermissionsControl";
                    pnlPermission.ContentControls.Add(permissionControl);
                }
            }
    
           
            protected void ShowPermissionControl(object sender, DirectEventArgs e)
            {
                try
                {
                    var permissionControl = (WebUserControl1)LoadControl("Planroom/UserControls/Permissions.ascx");
                    permissionControl.ID = "PermissionControl";
    
                    pnlPermission.ContentControls.Add(permissionControl);
                    pnlPermission.UpdateContent();
                    ShowPermissions.Text = "true";
                }
                catch (Exception ex)
                {
    
                }
                return;
            }
    
    
            [DirectMethod]
            public void HidePermissionControl(object sender, DirectEventArgs e)
            {
                ShowPermissions.Text = "false";
    
            }
    
        }
    }

    User Control -Permissions.ascx
    ------------------------------------------------------------------
    
    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Permissions.ascx.cs" Inherits="CooliteDemo.Planroom.UserControls.WebUserControl1" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <ext:XScript ID="XScript1" runat="server">
            <script type="text/javascript">
                var AddUserToGrid = function () {
                    var grid = #{grdUsers};
                    grid.addRecord({ID:#{cbPerson}.getValue(), Name:#{cbPerson}.getText()}); 
                    grid.getView().refresh();
                    #{cbPerson}.clearValue();
                   }
                
                var RemoveUser = function () {
                    var grid = #{grdUsers};
                                    
                    var selections = grid.getSelectionModel().getSelections();
                    
                    for (var i = 0, r; r = selections[i]; i++) {
                        #{SelectedUserStore}.remove(r);
                    }
    
                    grid.getView().refresh();
                }
    
                var SetPermission = function()
                {
                    var role = #{cbRoles}.getValue();
                    if( role == '' ) 
                        return;
                    else
                    {
                        #{chkPermission}.setDisabled(false);
                        if (role ==2)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(false);
                            #{chkDelete}.setValue(false);
                            #{chkCreateFolder}.setValue(false);
                            #{chkAddProject}.setValue(false);
                            #{chkEditProject}.setValue(false);
                            #{chkHistorical}.setValue(false);
                            #{chkOriginal}.setValue(false);
                            #{chkAssignPermission}.setValue(false);
                            #{chkSendBid}.setValue(false);
                            #{chkSendRFI}.setValue(false);
                            #{chkSendInvitation}.setValue(false);
                            #{chkSendChangeOrder}.setValue(false);
                            #{chkViewBid}.setValue(false);
                            #{chkViewRFI}.setValue(false);
                            #{chkViewInvitation}.setValue(false);
                            #{chkViewChangeOrder}.setValue(false);
                        }
                        else if (role == 3)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(true);
                            #{chkDelete}.setValue(true);
                            #{chkCreateFolder}.setValue(true);
                            #{chkAddProject}.setValue(true);
                            #{chkEditProject}.setValue(true);
                            #{chkHistorical}.setValue(true);
                            #{chkOriginal}.setValue(true);
                            #{chkAssignPermission}.setValue(true);
                            #{chkSendBid}.setValue(false);
                            #{chkSendRFI}.setValue(false);
                            #{chkSendInvitation}.setValue(false);
                            #{chkSendChangeOrder}.setValue(false);
                            #{chkViewBid}.setValue(false);
                            #{chkViewRFI}.setValue(false);
                            #{chkViewInvitation}.setValue(false);
                            #{chkViewChangeOrder}.setValue(false);
                        }
                        else if (role == 4)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(true);
                            #{chkDelete}.setValue(true);
                            #{chkCreateFolder}.setValue(true);
                            #{chkAddProject}.setValue(true);
                            #{chkEditProject}.setValue(true);
                            #{chkHistorical}.setValue(true);
                            #{chkOriginal}.setValue(true);
                            #{chkAssignPermission}.setValue(true);
                            #{chkSendBid}.setValue(true);
                            #{chkSendRFI}.setValue(true);
                            #{chkSendInvitation}.setValue(true);
                            #{chkSendChangeOrder}.setValue(true);
                            #{chkViewBid}.setValue(false);
                            #{chkViewRFI}.setValue(false);
                            #{chkViewInvitation}.setValue(false);
                            #{chkViewChangeOrder}.setValue(false);
                        }
                        else if (role == 5)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(true);
                            #{chkDelete}.setValue(true);
                            #{chkCreateFolder}.setValue(true);
                            #{chkAddProject}.setValue(true);
                            #{chkEditProject}.setValue(true);
                            #{chkHistorical}.setValue(true);
                            #{chkOriginal}.setValue(true);
                            #{chkAssignPermission}.setValue(true);
                            #{chkSendBid}.setValue(true);
                            #{chkSendRFI}.setValue(true);
                            #{chkSendInvitation}.setValue(true);
                            #{chkSendChangeOrder}.setValue(true);
                            #{chkViewBid}.setValue(true);
                            #{chkViewRFI}.setValue(true);
                            #{chkViewInvitation}.setValue(true);
                            #{chkViewChangeOrder}.setValue(true);
                        }
                        else if (role == 6)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(true);
                            #{chkDelete}.setValue(true);
                            #{chkCreateFolder}.setValue(true);
                            #{chkAddProject}.setValue(true);
                            #{chkEditProject}.setValue(true);
                            #{chkHistorical}.setValue(true);
                            #{chkOriginal}.setValue(true);
                            #{chkAssignPermission}.setValue(true);
                            #{chkSendBid}.setValue(true);
                            #{chkSendRFI}.setValue(true);
                            #{chkSendInvitation}.setValue(true);
                            #{chkViewBid}.setValue(true);
                            #{chkSendChangeOrder}.setValue(true);
                            #{chkViewRFI}.setValue(true);
                            #{chkViewInvitation}.setValue(true);
                            #{chkViewChangeOrder}.setValue(true);
                        }
                    }
                }
    
    
    
            var setPermissionComponentParameters = function()
            {
                if (!#{PermissionsComponentMenuItem}.component.collapsed)
                {
                    #{PermissionPanelsMenu}.setWidth(#{pnlPermissionBreadCrumb}.getWidth());
                    #{PermissionPanelsMenu}.setPosition(#{pnlPermissionBreadCrumb}.getPosition()[0], #{pnlPermissionBreadCrumb}.getPosition()[1] + #{pnlPermissionBreadCrumb}.getHeight());
                }
             }
    
             var expandPermissionCurrentProject = function(e)
            {
                Ext.net.Mask.show({el: #{PermissionDocumentTree}});
                if (e.nodes.length > 0 && e.nodes[0].id==2094)
                {
                    BPOLX.Documents.GetPath(#{txtProjectId}.getValue(), {success:expandPermissionProjectFromPath});           
                }
                Ext.net.Mask.hide();
            }
    
            var expandPermissionProjectFromPath = function(e)
            {
                if (e.length > 0)
                {
                    var nodes = e.split('\\');
                    if (nodes.length> 2)
                    {
                        expandPermissionTreeNode(nodes[2]);
                    }
                    if (nodes.length> 3)
                    {
                         setTimeout("expandPermissionTreeNode(" + nodes[3] +")",700);
                    }
                }
            }
    
    
            var expandPermissionTreeNode = function(e)
            {
                var node = #{PermissionDocumentTree}.getNodeById(e);
                if (node != null)
                {
                    node.expand();
                }
            }
    
              var ShowHideUser = function (field, index) {
                if (#{grdPermissions}.getRowsValues({selectedOnly : true}).length == 1)
                {
                    #{btnEditUser}.setDisabled(false);
                    #{btnDeleteUser}.setDisabled(false);
                }
                else if (#{grdPermissions}.getRowsValues({selectedOnly : true}).length == 1)
                {
                    #{btnEditUser}.setDisabled(false);
                    #{btnDeleteUser}.setDisabled(false);
                }
                else if (#{grdPermissions}.getRowsValues({selectedOnly : true}).length > 1)
                {
                     #{btnEditUser}.setDisabled(true);
                    #{btnDeleteUser}.setDisabled(false);
                }
              }
            </script>
    </ext:XScript>
    <ext:TextField Hidden="true" ID="txtProjectId" runat="server" />
    <ext:Store ID="PermissionsStore" runat="server">
        <Reader>
            <ext:ArrayReader>
                <Fields>
                    <ext:RecordField Name="ID" Mapping="ID" Type="Int" />
                    <ext:RecordField Name="PersonName" Mapping="PersonName" Type="String" />
                    <ext:RecordField Name="UserName" Mapping="UserName" Type="String" />
                    <ext:RecordField Name="Company" Mapping="Company" Type="String" />
                    <ext:RecordField Name="Role" Mapping="Role" Type="String" />
                </Fields>
            </ext:ArrayReader>
        </Reader>
    </ext:Store>
    <ext:Store ID="SelectedUserStore" runat="server">
        <Reader>
            <ext:ArrayReader>
                <Fields>
                    <ext:RecordField Name="ID" Mapping="ID" Type="Int" />
                    <ext:RecordField Name="Name" Mapping="Name" Type="String" />
                </Fields>
            </ext:ArrayReader>
        </Reader>
    </ext:Store>
    <ext:FitLayout runat="server" ID="Permissionlayout">
        <Items>
            <ext:GridPanel ID="grdPermissions" runat="server" ColumnLines="true" StoreID="PermissionsStore">
                <TopBar>
                    <ext:Toolbar ID="Toolbar1" runat="server" Layout="Container">
                        <Items>
                            <ext:Toolbar runat="server">
                                <Items>
                                    <ext:HBoxLayout ID="hblBreadCrumb" runat="server" Padding="2" Align="Top">
                                        <BoxItems>
                                            <ext:BoxItem Flex="1">
                                                <ext:Panel ID="pnlPermissionBreadCrumb" runat="server" Height="24" Width="540">
                                                    <Items>
                                                    </Items>
                                                </ext:Panel>
                                            </ext:BoxItem>
                                            <ext:BoxItem>
                                                <ext:Panel ID="Panel8" runat="server">
                                                    <Items>
                                                        <ext:Button ID="btnJumpFolders" runat="server" Icon="ArrowDown">
                                                            <Menu>
                                                                <ext:Menu ID="PermissionPanelsMenu" runat="server" StyleSpec="overflow:visible;">
                                                                    <Listeners>
                                                                        <Show Fn="setPermissionComponentParameters" />
                                                                    </Listeners>
                                                                    <Items>
                                                                        <ext:ComponentMenuItem ID="PermissionsComponentMenuItem" runat="server" Shift="false"
                                                                            HideOnClick="false">
                                                                            <Component>
                                                                                <ext:TreePanel ID="PermissionDocumentTree" runat="server" Height="300" AutoWidth="true"
                                                                                    Icon="ChartOrganisation" ContainerScroll="true" AutoScroll="true" Animate="true"
                                                                                    UseArrows="true" RootVisible="false">
                                                                                    <Loader>
                                                                                        <ext:PageTreeLoader OnNodeLoad="ProjectTreeLoad">
                                                                                        </ext:PageTreeLoader>
                                                                                    </Loader>
                                                                                    <Root>
                                                                                        <ext:AsyncTreeNode NodeID="2094" Text="" />
                                                                                    </Root>
                                                                                    <DirectEvents>
                                                                                        <Click OnEvent="ProjectNodeClick">
                                                                                            <ExtraParams>
                                                                                                <ext:Parameter Name="nodeId" Value="node.id" Mode="Raw" />
                                                                                            </ExtraParams>
                                                                                            <EventMask ShowMask="true" MinDelay="2000" />
                                                                                        </Click>
                                                                                    </DirectEvents>
                                                                                    <Listeners>
                                                                                        <Click Handler="#{PermissionPanelsMenu}.hide();" />
                                                                                        <AfterRender Fn="expandPermissionCurrentProject" />
                                                                                    </Listeners>
                                                                                </ext:TreePanel>
                                                                            </Component>
                                                                        </ext:ComponentMenuItem>
                                                                    </Items>
                                                                </ext:Menu>
                                                            </Menu>
                                                        </ext:Button>
                                                    </Items>
                                                </ext:Panel>
                                            </ext:BoxItem>
                                        </BoxItems>
                                    </ext:HBoxLayout>
                                </Items>
                            </ext:Toolbar>
                            <ext:Toolbar ID="Toolbar2" runat="server">
                                <Items>
                                    <ext:Button runat="server" ID="btnAddUser" Text="Add User" Icon="UserAdd">
                                        <Listeners>
                                            <Click Handler="#{winPermission}.show();" />
                                        </Listeners>
                                    </ext:Button>
                                    <ext:Button runat="server" ID="btnEditUser" Text="Edit" Icon="UserEdit" Disabled="true">
                                        <Listeners>
                                            <Click Handler="BPOLX.ContactBookEditor.RenameGroup(#{cbGroups}.getValue());#{winAddEditGroup}.show();" />
                                        </Listeners>
                                    </ext:Button>
                                    <ext:Button runat="server" ID="btnDeleteUser" Text="Delete" Icon="UserDelete"
                                        Disabled="true">
                                        <Listeners>
                                            <Click Handler="#{winMove}.show();BPOLX.ContactBookEditor.LoadMoveGroup()" />
                                        </Listeners>
                                    </ext:Button>
                                </Items>
                            </ext:Toolbar>
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <ColumnModel>
                    <Columns>
                        <ext:Column DataIndex="ID" Hidden="true" />
                        <ext:Column Header="Name" DataIndex="PersonName" />
                        <ext:Column Header="UserName" DataIndex="UserName" />
                        <ext:Column Header="Role" DataIndex="Role" />
                    </Columns>
                </ColumnModel>
                <View>
                    <ext:BufferView ForceFit="true" />
                </View>
                <Listeners>
                    <CellClick Handler="ShowHideUser(this,rowIndex)" Delay="50" />
                </Listeners>
                <SelectionModel>
                    <ext:CheckboxSelectionModel ID="CheckboxSelectionModel1222" runat="server" MoveEditorOnEnter="false">
                    </ext:CheckboxSelectionModel>
                </SelectionModel>
            </ext:GridPanel>
        </Items>
    </ext:FitLayout>
    <ext:Window ID="winPermission" runat="server" Hidden="true" Width="550" Height="400"
        AutoScroll="true" Title="Add/Edit User">
        <Content>
            <ext:FieldSet ID="fldUserRoles" runat="server" Title="Role" AnchorHorizontal="60%">
                <Content>
                    <ext:ComboBox ID="cbPerson" runat="server" EmptyText="Search by Name" DisplayField="Text"
                        ValueField="Value" TypeAhead="false" LoadingText="Searching..." PageSize="10"
                        HideTrigger="true" ItemSelector="div.search-item" MinChars="2" AnchorHorizontal="100%"
                        Width="250" ListWidth="250">
                        <Store>
                            <ext:Store ID="PersonStore" runat="server" AutoLoad="false">
                                <Proxy>
                                    <ext:HttpProxy Method="POST" Url="PublicHttpHandlers/SearchUsers.ashx">
                                        <Headers>
                                            <ext:Parameter Name='companyId' />
                                        </Headers>
                                    </ext:HttpProxy>
                                </Proxy>
                                <Reader>
                                    <ext:JsonReader Root="Companies" TotalProperty="total">
                                        <Fields>
                                            <ext:RecordField Name="Text" />
                                            <ext:RecordField Name="Value" />
                                        </Fields>
                                    </ext:JsonReader>
                                </Reader>
                            </ext:Store>
                        </Store>
                        <Template ID="Template2" runat="server">
                            <Html>
                                <tpl for=".">
                                              <div class="search-item">
                                                    <h3>{Text}</h3>
                                              </div>
                                        </tpl>
                            </Html>
                        </Template>
                        <Listeners>
                            <TriggerClick Handler="switch(tag) {
                                                                case 'search':
                                                                    BPOLX.Documents.GoToDocument();
                                                                    #{cbCompany}.clearValue(); 
                                                                    break;                    
                                                                case 'clear':
                                                                    #{cbCompany}.clearValue(); 
                                                                    break;
                                                            }" />
                            <Select Handler="AddUserToGrid();" />
                            <Focus Handler="BPOLX.Permissions.GetCompanyId(1,{success:function(e){#{PersonStore}.proxy.conn.headers.companyId = e;}})" />
                        </Listeners>
                        <Triggers>
                            <ext:FieldTrigger Icon="Search" Tag="search" />
                            <ext:FieldTrigger Icon="Clear" Tag="clear" />
                        </Triggers>
                    </ext:ComboBox>
                    </br>
                    <ext:GridPanel ID="grdUsers" StoreID="SelectedUserStore" runat="server" Width="300"
                        Height="100" AutoScroll="true">
                        <ColumnModel>
                            <Columns>
                                <ext:Column Header="ID" DataIndex="ID" Hidden="true" />
                                <ext:Column Header="User" DataIndex="Name">
                                    <Commands>
                                        <ext:ImageCommand CommandName="Delete" Icon="Delete">
                                            <ToolTip Text="Delete" />
                                        </ext:ImageCommand>
                                    </Commands>
                                </ext:Column>
                            </Columns>
                        </ColumnModel>
                    </ext:GridPanel>
                </Content>
            </ext:FieldSet>
            <ext:FieldSet runat="server" ID="fldPermissions" Title="Permissions">
                <Content>
                    <ext:ComboBox ID="cbRoles" runat="server" AnchorHorizontal="70%" Width="250" EmptyText="Select a Role">
                        <Items>
                            <ext:ListItem Text="Basic Level One User" Value="2" />
                            <ext:ListItem Text="Level One Administrator" Value="3" />
                            <ext:ListItem Text="Basic Level Two User" Value="4" />
                            <ext:ListItem Text="Level Two Administrator" Value="5" />
                            <ext:ListItem Text="BPOL Administrator" Value="6" />
                        </Items>
                        <Listeners>
                            <Select Handler="SetPermission();" />
                        </Listeners>
                    </ext:ComboBox>
                    <ext:CheckboxGroup ID="chkPermission" runat="server" MsgTarget="Side" ItemCls="x-check-group-alt"
                        AllowBlank="false" Disabled="true">
                        <Items>
                            <ext:CheckboxColumn ID="CheckboxColumn1" runat="server" ColumnWidth="0.33">
                                <Items>
                                    <ext:Label ID="Label1" runat="server" Text="Projects" Cls="x-form-check-group-label"
                                        ForID="-">
                                        <CustomConfig>
                                            <ext:ConfigItem Name="anchor" Value="-15" Mode="Value" />
                                        </CustomConfig>
                                    </ext:Label>
                                    <ext:Checkbox ID="chkAddProject" runat="server" BoxLabel="Add Project" />
                                    <ext:Checkbox ID="chkEditProject" runat="server" BoxLabel="Edit Project Details" />
                                    <ext:Checkbox ID="chkAssignPermission" runat="server" BoxLabel="Assign Permissions" />
                                    <ext:Checkbox ID="chkCurrentSet" runat="server" BoxLabel="Show Current Set" />
                                    <ext:Checkbox ID="chkHistorical" runat="server" BoxLabel="Show Historical Set" />
                                    <ext:Checkbox ID="chkOriginal" runat="server" BoxLabel="Show Original Set" />
                                </Items>
                            </ext:CheckboxColumn>
                            <ext:CheckboxColumn ID="CheckboxColumn21" runat="server" ColumnWidth="0.33">
                                <Items>
                                    <ext:Label ID="Label2" runat="server" Text="Documents" Cls="x-form-check-group-label"
                                        ForID="-">
                                        <CustomConfig>
                                            <ext:ConfigItem Name="anchor" Value="-15" Mode="Value" />
                                        </CustomConfig>
                                    </ext:Label>
                                    <ext:Checkbox ID="chkViewDrawings" runat="server" BoxLabel="View Drawing Packages" />
                                    <ext:Checkbox ID="chkOrder" runat="server" BoxLabel="Order" />
                                    <ext:Checkbox ID="chkUpload" runat="server" BoxLabel="Upload Files" />
                                    <ext:Checkbox ID="chkDownload" runat="server" BoxLabel="Download Files" />
                                    <ext:Checkbox ID="chkEdit" runat="server" BoxLabel="Edit Information" />
                                    <ext:Checkbox ID="chkDelete" runat="server" BoxLabel="Delete Files/Folders" />
                                    <ext:Checkbox ID="chkCreateFolder" runat="server" BoxLabel="Create Folders" />
                                </Items>
                            </ext:CheckboxColumn>
                            <ext:CheckboxColumn ID="CheckboxColumn22" runat="server" ColumnWidth="0.33">
                                <Items>
                                    <ext:Label ID="Label3" runat="server" Text="Announcements" Cls="x-form-check-group-label"
                                        ForID="-">
                                        <CustomConfig>
                                            <ext:ConfigItem Name="anchor" Value="-15" Mode="Value" />
                                        </CustomConfig>
                                    </ext:Label>
                                    <ext:Checkbox ID="chkSendBid" runat="server" BoxLabel="Send Bids" />
                                    <ext:Checkbox ID="chkSendRFI" runat="server" BoxLabel="Send RFI" />
                                    <ext:Checkbox ID="chkSendInvitation" runat="server" BoxLabel="Send Invitation to Join" />
                                    <ext:Checkbox ID="chkSendChangeOrder" runat="server" BoxLabel="Send Change Order" />
                                    <ext:Checkbox ID="chkViewBid" runat="server" BoxLabel="View Bids" />
                                    <ext:Checkbox ID="chkViewRFI" runat="server" BoxLabel="View RFI's" />
                                    <ext:Checkbox ID="chkViewInvitation" runat="server" BoxLabel="View Invitations" />
                                    <ext:Checkbox ID="chkViewChangeOrder" runat="server" BoxLabel="View Change Orders" />
                                </Items>
                            </ext:CheckboxColumn>
                        </Items>
                    </ext:CheckboxGroup>
                </Content>
            </ext:FieldSet>
        </Content>
        <Buttons>
            <ext:Button Text="Save" runat="server">
                <Listeners>
                    <Click Handler="#{winPermission}.hide();" />
                </Listeners>
            </ext:Button>
            <ext:Button Text="Cancel" runat="server">
                <Listeners>
                    <Click Handler="#{winPermission}.hide();" />
                </Listeners>
            </ext:Button>
        </Buttons>
        <Listeners>
            <BeforeShow Handler="BPOLX.Permissions.SetCompany()" />
        </Listeners>
    </ext:Window>

    Permission.ascx code behind
    ----------------------------------

    
    using System;
    using Ext.Net;
    
    namespace CooliteDemo.Planroom.UserControls
    {
        public partial class WebUserControl1 : System.Web.UI.UserControl
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            [DirectMethod]
            public void ProjectTreeLoad(object sender, NodeLoadEventArgs e)
            {
               
            }
    
            protected void ProjectNodeClick(object sender, DirectEventArgs e)
            {
    
                var id = e.ExtraParams["nodeId"];
                //PermissionPanelsMenu.Hidden = true;
                
    
            }
        }
    }
  4. #4
    Hi,

    Unfortunately I was unable to get your code sample working locally.
    Geoffrey McGill
    Founder
  5. #5
    Hi,

    You cannot mix widgets (like windows and textfield) and layout control at one level
  6. #6
    Geoff,

    I have sent my project to you by email. Please try running that.

    Vladimir,

    I did not find any documentation on this. Please provide an example. we have been fighting this for a long time..pls help.. thanks
  7. #7
    Hi,

    Your sample has several problems

    1. Please place pnlPermission panel inside items instead Content
    2. Add Layout="Fit" to winPermissions window
    3. Use Render method instead UpdateContent for pnlPermission
    4. Add semicolumn after each 'var f = function(){};' declaration
    5. Add aditional container to user control, place window and store to content, grid to Items

    Here is updated example
    Page
    <%@ Page Language="C#" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
     
    <%@ Register TagPrefix="uc10" TagName="Child" Src="Child.ascx" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
            {
     
                if (ShowPermissions.Text == "true")
                {
                    var permissionControl = (UserControl)LoadControl("Child.ascx");
                    permissionControl.ID = "PermissionsControl";
                    pnlPermission.ContentControls.Add(permissionControl);
                }
            }
     
            
            protected void ShowPermissionControl(object sender, DirectEventArgs e)
            {
                try
                {
                    var permissionControl = (UserControl)LoadControl("Child.ascx");
                    permissionControl.ID = "PermissionControl";
     
                    pnlPermission.ContentControls.Add(permissionControl);
                    pnlPermission.Render();
                    ShowPermissions.Text = "true";
                }
                catch (Exception ex)
                {
     
                }
                return;
            }
     
     
            [DirectMethod]
            public void HidePermissionControl(object sender, DirectEventArgs e)
            {
                ShowPermissions.Text = "false";
     
            }
    </script>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <%--<link rel="stylesheet" type="text/css" href="resources/css/ext-all-notheme.css" />
    <link rel="stylesheet" type="text/css" href="resources/css/xtheme-tp.css" />--%>
        <title>BlueprintOnline</title>
        <style type="text/css">
            #ux-taskbar-start, #TaskBarStart-xsplit
            {
                display: none;
            }
             
             
             
             
            .start-button
            {
                background-image: url(vista_start_button.gif) !important;
            }
             
             
            .icon-AddressBook
            {
                background-image: url(resources/images/address_book_btn_off.png) !important;
                background-repeat: no-repeat;
                background-position: center bottom;
                filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="resources/images/address_book_btn_off.png");
            }
             
            .desktopEl
            {
                position: absolute !important;
                background-color: black;
            }
            .desktopEl1
            {
                position: absolute !important;
            }
             
            .desktopElText
            {
                color: #4dc8e9;
                font-size: medium;
                font-weight: bold;
            }
        </style>
         
    </head>
    <body>
        <form id="DefaultForm" runat="server">
        
        <ext:Hidden ID="ShowPermissions" runat="server" />
        
        <ext:ResourceManager ID="ResourceManager1" DirectMethodNamespace="BPOLX" runat="server"
            RethrowAjaxExceptions="true" Theme="Slate">
           
        </ext:ResourceManager>
        <ext:Desktop ID="MyDesktop" runat="server" BackgroundColor="Black" ShortcutTextColor="White">
            <Modules>
                <ext:DesktopModule ModuleID="DesktopModule6" WindowID="winPermissions">
                    <Launcher ID="Launcher6" runat="server" Text="Permissions" Icon="UserTick" />
                </ext:DesktopModule>
            </Modules>
            <Shortcuts>
                <ext:DesktopShortcut ModuleID="DesktopModule6" X="100" Y="200" IconCls="shortcut-icon icon-AddressBook" />
            </Shortcuts>
        </ext:Desktop>
         
        <ext:DesktopWindow ID="winPermissions" runat="server" Title="Permissions" Width="600"
            Height="500" Maximizable="false" Layout="Fit">
            <Items>
                <ext:Panel runat="server" ID="pnlPermission" />
            </Items>
            <DirectEvents>
                <BeforeShow OnEvent="ShowPermissionControl" />
                <BeforeHide OnEvent="HidePermissionControl" />
            </DirectEvents>
        </ext:DesktopWindow>
        
        </form>
    </body>
    </html>
    UserControl
    <%@ Control Language="C#" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        [DirectMethod]
        public void ProjectTreeLoad(object sender, NodeLoadEventArgs e)
        {
    
        }
    
        protected void ProjectNodeClick(object sender, DirectEventArgs e)
        {
    
            var id = e.ExtraParams["nodeId"];
            //PermissionPanelsMenu.Hidden = true;
    
    
        }    
    </script>
    
    <ext:XScript ID="XScript1" runat="server">
            <script type="text/javascript">
                var AddUserToGrid = function () {
                    var grid = #{grdUsers};
                    grid.addRecord({ID:#{cbPerson}.getValue(), Name:#{cbPerson}.getText()}); 
                    grid.getView().refresh();
                    #{cbPerson}.clearValue();
                   };
                 
                var RemoveUser = function () {
                    var grid = #{grdUsers};
                                     
                    var selections = grid.getSelectionModel().getSelections();
                     
                    for (var i = 0, r; r = selections[i]; i++) {
                        #{SelectedUserStore}.remove(r);
                    }
     
                    grid.getView().refresh();
                };
     
                var SetPermission = function()
                {
                    var role = #{cbRoles}.getValue();
                    if( role == '' ) 
                        return;
                    else
                    {
                        #{chkPermission}.setDisabled(false);
                        if (role ==2)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(false);
                            #{chkDelete}.setValue(false);
                            #{chkCreateFolder}.setValue(false);
                            #{chkAddProject}.setValue(false);
                            #{chkEditProject}.setValue(false);
                            #{chkHistorical}.setValue(false);
                            #{chkOriginal}.setValue(false);
                            #{chkAssignPermission}.setValue(false);
                            #{chkSendBid}.setValue(false);
                            #{chkSendRFI}.setValue(false);
                            #{chkSendInvitation}.setValue(false);
                            #{chkSendChangeOrder}.setValue(false);
                            #{chkViewBid}.setValue(false);
                            #{chkViewRFI}.setValue(false);
                            #{chkViewInvitation}.setValue(false);
                            #{chkViewChangeOrder}.setValue(false);
                        }
                        else if (role == 3)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(true);
                            #{chkDelete}.setValue(true);
                            #{chkCreateFolder}.setValue(true);
                            #{chkAddProject}.setValue(true);
                            #{chkEditProject}.setValue(true);
                            #{chkHistorical}.setValue(true);
                            #{chkOriginal}.setValue(true);
                            #{chkAssignPermission}.setValue(true);
                            #{chkSendBid}.setValue(false);
                            #{chkSendRFI}.setValue(false);
                            #{chkSendInvitation}.setValue(false);
                            #{chkSendChangeOrder}.setValue(false);
                            #{chkViewBid}.setValue(false);
                            #{chkViewRFI}.setValue(false);
                            #{chkViewInvitation}.setValue(false);
                            #{chkViewChangeOrder}.setValue(false);
                        }
                        else if (role == 4)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(true);
                            #{chkDelete}.setValue(true);
                            #{chkCreateFolder}.setValue(true);
                            #{chkAddProject}.setValue(true);
                            #{chkEditProject}.setValue(true);
                            #{chkHistorical}.setValue(true);
                            #{chkOriginal}.setValue(true);
                            #{chkAssignPermission}.setValue(true);
                            #{chkSendBid}.setValue(true);
                            #{chkSendRFI}.setValue(true);
                            #{chkSendInvitation}.setValue(true);
                            #{chkSendChangeOrder}.setValue(true);
                            #{chkViewBid}.setValue(false);
                            #{chkViewRFI}.setValue(false);
                            #{chkViewInvitation}.setValue(false);
                            #{chkViewChangeOrder}.setValue(false);
                        }
                        else if (role == 5)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(true);
                            #{chkDelete}.setValue(true);
                            #{chkCreateFolder}.setValue(true);
                            #{chkAddProject}.setValue(true);
                            #{chkEditProject}.setValue(true);
                            #{chkHistorical}.setValue(true);
                            #{chkOriginal}.setValue(true);
                            #{chkAssignPermission}.setValue(true);
                            #{chkSendBid}.setValue(true);
                            #{chkSendRFI}.setValue(true);
                            #{chkSendInvitation}.setValue(true);
                            #{chkSendChangeOrder}.setValue(true);
                            #{chkViewBid}.setValue(true);
                            #{chkViewRFI}.setValue(true);
                            #{chkViewInvitation}.setValue(true);
                            #{chkViewChangeOrder}.setValue(true);
                        }
                        else if (role == 6)
                        {
                            #{chkViewDrawings}.setValue(true);
                            #{chkOrder}.setValue(true);
                            #{chkUpload}.setValue(true);
                            #{chkDownload}.setValue(true);
                            #{chkCurrentSet}.setValue(true);
                            #{chkEdit}.setValue(true);
                            #{chkDelete}.setValue(true);
                            #{chkCreateFolder}.setValue(true);
                            #{chkAddProject}.setValue(true);
                            #{chkEditProject}.setValue(true);
                            #{chkHistorical}.setValue(true);
                            #{chkOriginal}.setValue(true);
                            #{chkAssignPermission}.setValue(true);
                            #{chkSendBid}.setValue(true);
                            #{chkSendRFI}.setValue(true);
                            #{chkSendInvitation}.setValue(true);
                            #{chkViewBid}.setValue(true);
                            #{chkSendChangeOrder}.setValue(true);
                            #{chkViewRFI}.setValue(true);
                            #{chkViewInvitation}.setValue(true);
                            #{chkViewChangeOrder}.setValue(true);
                        }
                    }
                };
     
     
     
            var setPermissionComponentParameters = function()
            {
                if (!#{PermissionsComponentMenuItem}.component.collapsed)
                {
                    #{PermissionPanelsMenu}.setWidth(#{pnlPermissionBreadCrumb}.getWidth());
                    #{PermissionPanelsMenu}.setPosition(#{pnlPermissionBreadCrumb}.getPosition()[0], #{pnlPermissionBreadCrumb}.getPosition()[1] + #{pnlPermissionBreadCrumb}.getHeight());
                }
             };
     
             var expandPermissionCurrentProject = function(e)
            {
                Ext.net.Mask.show({el: #{PermissionDocumentTree}});
                if (e.nodes.length > 0 && e.nodes[0].id==2094)
                {
                    BPOLX.Documents.GetPath(#{txtProjectId}.getValue(), {success:expandPermissionProjectFromPath});           
                }
                Ext.net.Mask.hide();
            };
     
            var expandPermissionProjectFromPath = function(e)
            {
                if (e.length > 0)
                {
                    var nodes = e.split('\\');
                    if (nodes.length> 2)
                    {
                        expandPermissionTreeNode(nodes[2]);
                    }
                    if (nodes.length> 3)
                    {
                         setTimeout("expandPermissionTreeNode(" + nodes[3] +")",700);
                    }
                }
            };
     
     
            var expandPermissionTreeNode = function(e)
            {
                var node = #{PermissionDocumentTree}.getNodeById(e);
                if (node != null)
                {
                    node.expand();
                }
            };
     
              var ShowHideUser = function (field, index) {
                if (#{grdPermissions}.getRowsValues({selectedOnly : true}).length == 1)
                {
                    #{btnEditUser}.setDisabled(false);
                    #{btnDeleteUser}.setDisabled(false);
                }
                else if (#{grdPermissions}.getRowsValues({selectedOnly : true}).length == 1)
                {
                    #{btnEditUser}.setDisabled(false);
                    #{btnDeleteUser}.setDisabled(false);
                }
                else if (#{grdPermissions}.getRowsValues({selectedOnly : true}).length > 1)
                {
                     #{btnEditUser}.setDisabled(true);
                    #{btnDeleteUser}.setDisabled(false);
                }
              };
            </script>
    </ext:XScript>
    
    <ext:FitLayout runat="server" ID="Permissionlayout">
        <Items>
            <ext:Container runat="server" Layout="Fit">
                <Content>
                    <ext:TextField Hidden="true" ID="txtProjectId" runat="server" />                
                    <ext:Store ID="SelectedUserStore" runat="server">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="ID" Mapping="ID" Type="Int" />
                                    <ext:RecordField Name="Name" Mapping="Name" Type="String" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                    
                    <ext:Window ID="winPermission" runat="server" Hidden="true" Width="550" Height="400"
                        AutoScroll="true" Title="Add/Edit User">
                        <Content>
                            <ext:FieldSet ID="fldUserRoles" runat="server" Title="Role" AnchorHorizontal="60%">
                                <Content>
                                    <ext:ComboBox ID="cbPerson" runat="server" EmptyText="Search by Name" DisplayField="Text"
                                        ValueField="Value" TypeAhead="false" LoadingText="Searching..." PageSize="10"
                                        HideTrigger="true" ItemSelector="div.search-item" MinChars="2" AnchorHorizontal="100%"
                                        Width="250" ListWidth="250">
                                        <Store>
                                            <ext:Store ID="PersonStore" runat="server" AutoLoad="false">
                                                <Proxy>
                                                    <ext:HttpProxy Method="POST" Url="PublicHttpHandlers/SearchUsers.ashx">
                                                        <Headers>
                                                            <ext:Parameter Name='companyId' />
                                                        </Headers>
                                                    </ext:HttpProxy>
                                                </Proxy>
                                                <Reader>
                                                    <ext:JsonReader Root="Companies" TotalProperty="total">
                                                        <Fields>
                                                            <ext:RecordField Name="Text" />
                                                            <ext:RecordField Name="Value" />
                                                        </Fields>
                                                    </ext:JsonReader>
                                                </Reader>
                                            </ext:Store>
                                        </Store>
                                        <Template ID="Template2" runat="server">
                                            <Html>
                                                <tpl for=".">
                                                              <div class="search-item">
                                                                    <h3>{Text}</h3>
                                                              </div>
                                                        </tpl>
                                            </Html>
                                        </Template>
                                        <Listeners>
                                            <TriggerClick Handler="switch(tag) {
                                                                                case 'search':
                                                                                    BPOLX.Documents.GoToDocument();
                                                                                    #{cbCompany}.clearValue(); 
                                                                                    break;                    
                                                                                case 'clear':
                                                                                    #{cbCompany}.clearValue(); 
                                                                                    break;
                                                                            }" />
                                            <Select Handler="AddUserToGrid();" />
                                            <Focus Handler="BPOLX.Permissions.GetCompanyId(1,{success:function(e){#{PersonStore}.proxy.conn.headers.companyId = e;}})" />
                                        </Listeners>
                                        <Triggers>
                                            <ext:FieldTrigger Icon="Search" Tag="search" />
                                            <ext:FieldTrigger Icon="Clear" Tag="clear" />
                                        </Triggers>
                                    </ext:ComboBox>
                                    </br>
                                    <ext:GridPanel ID="grdUsers" StoreID="SelectedUserStore" runat="server" Width="300"
                                        Height="100" AutoScroll="true">
                                        <ColumnModel>
                                            <Columns>
                                                <ext:Column Header="ID" DataIndex="ID" Hidden="true" />
                                                <ext:Column Header="User" DataIndex="Name">
                                                    <Commands>
                                                        <ext:ImageCommand CommandName="Delete" Icon="Delete">
                                                            <ToolTip Text="Delete" />
                                                        </ext:ImageCommand>
                                                    </Commands>
                                                </ext:Column>
                                            </Columns>
                                        </ColumnModel>
                                    </ext:GridPanel>
                                </Content>
                            </ext:FieldSet>
                            <ext:FieldSet runat="server" ID="fldPermissions" Title="Permissions">
                                <Content>
                                    <ext:ComboBox ID="cbRoles" runat="server" AnchorHorizontal="70%" Width="250" EmptyText="Select a Role">
                                        <Items>
                                            <ext:ListItem Text="Basic Level One User" Value="2" />
                                            <ext:ListItem Text="Level One Administrator" Value="3" />
                                            <ext:ListItem Text="Basic Level Two User" Value="4" />
                                            <ext:ListItem Text="Level Two Administrator" Value="5" />
                                            <ext:ListItem Text="BPOL Administrator" Value="6" />
                                        </Items>
                                        <Listeners>
                                            <Select Handler="SetPermission();" />
                                        </Listeners>
                                    </ext:ComboBox>
                                    <ext:CheckboxGroup ID="chkPermission" runat="server" MsgTarget="Side" ItemCls="x-check-group-alt"
                                        AllowBlank="false" Disabled="true">
                                        <Items>
                                            <ext:CheckboxColumn ID="CheckboxColumn1" runat="server" ColumnWidth="0.33">
                                                <Items>
                                                    <ext:Label ID="Label1" runat="server" Text="Projects" Cls="x-form-check-group-label"
                                                        ForID="-">
                                                        <CustomConfig>
                                                            <ext:ConfigItem Name="anchor" Value="-15" Mode="Value" />
                                                        </CustomConfig>
                                                    </ext:Label>
                                                    <ext:Checkbox ID="chkAddProject" runat="server" BoxLabel="Add Project" />
                                                    <ext:Checkbox ID="chkEditProject" runat="server" BoxLabel="Edit Project Details" />
                                                    <ext:Checkbox ID="chkAssignPermission" runat="server" BoxLabel="Assign Permissions" />
                                                    <ext:Checkbox ID="chkCurrentSet" runat="server" BoxLabel="Show Current Set" />
                                                    <ext:Checkbox ID="chkHistorical" runat="server" BoxLabel="Show Historical Set" />
                                                    <ext:Checkbox ID="chkOriginal" runat="server" BoxLabel="Show Original Set" />
                                                </Items>
                                            </ext:CheckboxColumn>
                                            <ext:CheckboxColumn ID="CheckboxColumn21" runat="server" ColumnWidth="0.33">
                                                <Items>
                                                    <ext:Label ID="Label2" runat="server" Text="Documents" Cls="x-form-check-group-label"
                                                        ForID="-">
                                                        <CustomConfig>
                                                            <ext:ConfigItem Name="anchor" Value="-15" Mode="Value" />
                                                        </CustomConfig>
                                                    </ext:Label>
                                                    <ext:Checkbox ID="chkViewDrawings" runat="server" BoxLabel="View Drawing Packages" />
                                                    <ext:Checkbox ID="chkOrder" runat="server" BoxLabel="Order" />
                                                    <ext:Checkbox ID="chkUpload" runat="server" BoxLabel="Upload Files" />
                                                    <ext:Checkbox ID="chkDownload" runat="server" BoxLabel="Download Files" />
                                                    <ext:Checkbox ID="chkEdit" runat="server" BoxLabel="Edit Information" />
                                                    <ext:Checkbox ID="chkDelete" runat="server" BoxLabel="Delete Files/Folders" />
                                                    <ext:Checkbox ID="chkCreateFolder" runat="server" BoxLabel="Create Folders" />
                                                </Items>
                                            </ext:CheckboxColumn>
                                            <ext:CheckboxColumn ID="CheckboxColumn22" runat="server" ColumnWidth="0.33">
                                                <Items>
                                                    <ext:Label ID="Label3" runat="server" Text="Announcements" Cls="x-form-check-group-label"
                                                        ForID="-">
                                                        <CustomConfig>
                                                            <ext:ConfigItem Name="anchor" Value="-15" Mode="Value" />
                                                        </CustomConfig>
                                                    </ext:Label>
                                                    <ext:Checkbox ID="chkSendBid" runat="server" BoxLabel="Send Bids" />
                                                    <ext:Checkbox ID="chkSendRFI" runat="server" BoxLabel="Send RFI" />
                                                    <ext:Checkbox ID="chkSendInvitation" runat="server" BoxLabel="Send Invitation to Join" />
                                                    <ext:Checkbox ID="chkSendChangeOrder" runat="server" BoxLabel="Send Change Order" />
                                                    <ext:Checkbox ID="chkViewBid" runat="server" BoxLabel="View Bids" />
                                                    <ext:Checkbox ID="chkViewRFI" runat="server" BoxLabel="View RFI's" />
                                                    <ext:Checkbox ID="chkViewInvitation" runat="server" BoxLabel="View Invitations" />
                                                    <ext:Checkbox ID="chkViewChangeOrder" runat="server" BoxLabel="View Change Orders" />
                                                </Items>
                                            </ext:CheckboxColumn>
                                        </Items>
                                    </ext:CheckboxGroup>
                                </Content>
                            </ext:FieldSet>
                        </Content>
                        <Buttons>
                            <ext:Button ID="Button1" Text="Save" runat="server">
                                <Listeners>
                                    <Click Handler="#{winPermission}.hide();" />
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="Button2" Text="Cancel" runat="server">
                                <Listeners>
                                    <Click Handler="#{winPermission}.hide();" />
                                </Listeners>
                            </ext:Button>
                        </Buttons>
                        <Listeners>
                            <BeforeShow Handler="BPOLX.Permissions.SetCompany()" />
                        </Listeners>
                    </ext:Window>
                </Content>
                <Items>            
                    <ext:GridPanel ID="grdPermissions" runat="server" ColumnLines="true">
                        <Store>
                            <ext:Store ID="PermissionsStore" runat="server">
                                <Reader>
                                    <ext:ArrayReader>
                                        <Fields>
                                            <ext:RecordField Name="ID" Mapping="ID" Type="Int" />
                                            <ext:RecordField Name="PersonName" Mapping="PersonName" Type="String" />
                                            <ext:RecordField Name="UserName" Mapping="UserName" Type="String" />
                                            <ext:RecordField Name="Company" Mapping="Company" Type="String" />
                                            <ext:RecordField Name="Role" Mapping="Role" Type="String" />
                                        </Fields>
                                    </ext:ArrayReader>
                                </Reader>
                            </ext:Store>
                        </Store>
                        <TopBar>
                            <ext:Toolbar ID="Toolbar1" runat="server" Layout="Container">
                                <Items>
                                    <ext:Toolbar runat="server">
                                        <Items>
                                            <ext:HBoxLayout ID="hblBreadCrumb" runat="server" Padding="2" Align="Top">
                                                <BoxItems>
                                                    <ext:BoxItem Flex="1">
                                                        <ext:Panel ID="pnlPermissionBreadCrumb" runat="server" Height="24" Width="540">
                                                            <Items>
                                                            </Items>
                                                        </ext:Panel>
                                                    </ext:BoxItem>
                                                    <ext:BoxItem>
                                                        <ext:Panel ID="Panel8" runat="server">
                                                            <Items>
                                                                <ext:Button ID="btnJumpFolders" runat="server" Icon="ArrowDown">
                                                                    <Menu>
                                                                        <ext:Menu ID="PermissionPanelsMenu" runat="server" StyleSpec="overflow:visible;">
                                                                            <Listeners>
                                                                                <Show Fn="setPermissionComponentParameters" />
                                                                            </Listeners>
                                                                            <Items>
                                                                                <ext:ComponentMenuItem ID="PermissionsComponentMenuItem" runat="server" Shift="false"
                                                                                    HideOnClick="false">
                                                                                    <Component>
                                                                                        <ext:TreePanel ID="PermissionDocumentTree" runat="server" Height="300" AutoWidth="true"
                                                                                            Icon="ChartOrganisation" ContainerScroll="true" AutoScroll="true" Animate="true"
                                                                                            UseArrows="true" RootVisible="false">
                                                                                            <Loader>
                                                                                                <ext:PageTreeLoader OnNodeLoad="ProjectTreeLoad">
                                                                                                </ext:PageTreeLoader>
                                                                                            </Loader>
                                                                                            <Root>
                                                                                                <ext:AsyncTreeNode NodeID="2094" Text="" />
                                                                                            </Root>
                                                                                            <DirectEvents>
                                                                                                <Click OnEvent="ProjectNodeClick">
                                                                                                    <ExtraParams>
                                                                                                        <ext:Parameter Name="nodeId" Value="node.id" Mode="Raw" />
                                                                                                    </ExtraParams>
                                                                                                    <EventMask ShowMask="true" MinDelay="2000" />
                                                                                                </Click>
                                                                                            </DirectEvents>
                                                                                            <Listeners>
                                                                                                <Click Handler="#{PermissionPanelsMenu}.hide();" />
                                                                                                <AfterRender Fn="expandPermissionCurrentProject" />
                                                                                            </Listeners>
                                                                                        </ext:TreePanel>
                                                                                    </Component>
                                                                                </ext:ComponentMenuItem>
                                                                            </Items>
                                                                        </ext:Menu>
                                                                    </Menu>
                                                                </ext:Button>
                                                            </Items>
                                                        </ext:Panel>
                                                    </ext:BoxItem>
                                                </BoxItems>
                                            </ext:HBoxLayout>
                                        </Items>
                                    </ext:Toolbar>
                                    <ext:Toolbar ID="Toolbar2" runat="server">
                                        <Items>
                                            <ext:Button runat="server" ID="btnAddUser" Text="Add User" Icon="UserAdd">
                                                <Listeners>
                                                    <Click Handler="#{winPermission}.show();" />
                                                </Listeners>
                                            </ext:Button>
                                            <ext:Button runat="server" ID="btnEditUser" Text="Edit" Icon="UserEdit" Disabled="true">
                                                <Listeners>
                                                    <Click Handler="#{winAddEditGroup}.show();" />
                                                </Listeners>
                                            </ext:Button>
                                            <ext:Button runat="server" ID="btnDeleteUser" Text="Delete" Icon="UserDelete"
                                                Disabled="true">
                                                <Listeners>
                                                    <Click Handler="#{winMove}.show();" />
                                                </Listeners>
                                            </ext:Button>
                                        </Items>
                                    </ext:Toolbar>
                                </Items>
                            </ext:Toolbar>
                        </TopBar>
                        <ColumnModel>
                            <Columns>
                                <ext:Column DataIndex="ID" Hidden="true" />
                                <ext:Column Header="Name" DataIndex="PersonName" />
                                <ext:Column Header="UserName" DataIndex="UserName" />
                                <ext:Column Header="Role" DataIndex="Role" />
                            </Columns>
                        </ColumnModel>
                        <View>
                            <ext:BufferView ForceFit="true" />
                        </View>
                        <Listeners>
                            <CellClick Handler="ShowHideUser(this,rowIndex)" Delay="50" />
                        </Listeners>
                        <SelectionModel>
                            <ext:CheckboxSelectionModel ID="CheckboxSelectionModel1222" runat="server" MoveEditorOnEnter="false">
                            </ext:CheckboxSelectionModel>
                        </SelectionModel>
                    </ext:GridPanel>
                </Items>
            </ext:Container>
        </Items>
    </ext:FitLayout>
  8. #8
    works perfect !!! Thanks

Similar Threads

  1. [CLOSED] TreeGrid in dynamic user control
    By bakardi in forum 1.x Legacy Premium Help
    Replies: 20
    Last Post: Oct 13, 2011, 4:40 PM
  2. Dynamic User Control Loading
    By Rupesh in forum 1.x Help
    Replies: 0
    Last Post: Apr 08, 2011, 7:48 AM
  3. user control dynamic data
    By voldamirin in forum 1.x Help
    Replies: 0
    Last Post: Oct 25, 2010, 12:05 PM
  4. [1.0] JavaScript error on load user control
    By vooka in forum 1.x Help
    Replies: 4
    Last Post: Sep 21, 2010, 2:26 AM
  5. [CLOSED] [1.0] Dynamic user control inside tab - Help
    By MP in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: Mar 12, 2010, 6:26 PM

Posting Permissions