Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
- <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
- <!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">
- <title></title>
- <script type="text/javascript">
- var failureHandler = function (form, action) {
- var msg = "";
- if (action.failureType == "client" || (action.result && action.result.errors && action.result.errors.length > 0)) {
- msg = "Please validate information";
- } else if (action.result && action.result.extraParams.msg) {
- msg = action.result.extraParams.msg;
- } else if (action.response) {
- msg = action.response.responseText;
- }
- Ext.Msg.show({
- title: "Saving Error",
- msg: msg,
- buttons: Ext.Msg.OK,
- icon: Ext.Msg.ERROR
- });
- };
- var successHandler = function (form, action) {
- if (action.result && action.result.extraParams && action.result.extraParams.newID) {
- dsUser.getAt(0).id = action.result.extraParams.newID;
- if (dsUser.getAt(0).newRecord) {
- delete dsUser.getAt(0).newRecord;
- }
- } else {
- //Ext.MessageBox.alert("Success", "Customer has been saved!");
- }
- Ext.MessageBox.alert("Information", "The record has been modified.");
- userChanged = true;
- if (action.options.params.setNew) {
- DetailsForm.form.reset();
- dsUser.removeAll();
- var rec = new dsUser.recordType();
- rec.newRecord = true;
- dsUser.add(rec);
- initUI(true);
- } else {
- initUI(false);
- }
- };
- var getUserID = function () {
- return (dsUser.getCount() > 0 && !dsUser.getAt(0).newRecord) ? dsUser.getAt(0).id : ""
- };
- var userLoaded = function (store, records) {
- if (records.length > 0) {
- DetailsForm.form.loadRecord(records[0]);
- dsAddresses.loadData(records[0].data.Addresses);
- } else {
- DetailsForm.form.reset();
- }
- initUI(false);
- UserPanel.el.unmask();
- };
- var initUI = function (isNew) {
- btnDelete.setDisabled(isNew);
- };
- // bind the address with the selected addresstype
- var bindAddress = function (addressType) {
- AddressForm.form.reset();
- if (dsAddresses.getTotalCount() > 0) {
- dsAddresses.filter('addresstype', addressType, false, false);
- if (dsAddresses.getCount() > 0) {
- AddressForm.form.loadRecord(dsAddresses.getAt(0));
- } else {
- AddressForm.form.reset();
- var defaultData = {
- addressuid: '30AF3429-26EB-4998-AE2D-7C820091C8DB',
- addresstype: addressType,
- address1: 'This is a test'
- };
- var rec = new dsAddresses.recordType(defaultData);
- rec.newRecord = true;
- dsAddresses.add(rec);
- }
- }
- };
- </script>
- <style type="text/css">
- .txtCustomers-list
- {
- width: 298px;
- font: 11px tahoma,arial,helvetica,sans-serif;
- }
- .txtCustomers-list th
- {
- font-weight: bold;
- }
- .txtCustomers-list td, .txtCustomers-list th
- {
- padding: 3px;
- }
- </style>
- </head>
- <body>
- <ext:ResourceManager runat="server">
- <Listeners>
- <DocumentReady Handler="if (Ext.isEmpty(#{txtFilter}.getValue(), false)) { #{dsUser}.load(); }" />
- </Listeners>
- </ext:ResourceManager>
- <ext:Store ID="dsUser" runat="server" AutoLoad="false">
- <Proxy>
- <ext:HttpProxy Url="/Data/GetUserById/" />
- </Proxy>
- <Reader>
- <ext:JsonReader IDProperty="userid" Root="data">
- <Fields>
- <ext:RecordField Name="userid" />
- <ext:RecordField Name="username" />
- <ext:RecordField Name="password" />
- <ext:RecordField Name="name" />
- <ext:RecordField Name="surname" />
- <ext:RecordField Name="email" />
- <ext:RecordField Name="masterentity" />
- <ext:RecordField Name="propertyid" />
- <ext:RecordField Name="isactive" />
- <ext:RecordField Name="Addresses" />
- </Fields>
- </ext:JsonReader>
- </Reader>
- <BaseParams>
- <ext:Parameter Name="userId" Value="#{txtFilter}.getValue()" Mode="Raw" />
- </BaseParams>
- <Listeners>
- <BeforeLoad Handler="#{UserPanel}.el.mask('Loading data...', 'x-mask-loading');" />
- <LoadException Handler="#{UserPanel}.el.unmask();" />
- <Load Fn="userLoaded" />
- </Listeners>
- </ext:Store>
- <ext:Store ID="dsAddresses" runat="server" AutoLoad="false">
- <Reader>
- <ext:JsonReader IDProperty="addressuid">
- <Fields>
- <ext:RecordField Name="addressuid" />
- <ext:RecordField Name="addresstype" />
- <ext:RecordField Name="address1" />
- <ext:RecordField Name="address2" />
- <ext:RecordField Name="province" />
- <ext:RecordField Name="postalcode" />
- <ext:RecordField Name="state" />
- <ext:RecordField Name="city" />
- </Fields>
- </ext:JsonReader>
- </Reader>
- </ext:Store>
- <ext:Store ID="dsAddressTypes" ShowWarningOnFailure="true" runat="server" AutoLoad="false">
- <Proxy>
- <ext:HttpProxy Url="/CatalogsData/GetAddressTypes/" />
- </Proxy>
- <Reader>
- <ext:JsonReader Root="data" IDProperty="addresstype">
- <Fields>
- <ext:RecordField Name="addresstype" />
- <ext:RecordField Name="description" />
- <ext:RecordField Name="isactive" />
- </Fields>
- </ext:JsonReader>
- </Reader>
- </ext:Store>
- <ext:Viewport runat="server" Layout="fit">
- <Items>
- <ext:Panel runat="server" Border="false" Layout="fit">
- <TopBar>
- <ext:Toolbar runat="server">
- <Items>
- <ext:Button runat="server" Text="Save" Icon="Disk">
- <Listeners>
- <Click Handler="#{DetailsForm}.form.submit({ waitMsg : 'Saving...', params : { id : getUserID() }, success : successHandler, failure : failureHandler });" />
- </Listeners>
- </ext:Button>
- <ext:Button ID="btnDelete" runat="server" Text="Delete" Icon="Cross">
- <DirectEvents>
- <Click Url="/Data/DeleteUser" CleanRequest="true" Method="POST" Failure="Ext.Msg.show({title:'Delete Error',msg: result.errorMessage,buttons: Ext.Msg.OK,icon: Ext.Msg.ERROR});"
- Success="txtCustomers.lastQuery=null; userChanged = true;#{UserPager}.doLoad(Math.max(0, #{UserPager}.cursor-1));">
- <Confirmation ConfirmRequest="true" Title="Alert" Message="Do you want to delete the recrod?" />
- <ExtraParams>
- <ext:Parameter Name="id" Value="#{dsUser}.getAt(0).id" Mode="Raw" />
- </ExtraParams>
- </Click>
- </DirectEvents>
- </ext:Button>
- <ext:ToolbarFill runat="server" />
- <ext:Hidden ID="txtFilter" runat="server" Text='<%# ViewData["id"] %>' AutoDataBind="true">
- <Listeners>
- <Change Handler="#{UserPager}.changePage(1);" Delay="30" />
- </Listeners>
- </ext:Hidden>
- </Items>
- </ext:Toolbar>
- </TopBar>
- <Items>
- <ext:TabPanel ID="UserPanel" runat="server" Border="false" LayoutOnTabChange="true">
- <Items>
- <ext:Panel runat="server" Title="General" Padding="6" Layout="fit">
- <Items>
- <ext:FormPanel ID="DetailsForm" runat="server" Border="false" Url="/Data/SaveUser/"
- LabelWidth="130">
- <Items>
- <ext:FieldSet runat="server" Layout="form">
- <Items>
- <ext:TextField ID="userid" ReadOnly="true" runat="server" FieldLabel="User ID"
- LabelSeparator=" " MaxLength="5" AllowBlank="false" />
- <ext:TextField ID="username" ReadOnly="true" runat="server" Width="250" FieldLabel="User Name" />
- <ext:TextField ID="masterentity" ReadOnly="true" runat="server" Width="250" FieldLabel="Entity" />
- </Items>
- </ext:FieldSet>
- <ext:Container runat="server" Layout="hbox">
- <Items>
- <ext:Container runat="server" Flex="1">
- <Items>
- <ext:FieldSet runat="server" Title="Information" Border="false" Layout="form" DefaultAnchor="-10">
- <Items>
- <ext:TextField ID="name" runat="server" FieldLabel="Name" MsgTarget="Qtip" AllowBlank="false" />
- <ext:TextField ID="email" runat="server" FieldLabel="Email" />
- </Items>
- </ext:FieldSet>
- <ext:FieldSet runat="server" Title="Phone" Border="false" Layout="form" DefaultAnchor="-10">
- <Items>
- <ext:TextField ID="Phone" runat="server" FieldLabel="Office" />
- <ext:TextField ID="Mobile" runat="server" FieldLabel="Mobile" />
- </Items>
- </ext:FieldSet>
- </Items>
- </ext:Container>
- <ext:FieldSet runat="server" Title="Addresses" Border="false" Layout="form" Flex="1"
- DefaultAnchor="100%">
- <Items>
- <ext:ComboBox ID="cboType" runat="server" TypeAhead="true" FieldLabel="Address Type"
- StoreID="dsAddressTypes" DisplayField="description" Editable="false" ForceSelection="true"
- SelectOnFocus="true" EmptyText="Select address type" ValueField="addresstype">
- <Listeners>
- <Select Handler="bindAddress(this.getValue());" />
- </Listeners>
- </ext:ComboBox>
- <ext:FormPanel ID="AddressForm" runat="server" Border="false" LabelWidth="130">
- <Items>
- <ext:TextField ID="address1" runat="server" FieldLabel="Street" />
- <ext:TextField ID="address2" runat="server" FieldLabel="Number" />
- <ext:TextField ID="province" runat="server" FieldLabel="Province" />
- <ext:TextField ID="city" runat="server" FieldLabel="City" />
- <ext:TextField ID="state" runat="server" FieldLabel="State" />
- <ext:TextField ID="postalcode" runat="server" FieldLabel="ZipCode" />
- </Items>
- </ext:FormPanel>
- </Items>
- </ext:FieldSet>
- </Items>
- </ext:Container>
- </Items>
- </ext:FormPanel>
- </Items>
- </ext:Panel>
- </Items>
- <BottomBar>
- <ext:PagingToolbar ID="UserPager" runat="server" PageSize="1" StoreID="dsUser" DisplayMsg="Showing Record {0} de {2}" />
- </BottomBar>
- </ext:TabPanel>
- </Items>
- </ext:Panel>
- </Items>
- </ext:Viewport>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement