mirror of
https://gitlab.com/Shinobi-Systems/ShinobiCE.git
synced 2025-03-09 15:40:15 +00:00
Support Shinobi at https://licenses.shinobi.video/subscribe
This commit is contained in:
parent
ef40f3f231
commit
167603dfb0
118 changed files with 16152 additions and 5441 deletions
|
@ -35,16 +35,195 @@
|
|||
</select></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang['Timezone Offset']%></span></div>
|
||||
<div><select class="form-control" name="timezone">
|
||||
<% [
|
||||
{
|
||||
"text": "UTC−12:00, Y",
|
||||
"value": -720
|
||||
},
|
||||
{
|
||||
"text": "UTC−11:00, X",
|
||||
"value": -660
|
||||
},
|
||||
{
|
||||
"text": "UTC−10:00, W",
|
||||
"value": -600
|
||||
},
|
||||
{
|
||||
"text": "UTC−09:30, V†",
|
||||
"value": -570
|
||||
},
|
||||
{
|
||||
"text": "UTC−09:00, V",
|
||||
"value": -540
|
||||
},
|
||||
{
|
||||
"text": "UTC−08:00, U",
|
||||
"value": -480
|
||||
},
|
||||
{
|
||||
"text": "UTC−07:00, T",
|
||||
"value": -420
|
||||
},
|
||||
{
|
||||
"text": "UTC−06:00, S",
|
||||
"value": -360
|
||||
},
|
||||
{
|
||||
"text": "UTC−05:00, R",
|
||||
"value": -300
|
||||
},
|
||||
{
|
||||
"text": "UTC−04:00, Q",
|
||||
"value": -240
|
||||
},
|
||||
{
|
||||
"text": "UTC−03:30, P†",
|
||||
"value": -210
|
||||
},
|
||||
{
|
||||
"text": "UTC−03:00, P",
|
||||
"value": -180
|
||||
},
|
||||
{
|
||||
"text": "UTC−02:00, O",
|
||||
"value": -120
|
||||
},
|
||||
{
|
||||
"text": "UTC−01:00, N",
|
||||
"value": -60
|
||||
},
|
||||
{
|
||||
"text": "UTC±00:00, Z",
|
||||
"value": 0,
|
||||
"selected": true
|
||||
},
|
||||
{
|
||||
"text": "UTC+01:00, A",
|
||||
"value": 60
|
||||
},
|
||||
{
|
||||
"text": "UTC+02:00, B",
|
||||
"value": 120
|
||||
},
|
||||
{
|
||||
"text": "UTC+03:00, C",
|
||||
"value": 180
|
||||
},
|
||||
{
|
||||
"text": "UTC+03:30, C†",
|
||||
"value": 210
|
||||
},
|
||||
{
|
||||
"text": "UTC+04:00, D",
|
||||
"value": 240
|
||||
},
|
||||
{
|
||||
"text": "UTC+04:30, D†",
|
||||
"value": 270
|
||||
},
|
||||
{
|
||||
"text": "UTC+05:00, E",
|
||||
"value": 300
|
||||
},
|
||||
{
|
||||
"text": "UTC+05:30, E†",
|
||||
"value": 330
|
||||
},
|
||||
{
|
||||
"text": "UTC+05:45, E*",
|
||||
"value": 345
|
||||
},
|
||||
{
|
||||
"text": "UTC+06:00, F",
|
||||
"value": 360
|
||||
},
|
||||
{
|
||||
"text": "UTC+06:30, F†",
|
||||
"value": 390
|
||||
},
|
||||
{
|
||||
"text": "UTC+07:00, G",
|
||||
"value": 420
|
||||
},
|
||||
{
|
||||
"text": "UTC+08:00, H",
|
||||
"value": 480
|
||||
},
|
||||
{
|
||||
"text": "UTC+08:45, H*",
|
||||
"value": 525
|
||||
},
|
||||
{
|
||||
"text": "UTC+09:00, I",
|
||||
"value": 540
|
||||
},
|
||||
{
|
||||
"text": "UTC+09:30, I†",
|
||||
"value": 570
|
||||
},
|
||||
{
|
||||
"text": "UTC+10:00, K",
|
||||
"value": 600
|
||||
},
|
||||
{
|
||||
"text": "UTC+10:30, K†",
|
||||
"value": 630
|
||||
},
|
||||
{
|
||||
"text": "UTC+11:00, L",
|
||||
"value": 660
|
||||
},
|
||||
{
|
||||
"text": "UTC+12:00, M",
|
||||
"value": 720
|
||||
},
|
||||
{
|
||||
"text": "UTC+12:45, M*",
|
||||
"value": 765
|
||||
},
|
||||
{
|
||||
"text": "UTC+13:00, M†",
|
||||
"value": 780
|
||||
},
|
||||
{
|
||||
"text": "UTC+14:00, M†",
|
||||
"value": 840
|
||||
}
|
||||
].forEach(function(option){
|
||||
var selected = ''
|
||||
if(option.selected)selected = 'selected'
|
||||
%>
|
||||
<option value="<%- option.value %>" <%- selected %>><%- option.text %></option>
|
||||
<% }) %>
|
||||
</select></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang['Start']%></span></div>
|
||||
<div><input class="form-control" name="start" placeholder="HH:ss"></div>
|
||||
<div><input class="form-control" name="start" placeholder="HH:mm"></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang['End']%></span></div>
|
||||
<div><input class="form-control" name="end" placeholder="HH:ss"></div>
|
||||
<div><input class="form-control" name="end" placeholder="HH:mm"></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang['Days']%></span></div>
|
||||
<div><select class="form-control" style="min-height:100px" multiple name="days">
|
||||
<option value="0"><%- lang.Sunday %></option>
|
||||
<option value="1"><%- lang.Monday %></option>
|
||||
<option value="2"><%- lang.Tuesday %></option>
|
||||
<option value="3"><%- lang.Wednesday %></option>
|
||||
<option value="4"><%- lang.Thursday %></option>
|
||||
<option value="5"><%- lang.Friday %></option>
|
||||
<option value="6"><%- lang.Saturday %></option>
|
||||
</select></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang['Monitor States']%></span></div>
|
||||
<div><select class="form-control" style="min-height:100px" multiple name="monitorStates">
|
||||
|
@ -60,120 +239,4 @@
|
|||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$.schedules = {
|
||||
e: $('#schedules'),
|
||||
selector: $('#schedulesSelector'),
|
||||
loadedMonitorStates: {},
|
||||
loadedSchedules: {}
|
||||
}
|
||||
$.schedules.f = $.schedules.e.find('form')
|
||||
$.schedules.selectedStates = $.schedules.e.find('[name="monitorStates"]')
|
||||
$.schedules.loadSchedules = function(callback){
|
||||
$.get($.ccio.init('location',$user) + $user.auth_token + '/schedule/' + $user.ke,function(d){
|
||||
console.log(d)
|
||||
var html = ''
|
||||
$.each(d.schedules,function(n,v){
|
||||
$.schedules.loadedSchedules[v.name] = v
|
||||
html += $.ccio.tm('option',{
|
||||
id: v.name,
|
||||
name: v.name
|
||||
})
|
||||
})
|
||||
$.schedules.selector.find('optgroup').html(html)
|
||||
if(callback)callback()
|
||||
})
|
||||
}
|
||||
$.schedules.loadMonitorStates = function(){
|
||||
$.get($.ccio.init('location',$user) + $user.auth_token + '/monitorStates/' + $user.ke,function(d){
|
||||
var html = ''
|
||||
$.each(d.presets,function(n,v){
|
||||
$.schedules.loadedMonitorStates[v.name] = v
|
||||
html += $.ccio.tm('option',{
|
||||
id: v.name,
|
||||
name: v.name
|
||||
})
|
||||
})
|
||||
$.schedules.selectedStates.html(html)
|
||||
})
|
||||
}
|
||||
$.schedules.e.on('shown.bs.modal', function (e) {
|
||||
$.schedules.loadMonitorStates()
|
||||
$.schedules.loadSchedules()
|
||||
})
|
||||
$.schedules.e.on('click','.delete',function(e){
|
||||
$.confirm.e.modal('show');
|
||||
$.confirm.title.text(lang['Delete Monitor States Preset']);
|
||||
$.confirm.body.html(lang.deleteMonitorStateText1);
|
||||
$.confirm.click({title:'Delete',class:'btn-danger'},function(){
|
||||
var form = $.schedules.f.serializeObject()
|
||||
$.post($.ccio.init('location',$user) + $user.auth_token + '/schedule/' + $user.ke + '/' + form.name + '/delete',function(d){
|
||||
$.ccio.log(d)
|
||||
if(d.ok === true){
|
||||
$.schedules.loadSchedules()
|
||||
$.ccio.init('note',{title:lang.Success,text:d.msg,type:'success'})
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
$.schedules.selector.change(function(e){
|
||||
var selected = $(this).val()
|
||||
var loaded = $.schedules.loadedSchedules[selected]
|
||||
var namespace = $.schedules.e.find('[name="name"]')
|
||||
var deleteButton = $.schedules.e.find('.delete')
|
||||
$.schedules.selectedStates.find('option:selected').removeAttr('selected')
|
||||
if(loaded){
|
||||
namespace.val(loaded.name)
|
||||
var html = ''
|
||||
$.each(loaded,function(n,v){
|
||||
$.schedules.f.find('[name="' + n + '"]').val(v)
|
||||
})
|
||||
$.each(loaded.details.monitorStates,function(n,v){
|
||||
$.schedules.selectedStates.find('option[value="' + v + '"]').prop('selected',true)
|
||||
})
|
||||
deleteButton.show()
|
||||
}else{
|
||||
namespace.val('')
|
||||
deleteButton.hide()
|
||||
}
|
||||
})
|
||||
$.schedules.f.submit(function(e){
|
||||
e.preventDefault()
|
||||
var el = $(this)
|
||||
var form = el.serializeObject()
|
||||
var monitors = []
|
||||
var failedToParseAJson = false
|
||||
var rows = $.monitorStates.monitors.find('.state-monitor-row')
|
||||
if(form.name === ''){
|
||||
return $.ccio.init('note',{title:lang['Invalid Data'],text:lang['Name cannot be empty.'],type:'error'})
|
||||
}
|
||||
if(form.start === ''){
|
||||
return $.ccio.init('note',{title:lang['Invalid Data'],text:lang['Start Time cannot be empty.'],type:'error'})
|
||||
}
|
||||
if(form.monitorStates instanceof Array === false){
|
||||
form.monitorStates = [form.monitorStates]
|
||||
}
|
||||
console.log(form.monitorStates)
|
||||
|
||||
var data = {
|
||||
start: form.start,
|
||||
end: form.end,
|
||||
enabled: form.enabled,
|
||||
details:{
|
||||
monitorStates: form.monitorStates
|
||||
}
|
||||
}
|
||||
$.post($.ccio.init('location',$user) + $user.auth_token + '/schedule/' + $user.ke + '/' + form.name + '/insert',{data:data},function(d){
|
||||
$.ccio.log(d)
|
||||
if(d.ok === true){
|
||||
$.schedules.loadSchedules(function(){
|
||||
$.schedules.selector.val(form.name)
|
||||
})
|
||||
$.ccio.init('note',{title:lang.Success,text:d.msg,type:'success'})
|
||||
}
|
||||
})
|
||||
return false;
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<script src="<%-window.libURL%>libs/js/dash2.schedules.js"></script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue