Example #1
0
        public void GetColumnRenderers_PrepareSorting_SeveralMixedColumns()
        {
            var columns = new BocColumnDefinition[]
            { _stubColumnDefinition, new StubColumnDefinition(), new StubValueColumnDefinition(), new StubColumnDefinition() };
            var builder = new BocColumnRendererArrayBuilder(columns, _serviceLocator, _wcagHelperStub);

            builder.SortingOrder =
                new List <BocListSortingOrderEntry> (
                    new[]
            {
                new BocListSortingOrderEntry((IBocSortableColumnDefinition)columns[0], SortingDirection.Ascending),
                new BocListSortingOrderEntry((IBocSortableColumnDefinition)columns[2], SortingDirection.Descending),
                new BocListSortingOrderEntry((IBocSortableColumnDefinition)columns[3], SortingDirection.None)
            });
            builder.IsClientSideSortingEnabled = true;
            builder.HasSortingKeys             = true;

            var bocColumnRenderers = builder.CreateColumnRenderers();

            Assert.That(bocColumnRenderers.Length, Is.EqualTo(4));
            Assert.That(bocColumnRenderers[0].SortingDirection, Is.EqualTo(SortingDirection.Ascending));
            Assert.That(bocColumnRenderers[0].OrderIndex, Is.EqualTo(0));
            Assert.That(bocColumnRenderers[1].SortingDirection, Is.EqualTo(SortingDirection.None));
            Assert.That(bocColumnRenderers[1].OrderIndex, Is.EqualTo(-1));
            Assert.That(bocColumnRenderers[2].SortingDirection, Is.EqualTo(SortingDirection.Descending));
            Assert.That(bocColumnRenderers[2].OrderIndex, Is.EqualTo(1));
            Assert.That(bocColumnRenderers[3].SortingDirection, Is.EqualTo(SortingDirection.None));
            Assert.That(bocColumnRenderers[3].OrderIndex, Is.EqualTo(-1));
        }
        public void PrepareValidation()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[3];
            columns[0] = _typeWithAllDataTypesStringValueSimpleColumn;
            columns[1] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[2] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);
            _editableRow.EnsureValidatorsRestored();

            IBusinessObjectReferenceDataSource dataSource = _editableRow.GetDataSource();

            dataSource.LoadValues(false);

            BocTextValue stringValueField = (BocTextValue)_editableRow.GetEditControl(0);
            BocTextValue int32ValueField  = (BocTextValue)_editableRow.GetEditControl(1);

            _editableRow.PrepareValidation();

            Assert.That(stringValueField.Text, Is.EqualTo(stringValueField.Text));
            Assert.That(int32ValueField.Text, Is.EqualTo(int32ValueField.Text));
        }
        public void HasValidatorsWithoutCreateControls()
        {
            Invoker.InitRecursive();

            Assert.That(_editableRow.HasValidators(), Is.False);
            Assert.That(_editableRow.HasValidators(0), Is.False);
            Assert.That(_editableRow.HasValidators(1), Is.False);

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            _editableRow.EnsureValidatorsRestored();

            Assert.That(_editableRow.HasValidators(), Is.False);
            Assert.That(_editableRow.HasValidators(0), Is.False);
            Assert.That(_editableRow.HasValidators(1), Is.False);

            BocColumnDefinition[] columns = new BocColumnDefinition[2];
            columns[0] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[1] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);

            Assert.That(_editableRow.HasValidators(), Is.True);
            Assert.That(_editableRow.HasValidators(0), Is.True);
            Assert.That(_editableRow.HasValidators(1), Is.False);

            _editableRow.EnsureValidatorsRestored();

            Assert.That(_editableRow.HasValidators(), Is.True);
            Assert.That(_editableRow.HasValidators(0), Is.True);
            Assert.That(_editableRow.HasValidators(1), Is.False);
        }
        public void GetValidatorsWithoutCreateControls()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            _editableRow.EnsureValidatorsRestored();

            BocColumnDefinition[] columns = new BocColumnDefinition[2];
            columns[0] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[1] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);
            _editableRow.EnsureValidatorsRestored();

            Assert.That(_editableRow.HasValidators(), Is.True);
            Assert.That(_editableRow.HasValidators(0), Is.True);
            Assert.That(_editableRow.HasValidators(1), Is.False);

            ControlCollection validators = _editableRow.GetValidators(0);

            Assert.That(validators, Is.Not.Null);
            Assert.That(validators.Count, Is.EqualTo(2));
            Assert.That(validators[0] is RequiredFieldValidator, Is.True);
            Assert.That(validators[1] is NumericValidator, Is.True);

            Assert.That(_editableRow.GetValidators(1), Is.Null);
        }
Example #5
0
        private bool IsColumnVisible(BocColumnDefinition column)
        {
            ArgumentUtility.CheckNotNull("column", column);

            var columnAsCommandColumn = column as BocCommandColumnDefinition;

            if (columnAsCommandColumn != null && columnAsCommandColumn.Command != null)
            {
                if (!IsColumnVisibleForBocCommandColumnDefinition(columnAsCommandColumn))
                {
                    return(false);
                }
            }

            var columnAsRowEditModeColumn = column as BocRowEditModeColumnDefinition;

            if (columnAsRowEditModeColumn != null)
            {
                if (!IsColumnVisibleForBocRowEditModeColumnDefinition(columnAsRowEditModeColumn))
                {
                    return(false);
                }
            }

            var columnAsDropDownMenuColumn = column as BocDropDownMenuColumnDefinition;

            if (columnAsDropDownMenuColumn != null)
            {
                return(IsColumnVisibleForBocDropDownMenuColumnDefinition(columnAsDropDownMenuColumn));
            }

            return(true);
        }
        public void GetEditControl()
        {
            Invoker.InitRecursive();

            Assert.That(_editableRow.HasEditControls(), Is.False);
            Assert.That(_editableRow.HasEditControl(0), Is.False);
            Assert.That(_editableRow.HasEditControl(0), Is.False);

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[2];
            columns[0] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[1] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);

            Assert.That(_editableRow.HasEditControls(), Is.True);
            Assert.That(_editableRow.HasEditControl(0), Is.True);
            Assert.That(_editableRow.HasEditControl(1), Is.False);

            IBusinessObjectBoundEditableWebControl control = _editableRow.GetEditControl(0);

            Assert.That(control, Is.Not.Null);
            Assert.That(control is BocTextValue, Is.True);

            Assert.That(_editableRow.GetEditControl(1), Is.Null);
        }
        public void SaveValue()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[2];
            columns[0] = _typeWithAllDataTypesStringValueSimpleColumn;
            columns[1] = _typeWithAllDataTypesInt32ValueSimpleColumn;

            _editableRow.CreateControls(_value01, columns);

            IBusinessObjectReferenceDataSource dataSource = _editableRow.GetDataSource();

            dataSource.LoadValues(false);

            BocTextValue textBoxStringValue = (BocTextValue)_editableRow.GetEditControl(0);
            BocTextValue textBoxInt32Value  = (BocTextValue)_editableRow.GetEditControl(1);

            Assert.That(textBoxStringValue.Value, Is.EqualTo("A"));
            Assert.That(textBoxInt32Value.Value, Is.EqualTo(1));

            textBoxStringValue.Value = "New Value A";
            textBoxInt32Value.Value  = "100";

            dataSource.SaveValues(false);

            Assert.That(((TypeWithAllDataTypes)_value01).String, Is.EqualTo("New Value A"));
            Assert.That(((TypeWithAllDataTypes)_value01).Int32, Is.EqualTo(100));
        }
        public void GetTrackedIDs()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[3];
            columns[0] = _typeWithAllDataTypesStringValueSimpleColumn;
            columns[1] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[2] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);

            IBusinessObjectReferenceDataSource dataSource = _editableRow.GetDataSource();

            dataSource.LoadValues(false);

            string id = "NamingContainer_Row_{0}_Value";

            string[] trackedIDs = new string[2];
            trackedIDs[0] = string.Format(id, 0);
            trackedIDs[1] = string.Format(id, 1);

            Assert.That(_editableRow.GetTrackedClientIDs(), Is.EqualTo(trackedIDs));
        }
        public void IsDirty()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[3];
            columns[0] = _typeWithAllDataTypesStringValueSimpleColumn;
            columns[1] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[2] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);

            IBusinessObjectReferenceDataSource dataSource = _editableRow.GetDataSource();

            dataSource.LoadValues(false);

            Assert.That(_editableRow.IsDirty(), Is.False);

            BocTextValue textBoxStringValue = (BocTextValue)_editableRow.GetEditControl(0);

            textBoxStringValue.Value = "a";

            Assert.That(_editableRow.IsDirty(), Is.True);
        }
        public void CreateControlsWithColumns()
        {
            Invoker.InitRecursive();

            Assert.That(_editableRow.HasEditControls(), Is.False);
            Assert.That(_editableRow.HasValidators(), Is.False);
            Assert.That(_editableRow.HasEditControl(0), Is.False);

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[8];
            columns[0] = _typeWithAllDataTypesStringValueSimpleColumn;
            columns[1] = _typeWithAllDataTypesStringValueFirstValueCompoundColumn;
            columns[2] = _typeWithAllDataTypesStringValueCustomColumn;
            columns[3] = _commandColumn;
            columns[4] = _rowEditModeColumn;
            columns[5] = _dropDownMenuColumn;
            columns[6] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[7] = _typeWithAllDataTypesStringValueSimpleColumnAsDynamic;

            _editableRow.CreateControls(_value01, columns);

            Assert.That(_editableRow.HasEditControls(), Is.True);
            Assert.That(_editableRow.HasValidators(), Is.True);

            Assert.That(_editableRow.DataSourceFactory, Is.Not.Null);
            Assert.That(_editableRow.ControlFactory, Is.Not.Null);

            IBusinessObjectReferenceDataSource dataSource = _editableRow.GetDataSource();

            Assert.That(dataSource, Is.Not.Null);
            Assert.That(dataSource.BusinessObject, Is.SameAs(_value01));

            Assert.That(_editableRow.HasEditControl(0), Is.True);
            Assert.That(_editableRow.HasEditControl(1), Is.False);
            Assert.That(_editableRow.HasEditControl(2), Is.False);
            Assert.That(_editableRow.HasEditControl(3), Is.False);
            Assert.That(_editableRow.HasEditControl(4), Is.False);
            Assert.That(_editableRow.HasEditControl(5), Is.False);
            Assert.That(_editableRow.HasEditControl(6), Is.True);
            Assert.That(_editableRow.HasEditControl(7), Is.False);

            IBusinessObjectBoundEditableWebControl textBoxFirstValue = _editableRow.GetEditControl(0);

            Assert.That(textBoxFirstValue is BocTextValue, Is.True);
            Assert.That(textBoxFirstValue.DataSource, Is.SameAs(dataSource));
            Assert.That(textBoxFirstValue.Property, Is.SameAs(_typeWithAllDataTypesStringValuePath.Properties.Last()));

            IBusinessObjectBoundEditableWebControl textBoxSecondValue = _editableRow.GetEditControl(6);

            Assert.That(textBoxSecondValue is BocTextValue, Is.True);
            Assert.That(textBoxSecondValue.DataSource, Is.SameAs(dataSource));
            Assert.That(textBoxSecondValue.Property, Is.SameAs(_typeWithAllDataTypesInt32ValuePath.Properties.Last()));
        }
