Mailform

by el_chief

HTML

<script src="http://s3-us-west-1.amazonaws.com/statictrafficdriven1/js/plupload/1.5.4/plupload.full.js"></script>
<link rel="stylesheet" href="//extjs.cachefly.net/ext-4.1.0-gpl/resources/css/ext-all-gray-debug.css" />
<script src="//extjs.cachefly.net/ext-4.1.0-gpl/ext-all-dev.js"></script>

CSS

div.item{
margin-bottom:3px
}

.failed{
font-weight:bold;
    color:#C00;
}

JavaScript

/*

select contact on tab - dunno how
allow drop file on message body - dunno how


*/



Ext.define('TD.container.UploadView', {
    extend: 'Ext.container.Container',
    alias: ['widget.uploadview'],
    config: {
        url: '',
        filters: [],
        resize: null,
        runtimes: 'html5,gears,flash,silverlight,browserplus,html4'
    },

    initComponent: function() {
        var me = this;

        Ext.applyIf(this, {
            items: [
                {
                xtype: 'dataview',
                url: me.getUrl(),
                filters: me.getFilters(),
                resize: me.getResize(),
                runtimes: me.getRuntimes(),
                listeners: {
                    itemclick: function(view, record, item, index, e) {

                        var file = view.uploader.getFile(record.getId());

                        if (e.target.className == 'cancel') {
                            view.uploader.removeFile(file);
                        } else if (e.target.className == 'retry') {
                            file.status = 1;
                            record.set({
                                status: 1,
                                percent: 0
                            });
                            view.uploader.start();
                        }

                    },

                    destroy: function(component) {
                        component.uploader.destroy();
                    },

                    render: function(component) {

                        component.uploader = new plupload.Uploader({
                            runtimes: component.runtimes,

                            browse_button: component.up('container').down('filefield').getId(),
                            drop_element: Ext.getBody().id,

                            unique_names: true,
                            url: component.url,

                            file_data_name: 'file',

                           ...