parent
2b4532c6b9
commit
f108dbfa6a
@ -0,0 +1,47 @@ |
||||
/* |
||||
* Copyright (c) 2016 |
||||
* |
||||
* This file is licensed under the Affero General Public License version 3 |
||||
* or later. |
||||
* |
||||
* See the COPYING-README file. |
||||
* |
||||
*/ |
||||
|
||||
(function(OC) { |
||||
/** |
||||
* @namespace |
||||
*/ |
||||
OC.SystemTags = { |
||||
/** |
||||
* |
||||
* @param {OC.SystemTags.SystemTagModel|Object|String} tag |
||||
* @return {jQuery} |
||||
*/ |
||||
getDescriptiveTag: function(tag) { |
||||
if (_.isUndefined(tag.name) && !_.isUndefined(tag.toJSON)) { |
||||
tag = tag.toJSON(); |
||||
} |
||||
|
||||
if (_.isUndefined(tag.name)) { |
||||
return $('<span>').addClass('non-existing-tag').text( |
||||
t('core', 'Non-existing tag #{tag}', { |
||||
tag: tag |
||||
}) |
||||
); |
||||
} |
||||
|
||||
var $span = $('<span>'), |
||||
$tag = $('<em>').text( |
||||
t('core', '({uservisible}, {userassignable})', { |
||||
uservisible: tag.userVisible ? t('core', 'visible') : t('core', 'invisible'), |
||||
userassignable: tag.userAssignable ? t('core', 'assignable') : t('core', 'not assignable') |
||||
}) |
||||
); |
||||
$span.append(escapeHTML(tag.name) + ' '); |
||||
$span.append($tag); |
||||
return $span; |
||||
} |
||||
}; |
||||
})(OC); |
||||
|
@ -0,0 +1,51 @@ |
||||
/** |
||||
* ownCloud |
||||
* |
||||
* @author Joas Schilling |
||||
* @copyright 2016 Joas Schilling <nickvergessen@owncloud.com> |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
* |
||||
*/ |
||||
|
||||
describe('OC.SystemTags tests', function() { |
||||
it('describes non existing tag', function() { |
||||
var $return = OC.SystemTags.getDescriptiveTag('23'); |
||||
expect($return.text()).toEqual('Non-existing tag #23'); |
||||
expect($return.hasClass('non-existing-tag')).toEqual(true); |
||||
}); |
||||
|
||||
it('describes SystemTagModel', function() { |
||||
var tag = new OC.SystemTags.SystemTagModel({ |
||||
id: 23, |
||||
name: 'Twenty Three', |
||||
userAssignable: true, |
||||
userVisible: true |
||||
}); |
||||
var $return = OC.SystemTags.getDescriptiveTag(tag); |
||||
expect($return.text()).toEqual('Twenty Three (visible, assignable)'); |
||||
expect($return.hasClass('non-existing-tag')).toEqual(false); |
||||
}); |
||||
|
||||
it('describes JSON tag object', function() { |
||||
var $return = OC.SystemTags.getDescriptiveTag({ |
||||
id: 42, |
||||
name: 'Fourty Two', |
||||
userAssignable: false, |
||||
userVisible: false |
||||
}); |
||||
expect($return.text()).toEqual('Fourty Two (invisible, not assignable)'); |
||||
expect($return.hasClass('non-existing-tag')).toEqual(false); |
||||
}); |
||||
}); |
Loading…
Reference in new issue