Example #11
0
        public void RenderTitleCellMarkers(HtmlTextWriter writer, BocColumnDefinition column, int columnIndex)
        {
            ArgumentUtility.CheckNotNull("writer", writer);
            ArgumentUtility.CheckNotNull("column", column);

            if (_editModeHost.ShowEditModeRequiredMarkers && IsRequired(columnIndex))
            {
                Image requriedFieldMarker = _editModeHost.GetRequiredMarker();
                requriedFieldMarker.RenderControl(writer);
                writer.Write(c_whiteSpace);
            }
        }
        public void GetEditControlWithIndexOutOfPositiveRange()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[2];
            columns[0] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[1] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);

            _editableRow.HasEditControl(3);
        }
        public void GetValidatorsWithNegativeIndex()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[2];
            columns[0] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[1] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);
            _editableRow.EnsureValidatorsRestored();

            _editableRow.GetValidators(-1);
        }
        public void EnsureValidatorsWithoutCreateControls()
        {
            Invoker.InitRecursive();

            Assert.That(_editableRow.HasValidators(), Is.False);

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            _editableRow.EnsureValidatorsRestored();

            Assert.That(_editableRow.HasValidators(), Is.False);

            BocColumnDefinition[] columns = new BocColumnDefinition[7];
            columns[0] = _typeWithAllDataTypesStringValueSimpleColumn;
            columns[1] = _typeWithAllDataTypesStringValueFirstValueCompoundColumn;
            columns[2] = _typeWithAllDataTypesStringValueCustomColumn;
            columns[3] = _commandColumn;
            columns[4] = _rowEditModeColumn;
            columns[5] = _dropDownMenuColumn;
            columns[6] = _typeWithAllDataTypesInt32ValueSimpleColumn;

            _editableRow.CreateControls(_value01, columns);
            _editableRow.EnsureValidatorsRestored();

            Assert.That(_editableRow.HasValidators(), Is.True);

            Assert.That(_editableRow.HasValidators(0), Is.True);
            Assert.That(_editableRow.HasValidators(1), Is.False);
            Assert.That(_editableRow.HasValidators(2), Is.False);
            Assert.That(_editableRow.HasValidators(3), Is.False);
            Assert.That(_editableRow.HasValidators(4), Is.False);
            Assert.That(_editableRow.HasValidators(5), Is.False);
            Assert.That(_editableRow.HasValidators(6), Is.True);

            ControlCollection validators0 = _editableRow.GetValidators(0);

            Assert.That(validators0, Is.Not.Null);
            Assert.That(validators0.Count, Is.EqualTo(0));

            ControlCollection validators6 = _editableRow.GetValidators(6);

            Assert.That(validators6, Is.Not.Null);
            Assert.That(validators6.Count, Is.EqualTo(2));
            Assert.That(validators6[0] is RequiredFieldValidator, Is.True);
            Assert.That(validators6[1] is NumericValidator, Is.True);
        }
        public void IsRequired()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[3];
            columns[0] = _typeWithAllDataTypesStringValueSimpleColumn;
            columns[1] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[2] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);

            Assert.That(_editableRow.IsRequired(0), Is.False);
            Assert.That(_editableRow.IsRequired(1), Is.True);
            Assert.That(_editableRow.IsRequired(2), Is.False);
        }
        public BocColumnRenderingContext(
            HttpContextBase httpContext,
            HtmlTextWriter writer,
            IBocList control,
            BocColumnDefinition columnDefinition,
            int columnIndex,
            int visibleColumnIndex)
        {
            ArgumentUtility.CheckNotNull("httpContext", httpContext);
            ArgumentUtility.CheckNotNull("writer", writer);
            ArgumentUtility.CheckNotNull("control", control);
            ArgumentUtility.CheckNotNull("columnDefinition", columnDefinition);

            _httpContext        = httpContext;
            _writer             = writer;
            _control            = control;
            _columnDefinition   = columnDefinition;
            _columnIndex        = columnIndex;
            _visibleColumnIndex = visibleColumnIndex;
        }
        public BocColumnRenderer(
            IBocColumnRenderer columnRenderer,
            BocColumnDefinition columnDefinition,
            int columnIndex,
            int visibleColumnIndex,
            bool showIcon,
            SortingDirection sortingDirection,
            int orderIndex)
        {
            ArgumentUtility.CheckNotNull("columnRenderer", columnRenderer);
            ArgumentUtility.CheckNotNull("columnDefinition", columnDefinition);

            _columnRenderer     = columnRenderer;
            _columnDefinition   = columnDefinition;
            _columnIndex        = columnIndex;
            _visibleColumnIndex = visibleColumnIndex;
            _showIcon           = showIcon;
            _sortingDirection   = sortingDirection;
            _orderIndex         = orderIndex;
        }
        public void ValidateWithInvalidValues()
        {
            Invoker.InitRecursive();

            _editableRow.DataSourceFactory = new EditableRowDataSourceFactory();
            _editableRow.ControlFactory    = EditableRowControlFactory.CreateEditableRowControlFactory();

            BocColumnDefinition[] columns = new BocColumnDefinition[3];
            columns[0] = _typeWithAllDataTypesStringValueSimpleColumn;
            columns[1] = _typeWithAllDataTypesInt32ValueSimpleColumn;
            columns[2] = _commandColumn;

            _editableRow.CreateControls(_value01, columns);
            _editableRow.EnsureValidatorsRestored();

            IBusinessObjectReferenceDataSource dataSource = _editableRow.GetDataSource();

            dataSource.LoadValues(false);

            SetValues(_editableRow, "A", "");

            Assert.That(_editableRow.Validate(), Is.False);
        }