11 (function () { // strict mode wrapper
16 * Capitalise the first letter
18 * @param {string} text
21 UCFirst: function Helpers_UCFirst(text) {
22 return text.charAt(0).toUpperCase() + text.slice(1);
26 * @param {string} fileName
27 * @returns {string} file name without extension
29 getFileName: function Helpers_getFileName(fileName) {
30 var fileNameLen = fileName.indexOf('.');
31 if (fileNameLen !== -1) {
32 fileName = fileName.slice(0, fileNameLen);
38 * @param {string} fileName
39 * @returns {string} extension for specified file name
41 getFileExtension: function Helpers_getFileExtension(fileName) {
42 var splittedFileName = fileName.split('.'),
45 if (splittedFileName.length > 1) {
46 ext = '.' + splittedFileName.pop();
52 * Return icon filename for the given extension.
53 * For example, for '.mp3' returns 'music.png'
58 resolveFileIcon: function Helpers_resolveFileIcon(ext) {
60 ext = ext.toLowerCase();
93 * Resolve file extension to MIME type
95 * @param {string} ext File extension
98 resolveMimeType: function Helpers_resolveMimeType(ext) {
101 ext = ext.toLowerCase();
103 if (ext === '.jpg' || ext === '.png' || ext === '.gif') {
105 } else if (ext === '.mp4' || ext === '.ogv' || ext === '.avi') {
107 } else if (ext === '.mp3') {
109 } else if (ext === '.txt' || ext === '.doc' || ext === '.html' || ext === '.ppt' || ext === '.xls' || ext === '.pdf') {
117 * Returns thumbnail URI for specified file
118 * @param {string} fileName
122 getThumbnailURI: function Helpers_getThumbnailURI(fileName, node) {
123 var ext = this.getFileExtension(fileName),
126 if (!node.thumbnailURIs) {
127 thumbnailURI = 'images/' + this.resolveFileIcon(ext);
128 } else if (node.thumbnailURIs[0] && $.inArray(ext, ['.mp4', '.jpg', '.png', '.gif'])) {
129 thumbnailURI = node.thumbnailURIs[0];
136 * File name automatic number increase for copy files
138 getCopyFileName: function (sourceName, filesList) {
139 var ext = this.getFileExtension(sourceName),
140 fileName = this.getFileName(sourceName),
141 copyFileName = sourceName, i = 1;
142 while ($.inArray(copyFileName, filesList) !== -1) {
144 copyFileName = fileName+'('+i+')'+ext;
154 function height(t, el) {
155 return t.height() > el.height();
157 function width(t, el) {
158 return t.width() > el.width();
161 $.fn.ellipsis = function ()
163 return this.each(function () {
164 var el, text, multiline, t, func;
166 if(el.css("overflow") === "hidden") {
168 multiline = el.hasClass('multiline');
169 t = $(this.cloneNode(true))
171 .css('position', 'absolute')
172 .css('overflow', 'visible')
173 .width(multiline ? el.width() : 'auto')
174 .height(multiline ? 'auto' : el.height())
179 func = multiline ? height : width;
181 while (text.length > 0 && func(t, el)) {
182 text = text.substr(0, text.length - 1);
183 t.html(text + "...");