Beispiel #1
0
        private async Task _onValueChangeHandler(ChangeEventArgs e)
        {
            var value = (string)e.Value;
            //Generate new Rows
            var rows = WvpHelpers.GetCsvData <TItem>(value, _hasHeader, _delimiter, Culture);
            await ValueChanged.InvokeAsync(new ChangeEventArgs { Value = value });

            await RowsChanged.InvokeAsync(new ChangeEventArgs { Value = rows });
        }
Beispiel #2
0
        protected override async Task OnParametersSetAsync()
        {
            _cssList = new List <string>();

            if (!String.IsNullOrWhiteSpace(Class))
            {
                _cssList.Add(Class);
            }

            _cssList.Add($"form-control-datacsv");

            var valueHasChanged     = false;
            var rowsHasChanged      = false;
            var delimterHasChanged  = false;
            var hasHeaderHasChanged = false;

            if (JsonConvert.SerializeObject(_originalValue) != JsonConvert.SerializeObject(Value))
            {
                _originalValue  = Value;
                _value          = FieldValueService.InitAsString(Value);
                valueHasChanged = true;
            }

            if (JsonConvert.SerializeObject(_originalRows) != JsonConvert.SerializeObject(Rows))
            {
                _originalRows  = Rows.ToList();
                _rows          = Rows.ToList();
                rowsHasChanged = true;
            }

            if (JsonConvert.SerializeObject(_originalDelimiter) != JsonConvert.SerializeObject(Delimiter))
            {
                _originalDelimiter = Delimiter;
                _delimiter         = Delimiter;
                delimterHasChanged = true;
            }

            if (JsonConvert.SerializeObject(_originalHasHeader) != JsonConvert.SerializeObject(HasHeader))
            {
                _originalHasHeader  = HasHeader ? true : false;
                _hasHeader          = HasHeader ? true : false;
                hasHeaderHasChanged = true;
            }

            if (!String.IsNullOrWhiteSpace(Name))
            {
                AdditionalAttributes["name"] = Name;
            }

            if (!String.IsNullOrWhiteSpace(Placeholder))
            {
                AdditionalAttributes["placeholder"] = Placeholder;
            }

            if (!String.IsNullOrWhiteSpace(Title))
            {
                AdditionalAttributes["title"] = Title;
            }

            //Value has preference
            if (valueHasChanged)
            {
                if (!String.IsNullOrWhiteSpace(_value))
                {
                    _rows = WvpHelpers.GetCsvData <TItem>(_value, _hasHeader, _delimiter, Culture);
                }
                else
                {
                    _rows = new List <TItem>();
                }
            }
            else if (rowsHasChanged || delimterHasChanged || hasHeaderHasChanged)
            {
                if (_rows.Count == 0)
                {
                    _value = "";
                }
                else
                {
                    //Specifics here is that header should not be generated
                    _value = WvpHelpers.WriteCsvData <TItem>(_rows, false, _delimiter, Culture);
                }
            }


            await base.OnParametersSetAsync();
        }