| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <ul class="breadcrumb">
- <li><a href="addonmodules.php?module=DNSManager2"><i class="fa fa-home"></i></a></li>
- <li class="active">{$MGLANG->absoluteT('addonAA', 'pagesLabels', 'settings', 'packages')}</li>
- </ul>
- <table class="table table-hover table-striped" id="packageslist">
- <thead>
- <tr>
- <th>{$MGLANG->T('table','name')}</th>
- <th>{$MGLANG->T('table','servers')}</th>
- <th>{$MGLANG->T('table','assigned_to')}</th>
- <th>{$MGLANG->T('table','status')}</th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- </tbody>
- </table>
-
- <div class="well">
- <a class="btn btn-success btn-inverse" data-act="addPackage">{$MGLANG->T('add_package')}</a>
- </div>
-
- {literal}
- <style>
- .mg-wrapper .checkbox-styled.disabled {
- cursor: not-allowed;
- }
-
- .mg-wrapper #items-tab label.checkbox[title] {
- color: #BED1C6;
- }
-
- .mg-wrapper #items-tab label.checkbox-other {
- padding-top: 0px;
- padding-bottom: 0px;
- }
-
- </style>
- <script data-cfasync="false" type="text/javascript">
- function refreshTable() {
- jQuery('#packageslist').DataTable().ajax.reload();
- }
-
- function packageSaveCallback(data, $obj) { refreshTable();}
- function disablePackageCallback(data, $obj) { refreshTable();}
- function enablePackageCallback(data, $obj) { refreshTable();}
- function removePackageCallback(data, $obj) { refreshTable();}
-
- function addPackageServerCallback(data, $obj) {
- if(data.new_server) {
- var $table = $obj.parents('div.tab-pane').first().find('.package-servers-table');
- $table.find('tbody').append(data.new_server);
- $table.find('.nobody-is-here').hide();
- var $select = $obj.parents('.row').find('select');
- $select.find('option:selected').attr('disabled', 'disabled');
- $select.find('option:not([disabled])').attr('selected', 'selected').prop('selected', true);
- $select.select2();
- DNSStartServerValidation();
- }
- }
-
- function removeServerRow($obj, serverid) {
- $('.mg-wrapper [title]').bstooltip('hide');
- var $tbody = $obj.parents('tbody');
- $obj.parents('tr').first().remove();
- if(!Boolean($tbody.find('tr:not(.nobody-is-here)').length)) {
- $tbody.find('.nobody-is-here').show();
- }
-
- $('#server-tab').find('select[name=add_server] option[value='+serverid.toString()+']').removeAttr('disabled');
- DNSStartServerValidation();
- return false;
- }
-
- // Commented by Vitalii A
- // function is now in mgLibs.js (TODO : make scripts in js script files, templates are loaded several times, don't know why, maybe caching is f*cked up
- </script>
- {/literal}
- {literal}
- <script data-cfasync="false" type="text/javascript">
- jQuery(document).ready(function(){
- var last;
-
- jQuery('#table-filters').change(function() {
- jQuery('#packageslist').DataTable().ajax.reload();
- });
-
- jQuery('#packageslist').dataTable({
- drawCallback:replaceEmptyRowDataTable,
- serverSide: true,
- // searching: true,
- searchDelay: 800,
- autoWidth: false,
- ajax: function(data, callback, settings){
- if(last != data.length) {
- data.start = 0;
- }
- last = data.length;
-
- var filters = [];//$('#table-filters :input').serializeArray();
- JSONParser.request(
- 'refreshPackagesTable'
- , $.merge(filters, [
- {name: 'order[column]', value: data.columns[data.order[0].column].name},
- {name: 'order[dir]', value: data.order[0].dir},
- {name: 'limit', value: data.length},
- {name: 'offset', value: data.start},
- {name: 'search', value: data.search.value},
- ])
- , function(data) {
- callback(data);
- jQuery('.mg-wrapper [title]').bstooltip({html: true});
- }
- );
- },
- columns: [
- {name: 'name'}
- ,{name: 'servers', orderable: false}
- ,{name: 'assignedto', orderable: false}
- ,{name: 'status'}
- ,{ orderable: false, targets: 0}
- ],
- pagingType: "simple_numbers",
- aLengthMenu: [
- [5, 10, 25, 50, 75, 100],
- [5, 10, 25, 50, 75, 100]
- ],
- iDisplayLength: 10,
- //sDom: 't<"table-bottom"<"row"<"col-sm-6"p><"col-sm-6"L>>>',
- "oLanguage": {
- "oPaginate" : {
- "sNext": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sNext')}{literal}",
- "sFirst": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sFirst')}{literal}",
- "sLast ": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sLast')}{literal}",
- "sPrevious": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sPrevious')}{literal}",
- },
- "sEmptyTable": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sEmptyTable')}{literal}",
- "sPrevious": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sPrevious')}{literal}",
- "sNext": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sNext')}{literal}",
- "sZeroRecords": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sZeroRecords')}{literal}",
- "sInfoEmpty": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfoEmpty')}{literal}",
- "sSearch": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sSearch')}{literal}",
- "sLengthMenu": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sLengthMenu')}{literal}",
- "sInfoFiltered": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfoFiltered')}{literal}",
- "sInfo": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfo')}{literal}",
- }
- });
-
- });
- </script>
- {/literal}
|