forked from 0x2620/pandora
update embed dialog
This commit is contained in:
parent
c423855dfb
commit
6ef4c47515
1 changed files with 90 additions and 6 deletions
|
@ -15,12 +15,13 @@ pandora.ui.embedDialog = function(/*[url, ]callback*/) {
|
|||
iframeWidth = Math.round(iframeHeight * pandora.site.video.previewRatio),
|
||||
listWidth = 128 + Ox.UI.SCROLLBAR_SIZE,
|
||||
labelWidth = 192,
|
||||
dialogWidth = listWidth + formWidth + 32 + Ox.UI.SCROLLBAR_SIZE,
|
||||
dialogHeight = 384,
|
||||
positionPlaceholder = '00:00:00.000',
|
||||
sites = [pandora.site.site].concat(pandora.site.sites).map(function(site) {
|
||||
return {id: site.url, title: site.url, https: site.https};
|
||||
}),
|
||||
dialogWidth = listWidth + formWidth + 32 + Ox.UI.SCROLLBAR_SIZE,
|
||||
dialogHeight = 384,
|
||||
ui = pandora.user.ui,
|
||||
|
||||
views = [
|
||||
{
|
||||
|
@ -60,13 +61,13 @@ pandora.ui.embedDialog = function(/*[url, ]callback*/) {
|
|||
id: 'map',
|
||||
title: 'Map',
|
||||
description: 'Embed a map view',
|
||||
inputs: ['find', 'sort', 'title']
|
||||
inputs: ['switch', 'item', 'find', 'sort', 'title']
|
||||
},
|
||||
{
|
||||
id: 'calendar',
|
||||
title: 'Calendar',
|
||||
description: 'Embed a calendar view',
|
||||
inputs: ['find', 'sort', 'title']
|
||||
inputs: ['switch', 'item', 'find', 'sort', 'title']
|
||||
},
|
||||
{
|
||||
id: 'document',
|
||||
|
@ -221,7 +222,7 @@ pandora.ui.embedDialog = function(/*[url, ]callback*/) {
|
|||
: '/'
|
||||
)
|
||||
+ (
|
||||
Ox.contains(['info', 'video', 'timeline'], view) ? data.item
|
||||
Ox.contains(['info', 'video', 'timeline'], view) || data.switch == 'item' ? data.item
|
||||
: view == 'list' ? 'list==' + data.list
|
||||
: view == 'document' ? 'documents/' + data.document
|
||||
: view == 'edit' ? 'edits/' + data.edit
|
||||
|
@ -230,7 +231,7 @@ pandora.ui.embedDialog = function(/*[url, ]callback*/) {
|
|||
)
|
||||
+ (
|
||||
Ox.contains(['info', 'timeline'], view) ? '/' + view
|
||||
: Ox.contains(['grid', 'map', 'calendar'], view) ? view
|
||||
: Ox.contains(['grid', 'map', 'calendar'], view) ? (data.switch == 'item' ? '/' : '') + view
|
||||
: ''
|
||||
)
|
||||
+ (
|
||||
|
@ -242,6 +243,57 @@ pandora.ui.embedDialog = function(/*[url, ]callback*/) {
|
|||
).replace(/ /g, '_');
|
||||
}
|
||||
|
||||
function getDefaults() {
|
||||
var options = {};
|
||||
if (ui.section == 'items') {
|
||||
if (!ui.item) {
|
||||
if (ui.listView == 'map') {
|
||||
options.view = 'map';
|
||||
} else if (ui.listView == 'calendar') {
|
||||
options.view = 'calendar';
|
||||
} else if (
|
||||
ui.find.conditions.length == 1
|
||||
&& ui.find.conditions[0].key == 'list'
|
||||
&& ui.find.conditions[0].operator == '=='
|
||||
) {
|
||||
options.view = 'list';
|
||||
} else {
|
||||
options.view = 'grid';
|
||||
}
|
||||
if (options.view == 'list') {
|
||||
options.list = ui.find.conditions[0].value;
|
||||
} else {
|
||||
options.find = ui.find;
|
||||
}
|
||||
} else {
|
||||
if (ui.itemView == 'documents') {
|
||||
options.view = 'document';
|
||||
} else if (Ox.contains(['player', 'editor'], ui.itemView)) {
|
||||
options.view = 'video';
|
||||
} else if (ui.itemView == 'timeline') {
|
||||
options.view = 'timeline';
|
||||
} else if (ui.itemView == 'map') {
|
||||
options.view = 'map';
|
||||
} else if (ui.itemView == 'calendar') {
|
||||
options.view = 'calendar';
|
||||
} else {
|
||||
options.view = 'info';
|
||||
}
|
||||
options.item = ui.item;
|
||||
if (Ox.contains(['player', 'editor', 'timeline'], view)) {
|
||||
// position
|
||||
}
|
||||
if (Ox.contains(['player', 'editor'], view)) {
|
||||
// in, out, annotation
|
||||
}
|
||||
}
|
||||
} else if (ui.section == 'edits') {
|
||||
options.view = 'edit';
|
||||
} else {
|
||||
options.view = 'text';
|
||||
}
|
||||
}
|
||||
|
||||
function getDuration(item, callback) {
|
||||
api.get({
|
||||
id: item,
|
||||
|
@ -375,6 +427,26 @@ pandora.ui.embedDialog = function(/*[url, ]callback*/) {
|
|||
})
|
||||
.appendTo($form);
|
||||
|
||||
$input.switch = Ox.Select({
|
||||
items: [
|
||||
{id: 'item', title: Ox._(pandora.site.itemName.singular)},
|
||||
{id: 'find', title: Ox._('Query')}
|
||||
],
|
||||
label: Ox._('{0} for', [
|
||||
Ox.getObjectById(views, $list.options('selected')[0]).title
|
||||
]),
|
||||
labelWidth: labelWidth,
|
||||
width: formWidth
|
||||
})
|
||||
.css(css)
|
||||
.bindEvent({
|
||||
change: function() {
|
||||
updateForm();
|
||||
updateHTML();
|
||||
}
|
||||
})
|
||||
.appendTo($form);
|
||||
|
||||
$input.item = Ox.Input({
|
||||
label: Ox._(pandora.site.itemName.singular),
|
||||
labelWidth: labelWidth,
|
||||
|
@ -693,6 +765,14 @@ pandora.ui.embedDialog = function(/*[url, ]callback*/) {
|
|||
});
|
||||
}
|
||||
|
||||
function parseURL() {
|
||||
// ...
|
||||
}
|
||||
|
||||
function updateAPI() {
|
||||
// ...
|
||||
}
|
||||
|
||||
function updateForm() {
|
||||
var advanced = $input.advanced.value(),
|
||||
type = $input.type.value(),
|
||||
|
@ -714,6 +794,10 @@ pandora.ui.embedDialog = function(/*[url, ]callback*/) {
|
|||
$input.showLayers[
|
||||
advanced && view == 'video' && $input.showAnnotations.options('value') ? 'show' : 'hide'
|
||||
]();
|
||||
if (Ox.contains(['map', 'calendar'], view)) {
|
||||
$input.item[$input.switch.value() == 'item' ? 'show' : 'hide']();
|
||||
$input.find[$input.switch.value() == 'find' ? 'show' : 'hide']();
|
||||
}
|
||||
}
|
||||
|
||||
function updateHTML() {
|
||||
|
|
Loading…
Reference in a new issue