update embed dialog

This commit is contained in:
rolux 2013-02-25 10:17:59 +05:30
parent 735395cb97
commit 46b86ac7a8

View file

@ -206,21 +206,20 @@ pandora.ui.insertEmbedDialog = function(callback) {
$input.position = Ox.Input({ $input.position = Ox.Input({
label: 'Position', label: 'Position',
labelWidth: 128, labelWidth: 128,
placeholder: '00:00:00', placeholder: '00:00:00.000',
width: formWidth width: formWidth
}) })
.addClass('advanced') .addClass('advanced')
.css({display: 'inline-block', margin: '4px 0'}) .css({display: 'inline-block', margin: '4px 0'})
.bindEvent({ .bindEvent({
change: function(data) { change: function(data) {
if ($input['in'].options('value')) { var hasInAndOut = $input['in'].options('value') !== '';
if (data.value) {
$input.position.options({ $input.position.options({
value: Ox.formatDuration( value: limitPoint(
Ox.limit( data.value,
Ox.parseDuration($input.position.options('value')), hasInAndOut ? $input['in'].options('value') : 0,
Ox.parseDuration($input['in'].options('value')), hasInAndOut ? $input.out.options('value') : duration
Ox.parseDuration($input.out.options('value'))
)
) )
}); });
} }
@ -233,22 +232,26 @@ pandora.ui.insertEmbedDialog = function(callback) {
$input['in'] = Ox.Input({ $input['in'] = Ox.Input({
label: 'In Point', label: 'In Point',
labelWidth: 128, labelWidth: 128,
placeholder: '00:00:00', placeholder: '00:00:00.000',
width: formWidth width: formWidth
}) })
.css({display: 'inline-block', margin: '4px 0'}) .css({display: 'inline-block', margin: '4px 0'})
.bindEvent({ .bindEvent({
change: function(data) { change: function(data) {
var min = Ox.parseDuration(data.value) + 1; if (data.value) {
if ( $input['in'].options({
$input.out.options('value') === '' value: limitPoint(data.value, 0, duration)
|| input.out.options('value') < min
) {
$input.out.options({
value: Ox.formatDuration(min)
}); });
if ($input.out.options('value') === '') {
$input.out.options({value: Ox.formatDuration(duration)});
} else if (
Ox.parseDuration($input.out.options('value'))
< Ox.parseDuration(data.value)
) {
$input.out.options({value: data.value});
}
$input.annotation.options({value: ''});
} }
$input.annotation.options({value: ''});
formatURL(); formatURL();
} }
}) })
@ -257,26 +260,26 @@ pandora.ui.insertEmbedDialog = function(callback) {
$input.out = Ox.Input({ $input.out = Ox.Input({
label: 'Out Point', label: 'Out Point',
labelWidth: 128, labelWidth: 128,
placeholder: '00:00:00', placeholder: '00:00:00.000',
width: formWidth width: formWidth
}) })
.css({display: 'inline-block', margin: '4px 0'}) .css({display: 'inline-block', margin: '4px 0'})
.bindEvent({ .bindEvent({
change: function(data) { change: function(data) {
if (Ox.parseDuration(data.value) < 1) { if (data.value) {
$input.out.options({value: 1});
data.value = 1
}
var max = Ox.parseDuration(data.value) - 1;
if (
!input['in'].options('value') === ''
|| input['in'].options > max
) {
$input.out.options({ $input.out.options({
value: Ox.formatDuration(max) value: limitPoint(data.value, 0, duration)
}); });
if ($input['in'].options('value') === '') {
$input['in'].options({value: Ox.formatDuration(0)});
} else if (
Ox.parseDuration($input['in'].options('value'))
> Ox.parseDuration(data.value)
) {
$input['in'].options({value: data.value});
}
$input.annotation.options({value: ''});
} }
$input.annotation.options({value: ''});
formatURL(); formatURL();
} }
}) })
@ -422,6 +425,16 @@ pandora.ui.insertEmbedDialog = function(callback) {
); );
} }
function limitPoint(value, min, max) {
return Ox.formatDuration(
Ox.limit(
Ox.parseDuration(value),
Ox.parseDuration(min),
Ox.parseDuration(max)
)
);
}
function parseURL(url) { function parseURL(url) {
var parsed = Ox.parseURL(url), var parsed = Ox.parseURL(url),
protocol = parsed.protocol.replace(/:$/, ''), protocol = parsed.protocol.replace(/:$/, ''),