Begin improving filters
This commit is contained in:
parent
9350ef6d75
commit
4b0e920dc6
6 changed files with 96 additions and 55 deletions
|
|
@ -618,24 +618,29 @@ function updateChatFilters(entries) {
|
|||
$(tbl.children()[1]).remove();
|
||||
}
|
||||
for(var i = 0; i < entries.length; i++) {
|
||||
var f = entries[i];
|
||||
var tr = $("<tr/>").appendTo(tbl);
|
||||
var remove = $("<button/>").addClass("btn btn-mini btn-danger")
|
||||
.appendTo($("<td/>").appendTo(tr));
|
||||
$("<i/>").addClass("icon-remove-circle").appendTo(remove);
|
||||
var regex = $("<code/>").text(entries[i][0])
|
||||
var name = $("<code/>").text(f.name)
|
||||
.appendTo($("<td/>").appendTo(tr));
|
||||
var replace = $("<code/>").text(entries[i][1])
|
||||
var regex = $("<code/>").text(f.source)
|
||||
.appendTo($("<td/>").appendTo(tr));
|
||||
var flags = $("<code/>").text(f.flags)
|
||||
.appendTo($("<td/>").appendTo(tr));
|
||||
var replace = $("<code/>").text(f.replace)
|
||||
.appendTo($("<td/>").appendTo(tr));
|
||||
var activetd = $("<td/>").appendTo(tr);
|
||||
var active = $("<input/>").attr("type", "checkbox")
|
||||
.prop("checked", entries[i][2]).appendTo(activetd);
|
||||
.prop("checked", f.active).appendTo(activetd);
|
||||
|
||||
var remcallback = (function(filter) { return function() {
|
||||
socket.emit("chatFilter", {
|
||||
cmd: "remove",
|
||||
filter: filter
|
||||
});
|
||||
} })(entries[i]);
|
||||
} })(f);
|
||||
remove.click(remcallback);
|
||||
|
||||
var actcallback = (function(filter) { return function() {
|
||||
|
|
@ -644,33 +649,33 @@ function updateChatFilters(entries) {
|
|||
// changed before this callback
|
||||
// [](/amgic)
|
||||
var enabled = active.prop("checked");
|
||||
filter[2] = (filter[2] == enabled) ? !enabled : enabled;
|
||||
filter.active = (filter.active == enabled) ? !enabled : enabled;
|
||||
socket.emit("chatFilter", {
|
||||
cmd: "update",
|
||||
filter: filter
|
||||
});
|
||||
} })(entries[i]);
|
||||
} })(f);
|
||||
active.click(actcallback);
|
||||
}
|
||||
|
||||
var newfilt = $("<tr/>").appendTo(tbl);
|
||||
$("<td/>").appendTo(newfilt);
|
||||
var name = $("<input/>").attr("type", "text")
|
||||
.appendTo($("<td/>").appendTo(newfilt));
|
||||
var regex = $("<input/>").attr("type", "text")
|
||||
.appendTo($("<td/>").appendTo(newfilt));
|
||||
var flags = $("<input/>").attr("type", "text")
|
||||
.val("g")
|
||||
.appendTo($("<td/>").appendTo(newfilt));
|
||||
var replace = $("<input/>").attr("type", "text")
|
||||
.appendTo($("<td/>").appendTo(newfilt));
|
||||
var add = $("<button/>").addClass("btn btn-primary")
|
||||
.text("Add Filter")
|
||||
.appendTo($("<td/>").appendTo(newfilt));
|
||||
var cback = (function(regex, replace) { return function() {
|
||||
var cback = (function(name, regex, fg, replace) { return function() {
|
||||
if(regex.val() && replace.val()) {
|
||||
var re = regex.val();
|
||||
var flags = "g";
|
||||
var slash = re.lastIndexOf("/");
|
||||
if(slash > 0 && re[slash-1] != "\\") {
|
||||
flags = re.substring(slash+1);
|
||||
re = re.substring(0, slash);
|
||||
}
|
||||
var flags = fg.val();
|
||||
try {
|
||||
var dummy = new RegExp(re, flags);
|
||||
}
|
||||
|
|
@ -679,10 +684,16 @@ function updateChatFilters(entries) {
|
|||
}
|
||||
socket.emit("chatFilter", {
|
||||
cmd: "update",
|
||||
filter: [regex.val(), replace.val(), true]
|
||||
filter: {
|
||||
name: name.val(),
|
||||
source: re,
|
||||
flags: flags,
|
||||
replace: replace.val(),
|
||||
active: true
|
||||
}
|
||||
});
|
||||
}
|
||||
} })(regex, replace);
|
||||
} })(name, regex, flags, replace);
|
||||
add.click(cback);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row" style="display: none;" id="modnav">
|
||||
<div class="span10 offset1" id="modtabs">
|
||||
<div class="span12" id="modtabs">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="javascript:void(0)" id="show_chancontrols">Channel Controls</a>
|
||||
|
|
@ -145,10 +145,10 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row modonly" style="display: none" id="chancontrols">
|
||||
<div class="span10 offset1">
|
||||
<div class="span12">
|
||||
<form action="javascript:void(0)">
|
||||
<fieldset>
|
||||
<div class="span4">
|
||||
<div class="span5">
|
||||
<label>When the queue is open:</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" id="opt_qopen_allow_qnext">
|
||||
|
|
@ -203,7 +203,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row modonly" id="banlist" style="display: none;">
|
||||
<div class="span10 offset1">
|
||||
<div class="span12">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<th></th>
|
||||
|
|
@ -215,17 +215,19 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row modonly" id="motdeditor" style="display: none;">
|
||||
<div class="span10 offset1">
|
||||
<div class="span12">
|
||||
<textarea rows="10" id="motdtext"></textarea>
|
||||
<button class="btn btn-primary" id="updatemotd">Update</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row modonly" id="filtereditor" style="display: none;">
|
||||
<div class="span10 offset1">
|
||||
<div class="span12">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<th></th>
|
||||
<th>Name</th>
|
||||
<th>Regex</th>
|
||||
<th>Flags</th>
|
||||
<th>Replacement</th>
|
||||
<th>Active</th>
|
||||
</thead>
|
||||
|
|
@ -233,7 +235,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row modonly" id="channelranks" style="display: none;">
|
||||
<div class="span10 offset1">
|
||||
<div class="span12">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<th>Name</th>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue