33 lines
1.3 KiB
JavaScript
33 lines
1.3 KiB
JavaScript
"use strict";
|
|
(function () {
|
|
'use strict';
|
|
angular.module('myitsmApp')
|
|
.directive('checkMultiline', ['events',
|
|
function (events) {
|
|
return {
|
|
restrict: 'A',
|
|
scope: {
|
|
multilineContent: '@',
|
|
multilineMaxHeight: '@',
|
|
isContentMultiline: '='
|
|
},
|
|
link: function (scope, elem, attr, controller) {
|
|
function checkIfMultiline() {
|
|
if (elem.find('[data-ellipsis]').get(0).scrollHeight >= scope.multilineMaxHeight) {
|
|
scope.isContentMultiline = true;
|
|
}
|
|
else {
|
|
scope.isContentMultiline = false;
|
|
}
|
|
scope.$emit(events.MULTILINE_CONTENT_CHANGED, { isContentMultiline: scope.isContentMultiline });
|
|
}
|
|
scope.$watch('multilineContent', function (newValue, oldValue) {
|
|
//Adding timeout, so check happens after page load, else if vertical scroll gets added after check, some edge cases break.
|
|
setTimeout(checkIfMultiline, 0);
|
|
});
|
|
checkIfMultiline();
|
|
}
|
|
};
|
|
}]);
|
|
}());
|