Exemplo n.º 1
0
        private LoadPackage ReadPackage(XElement pkge)
        {
            var result = new LoadPackage {
                Code = pkge.Attr("code")
            };
            var level = pkge.Attr("level");

            if (!string.IsNullOrWhiteSpace(level))
            {
                result.Level = (LoadLevel)Enum.Parse(typeof(LoadLevel), level, true);
            }

            result.Arm     = pkge.Attr("arm", "default");
            result.Command = pkge.Attr("command", "");


            var deps = pkge.Elements("uses");

            foreach (var dep in deps)
            {
                result.Dependency.Add(dep.Attr("code"));
            }
            foreach (var item in pkge.Elements("load"))
            {
                result.Items.Add(ReadItem(item));
            }
            foreach (var item in pkge.Elements("widget"))
            {
                ReadWidget(result, item);
            }


            return(result);
        }
Exemplo n.º 2
0
        private LoadPackage ReadPackage(XElement pkge) {
            var result = new LoadPackage {Code = pkge.Attr("code")};
            var level = pkge.Attr("level");
            if (!string.IsNullOrWhiteSpace(level)) {
                result.Level = (LoadLevel) Enum.Parse(typeof (LoadLevel), level, true);
            }

            result.Arm = pkge.Attr("arm","default");
            result.Command = pkge.Attr("command", "");
               

            var deps = pkge.Elements("uses");
            foreach (var dep in deps) {
                result.Dependency.Add(dep.Attr("code"));
            }
            foreach (var item in pkge.Elements("load")) {
                result.Items.Add(ReadItem(item));
            }
            foreach (var item in pkge.Elements("widget")) {
                ReadWidget(result, item);
            }


            return result;
        }
Exemplo n.º 3
0
 private void GeneratePkg(LoadPackage pkg, StringBuilder sb)
 {
     GeneratePrePackage(pkg, sb);
     foreach (var item in pkg.Items)
     {
         GenerateItem(item, sb);
     }
     GeneratePostPackage(pkg, sb);
 }
Exemplo n.º 4
0
 private void ReadWidget(LoadPackage result, XElement item) {
     var level = LoadLevel.Guest;
     var levele = item.Attr("level");
     if (!string.IsNullOrWhiteSpace(levele))
     {
         level = (LoadLevel)Enum.Parse(typeof(LoadLevel), levele, true);
     }
     var code = item.Attr("code");
     var command = item.Attr("command");
     result.Items.Add(new LoadItem {Level = level, Command=command, Type = LoadItemType.Script, Value = code + ".js"});
     result.Items.Add(new LoadItem { Level = level, Command=command, Type = LoadItemType.Style, Value = code + ".css" });
     result.Items.Add(new LoadItem { Level = level, Command = command, Type = LoadItemType.Template, Value = code + ".tpl.html" });
 }
Exemplo n.º 5
0
 private string Stringify(LoadPackage[] subset) {
     var sb = new StringBuilder();
     foreach (var package in subset) {
         sb.Append(package.Code);
         sb.Append(":");
         foreach (var i in package.Items) {
             sb.Append(i.Value);
             sb.Append(",");
         }
         sb.Append(";");
     }
     return sb.ToString();
 }
Exemplo n.º 6
0
        private void ReadWidget(LoadPackage result, XElement item)
        {
            var level  = LoadLevel.Guest;
            var levele = item.Attr("level");

            if (!string.IsNullOrWhiteSpace(levele))
            {
                level = (LoadLevel)Enum.Parse(typeof(LoadLevel), levele, true);
            }
            var code    = item.Attr("code");
            var command = item.Attr("command");

            result.Items.Add(new LoadItem {
                Level = level, Command = command, Type = LoadItemType.Script, Value = code + ".js"
            });
            result.Items.Add(new LoadItem {
                Level = level, Command = command, Type = LoadItemType.Style, Value = code + ".css"
            });
            result.Items.Add(new LoadItem {
                Level = level, Command = command, Type = LoadItemType.Template, Value = code + ".tpl.html"
            });
        }
Exemplo n.º 7
0
 private void GeneratePostPackage(LoadPackage pkg, StringBuilder sb)
 {
     sb.AppendLine("}");
     sb.AppendLine("/* auto generated pkg " + pkg.Code + " finished */ ");
 }
Exemplo n.º 8
0
 private void GeneratePrePackage(LoadPackage pkg, StringBuilder sb)
 {
     sb.AppendLine("/* auto generated pkg " + pkg.Code + " (" + string.Join(",", pkg.Dependency) + "):" + pkg.Arm + ":" + pkg.Command + " started */ ");
     sb.AppendFormat("if(allowed('{0}','{1}')){{\r\n", pkg.Arm, pkg.Command);
 }