angular.module('fasit') .controller('StandardTextAdminSideDrawerCtrl', [ '$scope', '$translate', 'sideDrawerService', 'standardTextService', 'domainService', 'uiService', '$rootScope', function ( $scope: fb.IStandardTextAdminSideDrawerScope, $translate, sideDrawerService: fb.ISideDrawerService, standardTextService: fb.IStandardTextService, domainService: fb.IDomainService, uiService: fb.IUIService, $rootScope: fb.IRootScope ) { 'use strict' var inSideDrawer = !!sideDrawerService.currentSideDrawer(); var params = inSideDrawer ? sideDrawerService.getParams() : null; if (!inSideDrawer) { uiService.view(fb.FasITDomain.VyerNamn.Tillaeggsklausuler); $scope.fullView = true; } $scope.standardTextFilterList = domainService.objekttyper.queryForInstaellningar(); _.forEach($scope.standardTextFilterList, function (item) { item.show = $translate.instant('INSTAELLNINGAR.STANDARDTEXTER.VISA') + item.show; }); $scope.standardTextFilterList.unshift( { show: $translate.instant('INSTAELLNINGAR.STANDARDTEXTER.VISA_ALLA'), val: -1, } ); $rootScope.InloggadAnvaendare.promise.then(function () { $scope.isUtland = $rootScope.InloggadAnvaendare.BostadsmarknadId === fb.FasITDomain.Bostadsmarknad.UTLAND; if (params && params.ObjektTypId) { $scope.filterId = new fb.ChangeTrack(params.ObjektTypId); } else { if ($scope.isUtland) { $scope.filterId = new fb.ChangeTrack(fb.FasITDomain.ObjektTypId.MOBelaegnaISpanien); } else { $scope.filterId = new fb.ChangeTrack(-1); } } }); var hasDokumentVaerde = (params && params.DokumentVaerde); var setFilteredList = function () { $scope.filteredStandardTexter = _.filter($scope.standardTexter, function (value: fb.DokumentStandardTextLO) { return $scope.filterId.value === -1 || value.Objekttyp.indexOf($scope.filterId.value) >= 0; }); }; $scope.$watch('filterId.value', function (newVal) { setFilteredList(); }); var laddaStandardTexter = function () { $scope.standardTexter = standardTextService.query(); $scope.standardTexter.$promise.then(function () { setFilteredList(); }); }; laddaStandardTexter(); $scope.standardTextPassthrough = { openStandardTextSideDrawer: function (row) { if (inSideDrawer) { sideDrawerService.stack('StandardText', { StandardTextId: row.StandardTextId, closeCallback: laddaStandardTexter, isDokumentSidedrawer: true, DokumentVaerde: params.DokumentVaerde, CursorPosition: params.CursorPosition }); } else { sideDrawerService.setSideDrawer('StandardText', { StandardTextId: row.StandardTextId, closeCallback: laddaStandardTexter }); } }, anvaendIDokument: function (row) { if (params && params.DokumentVaerde) { if (typeof params.CursorPosition === 'number' && params.DokumentVaerde.Vaerde && params.CursorPosition <= params.DokumentVaerde.Vaerde.length) { params.DokumentVaerde.Vaerde = params.DokumentVaerde.Vaerde.substring(0, params.CursorPosition) + row.Text + params.DokumentVaerde.Vaerde.substring(params.CursorPosition); } else { params.DokumentVaerde.Vaerde = params.DokumentVaerde.Vaerde + row.Text; } $scope.closeStandardTextAdmin(); } }, hasDokumentVaerde: hasDokumentVaerde }; $scope.skapaNyStandardText = function () { if (inSideDrawer) { sideDrawerService.stack('StandardText', { closeCallback: laddaStandardTexter, isDokumentSidedrawer: true, DokumentVaerde: params.DokumentVaerde }); } else { sideDrawerService.setSideDrawer('StandardText', { closeCallback: laddaStandardTexter }); } }; if (inSideDrawer) { $scope.closeStandardTextAdmin = function () { sideDrawerService.clearDrawer(); }; } }]);