Example #1
0
        public ParametrizedActionDateRangeControl(ActionContainerOrientation orientation)
        {
            _button = RenderHelper.CreateASPxButton();
            _button.AutoPostBack        = false;
            _button.Click              += button_Click;
            _button.EnableClientSideAPI = true;
            _button.ID = "B";
            Control editor = CreateEditorBody();

            editor.ID  = "Ed";
            label      = RenderHelper.CreateASPxLabel();
            label.ID   = "L";
            label.Wrap = DevExpress.Utils.DefaultBoolean.False;
            Table table = RenderHelper.CreateTable();

            table.CssClass = "ParametrizedActionControl";
            table.ID       = "T";
            labelCell      = new TableCell();
            TableCell editorCell = new TableCell();
            TableCell buttonCell = new TableCell();

            FillTemplateTable(orientation, table, labelCell, editorCell, buttonCell);
            labelCell.Controls.Add(label);
            labelCell.CssClass = "ControlCaption";
            editorCell.Controls.Add(editor);
            editorCell.CssClass = "Label";
            buttonCell.Controls.Add(_button);
            buttonCell.CssClass = "Editor";
            Controls.Add(table);
        }
Example #2
0
        private Control CreateEditorBody()
        {
            calendarFrom    = RenderHelper.CreateASPxDateEdit();
            calendarFrom.ID = "EdF";
            calendarTo      = RenderHelper.CreateASPxDateEdit();
            calendarTo.ID   = "EdT";
            Table     table  = RenderHelper.CreateTable();
            TableRow  trow   = new TableRow();
            TableCell tcell1 = new TableCell();

            tcell1.Controls.Add(calendarFrom);
            trow.Cells.Add(tcell1);
            TableCell tcell2 = new TableCell();

            tcell2.Controls.Add(calendarTo);
            trow.Cells.Add(tcell2);
            table.Rows.Add(trow);
            return(table);
        }
Example #3
0
        protected override object CreateControlsCore()
        {
            var grid        = base.CreateControlsCore();
            var objectSapce = ObjectSpace.CreateNestedObjectSpace();

            flightReportFilter = objectSapce.CreateObject <FlightReportFilter>();
            //flightReportFilter = new FlightReportFilter();

            string detailViewId = Application.FindDetailViewId(typeof(FlightReportFilter));
            var    view         = Application.CreateDetailView(objectSapce, flightReportFilter, false);

            view.ViewEditMode = ViewEditMode.Edit;
            view.CreateControls();

            //var editor = new DevExpress.ExpressApp.Web.Editors.WebLookupEditorHelper(Application, objectSapce, XafTypesInfo.CastTypeToTypeInfo(typeof(AircraftRegister)),null);
            //  var editor = new ASPxLookupPropertyEditor(typeof(Aircraft), null);
            //  editor.CreateControl();

            var table             = RenderHelper.CreateTable();
            var mainViewRow       = new TableRow();
            var filterViewRow     = new TableRow();
            var mainViewTableCell = new TableCell();
            var filterTableCell   = new TableCell();

            mainViewTableCell.Controls.Add((System.Web.UI.Control)grid);
            filterTableCell.Controls.Add((System.Web.UI.Control)view.Control);
            //filterTableCell.Controls.Add((System.Web.UI.Control)editor.Control);

            mainViewRow.Cells.Add(filterTableCell);
            filterViewRow.Cells.Add(mainViewTableCell);


            table.Rows.Add(mainViewRow);
            table.Rows.Add(filterViewRow);

            table.Style.Add("width", "auto");
            table.Style.Add("border-spacing", "1px");

            return(table);
        }
        private Control CreateCardGroup(LayoutGroupTemplateContainer templateContainer, LayoutItemCSSInfoBase itemCssInfo)
        {
            Table cardTable = RenderHelper.CreateTable();

            cardTable.BorderWidth = Unit.Empty;
            if (itemCssInfo.ParentDirection == FlowDirection.Horizontal)
            {
                cardTable.CssClass = itemCssInfo.EditorContainerCssClassName;
            }
            else
            {
                cardTable.CssClass = itemCssInfo.CardCssClassNameCore;
            }
            SetCustomCSSClass(templateContainer.Model, cardTable);
            cardTable.ID = WebIdHelper.GetCorrectedLayoutItemId(templateContainer.Model, "", "_CardTable");
            TableRow headerRow = new TableRow();

            headerRow.VerticalAlign = VerticalAlign.Top;
            cardTable.Rows.Add(headerRow);
            TableRow contentRow = new TableRow();

            contentRow.VerticalAlign = VerticalAlign.Top;
            cardTable.Rows.Add(contentRow);
            WebControl header = CreateLayoutContentHeader(templateContainer, itemCssInfo.CardItem);

            if (header != null)
            {
                TableCell headerCell = new TableCell();
                headerRow.Cells.Add(headerCell);
                headerCell.Controls.Add(header);
            }
            TableCell contentCell = new TableCell();

            contentCell.CssClass = CardGroupContentCssClassName;
            contentRow.Cells.Add(contentCell);
            templateContainer.Controls.Add(cardTable);
            return(contentCell);
        }
