classDiagram
direction LR
namespace Models {
class IModel {
<<interface>>
}
class ShippingLoadSheet {
}
class CallSheet {
}
class Rig {
}
}
ShippingLoadSheet ..|> IModel
Rig ..|> IModel
CallSheet ..|> IModel
ShippingLoadSheet --> "*" Rig
ShippingLoadSheet --> "*" CallSheet
namespace Pages.ProductHaul {
class Index.razor {
<<razor>>
}
class Index {
<<partial>>
-IEnumerable<int> _currentServicePoints
+IProductHaulRepository ProductHaulRepository
+IOptions<SalesOptions> SalesOptions
+IServicePointFilterService ServicePointFilterService
-ILogger<Index> Log
-Guid _refreshGuid
#IAutoRefreshDataService AutoRefreshDataService
-Task FiltersUpdatedAsync(IEnumerable~ShippingLoadSheet~ filteredSource)
#Task OnAfterRenderAsync(bool firstRender)
-Task ServicePointFilterChangedEventAsync(IEnumerable<int> ids)
-Task PopulateDataAsync(IEnumerable<int> servicePointIds)
-void RefreshCurrentServicePoints(IEnumerable<int> servicePointIds, out bool hasChanges)
-Task RefreshDataSourceAsync()
}
class ProductHaulFilters {
<<partial>>
+IEnumerable~ShippingLoadSheet~ DataSource
+EventCallback~IEnumerable~ShippingLoadSheet~~ OnFilterApplied
-Filters _filters
-List<Rig> Rigs
#Task OnInitializedAsync()
-void PopulateData()
+Task SetParametersAsync(ParameterView parameters)
+Task ApplyFiltersAsync()
}
class ProductHaulFilters.razor {
<<razor>>
-SfMultiSelect<int[], Rig> _multiSelectRigs
-Task SelectedRigsChanged(int[] value)
}
class SfMultiSelect {
<<div>>
-string CssClass="multiSelect"
-string TValue="int[]"
-string TItem="Rig"
-string AllowFiltering="true"
-string DataSource="@Rigs"
-string Value="@_filters.SelectedRigs?.ToArray()"
-string Placeholder="All Rigs"
-string ValueChanged="@SelectedRigsChanged"
-string @ref="@_multiSelectRigs"
}
class MultiSelectFieldSettings {
<<div>>
Text="@nameof(Rig.Name)"
Value="@nameof(Rig.Id)"
}
}
SfMultiSelect *--> MultiSelectFieldSettings
ProductHaulFilters.razor *--> SfMultiSelect : DataSource="@Rigs", Value="@_filters.SelectedRigs?.ToArray()", Placeholder="All Crews", ValueChanged="@SelectedRigsChanged"
ProductHaulFilters.razor *--> SfMultiSelect : DataSource="@Rigs", Value="@_filters.SelectedRigs?.ToArray()", Placeholder="All Crews", ValueChanged="@SelectedRigsChanged"
ProductHaulFilters.razor *--> ProductHaulFilters
ShippingLoadSheet
Index.razor *--> Index
Index.razor *--> ProductHaulFilters.razor
ProductHaulFilters *--> "*" ShippingLoadSheet : _filteredProductHaulLoad
ProductHaulFilters *--> "*" ShippingLoadSheet : _salesProductHaulLoad
ProductHaulFilters *--> "*" ShippingLoadSheet : _ProductHaulLoadProjects