]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Add a new button to service list which auto-mapps channels by service-name 221/head
authorBtbN <btbn@btbn.de>
Fri, 11 Jan 2013 22:11:52 +0000 (23:11 +0100)
committerBtbN <btbn@btbn.de>
Fri, 11 Jan 2013 22:14:49 +0000 (23:14 +0100)
src/webui/static/app/dvb.js

index d351c98c3f90ed63ba27a59a723715467cbf8230..00839b1f47db4b1148fb554256c5af550857020e 100644 (file)
@@ -574,7 +574,6 @@ tvheadend.dvb_services = function(adapterId) {
                                'Please select at least one item to delete');
                }
        }
-       ;
 
        function saveChanges() {
                var mr = store.getModifiedRecords();
@@ -600,6 +599,14 @@ tvheadend.dvb_services = function(adapterId) {
                });
        }
 
+       function mapSelected() {
+               grid.selModel.each(function(rec) {
+                       if(!rec.get('channelname'))
+                               rec.set('channelname', rec.get('svcname'));
+                       return true;
+               });
+       }
+
        var saveBtn = new Ext.Toolbar.Button({
                tooltip : 'Save any changes made (Changed cells have red borders).',
                iconCls : 'save',
@@ -618,10 +625,22 @@ tvheadend.dvb_services = function(adapterId) {
                disabled : true
        });
 
+       var mapBtn = new Ext.Toolbar.Button({
+               tooltip : 'Map selected services to channels based on their name. Does nothing if selected item is already mapped.',
+               iconCls : 'clone',
+               text : "Map selected",
+               handler : mapSelected,
+               disabled : true
+       });
+
        var selModel = new Ext.grid.RowSelectionModel({
                singleSelect : false
        });
 
+       selModel.on('selectionchange', function(s) {
+               mapBtn.setDisabled(s.getCount() == 0);
+       });
+
        var grid = new Ext.grid.EditorGridPanel({
                stripeRows : true,
                title : 'Services',
@@ -633,7 +652,7 @@ tvheadend.dvb_services = function(adapterId) {
                        forceFit : true
                },
                selModel : selModel,
-               tbar : [ saveBtn, rejectBtn ]
+               tbar : [ saveBtn, rejectBtn, '-', mapBtn ]
        });
        return grid;
 }