Example #5
0
        protected override WebControl CreateEditModeControlCore()
        {
            //$('#Vertical_v1_50539512_MainLayoutEdit_xaf_l19_PersianDatePickerScheduledOnDateTime_I').data('datepicker').getDate()

            Calendars       = new Dictionary <string, System.Globalization.Calendar>();
            Calendars["EN"] = new GregorianCalendar();
            Calendars["FA"] = TralusDateTime.AltCalendar;

            var datePickePersianrId               = string.Format("DatePickerPersian{0}", PropertyName);
            var datePickerGregorianId             = string.Format("DatePickerGregorian{0}", PropertyName);
            var clockPickerId                     = string.Format("ClockPicker{0}", propertyName);
            var comboBoxCalendarId                = string.Format("ComboBoxCalendar{0}", propertyName);
            var comboBoxTimeZoneId                = string.Format("ComboBoxTimeZone{0}", propertyName);
            var gregorianGotFocusGuid             = System.Guid.NewGuid().ToString();
            var gregorianGotFocusValueChangedGuid = System.Guid.NewGuid().ToString();
            var persianGotFocusGuid               = System.Guid.NewGuid().ToString();
            var persianGotValueChangedGuid        = System.Guid.NewGuid().ToString();
            var clockPickerGotFocusGuid           = System.Guid.NewGuid().ToString();
            var clockPickerGotValueChangedGuid    = System.Guid.NewGuid().ToString();

            datePickerGregorian             = RenderHelper.CreateASPxTextBox();
            datePickerGregorian.ID          = datePickerGregorianId;
            datePickerGregorian.Validation += TralusDateTimeControlGregorian_Validation;
            datePickerGregorian.ValidationSettings.EnableCustomValidation = true;
            datePickerGregorian.ValidateRequestMode = System.Web.UI.ValidateRequestMode.Enabled;
            datePickerGregorian.ValidationSettings.ValidateOnLeave = true;
            datePickerGregorian.CssClass = "input-date-picker datepicker-ltr";
            datePickerGregorian.SetClientSideEventHandler("GotFocus", string.Format(" /*{0}*/ function(s, e) {{ document.isMenuClicked = false; }} /*{0}*/", gregorianGotFocusGuid));
            datePickerGregorian.SetClientSideEventHandler("ValueChanged", string.Format(" /*{0}*/ function(s,e) {{ window.setTimeout(function() {{ if(!document.isMenuClicked) {{ RaiseXafCallback(globalCallbackControl, '', '', '', false); }}document.isMenuClicked = false;}}, 500); }} /*{0}*/", gregorianGotFocusValueChangedGuid));
            datePickerGregorian.ClientSideEvents.Init = string.Format("function Init(s,e) {{ var input = s.GetInputElement(); jQuery(input).datepicker({{ autoclose: true, language: 'en', rtl: false, weekStart: 1, calendar: 'gregorian', todayBtn: true, format:'yyyy/mm/dd' }}); }}");


            datePickerPersian             = RenderHelper.CreateASPxTextBox();
            datePickerPersian.ID          = datePickePersianrId;
            datePickerPersian.Validation += TralusDateTimeControlPersian_Validation;
            datePickerPersian.ValidationSettings.EnableCustomValidation = true;
            datePickerPersian.ValidateRequestMode = System.Web.UI.ValidateRequestMode.Enabled;
            datePickerPersian.ValidationSettings.ValidateOnLeave = true;
            datePickerPersian.CssClass = "input-date-picker datepicker-rtl";
            datePickerPersian.SetClientSideEventHandler("GotFocus", string.Format("/*{0}*/ function(s, e) {{document.isMenuClicked = false; }} /*{0}*/", persianGotFocusGuid));
            datePickerPersian.SetClientSideEventHandler("ValueChanged", string.Format(" /*{0}*/ function(s,e) {{ var selectedDate = $('#'+s.GetInputElement().id).data('datepicker').getDate(); window.setTimeout(function() {{  if(!document.isMenuClicked) {{ RaiseXafCallback(globalCallbackControl, '', selectedDate, '', false); }} document.isMenuClicked = false;}}, 500); }} /*{0}*/", persianGotValueChangedGuid));
            datePickerPersian.ClientSideEvents.Init = string.Format("function Init(s,e) {{ var input = s.GetInputElement(); jQuery(input).datepicker({{ autoclose: true, language: 'fa', rtl: false, weekStart: 1, calendar: 'persian', todayBtn: true, format:'yyyy/mm/dd' }});  }}");

            comboBoxCalendar    = RenderHelper.CreateASPxComboBox();
            comboBoxCalendar.ID = comboBoxCalendarId;
            comboBoxCalendar.Items.Add("EN", "EN");
            comboBoxCalendar.Items.Add("FA", "FA");
            comboBoxCalendar.SelectedIndex = 0;
            comboBoxCalendar.ClientSideEvents.SelectedIndexChanged = string.Format("function(combo) {{  {0}SelectedCalendar(combo.lastSuccessValue); }}", PropertyName);
            comboBoxCalendar.ClientSideEvents.Init = string.Format("function OnInit(s,e){{  {0}SelectedCalendar(s.lastSuccessValue); }}", PropertyName);

            var table = RenderHelper.CreateTable();
            var row   = new TableRow();

            var tableCellDatePickerPersian   = new TableCell();
            var tableCellDatePickerGregorian = new TableCell();
            var tableCellComboBoxCalendar    = new TableCell();


            tableCellDatePickerPersian.Controls.Add(datePickerPersian);
            tableCellDatePickerPersian.Attributes.Add("data-bind", string.Format("visible: {0}SelectedCalendar() === 'FA'", PropertyName));

            tableCellDatePickerGregorian.Controls.Add(datePickerGregorian);
            tableCellDatePickerGregorian.Attributes.Add("data-bind", string.Format("visible: {0}SelectedCalendar() === 'EN'", PropertyName));

            tableCellComboBoxCalendar.Controls.Add(comboBoxCalendar);

            var selectedModelContainer = RenderHelper.CreateASPxTextBox();

            selectedModelContainer.ClientSideEvents.Init = string.Format("function OnInit(s,e){{   function {0}DateTimeViewModel () {{ {0}SelectedCalendar = ko.observable('EN');   }}; var input = s.GetInputElement(); ko.applyBindings(new {0}DateTimeViewModel(),input); ko.applyBindings({{}},jQuery('[id*=dvi{0}]')[0]); }}", PropertyName);

            var tableCellSelectedModelContainer = new TableCell();

            tableCellSelectedModelContainer.Controls.Add(selectedModelContainer);
            tableCellSelectedModelContainer.Style.Add("display", "none");

            row.Cells.Add(tableCellSelectedModelContainer);
            row.Cells.Add(tableCellComboBoxCalendar);
            row.Cells.Add(tableCellDatePickerPersian);
            row.Cells.Add(tableCellDatePickerGregorian);

            table.Rows.Add(row);

            table.Style.Add("width", "auto");
            table.Style.Add("border-spacing", "1px");

            UpdateControlsValue();

            return(table);
        }
        public void InstantiateIn(Control container)
        {
            Table cardTable = RenderHelper.CreateTable();

            cardTable.BorderWidth = Unit.Empty;

            TableRow contentRow = new TableRow();

            contentRow.VerticalAlign = VerticalAlign.Top;
            cardTable.Rows.Add(contentRow);

            Label caption = new Label
            {
                ID   = WebIdHelper.GetCorrectedLayoutItemId(_templateContainer.Model, "", "_Caption"),
                Text = _templateContainer.Caption
            };

            ASPxImage icon = new ASPxImage
            {
                ID       = WebIdHelper.GetCorrectedLayoutItemId(_templateContainer.Model, "", "_Icon"),
                ImageUrl = ImageLoader.Instance.GetImageInfo("Action_Debug_Start").ImageUrl
            };

            Label number = new Label
            {
                ID = WebIdHelper.GetCorrectedLayoutItemId(_templateContainer.Model, "", "_Number"), Text = "(6)"
            };

            ASPxImage warning = new ASPxImage
            {
                ID       = WebIdHelper.GetCorrectedLayoutItemId(_templateContainer.Model, "", "_Warning"),
                ImageUrl = ImageLoader.Instance.GetImageInfo("Action_CreateDashboard").ImageUrl
            };

            var actionContainer = CreateActionContainerHolder();

            ASPxImage collapsible = new ASPxImage();

            collapsible.CssClass = "dxWeb_rpCollapseButton_XafTheme";
            collapsible.ClientSideEvents.Click = "";

            WebControl iconDiv = new WebControl(HtmlTextWriterTag.Div);

            iconDiv.Controls.Add(icon);

            WebControl captionDiv = new WebControl(HtmlTextWriterTag.Div);

            captionDiv.Controls.Add(caption);

            WebControl numberDiv = new WebControl(HtmlTextWriterTag.Div);

            numberDiv.Style.Add("float", "right");
            numberDiv.Controls.Add(number);

            WebControl warningDiv = new WebControl(HtmlTextWriterTag.Div);

            warningDiv.Style.Add("float", "right");
            warningDiv.Controls.Add(warning);

            WebControl collapsibleDiv = new WebControl(HtmlTextWriterTag.Div);

            collapsibleDiv.Style.Add("float", "right");
            collapsibleDiv.Controls.Add(collapsible);

            WebControl containerDiv = new WebControl(HtmlTextWriterTag.Div);

            containerDiv.Style.Add("float", "right");
            containerDiv.Controls.Add(actionContainer);

            container.Controls.Add(iconDiv);
            container.Controls.Add(captionDiv);
            container.Controls.Add(collapsibleDiv);
            container.Controls.Add(containerDiv);
            container.Controls.Add(warningDiv);
            container.Controls.Add(numberDiv);
        }