/** * First we will load all of this project's JavaScript dependencies which * includes Vue and other libraries. It is a great starting point when * building robust, powerful web applications using Vue and Laravel. */ require('./bootstrap') // jQuery & jQuery UI import 'jquery-ui/ui/widgets/autocomplete.js' import 'jquery-ui/ui/widgets/sortable.js' import 'select2/dist/js/select2.js' $.when($.ready).then(function () { if ($('.message-container').length) { setTimeout( function () { $('.message-container').fadeOut() }, 3500) } if ($('.livestats-container').length) { $('.livestats-container').each(function (index) { var id = $(this).data('id') var dataonly = $(this).data('dataonly') var increaseby = (dataonly === 1) ? 20000 : 1000 var container = $(this) var maxTimer = 30000 var timer = 5000; (function worker () { $.ajax({ url: '/get_stats/' + id, dataType: 'json', success: function (data) { container.html(data.html) if (data.status === 'active') timer = increaseby else { if (timer < maxTimer) timer += 2000 } }, complete: function () { // Schedule the next request when the current one's complete setTimeout(worker, timer) } }) })() }) } function readURL (input) { if (input.files && input.files[0]) { var reader = new FileReader() reader.onload = function (e) { $('#appimage img').attr('src', e.target.result) } reader.readAsDataURL(input.files[0]) } } $('#upload').change(function () { readURL(this) }) /* $(".droppable").droppable({ tolerance: "intersect", drop: function( event, ui ) { var tag = $( this ).data('id'); var item = $( ui.draggable ).data('id'); $.get('tag/add/'+tag+'/'+item, function(data) { if(data == 1) { $( ui.draggable ).remove(); } else { alert('not added'); } }); } }); */ $('#sortable').sortable({ stop: function (event, ui) { var idsInOrder = $('#sortable').sortable('toArray', { attribute: 'data-id' }) $.post( '/order', { order: idsInOrder } ) } }) $('#sortable').sortable('disable') $('#app').on('click', '#config-button', function (e) { e.preventDefault() var app = $('#app') var active = (app.hasClass('header')) app.toggleClass('header') if (active) { $('.add-item').hide() $('.item-edit').hide() $('#app').removeClass('sidebar') $('#sortable').sortable('disable') } else { $('#sortable').sortable('enable') setTimeout(function () { $('.add-item').fadeIn() $('.item-edit').fadeIn() }, 350) } }).on('click', '#add-item, #pin-item', function (e) { e.preventDefault() var app = $('#app') var active = (app.hasClass('sidebar')) app.toggleClass('sidebar') }).on('click', '.close-sidenav', function (e) { e.preventDefault() var app = $('#app') app.removeClass('sidebar') }).on('click', '#test_config', function (e) { e.preventDefault() var apiUrl = $('#create input[name=url]').val() var overrideUrl = $('#create input[name="config[override_url]"').val() if (overrideUrl.length && overrideUrl !== '') { apiUrl = overrideUrl } var data = {} data['url'] = apiUrl $('input.config-item').each(function (index) { var config = $(this).data('config') data[config] = $(this).val() }) $.post('/test_config', { data: data }, function (data) { alert(data) }) }) $('#pinlist').on('click', 'a', function (e) { e.preventDefault() var current = $(this) var id = current.data('id') $.get('items/pintoggle/' + id + '/true', function (data) { var inner = $(data).filter('#sortable').html() $('#sortable').html(inner) current.toggleClass('active') }) }) var elem = $('.color-picker')[0] var hueb = new Huebee(elem, { // options }) $('#appname').autocomplete({ source: availableApps, select: function (event, ui) { $.post('/appload', { app: ui.item.value }, function (data) { $('#appimage').html("") $('input[name=colour]').val(data.colour) hueb.setColor(data.colour) $('input[name=pinned]').prop('checked', true) if (data.config !== null) { $.get('/view/' + data.config, function (getdata) { $('#sapconfig').html(getdata).show() }) } }, 'json') } }) $('.tags').select2() // $('.tags').select2({ // theme: 'bootstrap' // }) })