Ejemplo n.º 1
0
        public override void Visit(FormatGroup group, JavaScriptExpressionCheckerState state)
        {
            RegisterWriter(group.Evaluator.GetType(), typeof(IParameterEvaluator), state);
            RegisterWriter(group.Expander.GetType(), typeof(IFormatGroupExpander), state);

            base.Visit(group, state);
        }
Ejemplo n.º 2
0
 public virtual void Visit(FormatGroup group, T state)
 {
     if (group.Expression != null)
     {
         group.Expression.Accept(this, state);
     }
 }
Ejemplo n.º 3
0
            public override void Visit(FormatGroup group, State state)
            {
                var val = (string)group.Evaluator.GetValue(state.Context).Value;

                if (!string.IsNullOrEmpty(val))
                {
                    string inner;
                    if (group.Expression != null)
                    {
                        var innerState = state.Clone();
                        innerState.Writer = new StringWriter();
                        group.Expression.Accept(this, innerState);
                        inner = innerState.Writer.ToString();
                        //StringEncoder is not used here. Inner is already encoded and the value for the format group is left unencoded
                    }
                    else
                    {
                        inner = "";
                    }
                    state.Writer.Write(group.Expander.Expand(val, inner));
                }
                else if (group.Expression != null)
                {
                    //Format pattern is missing. Just write inner expression
                    group.Expression.Accept(this, state);
                }
            }
Ejemplo n.º 4
0
        public ActionResult DeleteConfirmed(int id)
        {
            FormatGroup formatGroup = db.FormatGroup.Find(id);

            db.FormatGroup.Remove(formatGroup);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 5
0
        public override void Visit(FormatGroup group, object state)
        {
            group.Evaluator = _dialect.GetParameterEvaluator(new ParameterSpec {
                ParameterName = group.ParameterName
            }, _manager);
            group.Expander = _dialect.FormatGroupExpander;

            base.Visit(group, state);
        }
Ejemplo n.º 6
0
 public void Visit(FormatGroup group, object state)
 {
     Print("FormatGroup: " + group.ParameterName);
     ++indent;
     if (group.Expression != null)
     {
         group.Expression.Accept(this);
     }
     --indent;
 }
Ejemplo n.º 7
0
 public ActionResult Edit([Bind(Include = "Id,Name")] FormatGroup formatGroup)
 {
     if (ModelState.IsValid)
     {
         db.Entry(formatGroup).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(formatGroup));
 }
Ejemplo n.º 8
0
        public ActionResult Create([Bind(Include = "Id,Name")] FormatGroup formatGroup)
        {
            if (ModelState.IsValid)
            {
                db.FormatGroup.Add(formatGroup);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(formatGroup));
        }
Ejemplo n.º 9
0
        // GET: Group/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FormatGroup formatGroup = db.FormatGroup.Find(id);

            if (formatGroup == null)
            {
                return(HttpNotFound());
            }
            return(View(formatGroup));
        }
        public override void Visit(FormatGroup group, JavaScriptExpressionWriterState state)
        {
            var evaluator = Writers[group.Evaluator.GetType()];
            var expander  = Writers[group.Expander.GetType()];

            Output.Write("(function(){var p=val(");
            evaluator.WriteEvaluator(group.Evaluator, this, null);
            Output.Write("); return p!=null?");
            expander.WriteEvaluator(group.Expander, this,
                                    () => Output.Write("p"), //Format expression
                                    () => {                  //Inner expression
                group.Expression.Accept(this, state);
            });
            Output.Write(":");
            Output.Write(Json.Serialize(""));
            Output.Write(";");
            Output.Write("})()");
        }
        FormatGroup ParseFormatGroup()
        {
            var group = new FormatGroup();

            MoveNext(); //Take '<'

            group.ParameterName = ReadParameterName();
            if (_current == ':')
            {
                MoveNext(); //Take ':'
                group.Expression = ParseExpression();
            }
            if (_current != '>') ExpectedToken("FormatGroup", ">");
            MoveNext(); //Take '>'

            return group;
        }