-
Notifications
You must be signed in to change notification settings - Fork 0
/
BlazorChangeMaskController.cs
33 lines (32 loc) · 1.59 KB
/
BlazorChangeMaskController.cs
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
using DevExpress.ExpressApp.Blazor.Components.Models;
using DevExpress.ExpressApp.Blazor.Editors;
using DevExpress.ExpressApp.Blazor.Editors.Adapters;
using DynamicMask.Module.BusinessObjects;
using DynamicMask.Module.Controllers;
namespace ChangeEditMask.Module.Web.Controllers {
public class BlazorChangeMaskController : ChangeMaskControllerBase {
protected override void SetControlMaskSettings(DevExpress.ExpressApp.Editors.PropertyEditor propertyEditor, EditMask mask) {
if (propertyEditor is StringPropertyEditor stringEditor && stringEditor.Control is DxMaskedInputAdapter adapter) {
var componentModel = adapter.ComponentModel;
switch (mask) {
case EditMask.Date:
componentModel.MaskMode = DevExpress.Blazor.MaskMode.DateTime;
componentModel.Mask = "MM/dd/yyyy";
break;
case EditMask.Time:
componentModel.MaskMode = DevExpress.Blazor.MaskMode.DateTime;
componentModel.Mask = "hh:mm tt";
break;
case EditMask.Numeric:
componentModel.MaskMode = DevExpress.Blazor.MaskMode.Numeric;
componentModel.Mask = "(000) 000-0000";
break;
case EditMask.String:
componentModel.MaskMode = DevExpress.Blazor.MaskMode.Auto;
componentModel.Mask = "";
break;
}
}
}
}
}