fixed overflow in markdown-view component and old usage of Markdown global

This commit is contained in:
alecmerdler 2017-05-16 13:12:03 -07:00
parent e2be8481b0
commit a7aa87d490
2 changed files with 95 additions and 93 deletions

View file

@ -1,5 +1,6 @@
.markdown-view-content { .markdown-view-content {
word-wrap: break-word; word-wrap: break-word;
overflow: hidden;
} }
.markdown-view-content p { .markdown-view-content p {

View file

@ -1,110 +1,111 @@
/** /**
* Service which exposes various utility methods. * Service which exposes various utility methods.
*/ */
angular.module('quay').factory('UtilService', ['$sanitize', function($sanitize) { angular.module('quay').factory('UtilService', ['$sanitize', 'markdownConverterFactory',
var utilService = {}; function($sanitize, markdownConverterFactory) {
var utilService = {};
var adBlockEnabled = null; var adBlockEnabled = null;
utilService.isAdBlockEnabled = function(callback) { utilService.isAdBlockEnabled = function(callback) {
if (adBlockEnabled !== null) { if (adBlockEnabled !== null) {
callback(adBlockEnabled); callback(adBlockEnabled);
return; return;
}
if(typeof blockAdBlock === 'undefined') {
callback(true);
return;
}
var bab = new BlockAdBlock({
checkOnLoad: false,
resetOnEnd: true
});
bab.onDetected(function() { adBlockEnabled = true; callback(true); });
bab.onNotDetected(function() { adBlockEnabled = false; callback(false); });
bab.check();
};
utilService.isEmailAddress = function(val) {
var emailRegex = /^[a-zA-Z0-9.!#$%&*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
return emailRegex.test(val);
};
utilService.getMarkedDown = function(string) {
return html = Markdown.getSanitizingConverter().makeHtml(string || '');
};
utilService.getFirstMarkdownLineAsText = function(commentString, placeholderNeeded) {
if (!commentString) {
if (placeholderNeeded) {
return '<p style="visibility:hidden">placeholder</p>';
} }
return '';
}
var lines = commentString.split('\n'); if(typeof blockAdBlock === 'undefined') {
var MARKDOWN_CHARS = { callback(true);
'#': true, return;
'-': true, }
'>': true,
'`': true var bab = new BlockAdBlock({
checkOnLoad: false,
resetOnEnd: true
});
bab.onDetected(function() { adBlockEnabled = true; callback(true); });
bab.onNotDetected(function() { adBlockEnabled = false; callback(false); });
bab.check();
}; };
for (var i = 0; i < lines.length; ++i) { utilService.isEmailAddress = function(val) {
// Skip code lines. var emailRegex = /^[a-zA-Z0-9.!#$%&*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
if (lines[i].indexOf(' ') == 0) { return emailRegex.test(val);
continue; };
utilService.getMarkedDown = function(string) {
return markdownConverterFactory().makeHtml(string || '');
};
utilService.getFirstMarkdownLineAsText = function(commentString, placeholderNeeded) {
if (!commentString) {
if (placeholderNeeded) {
return '<p style="visibility:hidden">placeholder</p>';
}
return '';
} }
// Skip empty lines. var lines = commentString.split('\n');
if ($.trim(lines[i]).length == 0) { var MARKDOWN_CHARS = {
continue; '#': true,
'-': true,
'>': true,
'`': true
};
for (var i = 0; i < lines.length; ++i) {
// Skip code lines.
if (lines[i].indexOf(' ') == 0) {
continue;
}
// Skip empty lines.
if ($.trim(lines[i]).length == 0) {
continue;
}
// Skip control lines.
if (MARKDOWN_CHARS[$.trim(lines[i])[0]]) {
continue;
}
return utilService.getMarkedDown(lines[i]);
} }
// Skip control lines. return '';
if (MARKDOWN_CHARS[$.trim(lines[i])[0]]) { };
continue;
utilService.escapeHtmlString = function(text) {
var textStr = (text || '').toString();
var adjusted = textStr.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
return adjusted;
};
utilService.stringToHTML = function(text) {
text = utilService.escapeHtmlString(text);
text = text.replace(/\n/g, '<br>');
return text;
};
utilService.getRestUrl = function(args) {
var url = '';
for (var i = 0; i < arguments.length; ++i) {
if (i > 0) {
url += '/';
}
url += encodeURI(arguments[i])
} }
return url;
};
return utilService.getMarkedDown(lines[i]); utilService.textToSafeHtml = function(text) {
} return $sanitize(utilService.escapeHtmlString(text));
};
return ''; return utilService;
};
utilService.escapeHtmlString = function(text) {
var textStr = (text || '').toString();
var adjusted = textStr.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
return adjusted;
};
utilService.stringToHTML = function(text) {
text = utilService.escapeHtmlString(text);
text = text.replace(/\n/g, '<br>');
return text;
};
utilService.getRestUrl = function(args) {
var url = '';
for (var i = 0; i < arguments.length; ++i) {
if (i > 0) {
url += '/';
}
url += encodeURI(arguments[i])
}
return url;
};
utilService.textToSafeHtml = function(text) {
return $sanitize(utilService.escapeHtmlString(text));
};
return utilService;
}]); }]);