예제 #1
0
 private static void AddAttibutes(StringBuilder sb, KOModel model)
 {
     foreach (var attribute in model.Attributes)
     {
         var line = "\tthis." + attribute.Key + ": " + KOUtils.WrapObservable(KOUtils.ToJavascriptValue(attribute.Value.Value), attribute.Value.Observable);
         line += ";";
         sb.AppendLine(line);
     }
 }
 private static void AddAttibutes(StringBuilder sb, KOModel model)
 {
     foreach (var attribute in model.Attributes)
     {
         var line = "\tthis." + attribute.Key + ": " + KOUtils.WrapObservable(KOUtils.ToJavascriptValue(attribute.Value.Value), attribute.Value.Observable);
         line += ";";
         sb.AppendLine(line);
     }
 }
예제 #3
0
 private static void AddObjects(StringBuilder sb, KOModel model)
 {
     foreach (var observable in model.Objects)
     {
         var line = "\tthis." + observable.Key + ": " +
                    KOUtils.WrapObservable(observable.Value.Value.ToJavascript(), observable.Value.Observable);
         line += ";";
         sb.AppendLine(line);
     }
 }
 private static void AddObjects(StringBuilder sb, KOModel model)
 {
     foreach (var observable in model.Objects)
     {
         var line = "\tthis." + observable.Key + ": " +
                    KOUtils.WrapObservable(observable.Value.Value.ToJavascript(), observable.Value.Observable);
         line += ";";
         sb.AppendLine(line);
     }
 }
예제 #5
0
        public static string ToJavascript(this KOModel model)
        {
            var sb = new StringBuilder();

            sb.Append("{");
            AddAttibutes(sb, model);
            AddObjects(sb, model);
            AddArrays(sb, model);
            sb.Append("}");
            return(sb.ToString());
        }
예제 #6
0
 private static void AddArrays(StringBuilder sb, KOModel model)
 {
     foreach (var observableArray in model.Arrays)
     {
         var line = new StringBuilder();
         line.Append("\tthis.");
         line.Append(observableArray.Key + ": " + KOUtils.WrapObservableArray(BuildArray(observableArray), observableArray.Value.Observable));
         line.Append(";");
         sb.AppendLine(line.ToString());
     }
 }
 private static void AddArrays(StringBuilder sb, KOModel model)
 {
     foreach (var observableArray in model.Arrays)
     {
         var line = new StringBuilder();
         line.Append("\tthis.");
         line.Append(observableArray.Key + ": " + KOUtils.WrapObservableArray(BuildArray(observableArray), observableArray.Value.Observable));
         line.Append(";");
         sb.AppendLine(line.ToString());
     }
 }
예제 #8
0
 private static void AddAttibutes(StringBuilder sb, KOModel model)
 {
     foreach (var attribute in model.Attributes)
     {
         var line = "\t" + attribute.Key + ": " + KOUtils.WrapObservable(KOUtils.ToJavascriptValue(attribute.Value.Value), attribute.Value.Observable);
         if (attribute.Key != model.Attributes.Last().Key || model.Objects.Any() || model.Arrays.Any())
         {
             line += ", ";
         }
         sb.AppendLine(line);
     }
 }
예제 #9
0
 private static void AddAttibutes(StringBuilder sb, KOModel model)
 {
     foreach (var attribute in model.Attributes)
     {
         var line = "\t" + attribute.Key + ": " + KOUtils.WrapObservable(KOUtils.ToJavascriptValue(attribute.Value.Value), attribute.Value.Observable);
         if (attribute.Key != model.Attributes.Last().Key || model.Objects.Any() || model.Arrays.Any())
         {
             line += ", ";
         }
         sb.AppendLine(line);
     }
 }
예제 #10
0
 private static void AddObjects(StringBuilder sb, KOModel model)
 {
     foreach (var observable in model.Objects)
     {
         var line = "\t" + observable.Key + ": " +
                    KOUtils.WrapObservable(observable.Value.Value.ToJavascript(), observable.Value.Observable);
         if (observable.Key != model.Objects.Last().Key || model.Arrays.Any())
         {
             line += ", ";
         }
         sb.AppendLine(line);
     }
 }
예제 #11
0
 private static void AddObjects(StringBuilder sb, KOModel model)
 {
     foreach (var observable in model.Objects)
     {
         var line = "\t" + observable.Key + ": " +
                    KOUtils.WrapObservable(observable.Value.Value.ToJavascript(), observable.Value.Observable);
         if (observable.Key != model.Objects.Last().Key || model.Arrays.Any())
         {
             line += ", ";
         }
         sb.AppendLine(line);
     }
 }
예제 #12
0
        public static string ToJavascriptObject(this KOModel model, string name)
        {
            var sb = new StringBuilder();

            sb.Append(name + " = (function() {");
            sb.AppendLine("\tfunction " + name + "() {");
            AddAttibutes(sb, model);
            AddObjects(sb, model);
            AddArrays(sb, model);
            sb.AppendLine("}");
            sb.AppendLine("return " + name + ";");
            sb.AppendLine("})();");
            return(sb.ToString());
        }