Components Hierarchy

by NesterOne

HTML

<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://backbonejs.org/backbone-min.js"></script>
<div class="report">Report<div>

CSS

.report{
    background-color: grey
}

JavaScript

//Defining Types

var Report = Backbone.Model.extend({}),
    ComponentModel = Backbone.Model({   
        defaults: {
            lable: "",
            visible: true, //hide/show component   
            width: -1,
            height: -1
        }
    }),
    ColumnComponent = ComponentModel.extend({
        defaults: {
           width: 139,
           columnIndex : 0,  // move column
           filter: new ColumnFilter(), 
           order : new ColumnOrder(),
           format : new ColumnFormat() 
       }  
    }),
    ColumnFilter = ComponentModel.extend({     
        defaults:{  
            //"fieldName":"name",
            "type":"Text",
            "pattern":"",
            "valueStart":"ert",
            "valueEnd":""
            "operator":"CONTAINS",
            "clear":"false",
            "isField":true,  ///What is it ?          
        } 
    }),
    ColumnFormat = ComponentModel.extend({
        defaults: {
            "headingName":"Name",
            "fontName":"DejaVuSans",
            "fontSize":"9",
            "fontBold":true,
            "fontItalic":false,
            "fontUnderline":false,
            "fontHAlign":"Left",
            "fontColor":"FFFFFF",
            "fontBackColor":"333333",
            "mode":"Opaque"    
        }
    });
    ColumnOrder = ComponentModel.extend({
       defaults: {
           order : "none"
           //"sortColumnName":"phone_office", Why?
           //"sortColumnType":"Field"
       },
        
       

        
    }),