Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $(function () {
- dimensionJS.global_init();
- });
- var dimensionJS = {
- global_init: function () {
- dimensionJS.partial_inits.navBar()
- dimensionJS.partial_inits.formValidator();
- dimensionJS.partial_inits.toastr();
- dimensionJS.partial_inits.dataTables()
- },
- partial_inits: {
- navBar: function () {
- $('.left-nav-toggle a').on('click', function (event) {
- event.preventDefault();
- $('body').toggleClass('nav-toggle');
- });
- $(window).resize(_.debounce(function () {
- if ($(window).width() > 767) {
- $('body').removeClass('nav-toggle');
- }
- }, 500));
- $('.nav-second').on('show.bs.collapse', function () {
- $('.nav-second.in').collapse('hide');
- });
- $('.panel-toggle').on('click', function (event) {
- event.preventDefault();
- var hpanel = $(event.target).closest('div.panel');
- var icon = $(event.target).closest('i');
- var body = hpanel.find('div.panel-body');
- var footer = hpanel.find('div.panel-footer');
- body.slideToggle(300);
- footer.slideToggle(200);
- icon.toggleClass('fa-chevron-up').toggleClass('fa-chevron-down');
- hpanel.toggleClass('').toggleClass('panel-collapse');
- setTimeout(function () {
- hpanel.resize();
- hpanel.find('[id^=map-]').resize();
- }, 50);
- });
- $('.panel-close').on('click', function (event) {
- event.preventDefault();
- var hpanel = $(event.target).closest('div.panel');
- hpanel.remove();
- });
- },
- formValidator: function () {
- $('form').bind("invalid-form.validate", function (form, validator) {
- var msg = '';
- for (var i = 0; i < validator.errorList.length; i++) {
- msg += validator.errorList[i].message + ((i < validator.errorList.length) ? '<br />' : '');
- }
- toastr['warning'](msg, 'Warning');
- });
- },
- toastr: function () {
- toastr.options = {
- positionClass: 'toast-bottom-right',
- progressBar: true,
- showEasing: 'swing',
- timeOut: 2500
- };
- },
- dataTables: function () {
- $.extend(true, $.fn.dataTable.defaults, {
- dom: '<"panel panel-filled"<"panel-body"<"row"<"col-sm-2"l><"col-sm-10"B>>>><"panel panel-filled"<"panel-body"<"table-responsive"t>>><"panel panel-filled"<"panel-body"<"row"<"col-sm-5"i><"col-sm-7"p>>>>',
- lengthMenu: [[5, 10, 25, 50, 100, 200, 400], [5, 10, 25, 50, 100, 200, 400]],
- pageLength: 25,
- language: {
- paginate: {
- next: '<i class="fa fa-chevron-right"></i>',
- previous: '<i class="fa fa-chevron-left"></i>'
- },
- aria: {
- paginate: {
- next: 'Next',
- previous: 'Previous'
- }
- }
- },
- buttons: [
- { extend: 'copy', className: 'btn-sm' },
- { extend: 'csv', className: 'btn-sm' },
- { extend: 'excel', className: 'btn-sm' },
- { extend: 'pdf', className: 'btn-sm' },
- { extend: 'print', className: 'btn-sm' }
- ],
- processing: true,
- paging: true,
- deferRender: true,
- responsive: true,
- autoWidth: false,
- serverSide: true
- });
- for (var dt in dimensionJS.dataTables) {
- if ($('#' + dt).length) {
- dimensionJS.dataTables.initiated[dt] = dimensionJS.dataTables[dt]();
- }
- }
- for (var idt in dimensionJS.dataTables.initiated) {
- dimensionJS.dataTables.initiated[idt].columns().every(function () {
- var that = this;
- $('input', this.footer()).on('keyup change', function () {
- if (that.search() !== this.value) {
- that.search(this.value).draw();
- }
- });
- });
- }
- }
- },
- dataTables: {
- initiated: {}, // Initialisatiion container for datatables on screen
- auditLogEntires: function () {
- return $('#auditLogEntires').DataTable({
- ajax: { url: '/Administration/AuditLog/DataHandler' },
- columns: [
- {
- data: 'Timestamp',
- render: function (value) {
- return dimensionJS.helpers.formatUnixDateTime(value);
- }
- },
- { data: 'UserName' },
- { data: 'IPAddress' },
- { data: 'AreaAccessed' },
- { data: 'ControllerAccessed' },
- { data: 'ActionAccessed' },
- ],
- order: [[0, 'desc']]
- });
- },
- versionLogEntries: function () {
- return $('#versionLogEntries').DataTable({
- ajax: {
- type: 'POST',
- url: '/Administration/VersionLog/DataHandler',
- data: function (data) {
- return $.extend({}, data, {
- extra_search: 'test'
- });
- }
- },
- columns: [
- {
- data: 'Timestamp',
- render: function (value) {
- return dimensionJS.helpers.formatUnixDateTime(value);
- }
- },
- { data: 'UserName' },
- {
- data: 'VersionNumber',
- render: function (value) {
- return dimensionJS.helpers.twoDecimalPlaces(value);
- }
- },
- {
- data: 'Details',
- render: function (value) {
- return dimensionJS.helpers.replaceLineBreaks(value);
- }
- }
- ],
- order: [[0, 'desc']]
- });
- }
- },
- ajaxFormActions: {
- onBegin: function (obj) {
- $(obj).find(':input').prop('disabled', true);
- },
- onComplete: function (obj) {
- $(obj).find(':input').prop('disabled', false);
- },
- onFailure: function (msg) {
- toastr['error'](msg, 'Error');
- },
- onSuccess: function (obj, dataTable, msg) {
- toastr['success'](msg, 'Success');
- dimensionJS.dataTables[dataTable].draw();
- $('.modal.in').modal('hide');
- $(obj).trigger('reset');
- }
- },
- helpers: {
- twoDecimalPlaces: function (value) {
- if (value === null) {
- return '';
- }
- else {
- return parseFloat(value).toFixed(2);
- }
- },
- formatUnixDateTime: function (value) {
- if (value === null) {
- return '';
- }
- else {
- var pattern = /Date\(([^)]+)\)/;
- var result = pattern.exec(value);
- var dateTime = parseFloat(result[1]);
- return moment(dateTime).format('DD/MM/YYYY HH:mm:ss');
- }
- },
- replaceLineBreaks: function (value) {
- if (value === null) {
- return '';
- }
- else {
- return value.replace(/\r\n|\r|\n/g, '<br />');
- }
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement