Esempio n. 1
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            context.ThrowIfNull();
            output.ThrowIfNull();

            var kvList          = Data.GetKeyValueList();
            var selectListItems = kvList.Select(a => new SelectListItem {
                Text = a.Key, Value = a.Value.ToString(), Selected = a.Value == (int)(For.Model ?? -1)
            }).ToList();

            if (!DefaultText.IsNullOrEmpty())
            {
                selectListItems.Insert(0, new SelectListItem {
                    Text = DefaultText, Value = ""
                });
            }
            var tagBuilder = _generator.GenerateSelect(ViewContext, For.ModelExplorer, null, For.Name, selectListItems, null, false, null);

            output.Content.AppendHtml(tagBuilder);
            output.TagName = "div";
            output.TagMode = TagMode.StartTagAndEndTag;
            output.Attributes.Add("class", InputDisplay.GetDisplayName());

            var idStr = NameAndIdProvider.CreateSanitizedId(ViewContext, For.Name,
                                                            _generator.IdAttributeDotReplacement);

            if (Data == null && !Url.IsNullOrEmpty())
            {
                output.PostElement.SetHtmlContent(string.Format(@"<script type='text/javascript'>
                 $(function () {{
                    $('#{0}').bindSelectData('{1}','{2}');
                    }});
                </script>", idStr, Url, For.Model));
            }
        }
Esempio n. 2
0
        //public EndObject EndObject;

        public DftTextSequence(IStreamReader reader)
            : base(reader)
        {
            // DFTTEXT = [DataLabExt StartObject] DefaultText ATTACHEDLABEL [EndObject]

            // [DataLabExt StartObject]
            if (BiffRecord.GetNextRecordType(reader) == RecordType.DataLabExt)
            {
                this.DataLabExt = (DataLabExt)BiffRecord.ReadRecord(reader);
                //this.StartObject = (StartObject)BiffRecord.ReadRecord(reader);
            }

            // DefaultText
            this.DefaultText = (DefaultText)BiffRecord.ReadRecord(reader);

            // ATTACHEDLABEL
            this.AttachedLabelSequence = new AttachedLabelSequence(reader);

            // [EndObject]
            //if (BiffRecord.GetNextRecordType(reader) == RecordType.EndObject)
            //{
            //    this.EndObject = (EndObject)BiffRecord.ReadRecord(reader);
            //}
        }
Esempio n. 3
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string textId = value?.ToString();

            return(Prefix + (string.IsNullOrEmpty(textId) ? "" : TM.Tr(string.Format(TextIdStringFormat, textId), DefaultText?.Replace("[apos]", "'"), LanguageId)) + Suffix);
        }
