'use strict'; pandora.ui.mediaExistsDialog = function(options) { var title = options.media.length == 1 ? 'File Exists' : 'Files Exist'; var $content = Ox.Element().addClass('OxText').css({ margin: '16px', overflow: 'auto' }).html( '

' + ( options.media.length == 1 && options.items.length == 1 ? Ox._('The video file already exists:') : options.media.length == options.items.length ? Ox._( 'All {0} video files already exist:', [options.media.length] ) : Ox._( '{0} of the {1} video files already exist:', [options.media.length, options.items.length]) ) + '

' + options.media.map(function(media) { return media[options.action == 'upload' ? 'name' : 'title'] + ': ' + media.itemTitle + ''; }).join('
') ) var $buttons = options.media.length == options.items.length ? [ Ox.Button({ id: 'close', title: Ox._('Close') }).bindEvent({ click: function() { that.close(); } }) ] : [ Ox.Button({ id: 'cancel', title: Ox._('Don\'t {0}', [Ox.toTitleCase(options.action)]) }).bindEvent({ click: function() { that.close(); } }), Ox.Button({ id: 'continue', title: Ox._(Ox.toTitleCase(options.action)) + ' ' + (options.items.length - options.media.length) + ' ' + Ox._(options.items.length - options.media.length == 1 ? 'File' : 'Files') }).bindEvent({ click: function() { var existing = options.media.map(function(item) { return item.id; }), items = options.items.filter(function(item) { return existing.indexOf(item.oshash) == -1; }); that.close(); (pandora.user.ui.item ? pandora.api.get : Ox.noop)({ id: pandora.user.ui.item, keys: ['editable'] }, function(result) { pandora.ui.addFilesDialog({ action: options.action, items: items, editable: pandora.user.ui.item && result.data.editable }).open(); }) } }) ]; var that = Ox.Dialog({ buttons: $buttons, closeButton: true, content: $content, height: 256, removeOnClose: true, title: title, width: 512, }); return that; };