Skip to content

Commit 0374882

Browse files
authored
Add webkitRelativePath to dragdrop with multiple folders (#190)
* File folder path drag drop (#1) * . * Add TypeScript MSBuild * Add Check in GetFiles for missing files. Get from dragdrop instead. * Update Demos * Use native input functionality for drag / drop. Add option to switch between using webkitdirectory. Use div / ondrop to drop multiple folders and files. * Move property to non standard properties * Update Demo * Fix/Cleanup * Fix async issue * remove try catches not needed and rethrow others
1 parent 73fb7c9 commit 0374882

File tree

28 files changed

+1635
-1273
lines changed

28 files changed

+1635
-1273
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,3 +331,5 @@ ASALocalRun/
331331

332332
# MFractors (Xamarin productivity tool) working folder
333333
.mfractor/
334+
/src/Blazor.FileReader/script/package-lock.json
335+
/src/Blazor.FileReader/package-lock.json
Lines changed: 93 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,93 @@
1-
<Project Sdk="Microsoft.NET.Sdk.Razor">
2-
3-
4-
<PropertyGroup>
5-
<TargetFrameworks>netstandard2.0;net5.0;net6.0</TargetFrameworks>
6-
<BlazorLinkOnBuild>true</BlazorLinkOnBuild>
7-
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
8-
<LangVersion>latest</LangVersion>
9-
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
10-
<Authors>Tor Knutsson (Tewr)</Authors>
11-
<PackageProjectUrl>https://github.com/Tewr/BlazorFileReader</PackageProjectUrl>
12-
<RepositoryUrl>https://github.com/Tewr/BlazorFileReader</RepositoryUrl>
13-
<Description>Create Read-Only file streams from file input elements or drop targets in Blazor.</Description>
14-
<PackageTags>blazor blazor-component stream filestream file-stream read-file filereader</PackageTags>
15-
<Configurations>Debug;Release;Ghpages</Configurations>
16-
<PackageId>Tewr.Blazor.FileReader</PackageId>
17-
<PackageReleaseNotes>fixes a bug under net6 that would throw PlatformNotSupportedException</PackageReleaseNotes>
18-
<PackageLicenseExpression>MIT</PackageLicenseExpression>
19-
<PackageIcon>icon.png</PackageIcon>
20-
<RazorLangVersion>3.0</RazorLangVersion>
21-
<AssemblyName>Tewr.Blazor.FileReader</AssemblyName>
22-
<RootNamespace>Tewr.Blazor.FileReader</RootNamespace>
23-
<AssemblyVersion>3.3.1.21360</AssemblyVersion>
24-
<Version>3.3.1.21360</Version>
25-
<FileVersion>3.3.1.21360</FileVersion>
26-
</PropertyGroup>
27-
<ItemGroup>
28-
<None Include="icon.png" Pack="true" Visible="false" PackagePath="" />
29-
</ItemGroup>
30-
31-
<PropertyGroup>
32-
<NoWarn>1701;1702;NU5104</NoWarn>
33-
<DocumentationFile>Tewr.Blazor.FileReader.xml</DocumentationFile>
34-
</PropertyGroup>
35-
36-
<Target Name="BundleTypescript" BeforeTargets="CreateManifestResourceNames" Condition="'$(Configuration)'=='Debug'">
37-
<!-- using ts-bundle to create a single output js file from several ts files -->
38-
<Exec Command="tsc-bundle $(ProjectDir)tsconfig.json --outFile $(ProjectDir)wwwroot\FileReaderComponent.js --entryPoint FileReaderComponent --transform tsPreprocessor.js" />
39-
</Target>
40-
41-
42-
<ItemGroup>
43-
<!-- .js/.css files will be referenced via <script>/<link> tags; other content files will just be included in the app's 'dist' directory without any tags referencing them -->
44-
<EmbeddedResource Include="wwwroot\**\*.js" LogicalName="blazor:js:%(RecursiveDir)%(Filename)%(Extension)" />
45-
</ItemGroup>
46-
47-
<ItemGroup Condition="'$(TargetFramework)'=='net6.0'">
48-
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="6.0.0" />
49-
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0" />
50-
</ItemGroup>
51-
52-
<ItemGroup Condition="'$(TargetFramework)'=='net5.0'">
53-
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="5.0.0" />
54-
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="5.0.0" />
55-
</ItemGroup>
56-
57-
<ItemGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
58-
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="3.1.3" />
59-
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="1.1.0" />
60-
</ItemGroup>
61-
62-
<ItemGroup>
63-
<Content Update="tsconfig.json">
64-
<Pack>false</Pack>
65-
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
66-
</Content>
67-
</ItemGroup>
68-
69-
<ItemGroup>
70-
<Folder Include="Extensions\" />
71-
<Folder Include="wwwroot\" />
72-
</ItemGroup>
73-
74-
<ItemGroup>
75-
<PackageReference Include="vsxmd" Version="1.4.5">
76-
<PrivateAssets>all</PrivateAssets>
77-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
78-
</PackageReference>
79-
</ItemGroup>
80-
81-
<PropertyGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
82-
<DefineConstants>$(DefineConstants);NETSTANDARD20</DefineConstants>
83-
</PropertyGroup>
84-
85-
<PropertyGroup Condition="'$(TargetFramework)'=='net5.0'">
86-
<DefineConstants>$(DefineConstants);NET5</DefineConstants>
87-
</PropertyGroup>
88-
89-
</Project>
1+
<Project Sdk="Microsoft.NET.Sdk.Razor">
2+
3+
4+
<PropertyGroup>
5+
<TargetFrameworks>netstandard2.0;net5.0;net6.0</TargetFrameworks>
6+
<BlazorLinkOnBuild>true</BlazorLinkOnBuild>
7+
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
8+
<LangVersion>latest</LangVersion>
9+
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
10+
<Authors>Tor Knutsson (Tewr)</Authors>
11+
<PackageProjectUrl>https://github.com/Tewr/BlazorFileReader</PackageProjectUrl>
12+
<RepositoryUrl>https://github.com/Tewr/BlazorFileReader</RepositoryUrl>
13+
<Description>Create Read-Only file streams from file input elements or drop targets in Blazor.</Description>
14+
<PackageTags>blazor blazor-component stream filestream file-stream read-file filereader</PackageTags>
15+
<Configurations>Debug;Release;Ghpages</Configurations>
16+
<PackageId>Tewr.Blazor.FileReader</PackageId>
17+
<PackageReleaseNotes>fixes a bug under net6 that would throw PlatformNotSupportedException</PackageReleaseNotes>
18+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
19+
<PackageIcon>icon.png</PackageIcon>
20+
<RazorLangVersion>3.0</RazorLangVersion>
21+
<AssemblyName>Tewr.Blazor.FileReader</AssemblyName>
22+
<RootNamespace>Tewr.Blazor.FileReader</RootNamespace>
23+
<AssemblyVersion>3.3.1.21360</AssemblyVersion>
24+
<Version>3.3.1.21360</Version>
25+
<FileVersion>3.3.1.21360</FileVersion>
26+
</PropertyGroup>
27+
<ItemGroup>
28+
<None Include="icon.png" Pack="true" Visible="false" PackagePath="" />
29+
</ItemGroup>
30+
31+
<PropertyGroup>
32+
<NoWarn>1701;1702;NU5104</NoWarn>
33+
<DocumentationFile>Tewr.Blazor.FileReader.xml</DocumentationFile>
34+
</PropertyGroup>
35+
36+
<Target Name="BundleTypescript" BeforeTargets="CreateManifestResourceNames" Condition="'$(Configuration)'=='Debug'">
37+
<!-- using ts-bundle to create a single output js file from several ts files -->
38+
<Exec Command="tsc-bundle $(ProjectDir)tsconfig.json --outFile $(ProjectDir)wwwroot\FileReaderComponent.js --entryPoint FileReaderComponent --transform tsPreprocessor.js" />
39+
</Target>
40+
41+
42+
<ItemGroup>
43+
<!-- .js/.css files will be referenced via <script>/<link> tags; other content files will just be included in the app's 'dist' directory without any tags referencing them -->
44+
<EmbeddedResource Include="wwwroot\**\*.js" LogicalName="blazor:js:%(RecursiveDir)%(Filename)%(Extension)" />
45+
</ItemGroup>
46+
47+
<ItemGroup Condition="'$(TargetFramework)'=='net6.0'">
48+
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="6.0.0" />
49+
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0" />
50+
</ItemGroup>
51+
52+
<ItemGroup Condition="'$(TargetFramework)'=='net5.0'">
53+
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="5.0.0" />
54+
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="5.0.0" />
55+
</ItemGroup>
56+
57+
<ItemGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
58+
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="3.1.3" />
59+
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="1.1.0" />
60+
</ItemGroup>
61+
62+
<ItemGroup>
63+
<Content Update="tsconfig.json">
64+
<Pack>false</Pack>
65+
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
66+
</Content>
67+
</ItemGroup>
68+
69+
<ItemGroup>
70+
<Folder Include="Extensions\" />
71+
<Folder Include="wwwroot\" />
72+
</ItemGroup>
73+
74+
<ItemGroup>
75+
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="5.0.2">
76+
<PrivateAssets>all</PrivateAssets>
77+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
78+
</PackageReference>
79+
<PackageReference Include="vsxmd" Version="1.4.5">
80+
<PrivateAssets>all</PrivateAssets>
81+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
82+
</PackageReference>
83+
</ItemGroup>
84+
85+
<PropertyGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
86+
<DefineConstants>$(DefineConstants);NETSTANDARD20</DefineConstants>
87+
</PropertyGroup>
88+
89+
<PropertyGroup Condition="'$(TargetFramework)'=='net5.0'">
90+
<DefineConstants>$(DefineConstants);NET5</DefineConstants>
91+
</PropertyGroup>
92+
93+
</Project>

0 commit comments

Comments
 (0)