Esempio n. 4
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            context.ThrowIfNull();
            output.ThrowIfNull();

            var selectListItems = new List <SelectListItem>();
            var kvList          = For?.Metadata.EnumGroupedDisplayNamesAndValues;

            if (kvList != null)
            {
                selectListItems = For.Metadata.EnumGroupedDisplayNamesAndValues.Select(a => new SelectListItem
                {
                    Text  = a.Key.Name.ToString(),
                    Value = a.Value.TryInt().ToString()
                }).ToList();
            }

            if (kvList == null && Data != null)
            {
                selectListItems = ((IEnumerable <SelectListItem>)Data).ToList();
            }

            if (!DefaultText.IsNullOrWhiteSpace())
            {
                selectListItems.Insert(0, new SelectListItem {
                    Text = DefaultText, Value = ""
                });
            }

            var idStr      = TagBuilder.CreateSanitizedId(For.Name, _generator.IdAttributeDotReplacement);
            var attributes = new Dictionary <string, object>
            {
                { "lay-search", "" },
                { "lay-filter", idStr }
            };

            var cValue = For.Metadata.IsEnum ? ((int)(For.Model ?? 0)).ToStr() : For.Model.ToStr();

            selectListItems.ForEach(item =>
            {
                item.Selected = For.Model != null && item.Value == cValue;
            });

            var tagBuilder = _generator.GenerateSelect(ViewContext, For.ModelExplorer, null, For.Name, selectListItems, null, false, attributes);

            var outpuHtml = $@"
              <label class='layui-form-label'>{Text ?? For.Metadata.DisplayName}</label>
            <div class='layui-input-block'>
              {tagBuilder.GetString().Replace("&amp;nbsp;", "&nbsp;")}
            </div>";

            output.TagName = "div";
            output.TagMode = TagMode.StartTagAndEndTag;
            output.Attributes.Add("id", $"{idStr}_div");
            output.Attributes.Add("class", InputDisplay.GetDisplayName());
            output.Content.SetHtmlContent(outpuHtml);
            if (kvList == null && !Url.IsNullOrEmpty())
            {
                output.PostElement.SetHtmlContent($@"<script type='text/javascript'>
                 $(function () {{
                    $('#{idStr}').bindSelectData('{Url}','{For.Model}');
                    }});
                </script>");
            }
        }
 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     return(Prefix + TM.Tr(TextId, DefaultText?.Replace("[apos]", "'"), value as string) + Suffix);
 }
 public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
 {
     return(Prefix + string.Format(string.IsNullOrEmpty(TextId) ? "" : TM.Tr(TextId, DefaultText?.Replace("[apos]", "'"), LanguageId), values) + Suffix);
 }
    public override void OnInspectorGUI()
    {
        NGUIEditorTools.SetLabelWidth(120f);
        GameUIInput input = target as GameUIInput;

        GUILayout.Space(6f);
        GUI.changed = false;

        UILabel label = (UILabel)EditorGUILayout.ObjectField("Input Label", input.label, typeof(UILabel), true);

        if (GUI.changed)
        {
            NGUIEditorTools.RegisterUndo("Input Change", input);
            input.label = label;
            UnityEditor.EditorUtility.SetDirty(input);
        }

        if (input.label != null)
        {
            GUI.changed = false;
            Color ia = EditorGUILayout.ColorField("Inactive Color", input.label.color);

            if (GUI.changed)
            {
                NGUIEditorTools.RegisterUndo("Input Change", input.label);
                input.label.color = ia;
                UnityEditor.EditorUtility.SetDirty(input.label);
            }
        }

        GUI.changed = false;
        Color c = EditorGUILayout.ColorField("Active Color", input.activeColor);

        GUILayout.BeginHorizontal();
        DefaultText dt  = input.useLabelTextAtStart ? DefaultText.KeepLabelsText : DefaultText.Blank;
        bool        def = (DefaultText)EditorGUILayout.EnumPopup("Default Text", dt) == DefaultText.KeepLabelsText;

        GUILayout.Space(18f);
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GameUIInput.KeyboardType type = (GameUIInput.KeyboardType)EditorGUILayout.EnumPopup("Keyboard Type", input.type);
        GUILayout.Space(18f);
        GUILayout.EndHorizontal();

        GameObject sel = (GameObject)EditorGUILayout.ObjectField("Select on Tab", input.selectOnTab, typeof(GameObject), true);

        if (GUI.changed)
        {
            NGUIEditorTools.RegisterUndo("Input Change", input);
            input.activeColor         = c;
            input.type                = type;
            input.useLabelTextAtStart = def;
            input.selectOnTab         = sel;
            UnityEditor.EditorUtility.SetDirty(input);
        }

        GUI.changed = false;
        GUILayout.BeginHorizontal();
        string pp = EditorGUILayout.TextField("Auto-save Key", input.playerPrefsField);

        GUILayout.Space(18f);
        GUILayout.EndHorizontal();

        int    max = EditorGUILayout.IntField("Max Characters", input.maxChars, GUILayout.Width(160f));
        string car = EditorGUILayout.TextField("Carat Character", input.caratChar, GUILayout.Width(160f));
        bool   pw  = EditorGUILayout.Toggle("Password", input.isPassword);
        bool   ac  = EditorGUILayout.Toggle("Auto-correct", input.autoCorrect);

        if (GUI.changed)
        {
            NGUIEditorTools.RegisterUndo("Input Change", input);
            input.playerPrefsField = pp;
            input.maxChars         = max;
            input.caratChar        = car;
            input.isPassword       = pw;
            input.autoCorrect      = ac;
            UnityEditor.EditorUtility.SetDirty(input);
        }

        NGUIEditorTools.SetLabelWidth(80f);
        NGUIEditorTools.DrawEvents("On Submit", input, input.onSubmit);
    }
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            context.ThrowIfNull();
            output.ThrowIfNull();

            var selectListItems = new List <SelectListItem>();
            var kvList          = For?.Metadata.EnumGroupedDisplayNamesAndValues;

            if (kvList != null)
            {
                selectListItems = For.Metadata.EnumGroupedDisplayNamesAndValues.Select(a => new SelectListItem
                {
                    Text  = a.Key.Name.ToString(),
                    Value = a.Value.ToString()
                }).ToList();
            }

            if (kvList == null && Data != null)
            {
                selectListItems = ((IEnumerable <SelectListItem>)Data).ToList();
            }

            if (!DefaultText.IsNullOrWhiteSpace())
            {
                selectListItems.Insert(0, new SelectListItem {
                    Text = DefaultText, Value = ""
                });
            }

            var idStr      = NameAndIdProvider.CreateSanitizedId(ViewContext, For.Name, _generator.IdAttributeDotReplacement);
            var attributes = new Dictionary <string, object>
            {
                { "xm-select", idStr },
                { "xm-select-skin", "default" }
            };

            IList l = new ArrayList();

            if (For.Model != null)
            {
                l = (IList)For.Model;
            }

            selectListItems.ForEach(item =>
            {
                item.Selected = For.Model != null && l.Contains(item.Value);
            });

            var tagBuilder = _generator.GenerateSelect(ViewContext, For.ModelExplorer, null, For.Name, selectListItems, null, false, attributes);

            var outpuHtml = $@"
              <label class='layui-form-label'>{Text ?? For.Metadata.DisplayName}</label>
            <div class='layui-input-block'>
              {tagBuilder.GetString().Replace("&amp;nbsp;", "&nbsp;")}
            </div>";

            output.TagName = "div";
            output.TagMode = TagMode.StartTagAndEndTag;
            output.Attributes.Add("id", $"{idStr}_div");
            output.Attributes.Add("class", InputDisplay.GetDisplayName());
            output.Content.SetHtmlContent(outpuHtml);

            var jsValue = l.Cast <object>().Aggregate("", (current, t) => current + (t + ",")).TrimEnd(',');

            if (kvList == null && !Url.IsNullOrEmpty())
            {
                output.PostElement.SetHtmlContent($@"<script type='text/javascript'>
                 $(function () {{
                    $('#{idStr}').bindMultiSelectData('{Url}','{jsValue}','{idStr}');
                    }});
                </script>");
            }
        }