Commit Graph

349 Commits

Author SHA1 Message Date
Steve Sanderson 1fe90e2c0f Avoid unnecessary assembly/type lookups when retrieving cached method handles 2018-04-02 13:14:48 +01:00
Grahame Horner 590a47f6c7 Mono Platform Method Caching 2018-04-02 13:11:12 +01:00
flash2048 e696325b76 Corrects spelling of some comments 2018-04-02 12:34:08 +01:00
Steve Sanderson 38cdb870f8 Update templates to Blazor 0.2.0-preview1-10152 2018-03-30 12:22:58 +01:00
Steve Sanderson b596d0d9f8 Reorder package-lock.json to make NPM happy 2018-03-30 12:22:58 +01:00
Steve Sanderson b52912a460 Handle ternary expressions inside interpolated attributes. Fixes #446 2018-03-30 11:38:10 +01:00
Luke Latham 2a8d06b539 Double-quote attribute values? 2018-03-30 10:12:35 +01:00
Ryouko Konpaku ef3db51bbf Text Area Bind Fix for issue #434 (#439)
* Text Area Bind Fix for issue #434

* Correct Typo/Mispelling on test method name.
2018-03-30 10:10:23 +01:00
Stephen Roe cda3692d0b Added SVG support (#366) (#435)
* Added SVG support (#366)

* Added E2E tests for SVG
2018-03-30 10:07:10 +01:00
Ryan Nowak 5b658c80a1 Replace @bind with bind-...
This change introduces a 'tag helper' that replaces @bind with custom
code generation that accomplishes roughly the same thing.

This feature lights up by dynamically generating tag helpers that are
visible to tooling and affect the code generation based on:
- pattern recognition of component properties
- attributes that create definitions for elements
- a 'fallback' case for elements

'bind' also supports format strings (currently only for DateTime) via
a separate attribute.

This change introduces the basic framework for bind and tooling support.
We know that we'll have to do more work to define the set of default
'bind' cases for the DOM and to flesh out the conversion/formatting
infrastructure.

This change gets us far enough to replace all of the cases we currently
have tests for :) with the new features. The old @bind technique still
works for now.

Examples:

@* bind an input element to an expression *@
<input bind="@SelectedDate" format="mm/dd/yyyy" />
@functions {
    public DateTime SelectedDate { get; set; }
}

@* bind an arbitrary expression to an arbitrary set of attributes *@
<div bind-myvalue-myevent="@SomeExpression">...</div>

@* write a component that supports bind *@

@* in Counter.cshtml *@
<div>...html omitted for brevity...</div>
@functions {
    public int Value { get; set; } = 1;
    public Action<int> ValueChanged { get; set; }
}

@* in another file *@
<Counter bind-Value="@CurrentValue" />
@functions {
    public int CurrentValue { get; set; }
}
2018-03-29 22:04:24 -07:00
flash2048 b53d39e16f Corrects spelling of some comments, method name and remove an excess flag 2018-03-29 14:20:04 +01:00
Steve Sanderson f15c995a2a Ensure JSON deserializer only uses Activator.CreateInstance implicitly for structs 2018-03-29 10:41:07 +01:00
Matthew Lazarow 25cf73ed80 Json to struct error 388 2018-03-29 10:41:07 +01:00
Benjamin 64d7091b2b fix #396 - added TimeSpan serialization and deserialization 2018-03-29 10:07:00 +01:00
Miha Markič 9a01ec5743 Corrects spelling of some comments and method names (#398)
* Corrects spelling of some comments and method names

* Correctly renames one more instance of wrongly spelled enableNavigationInteception
2018-03-28 08:15:27 -07:00
Ryan Nowak f6479a75cb Remove workaround for old Razor tooling
This isn't needed anymore to support the Blazor design-time experience.

Now that it's gone, it will no longer cause conflicts with MVC's types
so we can remove the other workaround (privateassets).
2018-03-27 19:24:10 -07:00
Ryan Nowak d7d0c617ce Add a Blazor project capability 2018-03-27 19:21:48 -07:00
Javier Calvarro Nelson a1ba0ab8ea [Fixes #355] Generated index.html not regenerating when source Index.html changes (#375) 2018-03-25 18:36:27 -07:00
Steve Sanderson 29a7d4e5bc In Hosted template, exclude .sln when generating from VS (to avoid duplication) 2018-03-22 19:39:12 +00:00
Steve Sanderson b3619f3e10 Fix serving of woff/woff2 files for standalone-published apps on IIS/Azure 2018-03-22 10:15:55 +00:00
Ryan Nowak 808f741cdd Fix for #314 - streamline lambda component args
This change removes the magic 'auto-lambda' feature that has some
unconvincing UX.

Also working around a razor bug where explicit expressions are lowered
incorrectly. This should make it possible to write code like:

<Foo Bar="@(e => { OnChanged(e); })" />
2018-03-21 13:59:35 -07:00
Steve Sanderson 3b5ce7f4a7 In templates, move survey content out into a separate component 2018-03-21 16:22:32 +00:00
Steve Sanderson fb3beab270 Link on build by default for all configurations, not only Release 2018-03-21 15:58:49 +00:00
Steve Sanderson 992c873019 For standalone publishing, add configure MIME type for .json
As per
https://blogs.msdn.microsoft.com/africaapps/2013/06/07/how-to-serve-static-json-files-from-a-windows-azure-website/
2018-03-21 12:33:59 +00:00
Steve Sanderson 4d7670a979 Update templates to Blazor 0.1.0-rc1-10117 2018-03-20 22:37:30 +00:00
Steve Sanderson cf237707f9 Log info message if IL linking is disabled. Fixes #302 2018-03-20 22:28:43 +00:00
Steve Sanderson 3e4ba1a35f Add survey links to templates. Fixes #221 2018-03-20 22:27:29 +00:00
Steve Sanderson 678721cbad In hosted template, enable response compression for .wasm 2018-03-20 20:07:25 +00:00
Steve Sanderson 4eb78b3a8f Add global.json files to templates. Implements #300. 2018-03-20 19:45:43 +00:00
Steve Sanderson 4a8dc5c4a6 Add missing quotes to illink command. Fixes #301. 2018-03-20 19:42:25 +00:00
Steve Sanderson f703732e98 In templates, update _ViewImports/NavMenu to match updated APIs 2018-03-20 13:59:20 +00:00
Steve Sanderson aa43496d00 Update templates to Blazor 0.1.0-preview1-10112 2018-03-20 13:29:53 +00:00
Steve Sanderson 1760688d24 In BlazorComponent, add OnParametersSetAsync and make SetParameters overridable 2018-03-20 13:15:40 +00:00
Steve Sanderson 5bf0b891e9 In NavLink, support matching either complete URLs or just URL prefixes (both are necessary for typical nav menus) 2018-03-20 13:15:37 +00:00
Steve Sanderson d921705881 Add ParameterCollection.GetValueOrDefault methods 2018-03-20 12:18:44 +00:00
Steve Sanderson a88ab0db49 Support route constraints of the form ":type" (e.g, ":int", ":guid", etc.) 2018-03-20 10:17:00 +00:00
Steve Sanderson c58df0b739 Temporary workaround for #219 ("data-" attributes don't compile) 2018-03-19 18:09:53 +00:00
Steve Sanderson 58cc946a88 Update templates to use new @page routing feature 2018-03-19 13:18:42 +00:00
Steve Sanderson 139601894a Update templates to Blazor 0.1.0-preview1-10107 2018-03-19 13:13:07 +00:00
Javier Calvarro Nelson 70c4501497 [Fixes #220] Support `@page` with custom route template on components
* Updates the router component to scan for components within assemblies.
* Parses the templates on `[Route]` in component instances and builds a
  route table that maps paths to components.
* Uses the route table to map paths to components.
2018-03-16 19:15:00 -07:00
Steve Sanderson 2150820efe Implement Blazor.navigateTo for triggering navigation from JS code, and use it in E2E tests 2018-03-16 16:55:46 +00:00
Steve Sanderson 0cfb25e2ad Enable Razor build server by default 2018-03-16 12:49:59 +00:00
Steve Sanderson d0731c337d Add IUriHelper.NavigateTo 2018-03-16 11:19:09 +00:00
Steve Sanderson a02ac60c8c Fix selection on <select> box. Fixes #157 2018-03-16 10:27:26 +00:00
Steve Sanderson 03ac95f086 A better fix for the VS publishing hosted projects issue (#274) 2018-03-16 09:13:48 +00:00
Steve Sanderson 4202a6c9e1 In JsonUtil, support DateTimeOffset. Fixes #218. 2018-03-15 17:25:50 +00:00
Steve Sanderson e0481e1276 Update templates to Blazor 0.1.0-preview1-10098 2018-03-15 17:06:09 +00:00
Steve Sanderson eb727c0464 In standalone template, generate a launchSettings.json that doesn't have
IISExpress. Fixes #235
2018-03-15 17:03:54 +00:00
Steve Sanderson 1d31a80b50 Apply equivalent change to BlazorHosted.CSharp.Client 2018-03-15 13:38:55 +00:00
Pranav K b0d4e43a75 Make things build with preview1 SDK without warnings 2018-03-15 13:28:02 +00:00