示例#1
0
    public void AddChoice(string text, Action callback, bool greyOut = false)
    {
        show();
        inputDelay = inputDelayTime;

        string textToEnter = text;

        if (greyOut)
        {
            textToEnter = GREYOUT_START + text + GREYOUT_STOP;
        }

        ChoiceElement choice = GameObject.Instantiate <ChoiceElement>(choicePrefab);

        choice.Initialize(textToEnter, () => { callback(); hide(); Clear(); });

        if (choices.Count == 0)
        {
            choice.SetSelected(true);
        }
        else
        {
            choice.SetSelected(false);
        }

        choice.transform.SetParent(choiceVerticalList, false);

        choices.Add(choice);
    }
        private static FrameworkElement GenerateComboBox(ChoiceElement element)
        {
            // Generate the combo box.
            var comboBox = new ComboBox();

            comboBox.DataContext = element;

            // Add automatic choices for custom details
            var customChoice = new Choice()
            {
                ExportVariations = new ExportVariations()
                {
                    { "" }
                },
                Name = "Custom..."
            };

            element.Choices.Add(customChoice);

            // Generate a temporary view model from the choices.
            var temporaryChoicesList = from choice in element.Choices
                                       select choice.Name;


            comboBox.SetBinding(ItemsControl.ItemsSourceProperty, new Binding {
                Source = temporaryChoicesList
            });
            comboBox.SetBinding(Selector.SelectedIndexProperty, new Binding("SelectedChoiceIndex")
            {
                Mode = BindingMode.TwoWay
            });

            return(comboBox);
        }
示例#3
0
 public override void OnCreate()
 {
     if (node == null)
     {
         node = target as ChoiceElement;
     }
     EditorUtility.SetDirty(node);
     ReplaceTint(node.DisplayColor);
 }
示例#4
0
        private ChoiceElement CreateChoiceGUI(VisualElement root, ConversationRow conversation,
                                              ChoiceRow choice, IList <ContentElement> contents, string language)
        {
            var choiceElem = new ChoiceElement();

            var idElem = new IdElement {
                value = choice.Id.ToString()
            };

            choiceElem.Header.Add(idElem);

            CreateChoiceContent(choiceElem.Header, choiceElem.Content, conversation, choice, contents, language);

            root.Add(choiceElem);
            return(choiceElem);
        }
