mirror of
https://github.com/wilsonfreitas/awesome-quant.git
synced 2026-08-22 00:08:07 +00:00
deploy: bd3760e607
This commit is contained in:
+1
-1
@@ -185,7 +185,7 @@ ul.task-list li input[type="checkbox"] {
|
|||||||
<div>
|
<div>
|
||||||
<div class="quarto-title-meta-heading">Modified</div>
|
<div class="quarto-title-meta-heading">Modified</div>
|
||||||
<div class="quarto-title-meta-contents">
|
<div class="quarto-title-meta-contents">
|
||||||
<p class="date-modified">February 19, 2024</p>
|
<p class="date-modified">February 20, 2024</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
+3
-3
File diff suppressed because one or more lines are too long
+42
-25
@@ -348,6 +348,15 @@ HTMLWidgets.widget({
|
|||||||
var table = $table.DataTable(options);
|
var table = $table.DataTable(options);
|
||||||
$el.data('datatable', table);
|
$el.data('datatable', table);
|
||||||
|
|
||||||
|
if ('rowGroup' in options) {
|
||||||
|
// Maintain RowGroup dataSrc when columns are reordered (#1109)
|
||||||
|
table.on('column-reorder', function(e, settings, details) {
|
||||||
|
var oldDataSrc = table.rowGroup().dataSrc();
|
||||||
|
var newDataSrc = details.mapping[oldDataSrc];
|
||||||
|
table.rowGroup().dataSrc(newDataSrc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Unregister previous Crosstalk event subscriptions, if they exist
|
// Unregister previous Crosstalk event subscriptions, if they exist
|
||||||
if (instance.ctfilterSubscription) {
|
if (instance.ctfilterSubscription) {
|
||||||
instance.ctfilterHandle.off("change", instance.ctfilterSubscription);
|
instance.ctfilterHandle.off("change", instance.ctfilterSubscription);
|
||||||
@@ -438,6 +447,7 @@ HTMLWidgets.widget({
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (data.filter !== 'none') {
|
if (data.filter !== 'none') {
|
||||||
|
if (!data.hasOwnProperty('filterSettings')) data.filterSettings = {};
|
||||||
|
|
||||||
filterRow.each(function(i, td) {
|
filterRow.each(function(i, td) {
|
||||||
|
|
||||||
@@ -501,7 +511,7 @@ HTMLWidgets.widget({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
var $input2 = $x.children('select');
|
var $input2 = $x.children('select');
|
||||||
filter = $input2.selectize({
|
filter = $input2.selectize($.extend({
|
||||||
options: $input2.data('options').map(function(v, i) {
|
options: $input2.data('options').map(function(v, i) {
|
||||||
return ({text: v, value: v});
|
return ({text: v, value: v});
|
||||||
}),
|
}),
|
||||||
@@ -520,8 +530,7 @@ HTMLWidgets.widget({
|
|||||||
$td.data('filter', value.length > 0);
|
$td.data('filter', value.length > 0);
|
||||||
table.draw(); // redraw table, and filters will be applied
|
table.draw(); // redraw table, and filters will be applied
|
||||||
}
|
}
|
||||||
});
|
}, data.filterSettings.select));
|
||||||
if (searchCol) filter[0].selectize.setValue(JSON.parse(searchCol));
|
|
||||||
filter[0].selectize.on('blur', function() {
|
filter[0].selectize.on('blur', function() {
|
||||||
$x.hide().trigger('hide'); $input.parent().show(); $input.trigger('blur');
|
$x.hide().trigger('hide'); $input.parent().show(); $input.trigger('blur');
|
||||||
});
|
});
|
||||||
@@ -530,10 +539,12 @@ HTMLWidgets.widget({
|
|||||||
var fun = function() {
|
var fun = function() {
|
||||||
searchColumn(i, $input.val()).draw();
|
searchColumn(i, $input.val()).draw();
|
||||||
};
|
};
|
||||||
if (server) {
|
// throttle searching for server-side processing
|
||||||
fun = $.fn.dataTable.util.throttle(fun, options.searchDelay);
|
var throttledFun = $.fn.dataTable.util.throttle(fun, options.searchDelay);
|
||||||
}
|
$input.on('input', function(e, immediate) {
|
||||||
$input.on('input', fun);
|
// always bypass throttling when immediate = true (via the updateSearch method)
|
||||||
|
(immediate || !server) ? fun() : throttledFun();
|
||||||
|
});
|
||||||
} else if (inArray(type, ['number', 'integer', 'date', 'time'])) {
|
} else if (inArray(type, ['number', 'integer', 'date', 'time'])) {
|
||||||
var $x0 = $x;
|
var $x0 = $x;
|
||||||
$x = $x0.children('div').first();
|
$x = $x0.children('div').first();
|
||||||
@@ -619,13 +630,11 @@ HTMLWidgets.widget({
|
|||||||
filter.val(v);
|
filter.val(v);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var formatDate = function(d, isoFmt) {
|
var formatDate = function(d) {
|
||||||
d = scaleBack(d, scale);
|
d = scaleBack(d, scale);
|
||||||
if (type === 'number') return d;
|
if (type === 'number') return d;
|
||||||
if (type === 'integer') return parseInt(d);
|
if (type === 'integer') return parseInt(d);
|
||||||
var x = new Date(+d);
|
var x = new Date(+d);
|
||||||
var fmt = ('filterDateFmt' in data) ? data.filterDateFmt[i] : undefined;
|
|
||||||
if (fmt !== undefined && isoFmt === false) return x[fmt.method].apply(x, fmt.params);
|
|
||||||
if (type === 'date') {
|
if (type === 'date') {
|
||||||
var pad0 = function(x) {
|
var pad0 = function(x) {
|
||||||
return ('0' + x).substr(-2, 2);
|
return ('0' + x).substr(-2, 2);
|
||||||
@@ -646,7 +655,7 @@ HTMLWidgets.widget({
|
|||||||
start: [r1, r2],
|
start: [r1, r2],
|
||||||
range: {min: r1, max: r2},
|
range: {min: r1, max: r2},
|
||||||
connect: true
|
connect: true
|
||||||
}, opts));
|
}, opts, data.filterSettings.slider));
|
||||||
if (scale > 1) (function() {
|
if (scale > 1) (function() {
|
||||||
var t1 = r1, t2 = r2;
|
var t1 = r1, t2 = r2;
|
||||||
var val = filter.val();
|
var val = filter.val();
|
||||||
@@ -661,13 +670,28 @@ HTMLWidgets.widget({
|
|||||||
start: [t1, t2],
|
start: [t1, t2],
|
||||||
range: {min: t1, max: t2},
|
range: {min: t1, max: t2},
|
||||||
connect: true
|
connect: true
|
||||||
}, opts), true);
|
}, opts, data.filterSettings.slider), true);
|
||||||
val = filter.val();
|
val = filter.val();
|
||||||
}
|
}
|
||||||
r1 = t1; r2 = t2;
|
r1 = t1; r2 = t2;
|
||||||
})();
|
})();
|
||||||
|
// format with active column renderer, if defined
|
||||||
|
var colDef = data.options.columnDefs.find(function(def) {
|
||||||
|
return (def.targets === i || inArray(i, def.targets)) && 'render' in def;
|
||||||
|
});
|
||||||
var updateSliderText = function(v1, v2) {
|
var updateSliderText = function(v1, v2) {
|
||||||
$span1.text(formatDate(v1, false)); $span2.text(formatDate(v2, false));
|
// we only know how to use function renderers
|
||||||
|
if (colDef && typeof colDef.render === 'function') {
|
||||||
|
var restore = function(v) {
|
||||||
|
v = scaleBack(v, scale);
|
||||||
|
return inArray(type, ['date', 'time']) ? new Date(+v) : v;
|
||||||
|
}
|
||||||
|
$span1.text(colDef.render(restore(v1), 'display'));
|
||||||
|
$span2.text(colDef.render(restore(v2), 'display'));
|
||||||
|
} else {
|
||||||
|
$span1.text(formatDate(v1));
|
||||||
|
$span2.text(formatDate(v2));
|
||||||
|
}
|
||||||
};
|
};
|
||||||
updateSliderText(r1, r2);
|
updateSliderText(r1, r2);
|
||||||
var updateSlider = function(e) {
|
var updateSlider = function(e) {
|
||||||
@@ -700,7 +724,7 @@ HTMLWidgets.widget({
|
|||||||
// processing
|
// processing
|
||||||
if (server) {
|
if (server) {
|
||||||
// if a search string has been pre-set, search now
|
// if a search string has been pre-set, search now
|
||||||
if (searchCol) searchColumn(i, searchCol).draw();
|
if (searchCol) $input.trigger('input').trigger('change');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -746,15 +770,7 @@ HTMLWidgets.widget({
|
|||||||
$.fn.dataTable.ext.search.push(customFilter);
|
$.fn.dataTable.ext.search.push(customFilter);
|
||||||
|
|
||||||
// search for the preset search strings if it is non-empty
|
// search for the preset search strings if it is non-empty
|
||||||
if (searchCol) {
|
if (searchCol) $input.trigger('input').trigger('change');
|
||||||
if (inArray(type, ['factor', 'logical'])) {
|
|
||||||
filter[0].selectize.setValue(JSON.parse(searchCol));
|
|
||||||
} else if (type === 'character') {
|
|
||||||
$input.trigger('input');
|
|
||||||
} else if (inArray(type, ['number', 'integer', 'date', 'time'])) {
|
|
||||||
$input.trigger('change');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1402,8 +1418,9 @@ HTMLWidgets.widget({
|
|||||||
console.log('The search keyword for column ' + i + ' is undefined')
|
console.log('The search keyword for column ' + i + ' is undefined')
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$(td).find('input').first().val(v).trigger('input');
|
// Update column search string and values on linked filter widgets.
|
||||||
searchColumn(i, v);
|
// 'input' for factor and char filters, 'change' for numeric filters.
|
||||||
|
$(td).find('input').first().val(v).trigger('input', [true]).trigger('change');
|
||||||
});
|
});
|
||||||
table.draw();
|
table.draw();
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user