Skip to content

Commit adda289

Browse files
authored
Unify seperator in Script and Tag Helper (OrchardCMS#17387)
1 parent 93a6dd0 commit adda289

File tree

3 files changed

+19
-14
lines changed

3 files changed

+19
-14
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace OrchardCore.ResourceManagement;
2+
3+
internal static class ResourceManagementConstants
4+
{
5+
public static readonly char[] ParameterValuesSeparator = [',', ' '];
6+
7+
public const char VersionSeparator = ':';
8+
}

src/OrchardCore/OrchardCore.ResourceManagement/TagHelpers/ScriptTagHelper.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ namespace OrchardCore.ResourceManagement.TagHelpers;
88
[HtmlTargetElement("script", Attributes = AtAttributeName)]
99
public class ScriptTagHelper : TagHelper
1010
{
11-
private static readonly char[] _separator = [',', ' '];
12-
1311
private const string NameAttributeName = "asp-name";
1412
private const string SrcAttributeName = "asp-src";
1513
private const string AtAttributeName = "at";
@@ -108,7 +106,7 @@ public override async Task ProcessAsync(TagHelperContext context, TagHelperOutpu
108106
// This allows additions to the pre registered scripts dependencies.
109107
if (!string.IsNullOrEmpty(DependsOn))
110108
{
111-
setting.SetDependencies(DependsOn.Split(_separator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
109+
setting.SetDependencies(DependsOn.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
112110
}
113111

114112
// Allow Inline to work with both named scripts, and named inline scripts.
@@ -161,11 +159,11 @@ public override async Task ProcessAsync(TagHelperContext context, TagHelperOutpu
161159

162160
if (!string.IsNullOrEmpty(DependsOn))
163161
{
164-
var dependencies = DependsOn.Split(_separator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
162+
var dependencies = DependsOn.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
165163

166164
foreach (var dependency in dependencies)
167165
{
168-
var versionParts = dependency.Split(':');
166+
var versionParts = dependency.Split(ResourceManagementConstants.VersionSeparator, 2);
169167

170168
var resourceName = versionParts[0];
171169

@@ -215,12 +213,12 @@ private void PopulateResourceDefinition(ResourceDefinition definition)
215213

216214
if (!string.IsNullOrEmpty(Culture))
217215
{
218-
definition.SetCultures(Culture.Split(_separator, StringSplitOptions.RemoveEmptyEntries));
216+
definition.SetCultures(Culture.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.RemoveEmptyEntries));
219217
}
220218

221219
if (!string.IsNullOrEmpty(DependsOn))
222220
{
223-
definition.SetDependencies(DependsOn.Split(_separator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
221+
definition.SetDependencies(DependsOn.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
224222
}
225223

226224
if (AppendVersion.HasValue)

src/OrchardCore/OrchardCore.ResourceManagement/TagHelpers/StyleTagHelper.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ namespace OrchardCore.ResourceManagement.TagHelpers;
88
[HtmlTargetElement("style", Attributes = AtAttributeName)]
99
public class StyleTagHelper : TagHelper
1010
{
11-
private static readonly char[] _splitSeparators = [',', ' '];
1211
private const string NameAttributeName = "asp-name";
1312
private const string SrcAttributeName = "asp-src";
1413
private const string AtAttributeName = "at";
@@ -94,7 +93,7 @@ public override async Task ProcessAsync(TagHelperContext context, TagHelperOutpu
9493

9594
if (!string.IsNullOrEmpty(DependsOn))
9695
{
97-
setting.SetDependencies(DependsOn.Split(_splitSeparators, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
96+
setting.SetDependencies(DependsOn.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
9897
}
9998

10099
if (At == ResourceLocation.Inline)
@@ -158,7 +157,7 @@ public override async Task ProcessAsync(TagHelperContext context, TagHelperOutpu
158157
// This allows additions to the pre registered style dependencies.
159158
if (!string.IsNullOrEmpty(DependsOn))
160159
{
161-
setting.SetDependencies(DependsOn.Split(_splitSeparators, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
160+
setting.SetDependencies(DependsOn.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
162161
}
163162

164163
var childContent = await output.GetChildContentAsync();
@@ -200,12 +199,12 @@ public override async Task ProcessAsync(TagHelperContext context, TagHelperOutpu
200199

201200
if (!string.IsNullOrEmpty(Culture))
202201
{
203-
definition.SetCultures(Culture.Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
202+
definition.SetCultures(Culture.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
204203
}
205204

206205
if (!string.IsNullOrEmpty(DependsOn))
207206
{
208-
definition.SetDependencies(DependsOn.Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
207+
definition.SetDependencies(DependsOn.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
209208
}
210209

211210
// Also include the style.
@@ -256,11 +255,11 @@ public override async Task ProcessAsync(TagHelperContext context, TagHelperOutpu
256255

257256
if (!string.IsNullOrEmpty(DependsOn))
258257
{
259-
var dependencies = DependsOn.Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
258+
var dependencies = DependsOn.Split(ResourceManagementConstants.ParameterValuesSeparator, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
260259

261260
foreach (var dependency in dependencies)
262261
{
263-
var versionParts = dependency.Split(':');
262+
var versionParts = dependency.Split(ResourceManagementConstants.VersionSeparator, 2);
264263

265264
var resourceName = versionParts[0];
266265

0 commit comments

Comments
 (0)