forked from 0x2620/pandora
new metadata
This commit is contained in:
parent
3b3c22d7ed
commit
7a8c340312
3 changed files with 574 additions and 53 deletions
|
@ -670,8 +670,8 @@
|
||||||
"sort": true
|
"sort": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "keyword",
|
"id": "topic",
|
||||||
"title": "Keyword",
|
"title": "Topic",
|
||||||
"type": ["string"],
|
"type": ["string"],
|
||||||
"autocomplete": true,
|
"autocomplete": true,
|
||||||
"filter": true,
|
"filter": true,
|
||||||
|
@ -683,6 +683,380 @@
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"find": true
|
"find": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "releasedate",
|
||||||
|
"title": "Release Date",
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "censorshipcertificatenumber",
|
||||||
|
"title": "Censorship Certificate Number",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "dateofcensorcertificate",
|
||||||
|
"title": "Date of Censor Certificate",
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ratingcertificate",
|
||||||
|
"title": "Rating/Certificate",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "length",
|
||||||
|
"title": "Length",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "numberofreels",
|
||||||
|
"title": "Number of Reels",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "format",
|
||||||
|
"title": "Format",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "presentedby",
|
||||||
|
"title": "Presented by",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "coproducer",
|
||||||
|
"title": "Co-Producer",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "associateproducer",
|
||||||
|
"title": "Associate Producer",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "executiveproducer",
|
||||||
|
"title": "Executive Producer",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "associatedirector",
|
||||||
|
"title": "Associate Director",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "chiefassistantdirector",
|
||||||
|
"title": "Chief Assistant Director",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "assistantdirector",
|
||||||
|
"title": "Assistant Director",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "story",
|
||||||
|
"title": "Story",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "screenplay",
|
||||||
|
"title": "Screenplay",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "dialogue",
|
||||||
|
"title": "Dialogue",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "adaptation",
|
||||||
|
"title": "Adaptation",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "musicdirector",
|
||||||
|
"title": "Music Director",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "backgroundmusic",
|
||||||
|
"title": "Background Music",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "orchestration",
|
||||||
|
"title": "Orchestration",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "arranger",
|
||||||
|
"title": "Arranger",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sounddesign",
|
||||||
|
"title": "Sound design",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "soundrecording",
|
||||||
|
"title": "Sound recording",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "rerecording",
|
||||||
|
"title": "Re-Recording",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "musiclabel",
|
||||||
|
"title": "Music Label",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "assistantcinematographer",
|
||||||
|
"title": "Assistant Cinematographer",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "artdirector",
|
||||||
|
"title": "Art Director",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "costumedesign",
|
||||||
|
"title": "Costume design",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "productiondesign",
|
||||||
|
"title": "Production design",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "specialeffects",
|
||||||
|
"title": "Special Effects",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "animation",
|
||||||
|
"title": "Animation",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "singer",
|
||||||
|
"title": "Singer",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "coeditor",
|
||||||
|
"title": "Co-Editor",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "stills",
|
||||||
|
"title": "Stills",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "publicitydesign",
|
||||||
|
"title": "Publicity Design",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "makeup",
|
||||||
|
"title": "Make-Up",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "hairstyles",
|
||||||
|
"title": "Hair Styles",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "dancedirector",
|
||||||
|
"title": "Dance Director",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "productioncontroller",
|
||||||
|
"title": "Production Controller",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "stuntdirector",
|
||||||
|
"title": "Stunt Director",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "continuity",
|
||||||
|
"title": "Continuity",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "publicity",
|
||||||
|
"title": "Publicity",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "courtesy",
|
||||||
|
"title": "Courtesy",
|
||||||
|
"type": ["string"],
|
||||||
|
"advanced": true,
|
||||||
|
"columnWidth": 180,
|
||||||
|
"find": true,
|
||||||
|
"sortType": "person"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "songs",
|
||||||
|
"title": "Song Titles",
|
||||||
|
"type": "text",
|
||||||
|
"find": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "id",
|
"id": "id",
|
||||||
"title": "ID",
|
"title": "ID",
|
||||||
|
@ -747,6 +1121,13 @@
|
||||||
"type": "layer",
|
"type": "layer",
|
||||||
"find": true
|
"find": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "numberofannotations",
|
||||||
|
"title": "Number of Annotations",
|
||||||
|
"type": "integer",
|
||||||
|
"columnWidth": 60,
|
||||||
|
"sort": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "duration",
|
"id": "duration",
|
||||||
"title": "Duration",
|
"title": "Duration",
|
||||||
|
|
|
@ -318,7 +318,7 @@ pandora.ui.infoView = function(data) {
|
||||||
|
|
||||||
renderGroup(['actor']);
|
renderGroup(['actor']);
|
||||||
|
|
||||||
renderGroup(canSeeAllMetadata ? ['genre', 'keyword'] : ['genre']);
|
renderGroup(canSeeAllMetadata ? ['genre', 'topic'] : ['genre']);
|
||||||
|
|
||||||
renderGroup(['imdbId', 'links']);
|
renderGroup(['imdbId', 'links']);
|
||||||
|
|
||||||
|
@ -363,6 +363,90 @@ pandora.ui.infoView = function(data) {
|
||||||
.appendTo($text);
|
.appendTo($text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extra Metadata
|
||||||
|
renderGroup([
|
||||||
|
'censorshipcertificatenumber',
|
||||||
|
'dateofcensorcertificate',
|
||||||
|
'ratingcertificate',
|
||||||
|
'length',
|
||||||
|
'numberofreels',
|
||||||
|
'format'
|
||||||
|
]);
|
||||||
|
renderGroup([
|
||||||
|
'presentedby',
|
||||||
|
'coproducer',
|
||||||
|
'associateproducer',
|
||||||
|
'executiveproducer',
|
||||||
|
'associatedirector',
|
||||||
|
'chiefassistantdirector',
|
||||||
|
'assistantdirector',
|
||||||
|
'story',
|
||||||
|
'screenplay',
|
||||||
|
'dialogue',
|
||||||
|
'adaptation'
|
||||||
|
]);
|
||||||
|
renderGroup([
|
||||||
|
'musicdirector',
|
||||||
|
'backgroundmusic',
|
||||||
|
'orchestration',
|
||||||
|
'arranger',
|
||||||
|
'sounddesign',
|
||||||
|
'soundrecording',
|
||||||
|
'rerecording',
|
||||||
|
'musiclabel'
|
||||||
|
]);
|
||||||
|
renderGroup([
|
||||||
|
'assistantcinematographer',
|
||||||
|
'artdirector',
|
||||||
|
'costumedesign',
|
||||||
|
'productiondesign',
|
||||||
|
'specialeffects',
|
||||||
|
'animation',
|
||||||
|
'singer',
|
||||||
|
'coeditor',
|
||||||
|
'stills',
|
||||||
|
'publicitydesign',
|
||||||
|
'makeup',
|
||||||
|
'hairstyles',
|
||||||
|
'dancedirector',
|
||||||
|
'productioncontroller',
|
||||||
|
'stuntdirector',
|
||||||
|
'continuity',
|
||||||
|
'publicity',
|
||||||
|
'courtesy',
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Songs
|
||||||
|
if (data.songs || canEdit) {
|
||||||
|
Ox.EditableContent({
|
||||||
|
clickLink: pandora.clickLink,
|
||||||
|
collapseToEnd: false,
|
||||||
|
editable: canEdit,
|
||||||
|
format: function(value) {
|
||||||
|
return value.replace(
|
||||||
|
/<img src=/g,
|
||||||
|
'<img style="float: left; max-width: 256px; max-height: 256px; margin: 0 16px 16px 0" src='
|
||||||
|
);
|
||||||
|
},
|
||||||
|
placeholder: formatLight(Ox._('No Songs')),
|
||||||
|
tooltip: canEdit ? pandora.getEditTooltip() : '',
|
||||||
|
type: 'textarea',
|
||||||
|
value: data.songs || ''
|
||||||
|
|
||||||
|
})
|
||||||
|
.css(css)
|
||||||
|
.css({
|
||||||
|
marginTop: '12px',
|
||||||
|
overflow: 'hidden'
|
||||||
|
})
|
||||||
|
.bindEvent({
|
||||||
|
submit: function(data) {
|
||||||
|
editMetadata('songs', data.value);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.appendTo($text);
|
||||||
|
}
|
||||||
|
|
||||||
// Descriptions ------------------------------------------------------------
|
// Descriptions ------------------------------------------------------------
|
||||||
|
|
||||||
$descriptions = $('<div>').attr({id: 'descriptions'}).appendTo($text);
|
$descriptions = $('<div>').attr({id: 'descriptions'}).appendTo($text);
|
||||||
|
@ -371,55 +455,89 @@ pandora.ui.infoView = function(data) {
|
||||||
|
|
||||||
$('<div>').css({height: '16px'}).appendTo($text);
|
$('<div>').css({height: '16px'}).appendTo($text);
|
||||||
|
|
||||||
// Duration, Aspect Ratio --------------------------------------------------
|
if (data.parts && data.rendered) {
|
||||||
|
// Duration, Aspect Ratio --------------------------------------------------
|
||||||
|
|
||||||
|
['duration', 'aspectratio'].forEach(function(key) {
|
||||||
|
var itemKey = Ox.getObjectById(pandora.site.itemKeys, key),
|
||||||
|
value = data[key] || 0;
|
||||||
|
$('<div>')
|
||||||
|
.css({marginBottom: '4px'})
|
||||||
|
.append(formatKey(itemKey.title, 'statistics'))
|
||||||
|
.append(
|
||||||
|
Ox.Theme.formatColor(null, 'gradient')
|
||||||
|
.css({textAlign: 'right'})
|
||||||
|
.html(
|
||||||
|
Ox['format' + Ox.toTitleCase(itemKey.format.type)]
|
||||||
|
.apply(null, [value].concat(itemKey.format.args))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.appendTo($statistics);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Hue, Saturation, Lightness, Volume --------------------------------------
|
||||||
|
|
||||||
|
['hue', 'saturation', 'lightness', 'volume'].forEach(function(key) {
|
||||||
|
var value = data[key] || 0;
|
||||||
|
$('<div>')
|
||||||
|
.css({marginBottom: '4px'})
|
||||||
|
.append(formatKey(key, 'statistics'))
|
||||||
|
.append(
|
||||||
|
Ox.Theme.formatColor(value, key == 'volume' ? 'lightness' : key)
|
||||||
|
.css({textAlign: 'right'})
|
||||||
|
)
|
||||||
|
.appendTo($statistics);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Cuts per Minute, Words per Minute ---------------------------------------
|
||||||
|
|
||||||
|
['cutsperminute', 'wordsperminute'].forEach(function(key) {
|
||||||
|
var value = data[key] || 0;
|
||||||
|
$('<div>')
|
||||||
|
.css({marginBottom: '4px'})
|
||||||
|
.append(
|
||||||
|
formatKey(Ox.toTitleCase(key.slice(0, -9)) + ' per Minute', 'statistics')
|
||||||
|
)
|
||||||
|
.append(
|
||||||
|
Ox.Theme.formatColor(null, 'gradient')
|
||||||
|
.css({textAlign: 'right'})
|
||||||
|
.html(Ox.formatNumber(value, 3))
|
||||||
|
)
|
||||||
|
.appendTo($statistics);
|
||||||
|
});
|
||||||
|
|
||||||
['duration', 'aspectratio'].forEach(function(key) {
|
|
||||||
var itemKey = Ox.getObjectById(pandora.site.itemKeys, key),
|
|
||||||
value = data[key] || 0;
|
|
||||||
$('<div>')
|
$('<div>')
|
||||||
.css({marginBottom: '4px'})
|
.css({marginBottom: '4px'})
|
||||||
.append(formatKey(itemKey.title, 'statistics'))
|
.append(formatKey('Annotations', 'statistics'))
|
||||||
.append(
|
.append(
|
||||||
Ox.Theme.formatColor(null, 'gradient')
|
Ox.Theme.formatColor(null, 'gradient')
|
||||||
.css({textAlign: 'right'})
|
.css({textAlign: 'right'})
|
||||||
.html(
|
.html(Ox.formatNumber(data.numberofannotations || 0))
|
||||||
Ox['format' + Ox.toTitleCase(itemKey.format.type)]
|
|
||||||
.apply(null, [value].concat(itemKey.format.args))
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
.appendTo($statistics);
|
.appendTo($statistics);
|
||||||
});
|
} else {
|
||||||
|
// no video placeholder
|
||||||
|
}
|
||||||
|
|
||||||
// Hue, Saturation, Lightness, Volume --------------------------------------
|
$('<div>')
|
||||||
|
.css({marginBottom: '4px'})
|
||||||
|
.append(formatKey('Documents', 'statistics'))
|
||||||
|
.append(
|
||||||
|
Ox.Theme.formatColor(null, 'gradient')
|
||||||
|
.css({textAlign: 'right'})
|
||||||
|
.html(Ox.formatNumber(data.numberofdocuments || 0))
|
||||||
|
)
|
||||||
|
.on({
|
||||||
|
click: function() {
|
||||||
|
if (data.numberofdocuments) {
|
||||||
|
pandora.UI.set({
|
||||||
|
itemView: 'documents'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.appendTo($statistics);
|
||||||
|
|
||||||
['hue', 'saturation', 'lightness', 'volume'].forEach(function(key) {
|
|
||||||
var value = data[key] || 0;
|
|
||||||
$('<div>')
|
|
||||||
.css({marginBottom: '4px'})
|
|
||||||
.append(formatKey(key, 'statistics'))
|
|
||||||
.append(
|
|
||||||
Ox.Theme.formatColor(value, key == 'volume' ? 'lightness' : key)
|
|
||||||
.css({textAlign: 'right'})
|
|
||||||
)
|
|
||||||
.appendTo($statistics);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Cuts per Minute, Words per Minute ---------------------------------------
|
|
||||||
|
|
||||||
['cutsperminute', 'wordsperminute'].forEach(function(key) {
|
|
||||||
var value = data[key] || 0;
|
|
||||||
$('<div>')
|
|
||||||
.css({marginBottom: '4px'})
|
|
||||||
.append(
|
|
||||||
formatKey(Ox.toTitleCase(key.slice(0, -9)) + ' per Minute', 'statistics')
|
|
||||||
)
|
|
||||||
.append(
|
|
||||||
Ox.Theme.formatColor(null, 'gradient')
|
|
||||||
.css({textAlign: 'right'})
|
|
||||||
.html(Ox.formatNumber(value, 3))
|
|
||||||
)
|
|
||||||
.appendTo($statistics);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Rights Level ------------------------------------------------------------
|
// Rights Level ------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -792,7 +910,7 @@ pandora.ui.infoView = function(data) {
|
||||||
.css({marginLeft: '52px'})
|
.css({marginLeft: '52px'})
|
||||||
.bindEvent({
|
.bindEvent({
|
||||||
click: function() {
|
click: function() {
|
||||||
pandora.UI.set({page: 'rights'});
|
pandora.UI.set({page: 'copyrights'});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.appendTo($line);
|
.appendTo($line);
|
||||||
|
@ -998,8 +1116,10 @@ pandora.ui.infoView = function(data) {
|
||||||
})
|
})
|
||||||
.appendTo($rightsLevel);
|
.appendTo($rightsLevel);
|
||||||
}
|
}
|
||||||
$capabilities = $('<div>').appendTo($rightsLevel);
|
if (data.parts) {
|
||||||
renderCapabilities(data.rightslevel);
|
$capabilities = $('<div>').appendTo($rightsLevel);
|
||||||
|
renderCapabilities(data.rightslevel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleIconSize() {
|
function toggleIconSize() {
|
||||||
|
|
|
@ -36,18 +36,38 @@ pandora.ui.item = function() {
|
||||||
if (!result.data.rendered && [
|
if (!result.data.rendered && [
|
||||||
'clips', 'timeline', 'player', 'editor', 'map', 'calendar'
|
'clips', 'timeline', 'player', 'editor', 'map', 'calendar'
|
||||||
].indexOf(pandora.user.ui.itemView) > -1) {
|
].indexOf(pandora.user.ui.itemView) > -1) {
|
||||||
|
var html = Ox._('Sorry, <i>{0}</i>'
|
||||||
|
+ ' currently doesn\'t have '
|
||||||
|
+ (['a', 'e', 'i', 'o'].indexOf(
|
||||||
|
pandora.user.ui.itemView.slice(0, 1)
|
||||||
|
) > -1 ? 'an': 'a') + ' '
|
||||||
|
+'{1} view.', [result.data.title, Ox._(pandora.user.ui.itemView)]);
|
||||||
pandora.$ui.contentPanel.replaceElement(1,
|
pandora.$ui.contentPanel.replaceElement(1,
|
||||||
Ox.Element()
|
Ox.Element()
|
||||||
.css({marginTop: '32px', fontSize: '12px', textAlign: 'center'})
|
.css({marginTop: '32px', fontSize: '12px', textAlign: 'center'})
|
||||||
.html(
|
.html(html)
|
||||||
Ox._('Sorry, <i>{0}</i>'
|
|
||||||
+ ' currently doesn\'t have '
|
|
||||||
+ (['a', 'e', 'i', 'o'].indexOf(
|
|
||||||
pandora.user.ui.itemView.slice(0, 1)
|
|
||||||
) > -1 ? 'an': 'a') + ' '
|
|
||||||
+'{1} view.', [result.data.title, Ox._(pandora.user.ui.itemView)])
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
pandora.site.itemViews.filter(function(view) {
|
||||||
|
return view.id == 'documents';
|
||||||
|
}).length && pandora.api.get({
|
||||||
|
id: pandora.user.ui.item,
|
||||||
|
keys: ['numberofdocuments']
|
||||||
|
}, function(result) {
|
||||||
|
if (result.data.numberofdocuments) {
|
||||||
|
var $text = Ox.Element()
|
||||||
|
.css({marginTop: '32px', fontSize: '12px', textAlign: 'center'})
|
||||||
|
.html(
|
||||||
|
html
|
||||||
|
+ '<br>'
|
||||||
|
+ Ox._('There are <a href="{0}">{1}</a>', [
|
||||||
|
'/' + pandora.user.ui.item + '/documents',
|
||||||
|
Ox.formatCount(result.data.numberofdocuments, 'document')
|
||||||
|
])
|
||||||
|
)
|
||||||
|
pandora.$ui.contentPanel.replaceElement(1, $text);
|
||||||
|
pandora.createLinks($text);
|
||||||
|
}
|
||||||
|
});
|
||||||
result.data.parts > 0 && pandora.updateStatus(pandora.user.ui.item);
|
result.data.parts > 0 && pandora.updateStatus(pandora.user.ui.item);
|
||||||
} else if (pandora.user.ui.itemView == 'info') {
|
} else if (pandora.user.ui.itemView == 'info') {
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue