diff --git a/source/Ox.UI/js/Bar/Ox.Progressbar.js b/source/Ox.UI/js/Bar/Ox.Progressbar.js index 276442cf..5d43a9cb 100644 --- a/source/Ox.UI/js/Bar/Ox.Progressbar.js +++ b/source/Ox.UI/js/Bar/Ox.Progressbar.js @@ -90,14 +90,14 @@ Ox.Progressbar = function(options, self) { if (self.options.showCancelButton) { self.$cancelButton = Ox.Button(Ox.extend({ style: 'symbol', - tooltip: self.options.showRestartButton - ? ['Cancel', 'Restart'] : 'Cancel', type: 'image' }, self.options.showRestartButton ? { + tooltip: ['Cancel', 'Restart'], value: 'close', values: ['close', 'redo'] } : { - title: 'close' + title: 'close', + tooltip: 'Cancel' })) .bindEvent({ click: toggleCancelled diff --git a/source/Ox.UI/js/Core/Ox.URL.js b/source/Ox.UI/js/Core/Ox.URL.js index cc1fe6e9..2136fc73 100644 --- a/source/Ox.UI/js/Core/Ox.URL.js +++ b/source/Ox.UI/js/Core/Ox.URL.js @@ -367,13 +367,7 @@ Ox.URL = function(options) { } function parseDuration(str) { - var parts = str.split(':').reverse(); - while (parts.length > 3) { - parts.pop(); - } - return parts.reduce(function(prev, curr, i) { - return prev + (parseFloat(curr) || 0) * Math.pow(60, i); - }, 0); + return Ox.parseDuration(str); } function parseFind(str) { @@ -445,16 +439,6 @@ Ox.URL = function(options) { ); } - function parseTime(str) { - var split = str.split(':').reverse(); - while (split.length > 3) { - split.pop(); - } - return Ox.formatDuration(split.reduce(function(prev, curr, i) { - return prev + (parseFloat(curr) || 0) * Math.pow(60, i); - }, 0)); - } - function parseURL(str, callback) { // fixme: removing trailing slash makes it impossible to search for '/' str = str.replace(/(^\/|\/$)/g, ''); @@ -633,7 +617,7 @@ Ox.URL = function(options) { } else if (type == 'integer') { value = Math.round(str) || 0; } else if (type == 'time') { - value = parseTime(value); + value = Ox.formatDurarion(Ox.parseDuration(value)); } else if (type == 'year') { value = Math.round(str) || 1970; } diff --git a/source/Ox.UI/js/Panel/Ox.CollapsePanel.js b/source/Ox.UI/js/Panel/Ox.CollapsePanel.js index b00bfecf..df349add 100644 --- a/source/Ox.UI/js/Panel/Ox.CollapsePanel.js +++ b/source/Ox.UI/js/Panel/Ox.CollapsePanel.js @@ -83,12 +83,19 @@ Ox.CollapsePanel = function(options, self) { } function toggleCollapsed() { + // show/hide is needed in case the collapsed content + // grows vertically when shrinking the panel horizontally var marginTop; self.options.collapsed = !self.options.collapsed; marginTop = self.options.collapsed ? -that.$content.height() : 0; + !self.options.collapsed && that.css({ + marginTop: -that.$content.height() + 'px' + }).show(); that.$content.animate({ marginTop: marginTop + 'px' - }, 200); + }, 250, function() { + self.options.collapsed && that.hide(); + }); that.triggerEvent('toggle', { collapsed: self.options.collapsed }); diff --git a/source/Ox.UI/js/Video/Ox.AnnotationPanel.js b/source/Ox.UI/js/Video/Ox.AnnotationPanel.js index 199a1fb9..944f8c7e 100644 --- a/source/Ox.UI/js/Video/Ox.AnnotationPanel.js +++ b/source/Ox.UI/js/Video/Ox.AnnotationPanel.js @@ -20,14 +20,14 @@ Ox.AnnotationPanel = function(options, self) { self = self || {}; var that = Ox.Element({}, self) - .defaults({ - id: '', - items: [], - title: '', - type: 'text', - width: 0 - }) - .options(options || {}); + .defaults({ + id: '', + items: [], + title: '', + type: 'text', + width: 0 + }) + .options(options || {}); self.selected = -1; @@ -58,6 +58,8 @@ Ox.AnnotationPanel = function(options, self) { self.$annotations = Ox.List({ construct: function(data) { var $item = Ox.Element() + .addClass('OxAnnotation OxTarget') + .css({padding: '4px 4px 0 4px'}) .append( Ox.Editable({ type: 'textarea', @@ -73,9 +75,7 @@ Ox.AnnotationPanel = function(options, self) { } }) ) - .append($('