Ejemplo n.º 1
0
        public string GetPropValue(UiParameter <T> prop, object val)
        {
            if (val == null)
            {
                return(null);
            }
            switch (prop.UiType)
            {
            case "HijriDate":
                return(Convert.ToDateTime(val).ToDateHijriFullDetails());

            case "Date":
                return(Convert.ToDateTime(val).ToDateFullDetails());

            case "file":
            case "MultipleFile":
                return("TBD");

            case "DropDownList":
            case "LookupSelect":
            case "MultipleSelect":
            case "LookupMulipleSelect":
            case "LookupParantSelect":
                return(LookupService.Names(prop.LookupType, val, prop.ParantLevel, prop.UiType == "LookupParantSelect"));

            default: return(val.ToString());
            }
        }
Ejemplo n.º 2
0
        public void MultipleFile(string Name, string Label, Func <T, object> Value, bool Required = false, int?panelId = null, int width = 12, Func <T, bool> Condition = null)
        {
            var uip = new UiParameter <T>()
            {
                Name = Name, Label = Label, Value = Value, Required = Required, PanelId = panelId, Condition = Condition, Width = width, UiType = ParameterTypes.MultipleFile, FilterOk = false
            };

            Parameters.Push(Name, uip);
        }
Ejemplo n.º 3
0
        public void Hidden(string Name, Func <T, object> Value)
        {
            var uip = new UiParameter <T>()
            {
                Name = Name, Value = Value, UiType = ParameterTypes.Hidden, FilterOk = false
            };

            Parameters.Push(Name, uip);
        }
Ejemplo n.º 4
0
        public void LookupParantSelect(string Name, string Label, Func <T, object> Value, LookupType type, int?ParantLevel = null, bool Required = false, int?panelId = null, string ChainedTo = null, int width = 6, Func <T, bool> Condition = null)
        {
            var uip = new UiParameter <T>()
            {
                Name = Name, Label = Label, Value = Value, ParantLevel = ParantLevel, Required = Required, PanelId = panelId, Condition = Condition, Width = width, UiType = ParameterTypes.LookupParantSelect, LookupType = type, ChainedTo = ChainedTo
            };

            Parameters.Push(Name, uip);
        }
Ejemplo n.º 5
0
        public void Select(string Name, string Label, Func <T, object> Value, bool Required = false, int?panelId = null, string ChainedTo = null, int width = 6, Func <T, bool> Condition = null)
        {
            var uip = new UiParameter <T>()
            {
                Name = Name, Label = Label, Value = Value, Required = Required, PanelId = panelId, Condition = Condition, Width = width, UiType = ParameterTypes.DropDownList, ChainedTo = ChainedTo
            };

            Parameters.Push(Name, uip);
        }
Ejemplo n.º 6
0
 public void PropShow(UiParameter <T> prop, ref object val)
 {
     _uv.Html += $@"<div class=""col-md-6"">
                      <div class=""form-group row"">
                         <label class=""control-label text-right col-md-5"">{prop.Label}</label>
                             <div class=""col-md-7"">
                                <p class=""form-control-static""> {GetPropValue(prop, val)} </p>
                              </div>
                      </div>
                  </div>";
 }
