I'm having some trouble getting the datePicker to work on safari.
Code:
//checkboxviewapp.views.MilestoneCheckbox = Ext.extend(Ext.form.Checkbox, {
    label: 'themilestone',
    name: 'milestone',
    labelWidth:'80%',
    disabled: true,
    disabledCls: 'milestoneStyle',
    initComponent: function() {
        this.model.addObserver(this);
        if(dateHasPassed(this.model.date))this.checked=true;
        var label = this.model.description;
        if(this.model.dirty){
            label="<i>"+label+"*</i>";
        }
        this.label=label;
        app.views.MilestoneCheckbox.superclass.initComponent.call(this);
    },
    propertyChanged: function(){
        //for now just update everything every time
        
        //checking
        if(dateHasPassed(this.model.date))this.check();
        else this.uncheck();
        
        //labelstuff
        var label = this.model.description;
        if(this.model.dirty){
            label="<i>"+label+"*</i>";
        }
        this.labelEl.setHTML("<span>"+label+"</span>"); //hackish?
    }
});


Ext.reg('app.views.MilestoneCheckbox', app.views.MilestoneCheckbox);


//class for the datepickerfield in the milestonelist.
app.views.MilestoneDatePicker = Ext.extend(Ext.form.DatePicker, {
    name: 'date',
    label: 'Date',
    labelWidth:'40%',
    initComponent: function() {
        this.model.addObserver(this);
        this.value = this.model.date;
        app.views.MilestoneDatePicker.superclass.initComponent.call(this);
    },
    propertyChanged: function(){
        //update the date on every kind of change
        this.setValue(this.model.date);
    },
    listeners:{
        // change:function(){ //move to controller?
            // this.model.setDate(this.getValue());
        // }
    }
});


Ext.reg('app.views.MilestoneDatePicker', app.views.MilestoneDatePicker);


// method used to check if a date has passed
dateHasPassed = function (date) {
    date = date.getTime();
    var today = new Date().getTime();
    if(today>date)return true;
    else return false;
;}    


app.views.ProjectMilestones = Ext.extend(Ext.Container, {
    title: 'Milestones',
    iconCls: 'flag',
    scroll: 'vertical',    
    updateWithMilestones: function (project) {
        this.removeAll(true);
        var pickerConfig = {
            yearFrom: project.getStartDate().getFullYear(),                    
            yearTo  : project.getEndDate().getFullYear(),
            slotOrder: ['day', 'month', 'year']
        };
        
        for(var i = 0; i < project.milestones.length; i++) {        
            var milestone = project.milestones[i];        
            var milestoneCheckBox = {
                xtype: 'app.views.MilestoneCheckbox',
                model: milestone
            };
            var datePickerField = {  
                xtype: 'app.views.MilestoneDatePicker',
                model: milestone,
                picker: pickerConfig
            };    
            this.add(milestoneCheckBox);        
            this.add(datePickerField);            
            this.add({xtype:'container', html:'<div style="padding-bottom:7px"></div>'});
        }
        //refresh the view
        this.doLayout();
    }
});


// display date in  d/m/Y format
Ext.apply(Ext.util.Format, {defaultDateFormat: 'd/m/Y'}  );
The error I'm getting is:
DataView requires tpl, store and itemSelector configurations to be defined.

Everything works fine on chrome it's just safari i have a problem with.

EDIT: I get the error when I'm clicking on the date.