Revize a5ceca91
Přidáno uživatelem Dominik Chlouba před téměř 4 roky(ů)
src/Core/Application/Leuze.Core.Application.UI/Areas/Identity/Pages/Account/ChangeLanguage.cshtml | ||
---|---|---|
1 |
@page |
|
2 |
@model Leuze.Core.Application.UI.Areas.Identity.Pages.Account.ChangeLanguageModel |
|
3 |
@{ |
|
4 |
} |
src/Core/Application/Leuze.Core.Application.UI/Areas/Identity/Pages/Account/ChangeLanguage.cshtml.cs | ||
---|---|---|
1 |
using System; |
|
2 |
using System.Collections.Generic; |
|
3 |
using System.Globalization; |
|
4 |
using System.Linq; |
|
5 |
using System.Threading.Tasks; |
|
6 |
using Microsoft.AspNetCore.Localization; |
|
7 |
using Microsoft.AspNetCore.Mvc; |
|
8 |
using Microsoft.AspNetCore.Mvc.RazorPages; |
|
9 |
|
|
10 |
namespace Leuze.Core.Application.UI.Areas.Identity.Pages.Account |
|
11 |
{ |
|
12 |
public class ChangeLanguageModel : PageModel |
|
13 |
{ |
|
14 |
public IActionResult OnGet(string redirectUri, string culture) |
|
15 |
{ |
|
16 |
HttpContext.Response.Cookies.Append( |
|
17 |
CookieRequestCultureProvider.DefaultCookieName, |
|
18 |
CookieRequestCultureProvider.MakeCookieValue( |
|
19 |
new RequestCulture(culture, culture))); |
|
20 |
return LocalRedirect(redirectUri); |
|
21 |
} |
|
22 |
} |
|
23 |
} |
src/Core/Application/Leuze.Core.Application.UI/Areas/Identity/Pages/Account/Logout.cshtml | ||
---|---|---|
1 |
@page |
|
2 |
@model Leuze.Core.Application.UI.Areas.Identity.Pages.Account.LogoutModel |
|
3 |
@{ |
|
4 |
} |
src/Core/Application/Leuze.Core.Application.UI/Areas/Identity/Pages/Account/Logout.cshtml.cs | ||
---|---|---|
1 |
using Leuze.Core.Application.Identity; |
|
2 |
using Microsoft.AspNetCore.Authorization; |
|
3 |
using Microsoft.AspNetCore.Identity; |
|
4 |
using Microsoft.AspNetCore.Mvc; |
|
5 |
using Microsoft.AspNetCore.Mvc.RazorPages; |
|
6 |
using System.Threading.Tasks; |
|
7 |
|
|
8 |
namespace Leuze.Core.Application.UI.Areas.Identity.Pages.Account |
|
9 |
{ |
|
10 |
[AllowAnonymous] |
|
11 |
public class LogoutModel : PageModel |
|
12 |
{ |
|
13 |
private readonly SignInManager<ApplicationUser> _signInManager; |
|
14 |
|
|
15 |
public LogoutModel(SignInManager<ApplicationUser> signInManager) => _signInManager = signInManager; |
|
16 |
|
|
17 |
public async Task<IActionResult> OnGet() |
|
18 |
{ |
|
19 |
await _signInManager.SignOutAsync(); |
|
20 |
return LocalRedirect("/"); |
|
21 |
} |
|
22 |
} |
|
23 |
} |
src/Core/Application/Leuze.Core.Application.UI/Pages/Index.razor | ||
---|---|---|
2 | 2 |
@layout MainLayout |
3 | 3 |
@attribute [Authorize] |
4 | 4 |
@using ChartJs.Blazor.PieChart |
5 |
@inject IStringLocalizer<Index> T |
|
5 | 6 |
|
6 | 7 |
<AuthorizeView> |
7 |
<h1>Vítejte, @context.User.Identity?.Name</h1>
|
|
8 |
<h1>@T["Welcome"], @context.User.Identity?.Name</h1>
|
|
8 | 9 |
<div> |
9 | 10 |
<div> |
10 |
<label>Od</label>
|
|
11 |
<label>@T["From"]</label>
|
|
11 | 12 |
<input type="date" /> |
12 | 13 |
</div> |
13 | 14 |
<div> |
14 |
<label>Do</label>
|
|
15 |
<label>@T["To"]</label>
|
|
15 | 16 |
<input type="date" /> |
16 | 17 |
</div> |
17 | 18 |
<div> |
18 |
<label>Uživatel</label>
|
|
19 |
<label>@T["User"]</label>
|
|
19 | 20 |
<select> |
20 |
<option value="">Já</option>
|
|
21 |
<option value="">@T["Me"]</option>
|
|
21 | 22 |
</select> |
22 | 23 |
</div> |
23 | 24 |
</div> |
... | ... | |
39 | 40 |
Title = new OptionsTitle |
40 | 41 |
{ |
41 | 42 |
Display = true, |
42 |
Text = "ChartJs.Blazor Pie Chart"
|
|
43 |
Text = T["GraphGoalsState"].Value
|
|
43 | 44 |
} |
44 | 45 |
} |
45 | 46 |
}; |
46 | 47 |
|
47 |
foreach (string color in new[] { "Neschválené", "Aktivní", "Uzavřené" })
|
|
48 |
foreach (string color in new[] { T["NotApproved"].Value, T["Active"].Value, T["Closed"].Value })
|
|
48 | 49 |
{ |
49 | 50 |
_config.Data.Labels.Add(color); |
50 | 51 |
} |
src/Core/Application/Leuze.Core.Application.UI/Pages/Users/List.razor | ||
---|---|---|
29 | 29 |
<td>@user.Role</td> |
30 | 30 |
<td>@(user.IsAdUser ? "AD" : "Lokální")</td> |
31 | 31 |
<td> |
32 |
<div @onclick="() => SetUserAsideId(user.Id)">@T["Edit"]</div> |
|
32 |
<div class="button-ui" @onclick="() => SetUserAsideId(user.Id)"> |
|
33 |
<i class="fal fa-edit"></i> |
|
34 |
@T["Edit"] |
|
35 |
</div> |
|
33 | 36 |
</td> |
34 | 37 |
</tr> |
35 | 38 |
} |
... | ... | |
55 | 58 |
<UserAside Show="ShowUserAside" ToggleUserAside="@ToggleUserAside" UserId="UserAsideId" RefetchUsers="FetchUsers" /> |
56 | 59 |
|
57 | 60 |
<Styled> |
61 |
.button-ui { |
|
62 |
color: #E30613; |
|
63 |
cursor:pointer; |
|
64 |
font-weight:600; |
|
65 |
} |
|
58 | 66 |
.section_header { |
59 | 67 |
display: flex; |
60 | 68 |
justify-content: space-between; |
src/Core/Application/Leuze.Core.Application.UI/Resources/Pages/Index.cs-CZ.resx | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<root> |
|
3 |
<!-- |
|
4 |
Microsoft ResX Schema |
|
5 |
|
|
6 |
Version 2.0 |
|
7 |
|
|
8 |
The primary goals of this format is to allow a simple XML format |
|
9 |
that is mostly human readable. The generation and parsing of the |
|
10 |
various data types are done through the TypeConverter classes |
|
11 |
associated with the data types. |
|
12 |
|
|
13 |
Example: |
|
14 |
|
|
15 |
... ado.net/XML headers & schema ... |
|
16 |
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|
17 |
<resheader name="version">2.0</resheader> |
|
18 |
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|
19 |
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|
20 |
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
|
21 |
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|
22 |
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|
23 |
<value>[base64 mime encoded serialized .NET Framework object]</value> |
|
24 |
</data> |
|
25 |
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|
26 |
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
|
27 |
<comment>This is a comment</comment> |
|
28 |
</data> |
|
29 |
|
|
30 |
There are any number of "resheader" rows that contain simple |
|
31 |
name/value pairs. |
|
32 |
|
|
33 |
Each data row contains a name, and value. The row also contains a |
|
34 |
type or mimetype. Type corresponds to a .NET class that support |
|
35 |
text/value conversion through the TypeConverter architecture. |
|
36 |
Classes that don't support this are serialized and stored with the |
|
37 |
mimetype set. |
|
38 |
|
|
39 |
The mimetype is used for serialized objects, and tells the |
|
40 |
ResXResourceReader how to depersist the object. This is currently not |
|
41 |
extensible. For a given mimetype the value must be set accordingly: |
|
42 |
|
|
43 |
Note - application/x-microsoft.net.object.binary.base64 is the format |
|
44 |
that the ResXResourceWriter will generate, however the reader can |
|
45 |
read any of the formats listed below. |
|
46 |
|
|
47 |
mimetype: application/x-microsoft.net.object.binary.base64 |
|
48 |
value : The object must be serialized with |
|
49 |
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
|
50 |
: and then encoded with base64 encoding. |
|
51 |
|
|
52 |
mimetype: application/x-microsoft.net.object.soap.base64 |
|
53 |
value : The object must be serialized with |
|
54 |
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|
55 |
: and then encoded with base64 encoding. |
|
56 |
|
|
57 |
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|
58 |
value : The object must be serialized into a byte array |
|
59 |
: using a System.ComponentModel.TypeConverter |
|
60 |
: and then encoded with base64 encoding. |
|
61 |
--> |
|
62 |
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|
63 |
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
|
64 |
<xsd:element name="root" msdata:IsDataSet="true"> |
|
65 |
<xsd:complexType> |
|
66 |
<xsd:choice maxOccurs="unbounded"> |
|
67 |
<xsd:element name="metadata"> |
|
68 |
<xsd:complexType> |
|
69 |
<xsd:sequence> |
|
70 |
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
|
71 |
</xsd:sequence> |
|
72 |
<xsd:attribute name="name" use="required" type="xsd:string" /> |
|
73 |
<xsd:attribute name="type" type="xsd:string" /> |
|
74 |
<xsd:attribute name="mimetype" type="xsd:string" /> |
|
75 |
<xsd:attribute ref="xml:space" /> |
|
76 |
</xsd:complexType> |
|
77 |
</xsd:element> |
|
78 |
<xsd:element name="assembly"> |
|
79 |
<xsd:complexType> |
|
80 |
<xsd:attribute name="alias" type="xsd:string" /> |
|
81 |
<xsd:attribute name="name" type="xsd:string" /> |
|
82 |
</xsd:complexType> |
|
83 |
</xsd:element> |
|
84 |
<xsd:element name="data"> |
|
85 |
<xsd:complexType> |
|
86 |
<xsd:sequence> |
|
87 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
88 |
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|
89 |
</xsd:sequence> |
|
90 |
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
|
91 |
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|
92 |
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|
93 |
<xsd:attribute ref="xml:space" /> |
|
94 |
</xsd:complexType> |
|
95 |
</xsd:element> |
|
96 |
<xsd:element name="resheader"> |
|
97 |
<xsd:complexType> |
|
98 |
<xsd:sequence> |
|
99 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
100 |
</xsd:sequence> |
|
101 |
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|
102 |
</xsd:complexType> |
|
103 |
</xsd:element> |
|
104 |
</xsd:choice> |
|
105 |
</xsd:complexType> |
|
106 |
</xsd:element> |
|
107 |
</xsd:schema> |
|
108 |
<resheader name="resmimetype"> |
|
109 |
<value>text/microsoft-resx</value> |
|
110 |
</resheader> |
|
111 |
<resheader name="version"> |
|
112 |
<value>2.0</value> |
|
113 |
</resheader> |
|
114 |
<resheader name="reader"> |
|
115 |
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
116 |
</resheader> |
|
117 |
<resheader name="writer"> |
|
118 |
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
119 |
</resheader> |
|
120 |
<data name="Active" xml:space="preserve"> |
|
121 |
<value>Aktivní</value> |
|
122 |
</data> |
|
123 |
<data name="Closed" xml:space="preserve"> |
|
124 |
<value>Uzavřené</value> |
|
125 |
</data> |
|
126 |
<data name="From" xml:space="preserve"> |
|
127 |
<value>Od</value> |
|
128 |
</data> |
|
129 |
<data name="GraphGoalsState" xml:space="preserve"> |
|
130 |
<value>Stav cílů</value> |
|
131 |
</data> |
|
132 |
<data name="Me" xml:space="preserve"> |
|
133 |
<value>Já</value> |
|
134 |
</data> |
|
135 |
<data name="NotApproved" xml:space="preserve"> |
|
136 |
<value>Neschválené</value> |
|
137 |
</data> |
|
138 |
<data name="To" xml:space="preserve"> |
|
139 |
<value>Do</value> |
|
140 |
</data> |
|
141 |
<data name="User" xml:space="preserve"> |
|
142 |
<value>Uživatel</value> |
|
143 |
</data> |
|
144 |
<data name="Welcome" xml:space="preserve"> |
|
145 |
<value>Vítejte</value> |
|
146 |
</data> |
|
147 |
</root> |
src/Core/Application/Leuze.Core.Application.UI/Resources/Pages/Index.de-DE.resx | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<root> |
|
3 |
<!-- |
|
4 |
Microsoft ResX Schema |
|
5 |
|
|
6 |
Version 1.3 |
|
7 |
|
|
8 |
The primary goals of this format is to allow a simple XML format |
|
9 |
that is mostly human readable. The generation and parsing of the |
|
10 |
various data types are done through the TypeConverter classes |
|
11 |
associated with the data types. |
|
12 |
|
|
13 |
Example: |
|
14 |
|
|
15 |
... ado.net/XML headers & schema ... |
|
16 |
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|
17 |
<resheader name="version">1.3</resheader> |
|
18 |
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|
19 |
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|
20 |
<data name="Name1">this is my long string</data> |
|
21 |
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|
22 |
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|
23 |
[base64 mime encoded serialized .NET Framework object] |
|
24 |
</data> |
|
25 |
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|
26 |
[base64 mime encoded string representing a byte array form of the .NET Framework object] |
|
27 |
</data> |
|
28 |
|
|
29 |
There are any number of "resheader" rows that contain simple |
|
30 |
name/value pairs. |
|
31 |
|
|
32 |
Each data row contains a name, and value. The row also contains a |
|
33 |
type or mimetype. Type corresponds to a .NET class that support |
|
34 |
text/value conversion through the TypeConverter architecture. |
|
35 |
Classes that don't support this are serialized and stored with the |
|
36 |
mimetype set. |
|
37 |
|
|
38 |
The mimetype is used for serialized objects, and tells the |
|
39 |
ResXResourceReader how to depersist the object. This is currently not |
|
40 |
extensible. For a given mimetype the value must be set accordingly: |
|
41 |
|
|
42 |
Note - application/x-microsoft.net.object.binary.base64 is the format |
|
43 |
that the ResXResourceWriter will generate, however the reader can |
|
44 |
read any of the formats listed below. |
|
45 |
|
|
46 |
mimetype: application/x-microsoft.net.object.binary.base64 |
|
47 |
value : The object must be serialized with |
|
48 |
: System.Serialization.Formatters.Binary.BinaryFormatter |
|
49 |
: and then encoded with base64 encoding. |
|
50 |
|
|
51 |
mimetype: application/x-microsoft.net.object.soap.base64 |
|
52 |
value : The object must be serialized with |
|
53 |
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|
54 |
: and then encoded with base64 encoding. |
|
55 |
|
|
56 |
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|
57 |
value : The object must be serialized into a byte array |
|
58 |
: using a System.ComponentModel.TypeConverter |
|
59 |
: and then encoded with base64 encoding. |
|
60 |
--> |
|
61 |
|
|
62 |
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|
63 |
<xsd:element name="root" msdata:IsDataSet="true"> |
|
64 |
<xsd:complexType> |
|
65 |
<xsd:choice maxOccurs="unbounded"> |
|
66 |
<xsd:element name="data"> |
|
67 |
<xsd:complexType> |
|
68 |
<xsd:sequence> |
|
69 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
70 |
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|
71 |
</xsd:sequence> |
|
72 |
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> |
|
73 |
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|
74 |
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|
75 |
</xsd:complexType> |
|
76 |
</xsd:element> |
|
77 |
<xsd:element name="resheader"> |
|
78 |
<xsd:complexType> |
|
79 |
<xsd:sequence> |
|
80 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
81 |
</xsd:sequence> |
|
82 |
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|
83 |
</xsd:complexType> |
|
84 |
</xsd:element> |
|
85 |
</xsd:choice> |
|
86 |
</xsd:complexType> |
|
87 |
</xsd:element> |
|
88 |
</xsd:schema> |
|
89 |
<resheader name="resmimetype"> |
|
90 |
<value>text/microsoft-resx</value> |
|
91 |
</resheader> |
|
92 |
<resheader name="version"> |
|
93 |
<value>1.3</value> |
|
94 |
</resheader> |
|
95 |
<resheader name="reader"> |
|
96 |
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
97 |
</resheader> |
|
98 |
<resheader name="writer"> |
|
99 |
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
100 |
</resheader> |
|
101 |
</root> |
src/Core/Application/Leuze.Core.Application.UI/Resources/Shared/NavMenu.cs-CZ.resx | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<root> |
|
3 |
<!-- |
|
4 |
Microsoft ResX Schema |
|
5 |
|
|
6 |
Version 2.0 |
|
7 |
|
|
8 |
The primary goals of this format is to allow a simple XML format |
|
9 |
that is mostly human readable. The generation and parsing of the |
|
10 |
various data types are done through the TypeConverter classes |
|
11 |
associated with the data types. |
|
12 |
|
|
13 |
Example: |
|
14 |
|
|
15 |
... ado.net/XML headers & schema ... |
|
16 |
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|
17 |
<resheader name="version">2.0</resheader> |
|
18 |
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|
19 |
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|
20 |
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
|
21 |
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|
22 |
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|
23 |
<value>[base64 mime encoded serialized .NET Framework object]</value> |
|
24 |
</data> |
|
25 |
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|
26 |
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
|
27 |
<comment>This is a comment</comment> |
|
28 |
</data> |
|
29 |
|
|
30 |
There are any number of "resheader" rows that contain simple |
|
31 |
name/value pairs. |
|
32 |
|
|
33 |
Each data row contains a name, and value. The row also contains a |
|
34 |
type or mimetype. Type corresponds to a .NET class that support |
|
35 |
text/value conversion through the TypeConverter architecture. |
|
36 |
Classes that don't support this are serialized and stored with the |
|
37 |
mimetype set. |
|
38 |
|
|
39 |
The mimetype is used for serialized objects, and tells the |
|
40 |
ResXResourceReader how to depersist the object. This is currently not |
|
41 |
extensible. For a given mimetype the value must be set accordingly: |
|
42 |
|
|
43 |
Note - application/x-microsoft.net.object.binary.base64 is the format |
|
44 |
that the ResXResourceWriter will generate, however the reader can |
|
45 |
read any of the formats listed below. |
|
46 |
|
|
47 |
mimetype: application/x-microsoft.net.object.binary.base64 |
|
48 |
value : The object must be serialized with |
|
49 |
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
|
50 |
: and then encoded with base64 encoding. |
|
51 |
|
|
52 |
mimetype: application/x-microsoft.net.object.soap.base64 |
|
53 |
value : The object must be serialized with |
|
54 |
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|
55 |
: and then encoded with base64 encoding. |
|
56 |
|
|
57 |
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|
58 |
value : The object must be serialized into a byte array |
|
59 |
: using a System.ComponentModel.TypeConverter |
|
60 |
: and then encoded with base64 encoding. |
|
61 |
--> |
|
62 |
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|
63 |
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
|
64 |
<xsd:element name="root" msdata:IsDataSet="true"> |
|
65 |
<xsd:complexType> |
|
66 |
<xsd:choice maxOccurs="unbounded"> |
|
67 |
<xsd:element name="metadata"> |
|
68 |
<xsd:complexType> |
|
69 |
<xsd:sequence> |
|
70 |
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
|
71 |
</xsd:sequence> |
|
72 |
<xsd:attribute name="name" use="required" type="xsd:string" /> |
|
73 |
<xsd:attribute name="type" type="xsd:string" /> |
|
74 |
<xsd:attribute name="mimetype" type="xsd:string" /> |
|
75 |
<xsd:attribute ref="xml:space" /> |
|
76 |
</xsd:complexType> |
|
77 |
</xsd:element> |
|
78 |
<xsd:element name="assembly"> |
|
79 |
<xsd:complexType> |
|
80 |
<xsd:attribute name="alias" type="xsd:string" /> |
|
81 |
<xsd:attribute name="name" type="xsd:string" /> |
|
82 |
</xsd:complexType> |
|
83 |
</xsd:element> |
|
84 |
<xsd:element name="data"> |
|
85 |
<xsd:complexType> |
|
86 |
<xsd:sequence> |
|
87 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
88 |
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|
89 |
</xsd:sequence> |
|
90 |
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
|
91 |
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|
92 |
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|
93 |
<xsd:attribute ref="xml:space" /> |
|
94 |
</xsd:complexType> |
|
95 |
</xsd:element> |
|
96 |
<xsd:element name="resheader"> |
|
97 |
<xsd:complexType> |
|
98 |
<xsd:sequence> |
|
99 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
100 |
</xsd:sequence> |
|
101 |
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|
102 |
</xsd:complexType> |
|
103 |
</xsd:element> |
|
104 |
</xsd:choice> |
|
105 |
</xsd:complexType> |
|
106 |
</xsd:element> |
|
107 |
</xsd:schema> |
|
108 |
<resheader name="resmimetype"> |
|
109 |
<value>text/microsoft-resx</value> |
|
110 |
</resheader> |
|
111 |
<resheader name="version"> |
|
112 |
<value>2.0</value> |
|
113 |
</resheader> |
|
114 |
<resheader name="reader"> |
|
115 |
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
116 |
</resheader> |
|
117 |
<resheader name="writer"> |
|
118 |
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
119 |
</resheader> |
|
120 |
<data name="ManageGoals" xml:space="preserve"> |
|
121 |
<value>Správa cílů</value> |
|
122 |
</data> |
|
123 |
<data name="MyGoals" xml:space="preserve"> |
|
124 |
<value>Mé cíle</value> |
|
125 |
</data> |
|
126 |
<data name="Overview" xml:space="preserve"> |
|
127 |
<value>Přehled</value> |
|
128 |
</data> |
|
129 |
<data name="Users" xml:space="preserve"> |
|
130 |
<value>Uživatelé</value> |
|
131 |
</data> |
|
132 |
</root> |
src/Core/Application/Leuze.Core.Application.UI/Resources/Shared/NavMenu.de-DE.resx | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<root> |
|
3 |
<!-- |
|
4 |
Microsoft ResX Schema |
|
5 |
|
|
6 |
Version 1.3 |
|
7 |
|
|
8 |
The primary goals of this format is to allow a simple XML format |
|
9 |
that is mostly human readable. The generation and parsing of the |
|
10 |
various data types are done through the TypeConverter classes |
|
11 |
associated with the data types. |
|
12 |
|
|
13 |
Example: |
|
14 |
|
|
15 |
... ado.net/XML headers & schema ... |
|
16 |
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|
17 |
<resheader name="version">1.3</resheader> |
|
18 |
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|
19 |
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|
20 |
<data name="Name1">this is my long string</data> |
|
21 |
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|
22 |
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|
23 |
[base64 mime encoded serialized .NET Framework object] |
|
24 |
</data> |
|
25 |
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|
26 |
[base64 mime encoded string representing a byte array form of the .NET Framework object] |
|
27 |
</data> |
|
28 |
|
|
29 |
There are any number of "resheader" rows that contain simple |
|
30 |
name/value pairs. |
|
31 |
|
|
32 |
Each data row contains a name, and value. The row also contains a |
|
33 |
type or mimetype. Type corresponds to a .NET class that support |
|
34 |
text/value conversion through the TypeConverter architecture. |
|
35 |
Classes that don't support this are serialized and stored with the |
|
36 |
mimetype set. |
|
37 |
|
|
38 |
The mimetype is used for serialized objects, and tells the |
|
39 |
ResXResourceReader how to depersist the object. This is currently not |
|
40 |
extensible. For a given mimetype the value must be set accordingly: |
|
41 |
|
|
42 |
Note - application/x-microsoft.net.object.binary.base64 is the format |
|
43 |
that the ResXResourceWriter will generate, however the reader can |
|
44 |
read any of the formats listed below. |
|
45 |
|
|
46 |
mimetype: application/x-microsoft.net.object.binary.base64 |
|
47 |
value : The object must be serialized with |
|
48 |
: System.Serialization.Formatters.Binary.BinaryFormatter |
|
49 |
: and then encoded with base64 encoding. |
|
50 |
|
|
51 |
mimetype: application/x-microsoft.net.object.soap.base64 |
|
52 |
value : The object must be serialized with |
|
53 |
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|
54 |
: and then encoded with base64 encoding. |
|
55 |
|
|
56 |
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|
57 |
value : The object must be serialized into a byte array |
|
58 |
: using a System.ComponentModel.TypeConverter |
|
59 |
: and then encoded with base64 encoding. |
|
60 |
--> |
|
61 |
|
|
62 |
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|
63 |
<xsd:element name="root" msdata:IsDataSet="true"> |
|
64 |
<xsd:complexType> |
|
65 |
<xsd:choice maxOccurs="unbounded"> |
|
66 |
<xsd:element name="data"> |
|
67 |
<xsd:complexType> |
|
68 |
<xsd:sequence> |
|
69 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
70 |
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|
71 |
</xsd:sequence> |
|
72 |
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> |
|
73 |
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|
74 |
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|
75 |
</xsd:complexType> |
|
76 |
</xsd:element> |
|
77 |
<xsd:element name="resheader"> |
|
78 |
<xsd:complexType> |
|
79 |
<xsd:sequence> |
|
80 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
81 |
</xsd:sequence> |
|
82 |
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|
83 |
</xsd:complexType> |
|
84 |
</xsd:element> |
|
85 |
</xsd:choice> |
|
86 |
</xsd:complexType> |
|
87 |
</xsd:element> |
|
88 |
</xsd:schema> |
|
89 |
<resheader name="resmimetype"> |
|
90 |
<value>text/microsoft-resx</value> |
|
91 |
</resheader> |
|
92 |
<resheader name="version"> |
|
93 |
<value>1.3</value> |
|
94 |
</resheader> |
|
95 |
<resheader name="reader"> |
|
96 |
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
97 |
</resheader> |
|
98 |
<resheader name="writer"> |
|
99 |
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
100 |
</resheader> |
|
101 |
</root> |
src/Core/Application/Leuze.Core.Application.UI/Shared/MainLayout.razor | ||
---|---|---|
11 | 11 |
<header class="@_header"> |
12 | 12 |
<img class="leuze_logo" src="/Resources/Icons/logo.svg" /> |
13 | 13 |
<div> |
14 |
<select class="langSelector" @onchange="OnSelected"> |
|
15 |
<option value="cs-CZ" selected="@(CultureInfo.CurrentCulture.Name == "cs-CZ")">Česky</option> |
|
16 |
<option value="de-DE" selected="@(CultureInfo.CurrentCulture.Name == "de-DE")">Deutsch</option> |
|
17 |
</select> |
|
14 | 18 |
<span class="username">@Name</span> |
15 | 19 |
<img class="user_icon" src="/Resources/Icons/user-circle.svg" /> |
16 |
<a href="/MicrosoftIdentity/Account/SignOut">
|
|
20 |
<a href="/Identity/Account/Logout">
|
|
17 | 21 |
<img class="signout_icon" src="/Resources/Icons/sign-out.svg" /> |
18 | 22 |
</a> |
19 | 23 |
</div> |
... | ... | |
21 | 25 |
<NavMenu /> |
22 | 26 |
<main class="@_main">@Body</main> |
23 | 27 |
|
28 |
<Styled> |
|
29 |
.langSelector{ |
|
30 |
border: none; |
|
31 |
margin-right: 24px; |
|
32 |
} |
|
33 |
</Styled> |
|
24 | 34 |
<Styled @bind-Classname="@_header"> |
25 | 35 |
width: calc(100% - 84px); |
26 | 36 |
height: 71px; |
... | ... | |
77 | 87 |
var identity = await AuthenticationStateProvider.GetAuthenticationStateAsync(); |
78 | 88 |
Name = identity.User.Identity!.Name!; |
79 | 89 |
} |
90 |
|
|
91 |
private void OnSelected(ChangeEventArgs e) |
|
92 |
{ |
|
93 |
var culture = (string)e.Value!; |
|
94 |
var uri = new Uri(_navManager.Uri) |
|
95 |
.GetComponents(UriComponents.PathAndQuery, UriFormat.Unescaped); |
|
96 |
|
|
97 |
_navManager.NavigateTo($"/Identity/Account/ChangeLanguage?redirectUri={Uri.EscapeDataString(uri)}&culture={Uri.EscapeDataString(culture)}", forceLoad: true); |
|
98 |
} |
|
80 | 99 |
} |
src/Core/Application/Leuze.Core.Application.UI/Shared/NavMenu.razor | ||
---|---|---|
1 |
<aside class="@_aside"> |
|
1 |
@inject IStringLocalizer<NavMenu> T |
|
2 |
|
|
3 |
<aside class="@_aside"> |
|
2 | 4 |
<nav class="@_nav"> |
3 | 5 |
<NavLink href="/"> |
4 | 6 |
<div class="item"> |
5 | 7 |
<img src="/Resources/Icons/analytics.svg" class="item_icon nav_icon_1" /> |
6 |
<span>Přehled</span>
|
|
8 |
<span>@T["Overview"]</span>
|
|
7 | 9 |
</div> |
8 | 10 |
</NavLink> |
9 | 11 |
<AuthorizeView Roles="Admin, TL"> |
10 | 12 |
<NavLink href="/goals"> |
11 | 13 |
<div class="item"> |
12 | 14 |
<img src="/Resources/Icons/clipboard-list-check.svg" class="item_icon nav_icon_2" /> |
13 |
<span>Správa cílů</span>
|
|
15 |
<span>@T["ManageGoals"]</span>
|
|
14 | 16 |
</div> |
15 | 17 |
</NavLink> |
16 | 18 |
</AuthorizeView> |
... | ... | |
18 | 20 |
<NavLink href="/my-goals"> |
19 | 21 |
<div class="item"> |
20 | 22 |
<img src="/Resources/Icons/clipboard-list-check.svg" class="item_icon nav_icon_2" /> |
21 |
<span>Mé cíle</span>
|
|
23 |
<span>@T["MyGoals"]</span>
|
|
22 | 24 |
</div> |
23 | 25 |
</NavLink> |
24 | 26 |
</AuthorizeView> |
... | ... | |
26 | 28 |
<NavLink href="/users"> |
27 | 29 |
<div class="item"> |
28 | 30 |
<img src="/Resources/Icons/user.svg" class="item_icon nav_icon_3" /> |
29 |
<span>Uživatelé</span>
|
|
31 |
<span>@T["Users"]</span>
|
|
30 | 32 |
</div> |
31 | 33 |
</NavLink> |
32 | 34 |
</AuthorizeView> |
src/Core/Application/Leuze.Core.Application.UI/_Imports.razor | ||
---|---|---|
3 | 3 |
@using Microsoft.AspNetCore.Components.Authorization |
4 | 4 |
@using Microsoft.AspNetCore.Components.Forms |
5 | 5 |
@using Microsoft.AspNetCore.Components.Routing |
6 |
@using System.Globalization |
|
6 | 7 |
@using Microsoft.AspNetCore.Components.Web |
7 | 8 |
@using Microsoft.AspNetCore.Components.Web.Virtualization |
8 | 9 |
@using Microsoft.JSInterop |
src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalDefinitionDetail.razor | ||
---|---|---|
40 | 40 |
<td> |
41 | 41 |
<div class="flex"> |
42 | 42 |
<div></div> |
43 |
<div @onclick='() => SetDetailId(range.Id)'> |
|
43 |
<div class="button-ui" @onclick='() => SetDetailId(range.Id)'>
|
|
44 | 44 |
<i class="fal fa-eye"></i> |
45 | 45 |
@T["Open"] |
46 | 46 |
</div> |
47 |
<div @onclick="() => RemoveGoal(range.Id)"> |
|
47 |
<div class="button-ui" @onclick="() => RemoveGoal(range.Id)">
|
|
48 | 48 |
<i class="fal fa-trash"></i> |
49 | 49 |
@T["Remove"] |
50 | 50 |
</div> |
... | ... | |
60 | 60 |
<Leuze.Modules.Goal.Application.UI.Pages.Components.CreateGoalAside Show="ShowCreate" DefinitionId="Id" CloseAside="CloseCreateAside" LoadGoalsInDefinitionView="GetGoals" /> |
61 | 61 |
|
62 | 62 |
<BlazorStyled.Styled> |
63 |
.button-ui { |
|
64 |
color: #E30613; |
|
65 |
cursor:pointer; |
|
66 |
font-weight:600; |
|
67 |
} |
|
63 | 68 |
.section_header { |
64 | 69 |
display: flex; |
65 | 70 |
justify-content: space-between; |
src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalRanges.razor | ||
---|---|---|
30 | 30 |
<td>@(range.VariCompanySuccess ?? 0)</td> |
31 | 31 |
<td> |
32 | 32 |
<div class="flex"> |
33 |
<div> |
|
33 |
<div class="button-ui">
|
|
34 | 34 |
<i class="fal fa-download"></i> |
35 | 35 |
@T["Export"] |
36 | 36 |
</div> |
37 | 37 |
|
38 |
<div @onclick='() => _nav.NavigateTo($"/goals/overview/{range.Id}")'> |
|
38 |
<div class="button-ui" @onclick='() => _nav.NavigateTo($"/goals/overview/{range.Id}")'>
|
|
39 | 39 |
<i class="fal fa-eye"></i> |
40 | 40 |
@T["Open"] |
41 | 41 |
</div> |
42 |
<div @onclick="() => OpenAside(range.Id)"> |
|
42 |
<div class="button-ui" @onclick="() => OpenAside(range.Id)">
|
|
43 | 43 |
<i class="fal fa-edit"></i> |
44 | 44 |
@T["Edit"] |
45 | 45 |
</div> |
46 |
<div @onclick="() => RemoveArea(range.Id)"> |
|
46 |
<div class="button-ui" @onclick="() => RemoveArea(range.Id)">
|
|
47 | 47 |
<i class="fal fa-trash"></i> |
48 | 48 |
@T["Remove"] |
49 | 49 |
</div> |
... | ... | |
69 | 69 |
<Leuze.Modules.Goal.Application.UI.Pages.Components.CreateDefinitionRangeAside Show="ShowAside" AsideId="AsideId" LoadAreasInView="LoadAreas" CloseAside="CloseAside" /> |
70 | 70 |
|
71 | 71 |
<BlazorStyled.Styled> |
72 |
.button-ui { |
|
73 |
color: #E30613; |
|
74 |
cursor:pointer; |
|
75 |
font-weight:600; |
|
76 |
} |
|
72 | 77 |
.flex{ |
73 | 78 |
display: grid; |
74 | 79 |
align-items: center; |
75 |
grid-template-columns: repeat(4, 100px);
|
|
80 |
grid-template-columns: repeat(4, 106px);
|
|
76 | 81 |
justify-content: right; |
77 | 82 |
} |
78 | 83 |
.flex > div:not(:last-child) { |
src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/GoalsManagement.razor | ||
---|---|---|
40 | 40 |
<td> |
41 | 41 |
<div class="flex"> |
42 | 42 |
<AuthorizeView Roles="TL"> |
43 |
<div @onclick='() => _nav.NavigateTo($"/goals/detail/{range.Id}")'> |
|
43 |
<div class="button-ui" @onclick='() => _nav.NavigateTo($"/goals/detail/{range.Id}")'>
|
|
44 | 44 |
<i class="fal fa-eye"></i> |
45 | 45 |
@T["Open"] |
46 | 46 |
</div> |
47 |
<div @onclick="() => OpenAside(range.Id)"> |
|
47 |
<div class="button-ui" @onclick="() => OpenAside(range.Id)">
|
|
48 | 48 |
<i class="fal fa-edit"></i> |
49 | 49 |
@T["Edit"] |
50 | 50 |
</div> |
51 |
<div @onclick="() => RemoveDefinition(range.Id)"> |
|
51 |
<div class="button-ui" @onclick="() => RemoveDefinition(range.Id)">
|
|
52 | 52 |
<i class="fal fa-trash"></i> |
53 | 53 |
@T["Remove"] |
54 | 54 |
</div> |
... | ... | |
75 | 75 |
<Leuze.Modules.Goal.Application.UI.Pages.Components.CreateGoalDefinition Show="ShowAside" CloseAside="CloseAside" /> |
76 | 76 |
|
77 | 77 |
<BlazorStyled.Styled> |
78 |
.button-ui { |
|
79 |
color: #E30613; |
|
80 |
cursor:pointer; |
|
81 |
font-weight:600; |
|
82 |
} |
|
78 | 83 |
.section_header { |
79 | 84 |
display: flex; |
80 | 85 |
justify-content: space-between; |
src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Pages/MyGoalDefinition.razor | ||
---|---|---|
28 | 28 |
<td> |
29 | 29 |
<div class="flex"> |
30 | 30 |
<div></div> |
31 |
<div @onclick='() => _nav.NavigateTo($"/goals/detail/{range.Id}")'> |
|
31 |
<div class="button-ui" @onclick='() => _nav.NavigateTo($"/goals/detail/{range.Id}")'>
|
|
32 | 32 |
<i class="fal fa-eye"></i> |
33 | 33 |
@T["Open"] |
34 | 34 |
</div> |
... | ... | |
56 | 56 |
<div>@T["Loading"]</div> |
57 | 57 |
} |
58 | 58 |
<BlazorStyled.Styled> |
59 |
.button-ui { |
|
60 |
color: #E30613; |
|
61 |
cursor:pointer; |
|
62 |
font-weight:600; |
|
63 |
} |
|
59 | 64 |
.section_header { |
60 | 65 |
display: flex; |
61 | 66 |
justify-content: space-between; |
Také k dispozici: Unified diff
Language changing, better log out, buttons looking