Git Product home page Git Product logo

material.blazor's People

Contributors

dependabot[bot] avatar drewnoakes avatar hannahkiekens avatar karlox2 avatar markstega avatar simonziegler avatar sql-mistermagoo avatar stefanloerwald avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

material.blazor's Issues

PagedDataList & SlidingContent

Review:

  1. Both have a hide/show content mechanism that appears not to be applied in a fashion that will affect a render; If indeed the hide/show is not needed then remove same.
  2. The methodologies are different, if it turns out that #1 is baseless then they should be aligned.

ShouldRender

Once a component has rendered and been intialized with Material Theme JS, Blazor must not render otherwise Blazor and the MT JS conflict with each other. Investigate rolling the pattern of using ShouldRender() as in MdcRadioButton and PMdcRadioButtonGroup across all components. This ha the potential to fix one or two other issues en route.

Styles directory copying to nuget package

The Styles directory is presently published along with the nuget package, getting included in a consuming project which ought only to use <link href="_content/BlazorMdc/css/styles.min.css" rel="stylesheet" />

Empty numeric field FOUC

Empty PMdcNumericDoubleField input correctly defaults to zero value but loses floating label. This is a Flash of Unstyled Content ("FOUC").

Icon review

The Material Theme icon set in MdcIcons.cs and icons.css seems incomplete - needs review.

Autocomplete FOUC

Shows a flash of unstyled content ("FOUC") when a field that disallows blanks is cleared and then loses focus. The floating label stops floating and superimposes over the selected text.

Datepicker odd popup menu

I've added use of a PMdcDatePicker to my application.

It is wrapped in an identical fashion to what I have with MdcTextField:

@namespace GeneralComponents

<PMdcDatePicker Value="@pDateTimeValue"
                ValueChanged="@pDateTimeValueChanged"
                ValueExpression="@pDateTimeValueExpression"
                Label="@pLabel"
                MinDate="@pEarliestDate"
                MaxDate="@pLatestDate"
                SelectInputStyle="MdcSelectInputStyle.Outlined"
                Style="@pAdditionalStyles" />

When I click the control to select a different date the popup is rather mangled. It's functional but ugly.

DP-Initial

DP-Popup

Datepicker layout enhancements

Issues to review:

  • Remove inline-block from year line
  • Slightly enlarge datepicker buttons to allow for wider month names without line breaks (e.g. "Fevereiro" in Portuguese is likely to break the format)
  • Review how to space weekdays line and days line
  • Work out how to ensure that the menu surface is always large enough even when the viewport is vertically narrow.
  • As a stylistic issue, when the year pad is being shown, if the current year is more than 7 lines down (28+ years into the year list), it doesn't show because the year list is scrolled to the top. The list should initialize to a scrolled position showing the current year.

Icon enhancements

The icon foundry mechanism need the following enhancements and tests:

  • MdcTabBar doesn't yet implement anything other than basic material icons. This needs some thought in the setting of icons being passed as an enumerable render fragment.
  • Two Tone themed Material Icons require a CSS filter element when set as a white (or probably light) color against a dark background. This has been set for toasts but nothing else. Filled buttons are likely to look wrong.
  • Font Awesome has only been tested for its free option and we have no intention to pay for pro just to test BlazorMdc. It is possible that there may be unwanted artefacts when using pro, with a particular eye on the Duotone style.

Change Plus components naming convention to PMdc...

Plus componets are presently prefixed with "Mdcp" such as MdcpDatePicker. The only thing differentiating this from core components is the fourth character, a lower case "p". To better differentiate change the Plus naming convention to "PMdc", eg PMdcDatePicker.

PMdcRadioButtonGroup initialization

If the Items parameter is an IEnumerable resulting from a LINQ query (and therefore lazy enumerated), the default radio button isn't set. This was not a problem before the migration to PMdcRadioButtonGroup.

Review TextFieldCssClass

MdcTextField and MdcTextArea have TextFieldCssClass property that is also used in PMdcCascadingDefaults. Review its need and implementation.

BMdc.List dense markup

Setting a BMdc.List to dense doesn't mark up correctly. This may be a material theme css issue.

MdcTextField glitches in the demo

  1. The first text field in the demo (filled) overwrites the label which doesn't move (MdcTextField issue)

  2. The password field is using currentValueRight instead of its own backing store (demo page issue)

Handling a disabled MdcListItem

Presently an MdcMenu is dismissed when a disabled list item is clicked. This is for review. Was previously not dismissed, but only by way of a complex overlay div blocking mouse clicks. To investigate whether there is a better solution that may also be configurable.

Sliding content sample issues

  • The choice of the radio button sometimes updates the paragraph shown
  • Sliding content does not update the radio button

Quality assurance

Prior to v1.0.0:

  • Review attribute ordering with @attributes="[]", remembering that attributes are given precedence from right to left. This has particular impact when BlazorMdc uses event handlers, e.g. in the numeric input component.
  • Ensure that all lifecycle methods call their base method at the start of their code block.
  • Document all code per #69
  • Review IDisposable implementation, in particular for (i) all overrides in children of ComponentFoundation and (ii) to ensure that all components that require disposal (e.g. of ObjectReference) apply it.

Debouncer improvements

  • The debouncer text field doesn't get populated with initial data
  • The debounce interval should be added to Cascading Defaults

Resolve MdcIconButton

  1. Does it still exist or has it been deprecated. Material.io documentation is confusing/contradictory.
  2. If it should remain then it needs a demo page.

Review icon, color and typography C# classes for removal

These classes seem superflous:

  • MdcTypography merely references some mdc classes which are auto completed with intellisense anyway
  • MdcColor does the same with some bmdc classes
  • MdcIcons just seems unwarranted and is incomplete due to lack of public lists of icons. Font Awesome also add new icons all the time so we should not attempt to keep up with helper constants.

Apply AttributeMapper consistently

This is poorly applied only for the interaction between numeric inputs and their base text inputs. Needs to be rethought and applied on DRY principles to component bases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.