--- /dev/null
+<html>\r
+<head>\r
+ <title>The source code</title>\r
+ <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
+ <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
+</head>\r
+<body onload="prettyPrint();">\r
+ <pre class="prettyprint lang-js">Imgorg.DirectCombo = Ext.extend(Ext.form.ComboBox, {
+ displayField: 'text',
+ valueField: 'id',
+ triggerAction: 'all',
+ queryAction: 'name',
+ forceSelection: true,
+ mode: 'remote',
+
+ initComponent: function() {
+ this.store = new Ext.data.DirectStore(Ext.apply({
+ api: this.api,
+ root: '',
+ fields: this.fields || ['text', 'id']
+ }, this.storeConfig));
+
+ Imgorg.DirectCombo.superclass.initComponent.call(this);
+ }
+});
+
+Imgorg.TagCombo = Ext.extend(Imgorg.DirectCombo,{
+ forceSelection: false,
+ storeConfig: {
+ id: 'tag-store'
+ },
+ initComponent: function() {
+ Ext.apply(this.storeConfig, {
+ directFn: Imgorg.ss.Tags.load
+ });
+ Imgorg.TagCombo.superclass.initComponent.call(this);
+ }
+});
+Ext.reg('img-tagcombo', Imgorg.TagCombo);
+
+Imgorg.TagMultiCombo = Ext.extend(Ext.ux.MultiCombo,{
+ listClass: 'label-combo',
+ displayField: 'text',
+ valueField: 'id',
+
+ initComponent: function() {
+ this.store = new Ext.data.DirectStore(Ext.apply({
+ directFn: Imgorg.ss.Tags.load,
+ root: '',
+ autoLoad: true,
+ fields: this.fields || ['text', 'id']
+ }, this.storeConfig));
+ this.plugins =new Ext.ux.MultiCombo.Checkable({});
+ Imgorg.DirectCombo.superclass.initComponent.call(this);
+ }
+});
+Ext.reg('img-tagmulticombo', Imgorg.TagMultiCombo);
+
+Imgorg.AlbumCombo = Ext.extend(Imgorg.DirectCombo, {
+ storeConfig: {
+ id: 'album-store'
+ },
+ initComponent: function() {
+ Ext.apply(this.storeConfig, {
+ directFn: Imgorg.ss.Albums.getAllInfo
+ });
+ Imgorg.AlbumCombo.superclass.initComponent.call(this);
+ }
+});
+Ext.reg('img-albumcombo', Imgorg.AlbumCombo);
+</pre> \r
+</body>\r
+</html>
\ No newline at end of file