示例#5
0
        private static void CreateBackendSections(DetailFormViewElement detailView, FieldDisplayMode displayMode)
        {
            var mainSection = new ContentViewSectionElement(detailView.Sections)
            {
                Name     = "MainSection",
                CssClass = "sfFirstForm"
            };

            var firstNameField = new TextFieldDefinitionElement(mainSection.Fields)
            {
                ID              = "firstNameFieldControl",
                DataFieldName   = "FirstName",
                DisplayMode     = displayMode,
                Title           = "FirstName",
                CssClass        = "sfTitleField",
                ResourceClassId = typeof(JobsResources).Name,
                WrapperTag      = HtmlTextWriterTag.Li,
            };

            firstNameField.ValidatorConfig = new ValidatorDefinitionElement(firstNameField)
            {
                Required                  = true,
                MessageCssClass           = "sfError",
                RequiredViolationMessage  = Res.Get <JobsResources>().FirstNameCannotBeEmpty,
                MaxLength                 = 40,
                MaxLengthViolationMessage = Res.Get <JobsResources>().TextFieldMaximumLength
            };
            mainSection.Fields.Add(firstNameField);

            var lastNameField = new TextFieldDefinitionElement(mainSection.Fields)
            {
                ID              = "lastNameFieldControl",
                DataFieldName   = "LastName",
                DisplayMode     = displayMode,
                Title           = "LastName",
                CssClass        = "sfTitleField",
                ResourceClassId = typeof(JobsResources).Name,
                WrapperTag      = HtmlTextWriterTag.Li,
            };

            lastNameField.ValidatorConfig = new ValidatorDefinitionElement(lastNameField)
            {
                Required                  = true,
                MessageCssClass           = "sfError",
                RequiredViolationMessage  = Res.Get <JobsResources>().LastNameCannotBeEmpty,
                MaxLength                 = 40,
                MaxLengthViolationMessage = Res.Get <JobsResources>().TextFieldMaximumLength
            };
            mainSection.Fields.Add(lastNameField);

            var phoneNumberField = new TextFieldDefinitionElement(mainSection.Fields)
            {
                ID              = "phoneNumberFieldControl",
                DataFieldName   = "Phone",
                DisplayMode     = displayMode,
                Title           = "PhoneNumber",
                CssClass        = "sfTitleField",
                ResourceClassId = typeof(JobsResources).Name,
                WrapperTag      = HtmlTextWriterTag.Li,
            };

            phoneNumberField.ValidatorConfig = new ValidatorDefinitionElement(phoneNumberField)
            {
                Required                          = true,
                MessageCssClass                   = "sfError",
                RequiredViolationMessage          = Res.Get <JobsResources>().PhoneNumberCannotBeEmpty,
                RegularExpression                 = "^[0-9]+[.]*[0-9]*$",
                RegularExpressionViolationMessage = Res.Get <JobsResources>().InvalidPhoneNumber,
                MaxLength                         = 40,
                MaxLengthViolationMessage         = Res.Get <JobsResources>().TextFieldMaximumLength
            };
            mainSection.Fields.Add(phoneNumberField);

            var textField = new TextFieldDefinitionElement(mainSection.Fields)
            {
                ID              = "motivationalTextFieldControl",
                DataFieldName   = "Text",
                DisplayMode     = displayMode,
                Title           = "MotivationalText",
                CssClass        = "sfTitleField",
                WrapperTag      = HtmlTextWriterTag.Li,
                ResourceClassId = typeof(JobsResources).Name,
                Rows            = 5
            };

            textField.ExpandableDefinitionConfig = new ExpandableControlElement(textField)
            {
                Expanded   = false,
                ExpandText = Res.Get <JobsResources>().ClickToAddSummary
            };
            textField.ValidatorConfig = new ValidatorDefinitionElement(textField)
            {
                Required                  = true,
                MessageCssClass           = "sfError",
                RequiredViolationMessage  = Res.Get <JobsResources>().MotivationalTextCannotBeEmpty,
                MaxLength                 = 200,
                MaxLengthViolationMessage = Res.Get <JobsResources>().TextAreaMaximumLength
            };
            mainSection.Fields.Add(textField);

            var referrer = new ChoiceFieldElement(mainSection.Fields)
            {
                RenderChoiceAs  = Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.DropDown,
                ID              = "referrerChoices",
                DataFieldName   = "Referral",
                DisplayMode     = displayMode,
                Title           = "HowDidYouHear",
                CssClass        = "sfTitleField",
                WrapperTag      = HtmlTextWriterTag.Li,
                ResourceClassId = typeof(JobsResources).Name,
            };

            var internetAdField = new ChoiceElement(referrer.ChoicesConfig)
            {
                Text  = Res.Get <JobsResources>().InternetAd,
                Value = Res.Get <JobsResources>().InternetAd,
            };

            referrer.ChoicesConfig.Add(internetAdField);

            var mobilePhoneAdField = new ChoiceElement(referrer.ChoicesConfig)
            {
                Text  = Res.Get <JobsResources>().MobilePhoneAd,
                Value = Res.Get <JobsResources>().MobilePhoneAd,
            };

            referrer.ChoicesConfig.Add(mobilePhoneAdField);

            var socialNetworkField = new ChoiceElement(referrer.ChoicesConfig)
            {
                Text  = Res.Get <JobsResources>().SocialNetwork,
                Value = Res.Get <JobsResources>().SocialNetwork,
            };

            referrer.ChoicesConfig.Add(socialNetworkField);

            var televisionAdField = new ChoiceElement(referrer.ChoicesConfig)
            {
                Text  = Res.Get <JobsResources>().TelevisionAd,
                Value = Res.Get <JobsResources>().TelevisionAd,
            };

            referrer.ChoicesConfig.Add(televisionAdField);

            var webLinkField = new ChoiceElement(referrer.ChoicesConfig)
            {
                Text  = Res.Get <JobsResources>().WebLink,
                Value = Res.Get <JobsResources>().WebLink,
            };

            referrer.ChoicesConfig.Add(webLinkField);

            var webSearchField = new ChoiceElement(referrer.ChoicesConfig)
            {
                Text  = Res.Get <JobsResources>().WebSearch,
                Value = Res.Get <JobsResources>().WebSearch,
            };

            referrer.ChoicesConfig.Add(webSearchField);

            var magazineAdField = new ChoiceElement(referrer.ChoicesConfig)
            {
                Text  = Res.Get <JobsResources>().MagazineAd,
                Value = Res.Get <JobsResources>().MagazineAd,
            };

            referrer.ChoicesConfig.Add(magazineAdField);

            var otherField = new ChoiceElement(referrer.ChoicesConfig)
            {
                Text  = Res.Get <JobsResources>().Other,
                Value = Res.Get <JobsResources>().Other,
            };

            referrer.ChoicesConfig.Add(otherField);

            mainSection.Fields.Add(referrer);
            detailView.Sections.Add(mainSection);
        }