fixed overflow in markdown-view component and old usage of Markdown global
This commit is contained in:
parent
e2be8481b0
commit
a7aa87d490
2 changed files with 95 additions and 93 deletions
|
@ -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 {
|
||||||
|
|
|
@ -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, "&")
|
||||||
|
.replace(/</g, "<")
|
||||||
|
.replace(/>/g, ">")
|
||||||
|
.replace(/"/g, """)
|
||||||
|
.replace(/'/g, "'");
|
||||||
|
|
||||||
|
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, "&")
|
|
||||||
.replace(/</g, "<")
|
|
||||||
.replace(/>/g, ">")
|
|
||||||
.replace(/"/g, """)
|
|
||||||
.replace(/'/g, "'");
|
|
||||||
|
|
||||||
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;
|
|
||||||
}]);
|
}]);
|
||||||
|
|
Reference in a new issue