resolvedName = row.status_alias.lib;
} else {
resolvedName = getStatusName(
- oData[0].capabilities[row.status].name,
+ row.capabilities[row.status].name,
row
);
}
$('#illfilter_patron').val('');
}
},
+ keyword: {
+ listener: function () {
+ var me = 'keyword';
+ $('#illfilter_keyword').change(function () {
+ var val = $('#illfilter_keyword').val();
+ if (val && val.length > 0) {
+ activeFilters[me] = function () {
+ table.api().search(val);
+ }
+ } else {
+ if (activeFilters.hasOwnProperty(me)) {
+ delete activeFilters[me];
+ }
+ }
+ });
+ },
+ clear: function () {
+ $('#illfilter_keyword').val('');
+ }
+ },
dateModified: {
clear: function() {
$('#illfilter_datemodified_start, #illfilter_datemodified_end').val('');
$('#illfilter_dateplaced_start, #illfilter_dateplaced_end').val('');
}
}
- };
+ }; //END Filterable columns
// Expand any fields we're expanding
var expandExpand = function(row) {
}
});
};
+ //END Expand
// Strip the expand prefix if it exists, we do this for display
var stripPrefix = function(value) {
? row.status_alias.lib
: row.status_alias.authorised_value;
} else {
- var origData = meta.settings.oInit.originalData;
- if (origData.length > 0) {
- var status_name = meta.settings.oInit.originalData[0].capabilities[
- row.status
- ].name;
- return getStatusName(status_name, row);
- } else {
- return '';
- }
+ var status_name = row.capabilities[row.status].name;
+ return getStatusName(status_name, row);
}
};
});
// Filter partner list
+ // Record the list of all options
+ var ill_partner_options = $('#partners > option');
$('#partner_filter').keyup(function() {
var needle = $('#partner_filter').val();
- $('#partners > option').each(function() {
- var regex = new RegExp(needle, 'i');
+ var regex = new RegExp(needle, 'i');
+ var filtered = [];
+ ill_partner_options.each(function() {
if (
needle.length == 0 ||
$(this).is(':selected') ||
$(this).text().match(regex)
) {
- $(this).show();
- } else {
- $(this).hide();
+ filtered.push($(this));
}
});
+ $('#partners').empty().append(filtered);
});
// Display the modal containing request supplier metadata
// Get our data from the API and process it prior to passing
// it to datatables
var filterParam = prefilters ? '&' + prefilters : '';
- // Only fire the request if we're on the ILL list page
- if (window.location.search.length == 0) {}
+ // Only fire the request if we're on an appropriate page
+ if (
+ (
+ // ILL list requests page
+ window.location.href.match(/ill\/ill-requests\.pl/) &&
+ window.location.search.length == 0
+ ) ||
+ // Patron profile page
+ window.location.href.match(/members\/ill-requests\.pl/)
+ ) {
var ajax = $.ajax(
'/api/v1/illrequests?embed=metadata,patron,capabilities,library,status_alias,comments,requested_partners'
+ filterParam
// Assemble an array of column definitions for passing
// to datatables
var colData = [];
- columns_settings.forEach(function(thisCol) {
+ var columns = table_settings['columns'];
+ columns.forEach(function(thisCol) {
var colName = thisCol.columnname;
// Create the base column object
var colObj = $.extend({}, thisCol);
'sPaginationType': "full_numbers", // Pagination display
'deferRender': true, // Improve performance on big datasets
'data': dataCopy,
+ "dom": '<"top pager"<"table_entries"ilp><"table_controls"B>>tr<"bottom pager"ip>',
'columns': colData,
'originalData': data, // Enable render functions to access
// our original data
}
}
- }, columns_settings);
+ }, table_settings);
// Custom date range filtering
$.fn.dataTable.ext.search.push(function(settings, data, dataIndex) {
- var placedStart = $('#illfilter_dateplaced_start').datepicker('getDate');
- var placedEnd = $('#illfilter_dateplaced_end').datepicker('getDate');
- var modifiedStart = $('#illfilter_datemodified_start').datepicker('getDate');
- var modifiedEnd = $('#illfilter_datemodified_end').datepicker('getDate');
+ var placedStart = $('#illfilter_dateplaced_start').get(0)._flatpickr.selectedDates[0];
+ var placedEnd = $('#illfilter_dateplaced_end').get(0)._flatpickr.selectedDates[0];
+ var modifiedStart = $('#illfilter_datemodified_start').get(0)._flatpickr.selectedDates[0];
+ var modifiedEnd = $('#illfilter_datemodified_end').get(0)._flatpickr.selectedDates[0];
var rowPlaced = data[14] ? new Date(data[14]) : null;
var rowModified = data[16] ? new Date(data[16]) : null;
var placedPassed = true;
});
});
- }
+ } //END if window.location.search.length == 0
var clearSearch = function() {
table.api().search('').columns().search('');