Files
BeWoPlaner/BeWoPlanerMobil/Views/DevExpressScheduler/CustomCustomerSelectPartial.cshtml
2026-06-29 13:45:41 +02:00

66 lines
3.2 KiB
Plaintext

@using BS.Shared.Extensions
@model BeWoPlanerMobil.Models.AppointmentModel
@{
var areAllSelected = Model.SelectedCustomerOids.AreListEqual(Model.PossibleCustomers.Select(customer => customer.CustomerOid).ToList());
var allChecked = areAllSelected ? "checked" : string.Empty;
var canEdit = Model.Oid.HasValue && Model.HasRightKalenderKlientenTermineAendern;
var canCreate = Model.Oid is null && Model.HasRightKalenderKlientenTermineAnlegen;
var checkBoxEnabled = canEdit || canCreate;
var disabled = checkBoxEnabled ? string.Empty : "disabled";
}
<div class="dropdown w-100" id="customers-dropdown">
<button class="btn btn-bewo-customers dropdown-toggle w-100" type="button" data-toggle="dropdown">
Klienten <span class="badge badge-light" id="apt-cus-badge">@Model.SelectedCustomerOids.Count</span>
</button>
<div class="dropdown-menu" onclick="event.stopPropagation();">
<div class="dropdown-item py-1 px-2">
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<div class="input-group-text">
<input type="checkbox" @disabled @allChecked onclick="selectAllEmployeeCustomerResource('cus')" id="apt-cus-select-all">
</div>
</div>
<input type="text" class="form-control" @disabled id="cus-drop-search-input" placeholder="Suchen ..." oninput="onNewSearchInput('cus')">
<div class="input-group-append">
<button type="button" class="btn btn-outline-secondary" @disabled onclick="resetNewSearch('cus')">
<span class="fas fa-times-circle"></span>
</button>
</div>
</div>
</div>
<div class="dropdown-divider"></div>
<div id="dropdown-cus-itm-container">
@for(var i = 0; i < Model.PossibleCustomers.Count; i++)
{
var customer = Model.PossibleCustomers[i];
var isChecked = Model.SelectedCustomerOids.Contains(customer.CustomerOid) ? "checked" : string.Empty;
var dNone = i / Model.CustomerPageLimit + 1 != 1 ? " d-none" : string.Empty;
<div class="dropdown-item w-100 @dNone" id="dropdown-item-@i">
<form class="form-inline justify-content-between">
<div class="form-group form-check">
<input class="form-check-input" @disabled type="checkbox" id="apt-edit-cus-@customer.CustomerOid" @isChecked onclick="updateEmployeeCustomerResourceSelection('cus')" />
<label for="apt-edit-cus-@customer.CustomerOid" class="form-check-label">
@customer.DetailDescription
</label>
</div>
</form>
</div>
}
</div>
<div class="dropdown-divider" id="apt-cus-pag-divider"></div>
<div class="dropdown-item" id="apt-cus-pag-dropdow-item">
<nav id="apt-cus-pag-nav">
<ul class="pagination justify-content-center" id="apt-cus-pagination">
</ul>
</nav>
</div>
</div>
</div>