Exemple #1
0
        /// <summary>
        /// Set the defaults for awem.js and jquery.validate (if present) by calling utils.init;
        /// sets date format, first day of week, decimal separator, isMobileOrTablet
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="ahtml"></param>
        /// <returns></returns>
        public static IHtmlString Init <T>(this AwesomeHtmlHelper <T> ahtml)
        {
            var isMobileOrTablet = Autil.IsMobileOrTablet(ahtml) ? 1 : 0;
            var dateFormat       = AweUtil.ConvertTojQueryDateFormat(Autil.CurrentCulture().DateTimeFormat.ShortDatePattern);
            var decimalSep       = Autil.CurrentCulture().NumberFormat.NumberDecimalSeparator;

            var sb = new StringBuilder("<script>");

            sb.AppendFormat("awem.isMobileOrTablet = function() {{ return {0}; }};", isMobileOrTablet);
            sb.AppendFormat("awem.fdw = {0};", (int)Autil.CurrentCulture().DateTimeFormat.FirstDayOfWeek);
            sb.AppendFormat("utils.init('{0}', {1}, '{2}')", dateFormat, isMobileOrTablet, decimalSep);
            sb.Append("</script>");

            return(new HtmlString(sb.ToString()));
        }
Exemple #2
0
        /// <summary>
        /// timepicker extension
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="arl"></param>
        /// <param name="setCfg"></param>
        /// <returns></returns>
        public static AjaxRadioList <T> TimePicker <T>(this AjaxRadioList <T> arl, Action <TimePickerCfg> setCfg = null)
        {
            arl.Mod("awem.timepicker");
            arl.UnobsValid(false);

            var cfg = new TimePickerCfg();
            var tag = new TimePickerTag();

            if (setCfg != null)
            {
                setCfg(cfg);
                tag = cfg.ToTag();
            }

            var cformat = Autil.CurrentCulture().DateTimeFormat;
            var isAmPm  = cformat.ShortTimePattern.Contains("h");

            if (isAmPm)
            {
                tag.AmPm = new[] { cformat.AMDesignator, cformat.PMDesignator };
            }

            arl.Tag(tag);

            arl.ValueRenderer(
                o =>
            {
                if (o != null)
                {
                    if (o is DateTime)
                    {
                        return(((DateTime)o).ToString(cformat.ShortTimePattern));
                    }

                    return(o.ToString());
                }

                return(string.Empty);
            });
            return(arl);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="gridParams"></param>
 public SchedulerModelBuilder(GridParams gridParams)
 {
     this.gridParams = gridParams;
     Culture         = Autil.CurrentCulture();
     viewType        = SchedulerView.Week;
 }
Exemple #4
0
        /// <summary>
        /// grid mods extension
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="grid"></param>
        /// <param name="setCfg"></param>
        /// <returns></returns>
        public static Grid <T> Mod <T>(this Grid <T> grid, Action <GridModCfg> setCfg = null)
        {
            if (setCfg != null)
            {
                var cfg = new GridModCfg();
                setCfg(cfg);
                var info = cfg.GetInfo();
                var mods = new List <string>();
                if (info.PageSize)
                {
                    mods.Add("awem.gridPageSize");
                }
                if (info.PageInfo)
                {
                    mods.Add("awem.gridPageInfo");
                }
                if (info.ColumnsSelector)
                {
                    mods.Add("awem.gridColSel");
                }
                if (info.InfiniteScroll)
                {
                    mods.Add("awem.gridInfScroll");
                }

                if (info.AutoMiniPager)
                {
                    mods.Add("awem.gridAutoMiniPager");
                }
                else if (info.MiniPager)
                {
                    mods.Add("awem.gridMiniPager");
                }

                if (info.InlineEdit)
                {
                    mods.Add("awem.gridInlineEdit('" + info.CreateUrl + "','"
                             + info.EditUrl + "', "
                             + info.OneRow.ToString().ToLower() + ","
                             + info.RelOnSav.ToString().ToLower() + ")");
                }

                if (info.Loading)
                {
                    mods.Add("awem.gridLoading");
                }

                var opt = new { G = info.GridIds };
                if (info.GridIds == null || info.GridIds.Length == 0)
                {
                    opt = null;
                }

                if (info.MovableRows)
                {
                    mods.Add(string.Format("awem.gridMovRows({0})", Autil.Serialize(opt)));
                }

                if (info.CustomMods != null)
                {
                    mods.AddRange(info.CustomMods);
                }

                grid.Mod(mods.ToArray());

                grid.BeforeRenderFuncs.Add(g =>
                {
                    var autohide = false;
                    foreach (var column in g.GetColumns())
                    {
                        var o = column.Tag as ColumnModTag;

                        if (info.ColumnsAutohide)
                        {
                            autohide = true;

                            if (o == null)
                            {
                                o          = new ColumnModTag();
                                column.Tag = o;
                            }

                            if (!o.Autohide.HasValue)
                            {
                                o.Autohide = 1;
                            }

                            if (o.Nohide)
                            {
                                o.Autohide = 0;
                            }
                        }
                        else if (o != null && o.Autohide > 0)
                        {
                            autohide = true;
                        }
                    }

                    if (autohide)
                    {
                        g.GetMods().Add("awem.gridColAutohide");
                    }
                });
            }

            return(grid);
        }