Ejemplo n.º 7
0
 public void GetSelectOptions <T>(UiParameter <T> prop, ref object val, bool IsFilter = false, bool multiple = false) where T : class
 {
     if (prop.LookupType == null)
     {
         return;
     }
     if (!prop.Required || IsFilter == true)
     {
         _uv.Html += @"<option value=""""></option>";
     }
     foreach (var it in LookupService.PopList(prop.LookupType, val, prop.ParantLevel, prop.UiType == "LookupParantSelect"))
     {
         var selected = (it.Selected.HasValue && it.Selected.Value) ? "selected" : "";
         _uv.Html += $@"<option value=""{it.Id}"" class=""{it.ParantID}"" {selected}>{it.Name}</option>";
     }
     if (!string.IsNullOrEmpty(prop.ChainedTo))
     {
         _uv.Scripts += $@"$(""#{prop.Name}"").chained(""#{prop.ChainedTo}"");";
     }
     _uv.Html += "</select></div>";
 }
Ejemplo n.º 8
0
        public void PropEdit(UiParameter <T> prop, ref object val, bool IsFilter = false)
        {
            var required     = (prop.Required && !IsFilter) ? "required" : "";
            var requiredStar = (required == "required") ? @"&nbsp;<span class=""text-danger"">*</span>" : "";
            var disabled     = (prop.UiType == "readOnly") ? @"disabled = ""true""" : "";
            var isMuliple    = (prop.UiType == "MultipleSelect" || prop.UiType == "MultipleFile" || prop.UiType == "LookupMulipleSelect");
            var multiple     = (isMuliple) ? @"multiple=""multiple""" : "";
            var type         = prop.UiType;
            var label        = prop.Label;
            var width        = (IsFilter) ? 3 : prop.Width;
            var name         = prop.Name;

            switch (type)
            {
            case "readOnly":
            case "number":
            case "email":
            case "password":
                _uv.Html += $@"<div class=""form-group col-md-{width}"">
                                <label class=""col-form-label"">{label}{requiredStar}</label>
                                <input type=""{type}"" class=""form-control"" {disabled}  {required} 
                                name=""{name}"" value=""{val}"" maxlength=""100""/></div>"; break;

            case "file":
            case "MultipleFile":
                var maxfiles = (isMuliple) ? 5 : 1;
                _uv.Html    += $@"<div class=""form-group col-md-{width}"">
                                <label class=""col-form-label"">{label}{requiredStar}</label>
                                <input hidden value=""{val}"" name=""{name}"" id=""{name}"" {required}/>
                                    <div class=""UppyInput-{name}""></div><div class=""UppyInput-Progress-{name}""></div></div>";
                _uv.Scripts += $@"UppySetup(""{name}"", {maxfiles});";
                break;

            case "Hidden": _uv.Html += $@"<input hidden value=""{val}"" name=""{name}""/>"; break;

            case "Button":
            case "Submit":
                _uv.Html += $@"<div class=""form-group col-md-{width}"">
                               <button type=""{type}"" class=""btn btn-default"" 
                                onclick=""location.href='{val}';"" />{label}</div>"; break;

            case "DropDownList":
            case "MultipleSelect":
            case "LookupSelect":
            case "LookupMulipleSelect":
            case "LookupParantSelect":
                _uv.Html += $@"<div class=""form-group col-md-{width} sel2"">
                                <label class=""col-form-label"">{label}{requiredStar}</label>
                                <select name=""{name}"" {required} {multiple} class=""select2 form-control custom-select"" 
                                id=""{name}"" style=""height: 36px;width: 100%;"">";
                GetSelectOptions(prop, ref val, IsFilter, isMuliple); break;

            case "Date":
            case "HijriDate":
                var hijriMode  = (prop.UiType == "HijriDate") ? "true" : "false";
                var datestring = GetPropValue(prop, val);
                _uv.Html += $@"<div class=""form-group col-md-{prop.Width}"">
                                <label class=""col-form-label"">{prop.Label}{requiredStar}</label>
                                <input type=""hidden"" value=""{val}"" name=""{name}"" id=""{name}"" {required}/>
                                <input type=""text"" onclick=""pickDate(event,'{name}',{hijriMode})"" class=""w3-input form-control"" 
                                name=""{name}-display"" id=""{name}-display"" 
                                value=""{datestring}"" maxlength=""100""/></div>"; break;

            case "CommentBox":
                break;

            case "RepeaterInput":
                _uv.Html += $@"<div class=""input-repeater form-group col-md-12""><div data-repeater-list=""{name}"">
                                 <div data-repeater-item class=""row m-b-15"">   <div class=""form-group col-md-6"">
                                 <input type=""text"" required="""" class=""form-control"" name=""Value"" value="""" maxlength=""150"">       
                                 </div> <div class=""col-md-2"">          
                                 <button data-repeater-delete="""" class=""btn btn-danger waves-effect waves-light"" type=""button"">               
                                 <i class=""ti-close""></i>   </button>  </div>   </div>   </div>
                                 <button type=""button"" data-repeater-create="""" class=""btn btn-info waves-effect waves-light""> أضف المزيد </button>  </div>"; break;

            default:
                _uv.Html += $@"<div class=""form-group col-md-{width}"">
                                <label class=""col-form-label"">{label}{requiredStar}</label>
                                <input type=""text"" {required} class=""form-control"" name=""{name}"" 
                                value=""{val}"" maxlength =""150""/></div>"; break;
            }
        }