public static ViewModel MapViewModelFromJsFile(JsFile jsFile)
        {
            var viewModel = new ViewModel
            {
                FullPath  = jsFile.FullPath,
                Classes   = new ObservableCollection <JsClassViewModel>(),
                CamelCase = true
            };

            foreach (var file in jsFile.Files)
            {
                var jsClass = new JsClassViewModel(viewModel)
                {
                    Name       = file.Name,
                    Properties = new ObservableCollection <JsPropertyViewModel>(),
                    Ignore     = false,
                    Enable     = false
                };

                file.Properties.ForEach(p => jsClass.Properties.Add(new JsPropertyViewModel(jsClass)
                {
                    Ignore       = p.Ignore,
                    Name         = p.Name,
                    OfType       = p.OfType,
                    IsArray      = p.IsArray,
                    IsObservable = p.IsObservable
                }));

                viewModel.Classes.Add(jsClass);
            }

            return(viewModel);
        }
        public DesignTimeViewModel()
        {
            this.FullPath = "FooBar.cs";
            this.Classes  = new ObservableCollection <JsClassViewModel>();

            var jsClass = new JsClassViewModel(this)
            {
                Name = "Foo"
            };

            jsClass.Properties = new ObservableCollection <JsPropertyViewModel>()
            {
                new JsPropertyViewModel(jsClass)
                {
                    Name = "Foo1ReallyLongPropertyNameWhatIsHappeningNow"
                },
                new JsPropertyViewModel(jsClass)
                {
                    Name = "Foo2"
                },
                new JsPropertyViewModel(jsClass)
                {
                    Name = "Foo3"
                }
            };

            jsClass.Name       = "Bar";
            jsClass.Properties = new ObservableCollection <JsPropertyViewModel>()
            {
                new JsPropertyViewModel(jsClass)
                {
                    Name = "Foo1ReallyLongPropertyNameWhatIsHappeningNow"
                },
                new JsPropertyViewModel(jsClass)
                {
                    Name = "Foo2"
                },
                new JsPropertyViewModel(jsClass)
                {
                    Name = "Foo3"
                }
            };
        }
        public DesignTimeViewModel()
        {
            this.FullPath = "FooBar.cs";
            this.Classes = new ObservableCollection<JsClassViewModel>();

            var jsClass = new JsClassViewModel(this) {Name = "Foo"};

            jsClass.Properties = new ObservableCollection<JsPropertyViewModel>()
                {
                    new JsPropertyViewModel(jsClass) {Name = "Foo1ReallyLongPropertyNameWhatIsHappeningNow"},
                    new JsPropertyViewModel(jsClass) {Name = "Foo2"},
                    new JsPropertyViewModel(jsClass) {Name = "Foo3"}
                };

            jsClass.Name = "Bar";
            jsClass.Properties = new ObservableCollection<JsPropertyViewModel>()
                {
                    new JsPropertyViewModel(jsClass) {Name = "Foo1ReallyLongPropertyNameWhatIsHappeningNow"},
                    new JsPropertyViewModel(jsClass) {Name = "Foo2"},
                    new JsPropertyViewModel(jsClass) {Name = "Foo3"}
                };
        }
Exemple #4
0
 public JsPropertyViewModel(JsClassViewModel parentClass)
 {
     this.ParentClass = parentClass;
 }
 public JsPropertyViewModel(JsClassViewModel parentClass)
 {
     this.ParentClass = parentClass;
 }
        public static ViewModel MapViewModelFromJsFile(JsFile jsFile)
        {
            var viewModel = new ViewModel
                {
                    FullPath = jsFile.FullPath,
                    Classes = new ObservableCollection<JsClassViewModel>(),
                    CamelCase = true
                };

            foreach (var file in jsFile.Files)
            {
                var jsClass = new JsClassViewModel(viewModel)
                    {
                        Name = file.Name,
                        Properties = new ObservableCollection<JsPropertyViewModel>(),
                        Ignore = false,
                        Enable = false
                    };

                file.Properties.ForEach(p => jsClass.Properties.Add(new JsPropertyViewModel(jsClass)
                    {
                        Ignore = p.Ignore,
                        Name = p.Name,
                        OfType = p.OfType,
                        IsArray = p.IsArray,
                        IsObservable = p.IsObservable
                    }));

                viewModel.Classes.Add(jsClass);
            }

            return viewModel;
        }