Skip to content
Snippets Groups Projects
Select Git revision
  • 0515eea9f0c0c52350cd8e7690d6d1f10b991892
  • master default protected
  • forbid-save-as
  • upload-via-token
  • moodle-integration
  • patch-double-tap-seek
  • patch_datum_anzeigen
  • patch_raum_anzeigen
  • intros
  • live_sources
  • bootstrap4
  • modules
12 results

moderator.js

Blame
  • Forked from Video AG Infrastruktur / website
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    moderator.js 2.01 KiB
    var moderatorinterface = {
    	init: function () {
    		$(function () {
    			var editable = $('.modeditable');
    			for (var i=0; i<editable.length; i++) {
    				var e = $(editable[i]);
    
    				$('.modeditablesign',e).popover(
    					{
    						title: e.data('path'),
    						html: true,
    						trigger: 'click',
    						container: 'body',
    						content: function() {
    							return '<div class="row form-group">'+
    									'<span class="col-xs-12">'+
    										'<textarea class="form-control editorvalue" rows="3" data-path="'+$(this.parentElement).data('path')+'">'+this.parentElement.getElementsByClassName('modeditablevalue')[0].innerHTML+'</textarea>'+
    									'</span>'+
    									'<span class="col-xs-12">'+
    										'<input class="btn btn-default pull-right editorbtn" type="submit" data-path="'+$(this.parentElement).data('path')+'" value="save" onClick="moderatorinterface.edit(this)">'+
    									'</span>'+
    								'</div>';
    						}
    					}		
    				);
    			}
    		})
    	},
    	edit: function (src) {
    		var path = $($(src)[0]).data('path');
    		var value = $(".editorvalue")[0].value;
    
    		var editable = $('.modeditable');
    		for (var i=0; i<editable.length; i++) {
    			var e = $(editable[i]);
    
    			if (e.data('path') == path) {
    				$('.modeditablesign',e).click();
    				$(".modeditablevalue",e).html(value);
    			}
    		}
    		moderatorinterface.set(path,value);
    	},
    	change: function(src) {
    		var value = $(src)[0].checked;
    		var path = $(src).data('path');
    		moderatorinterface.set(path,value ? 1 : 0);
    	},
    	set: function(path,value,reload=false) {
    		var req = {};
    		req[path] = value;
    		$.ajax({
    			method: "POST",
    			url: "/edit",
    			dataType: "text",
    			contentType: "application/json",
    			data: JSON.stringify(req),
    			success: function () {
    				if (reload) {
    					window.location.reload();
    				}
    			}
    		})
    	},
    	delete: function(src) {
    		if (confirm('Realy delete this?')) { 
    			moderatorinterface.set($(src).data('path'),1,true); 
    		}
    	},
    	gethttp: function (url){
    		$.ajax({
    			method: "GET",
    			url: url,
    			dataType: "text",
    		})
    	}
    };
    
    $( document ).ready( moderatorinterface.init() );