示例#1
0
        public Layout Get(Guid dashboardId)
        {
            var questionWidget = new QuestionWidget
            {
                Title = "1 - Dost thou even hoist?",
                QuestionId = Guid.NewGuid(),
                AnswerLabels = new []{"yes", "no"}
            };

            return new Layout
            {
                Versions = new List<Dashboard> { 
                    new Dashboard
                    {
                        CreatedAt = DateTime.UtcNow,
                        DateRangePreset = DateRangePreset.RealTime,
                        LayoutType = DashboardLayoutType.TwoColumn,
                        Title = "My first dashboard",
                        Widgets = new List<Widget>
                        {
                            new Widget(WidgetType.Question, JsonConvert.SerializeObject(questionWidget))
                        }
                    }
                 }
            };
        }
示例#2
0
        public override Control VisitQuestionReference(QuestionReference questionRef)
        {
            var question = _questionForm.GetAllQuestions().Where(q => q.Name == questionRef.Name).SingleOrDefault();

            if (question != null)
            {
                StyleSet questionStyles = _questionStyles.GetStyleSet(question.Name);

                QuestionWidget questionWidget = (QuestionWidget)questionStyles.WidgetStyle.CreateWidgetControl(new WidgetFactory(question));

                questionWidget.ApplyStyles(questionStyles);

                _questionWidgets.Add(questionWidget);

                return(questionWidget);
            }
            else
            {
                throw new ApplicationException("Question not found in the questionnaire AST.");
            }
        }
示例#3
0
 private void SetWidget(QuestionWidget widget)
 {
     Widget = widget;
     Widget.SetLabel(ASTNode.Body);
     Widget.InputChanged += (sender, value) => SetValue(value);
 }