-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Expand file tree
/
Copy pathLinkField.Edit.cshtml
More file actions
75 lines (72 loc) · 3.97 KB
/
LinkField.Edit.cshtml
File metadata and controls
75 lines (72 loc) · 3.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
@model OrchardCore.ContentFields.ViewModels.EditLinkFieldViewModel
@using OrchardCore.ContentFields
@using OrchardCore.Mvc.Utilities
@using OrchardCore.Localization.Data
@inject IDataLocalizer D
@{
var settings = Model.PartFieldDefinition.GetSettings<LinkFieldSettings>();
var isRequired = settings.Required && string.IsNullOrWhiteSpace(settings.DefaultUrl);
var urlClass = settings.Required ? "required" : null;
var textClass = settings.LinkTextMode == LinkTextMode.Required ? "required" : null;
var useFormFloating = string.IsNullOrWhiteSpace(settings.UrlPlaceholder) || string.IsNullOrWhiteSpace(settings.TextPlaceholder);
string localizedFieldName = D[Model.PartFieldDefinition.DisplayName(), DataLocalizationContext.ContentField(Model.PartFieldDefinition.PartDefinition.Name)];
}
<div class="@Orchard.GetFieldWrapperClasses(Model.PartFieldDefinition)" id="@Html.IdFor(x => x.Text)_FieldWrapper">
<label asp-for="Url" class="@Orchard.GetLabelClasses(inputRequired: settings.Required)">@localizedFieldName</label>
<div class="@Orchard.GetEndClasses()">
<div class="row">
<div class="col-md-6" asp-validation-class-for="Url">
<div class="@(useFormFloating ? "form-floating" : string.Empty)">
<input asp-for="Url" class="form-control content-preview-text" placeholder="@settings.UrlPlaceholder" />
<span asp-validation-for="Url"></span>
@if (useFormFloating)
{
<label asp-for="Url" class="@urlClass">@T["Url"]</label>
}
</div>
@if (!string.IsNullOrWhiteSpace(settings.Hint))
{
<span class="hint">@settings.Hint</span>
}
</div>
@if (settings.LinkTextMode == LinkTextMode.Optional || settings.LinkTextMode == LinkTextMode.Required)
{
<div class="col-md-6" asp-validation-class-for="Text">
<div class="@(useFormFloating ? "form-floating" : string.Empty)">
<input asp-for="Text" type="text" class="form-control content-preview-text" placeholder="@settings.TextPlaceholder" />
@if (useFormFloating)
{
<label asp-for="Text" class="@textClass">@T["Link text"]</label>
}
</div>
@if (!string.IsNullOrWhiteSpace(settings.HintLinkText))
{
<span class="hint">@settings.HintLinkText</span>
}
</div>
}
</div>
<div class="row">
<div class="col-md-6" asp-validation-class-for="Target">
<label asp-for="Target" class="@Orchard.GetLabelClasses()">
@T["Target"]
</label>
<div class="@Orchard.GetEndClasses()">
<input asp-for="Target" list="targetOptions" class="form-control" />
<datalist id="targetOptions">
<option value="_self">@T["Opens the linked document in the same frame as it was clicked (default)."]</option>
<option value="_blank">@T["Opens the linked document in a new window or tab."]</option>
<option value="_parent">@T["Opens the linked document in the parent frame."]</option>
<option value="_top">@T["Opens the linked document in the full body of the window."]</option>
</datalist>
<span class="hint">
@T["The target attribute of the anchor tag, see more:"]
<a class="seedoc" target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target">
@T["Target"]
</a>
</span>
</div>
</div>
</div>
</div>
</div>