2015-11-04 11:14:54 -05:00
|
|
|
// Copyright (C) 2015 The Android Open Source Project
|
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
// you may not use this file except in compliance with the License.
|
|
|
|
// You may obtain a copy of the License at
|
|
|
|
//
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
//
|
|
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
// See the License for the specific language governing permissions and
|
|
|
|
// limitations under the License.
|
2016-03-29 21:34:50 -04:00
|
|
|
(function(window) {
|
|
|
|
'use strict';
|
2015-11-04 11:14:54 -05:00
|
|
|
|
2016-03-29 21:34:50 -04:00
|
|
|
var util = window.util || {};
|
2015-11-04 11:14:54 -05:00
|
|
|
|
2016-03-29 21:34:50 -04:00
|
|
|
util.parseDate = function(dateStr) {
|
|
|
|
// Timestamps are given in UTC and have the format
|
|
|
|
// "'yyyy-mm-dd hh:mm:ss.fffffffff'" where "'ffffffffff'" represents
|
|
|
|
// nanoseconds.
|
|
|
|
// Munge the date into an ISO 8061 format and parse that.
|
|
|
|
return new Date(dateStr.replace(' ', 'T') + 'Z');
|
|
|
|
};
|
2015-11-04 11:14:54 -05:00
|
|
|
|
2016-03-29 21:34:50 -04:00
|
|
|
util.htmlEntityMap = {
|
|
|
|
'&': '&',
|
|
|
|
'<': '<',
|
|
|
|
'>': '>',
|
|
|
|
'"': '"',
|
|
|
|
'\'': ''',
|
|
|
|
'/': '/',
|
|
|
|
'`': '`',
|
|
|
|
};
|
2015-11-14 15:40:47 -05:00
|
|
|
|
2016-03-29 21:34:50 -04:00
|
|
|
util.escapeHTML = function(str) {
|
|
|
|
return str.replace(/[&<>"'`\/]/g, function(s) {
|
|
|
|
return util.htmlEntityMap[s];
|
|
|
|
});
|
|
|
|
};
|
2015-11-14 15:40:47 -05:00
|
|
|
|
2016-03-29 21:34:50 -04:00
|
|
|
util.getCookie = function(name) {
|
|
|
|
var key = name + '=';
|
|
|
|
var cookies = document.cookie.split(';');
|
|
|
|
for (var i = 0; i < cookies.length; i++) {
|
|
|
|
var c = cookies[i];
|
|
|
|
while (c.charAt(0) == ' ') {
|
|
|
|
c = c.substring(1);
|
|
|
|
}
|
|
|
|
if (c.indexOf(key) == 0) {
|
|
|
|
return c.substring(key.length, c.length);
|
|
|
|
}
|
2015-12-02 11:40:14 -05:00
|
|
|
}
|
2016-03-29 21:34:50 -04:00
|
|
|
return '';
|
|
|
|
};
|
|
|
|
|
2016-12-09 11:45:40 -08:00
|
|
|
/**
|
|
|
|
* Truncates URLs to display filename only
|
2016-12-19 17:59:48 -08:00
|
|
|
* Example
|
2016-12-09 11:45:40 -08:00
|
|
|
* // returns '.../text.html'
|
|
|
|
* util.truncatePath.('dir/text.html');
|
2016-12-19 17:59:48 -08:00
|
|
|
* Example
|
2016-12-09 11:45:40 -08:00
|
|
|
* // returns 'text.html'
|
|
|
|
* util.truncatePath.('text.html');
|
2016-12-19 17:59:48 -08:00
|
|
|
* @return {String} Returns the truncated value of a URL.
|
2016-12-09 11:45:40 -08:00
|
|
|
*/
|
|
|
|
util.truncatePath = function(path) {
|
|
|
|
var pathPieces = path.split('/');
|
|
|
|
|
|
|
|
if (pathPieces.length < 2) {
|
|
|
|
return path;
|
|
|
|
}
|
|
|
|
// Character is an ellipsis.
|
|
|
|
return '\u2026/' + pathPieces[pathPieces.length - 1];
|
|
|
|
};
|
|
|
|
|
2016-03-29 21:34:50 -04:00
|
|
|
window.util = util;
|
|
|
|
})(window);
|