私は年の月を示すアコーディオンを持っています。ここで、アコーディオン タイトルの右側に、その年のすべての記録を印刷するアクション列として pdf アイコンを追加したいと考えています。しかし、私はそれを行うことができません。誰でもこれについて私を助けてくれませんか。以下は私のコードです:
Ext.define('Ext4Example.view.attendence.Timeperiod', {
extend: 'Ext.form.Panel',
alias: 'widget.timeperiod',
id: 'timeperiod',
region: 'west',
border: true,
width: 150,
height: 396,
split: true,
layout: {
// layout-specific configs go here
type: 'accordion',
titleCollapse: true,
animate: true,
activeOnTop: true,
hideCollapseTool: true
},
initComponent: function () {
var me = this;
me.items = me.maccord();
me.callParent(arguments);
},
mstore: function (year) {
var data = [
[1, year, 'January'],
[2, year, 'February'],
[3, year, 'March'],
[4, year, 'April'],
[5, year, 'May'],
[6, year, 'June'],
[7, year, 'July'],
[8, year, 'August'],
[9, year, 'September'],
[10, year, 'October'],
[11, year, 'November'],
[12, year, 'December']
];
var store = Ext.create('Ext.data.ArrayStore', {
storeId: 'mstore',
fields: [{
name: 'id',
type: 'int'
}, {
name: 'year',
type: 'int'
}, {
name: 'month',
type: 'string'
}],
data: data
});
return store;
},
mpanel: function (year) {
var me = this,
mpanel = new Ext.grid.Panel({
border: false,
viewConfig: {
stripeRows: true
},
hideHeaders: true,
columns: [{
text: 'month',
dataIndex: 'month',
flex: 1]
}],
store: me.mstore(year),
width: 150
});
return mpanel;
},
maccord: function () {
var year = $ {
(new Date()).format('yyyy')
},
limit = year - 5,
me = this,
maccord = [];
for (year; year > limit; year--) {
maccord.push({
title: 'Year ' + year + {
menuDisabled: true,
sortable: false,
xtype: 'actioncolumn',
align: 'right',
flex: 1,
width: 22,
items: [{
icon: "${resource(dir: 'images', file: 'PDF01001.png')}",
hide: true,
tooltip: 'Print Report of this Month?',
handler: function (grid, rowIndex, colIndex) {
alert('Printing');
}
}]
},
ident: 'accordion-panel',
items: me.mpanel(year)
});
}
return maccord;
}
});