(function () { "use strict"; angular .module('shared') .component('addToButton', { templateUrl: '/shared/js/angular/file-cabinet/add-to-button.html', controller: 'AddToButton', bindings: { bookid: '<', languageid: '<', enclosed: '<', resourcetype: '<', showasbutton: '<', smallbutton: '<', worksheettype: '<', worksheetsubtypeid: '<', phonicslessonid: '<' } }) .controller('AddToButton', AddToButtonCtrl); AddToButtonCtrl.$inject = ['fileCabinetRibbonService', 'FeatureCheck', 'FileCabinetConstants']; function AddToButtonCtrl(fileCabinetRibbonService, FeatureCheck, FileCabinetConstants) { var ctrl = this; ctrl.addInModalEnabled = FeatureCheck.isFeatureEnabled("FILECABINET_ADD_IN_MODEL"); ctrl.buttonSizes = { xSmall : 'btn-xs', small : 'btn-sm', large : 'btn-lg' }; ctrl.setPopover = function (popoverCtrl) { ctrl.popoverCtrl = popoverCtrl; }; ctrl.getButtonClass = function() { var className = ctrl.smallbutton == 1 ? ctrl.buttonSizes.small : ctrl.buttonSizes.large; className = checkForXSmallSize(className); if (ctrl.buttonDisabled()) { className += ' btn-confirm'; } return className; }; ctrl.getPopover = function () { return ctrl.popoverCtrl; }; ctrl.closePopover = function () { if (ctrl.popoverCtrl) { ctrl.popoverCtrl.close(); } }; ctrl.disableButton = function() { return ctrl.xvar; }; ctrl.buttonDisabled = function() { if (!fileCabinetRibbonService.ribbonActive() || ctrl.showasbutton == 0) { return false; } var resources = fileCabinetRibbonService.currentResources(); if (resources == null || resources.length < 1) { return false; } var languageIDFromTabs = ctrl.languageid; if ($j('.bookTabs .active') != null && $j('.bookTabs .active').attr('data-language-id') != null) { languageIDFromTabs = $j('.bookTabs .active').attr('data-language-id'); } for (var counter = 0; counter < resources.length; ++counter) { var resource = resources[counter]; var id1 = ctrl.bookid; var id2 = resource.groupId; var lan1 = languageIDFromTabs == null || languageIDFromTabs == 0 ? 1 : languageIDFromTabs; var lan2 = resource.languageId == null || resource.languageId == 0 ? 1 : resource.languageId; if (id1 == id2 && lan1 == lan2) { return true; } } return false; }; function checkForXSmallSize(currentSize) { if (ctrl.resourcetype === FileCabinetConstants.ISL_PACK_OPTION) { return ctrl.buttonSizes.xSmall; } return currentSize; } } })();