;(function () { 'use strict' var $ = require('jquery') require('blueimp-file-upload') var WebTorrent = require('webtorrent') var client = new WebTorrent({ dht: false }) var $content = $('#ajax_load') // Webtorrent events client.on('error', function (err) { console.error(err) }) client.on('warning', function (err) { console.warning(err) }) // Events of the panel $('#panel_get_videos').on('click', function () { getVideos() }) $('#panel_upload_video').on('click', function () { uploadVideo() }) $('#panel_make_friends').on('click', function () { makeFriends() }) $('#search_video').on('keyup', function (e) { var search = $(this).val() if (search === '') return if (e.keyCode === 13) { $.ajax({ url: '/api/videos/search/' + search, type: 'GET', dataType: 'json', success: function (videos) { printVideos(videos) } }) } }) // Join a new network function makeFriends () { $.ajax({ url: '/api/pods/makefriends', type: 'GET', dataType: 'json', success: function () { alert('Made friends!') } }) } function printVideos (videos) { $content.empty() if (videos.length === 0) { $content.text('There is no videos.') } videos.forEach(function (video) { var $video = $('
').addClass('video') var $video_name = $('').addClass('video_name').text(video.name) var $video_pod = $('').addClass('video_pod_url').text(video.podUrl) var $remove = $('').addClass('span_action glyphicon glyphicon-remove') var $header = $('').append([ $video_name, $video_pod, $remove ]) var $video_description = $('').addClass('video_description').text(video.description) // Get the video $video_name.on('click', function () { getVideo(video) }) // Remove the video $remove.on('click', function () { // TODO if (!confirm('Are you sure ?')) return removeVideo(video) }) if (!video.magnetUri) { $remove.css('display', 'none') } $video.append([ $header, $video_description ]) $content.append($video) }) } // Upload the video, the server will seed it function uploadVideo () { // Creating all the elements var $video_label = $('').attr('for', 'name').text('Video name') var $video_name = $('').addClass('form-control').attr({ name: 'name', id: 'name' }) var $video_block = $('').addClass('form-group').append([ $video_label, $video_name ]) var $title = $('').text('Upload a video') var $button_text = $('').text('Select the video...') var $input_video = $('').attr({ type: 'file', name: 'input_video', id: 'input_video' }) var $button = $('').addClass('btn btn-default btn-file').append([ $button_text, $input_video ]) var $description_label = $('').attr('for', 'description').text('Description') var $description_text = $('').addClass('form-control').attr({ name: 'description', id: 'description', placeholder: 'Description...' }) var $description = $('').addClass('form-group').append([ $description_label, $description_text ]) var $bar = $('