Skip to content

Releases: dotnet-websharper/ui

WebSharper UI 4.5.8

26 Feb 16:33
Compare
Choose a tag to compare

This is a minor release for WebSharper UI 4.5.

Features

  • #207: Templating: add a new attribute ws-preserve. When an element is marked with this attribute, it and its children are not parsed for holes and ws-* attributes.

WebSharper.UI 4.5.6

31 Oct 09:24
Compare
Choose a tag to compare

This is a bugfix release for WebSharper UI 4.5.

Fixes

  • #204 Compile-time error with <ws-*> references within a single file

WebSharper.UI 4.5.5

30 Oct 17:39
Compare
Choose a tag to compare

This is a minor release for WebSharper.UI 4.5. See the associated WebSharper release.

Features

  • #175 <ws-*> template instantiation is now implemented on the server side.
  • #200 Server-side templating: Var<string> holes are fully bound on the client side, including dynamically bound to ${Text} holes with the same name in the same template.
  • #201 Add dynamic holes for server-side templates. The method .With("holeName", value) now fills the given hole with the given value. An error is raised at runtime if the type of value is incompatible with the hole.
  • #201 Add DynamicTemplate as a non-provided type similar to the provided Template, with the following differences:
    • DynamicTemplate is (for now) server-side only.
    • DynamicTemplate must be instantiated with a string argument.
    • DynamicTemplate holes can only be filled with .With().
    • DynamicTemplate instantiation can only be finished with .Doc().

Fixes

  • #187 C# templating: the build task doesn't write the generated C# file if it would be identical to the existing file. This makes it possible to use a file system watcher such as dotnet watch without running into an infinite loop.

WebSharper.UI 4.5.4

26 Oct 08:08
Compare
Choose a tag to compare

This is a minor release for WebSharper.UI 4.5. See the associated WebSharper release.

Enhancements

  • #182 Eliminate the last uses of jQuery: parseHTML in templating and Doc.Verbatim, and on in Input.Keyboard.
  • #195: Add V-enabled Attr.Prop overload.

Fixes

  • #190 C# templating: generate full namespace for CheckedInput.
  • #194: Ensure Router.Install and Router.InstallInto initialize their state from the current URL.
  • #198 Ensure Elt.OnAfterRender() depends on OnAfterRenderControl for the Sitelet runtime to include the correct .js link needed.
  • #199 Don't double-encode generated event attributes, causing server-defined event handlers to fail on .NET core.

WebSharper.UI 4.5.3

17 Sep 16:29
Compare
Choose a tag to compare

This is a bugfix release for WebSharper.UI 4.5. See the associated WebSharper release.

Fixes

  • #189 C# templating: correctly pass along custom ClientLoad and ServerLoad from template comments and use ClientLoad = Inline as default.
  • #190 C# templating: fix generated code for <input type="number">

WebSharper.UI 4.5.2

14 Sep 10:47
Compare
Choose a tag to compare

This is a minor release for WebSharper.UI 4.5. See the associated WebSharper release.

Features

  • #192 Add the ability to instantiate a template from a string on the server side.

WebSharper.UI 4.5.1

29 Aug 16:16
Compare
Choose a tag to compare

This is a minor release for WebSharper.UI 4.5. See the associated WebSharper release.

Features

  • #188: Add overloads for Map<'K, 'V> for View.MapSeqCached and View.DocSeqCached.

WebSharper UI 4.5

09 Aug 14:05
Compare
Choose a tag to compare

This is a major release for WebSharper UI 4. See the associated WebSharper release.

Features and breaking changes

  • #183: [F#] In order to minimize the number of upcasts needed in user code, the following functions now return values of type Doc instead of Elt:

    • Functions in the module WebSharper.UI.Html, such as div, span, etc.
    • Functions in the module WebSharper.UI.Html.Tags, such as option, object, etc.
    • Functions in the module WebSharper.UI.Html.SvgElements, such as g, rect, etc.
    • Functions in the module WebSharper.UI.Client.Doc, such as Input, Button, etc.

    For users who do need values of type Elt, the following were added:

    • A new module WebSharper.UI.Html.Elt, containing Elt-returning equivalents to the functions in WebSharper.UI.Html and WebSharper.UI.Html.Tags.
    • A new module WebSharper.UI.Html.SvgElements.Elt, containing Elt-returning equivalents to the functions in WebSharper.UI.Html.SvgElements.
    • A new module WebSharper.UI.Client.Elt, containing Elt-returning equivalents to the functions in WebSharper.UI.Client.Doc.

Fixes

  • #112: Pass the correct Dom.Element as argument to an .OnAfterRender() called on a template's .Elt().
  • #185: Fix setting the class of an SVG element.

WebSharper.UI 4.4.1

31 Jul 15:38
Compare
Choose a tag to compare

This is a bugfix release for WebSharper.UI 4.4. See the associated WebSharper release.

Improvements

  • #181 Elt.WithAttrs is no longer public, it was intended to be internal.
  • #181 Elt.RemoveClass removes unneeded spaces from class attribute value.
  • #182 jQuery is now not used internally for Elt.AddClass/RemoveClass and Router.Install/InstallInto.
  • #184 In sitelets using a template with ClientLoad.FromDocument, when outputting a ws-replace tag, make the tag name depend on the parent tag (eg if the parent is <tbody>, output <tr>) instead of always <div>, so that the HTML is parsed correctly

WebSharper.UI 4.3

26 Jun 16:31
Compare
Choose a tag to compare

This is a feature release of WebSharper.UI. See the associated WebSharper release.

Features

  • Enable the templating type provider to run on the new .NET Core-compiled WebSharper compiler (see the WebSharper release notes above).

  • #180: F# templating: it is now possible to use .V directly inside a string-typed hole or a ws-var hole.

    <input ws-var="FirstName" />
    <div>${LastName}</div>
    type Name = { First: string; Last: string }
    let myVar = Var.Create { First = "John"; Last = "Doe" }
    let myDoc =
        MyTemplate()
            .FirstName(myVar.V.First) // .V lensing into a Var<string>
            .LastName(myVar.V.Last)   // .V mapping into a View<string>
            .Doc()