Unless I am missing something, on top of the getA1Notation error from the answer by @Rubén your onEdit function never calls NormalSort(). Change it to:
function onEdit(e) {
if (e.range.getA1Notation() == 'D3') {
NormalSort();
}
}
For completeness, @Rubén stated in his answerin his answer that there is a "typo" in the OP's code. That we need to use getA1Notation and not getC3Notation, which is not a valid Google Apps Script property of the range class.
Also note that the OP's use of the eval could work provided the item avulauted is the full ine needed to call the function, or NormalSort();
which would probably entail adding "();" to the passed value.