import ItemManager from"./../modules/common/itemmanager/itemmanager.js";import BaseItemController from"./../modules/common/itemmanager/genericitemcontroller.js";import globalize from"./../modules/common/globalize.js";import codecEditor from"./codeceditor.js";function CodecController(){BaseItemController.apply(this,arguments)}function showCodecEditor(item,editParams){return codecEditor.show(item.OriginalItem,editParams).then(function(){})}Object.assign(CodecController.prototype,BaseItemController.prototype),CodecController.prototype.getTypeNames=function(){return["Codec"]},CodecController.prototype.getDisplayName=function(item,options){return item.Name},CodecController.prototype.isSingleItemFetchRequired=function(typeName){return!1},CodecController.prototype.getDefaultIcon=function(item){return"Decoder"===item.OriginalItem.Direction?"input":"output"},CodecController.prototype.canDelete=function(item,user){return!1},CodecController.prototype.canEdit=function(items,user){return 1===items.length&&!!items[0].OriginalItem.SupportsParameters},CodecController.prototype.getEditCommand=function(items){return{name:globalize.translate("Settings"),id:"edit",icon:"settings"}},CodecController.prototype.editItems=function(items,options){return showCodecEditor(items[0],!0)},CodecController.prototype.getCommands=function(options){var commands=BaseItemController.prototype.getCommands.apply(this,arguments),options=options.items;return 1===options.length&&options[0].OriginalItem.IsHardwareCodec&&commands.push({name:globalize.translate("Info"),id:"codecinfo",icon:"info"}),commands},CodecController.prototype.executeCommand=function(command,items,options){return"codecinfo"!==command?BaseItemController.prototype.executeCommand.apply(this,arguments):showCodecEditor(items[0],!1)},CodecController.prototype.moveInOrder=function(items,options){return Promise.resolve()};let instance=new CodecController;ItemManager.registerItemController(instance);export default instance;