Time stuff seems to be working.

master
Sander Vocke 6 years ago
parent d7a300ec6d
commit 580dedb17f
  1. 4
      src/queries.js
  2. 10
      src/userquerywidget.js

@ -1,6 +1,7 @@
import { create_photo, create_album, create_tag } from './media.js'; import { create_photo, create_album, create_tag } from './media.js';
import { sqljs_async_queries } from './database.js'; import { sqljs_async_queries } from './database.js';
import { format } from 'date-fns';
export function escape_regex(s) { export function escape_regex(s) {
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
@ -174,7 +175,8 @@ export class TimeFilter extends ResultFilter {
throw new Error("Unsupported time filter type."); throw new Error("Unsupported time filter type.");
} }
return '(ImageInformation.creationDate' + operator + '"' + this.time.toLocaleString() + '")'; const timestr = format(this.time, "yyyy-MM-dd HH:mm:ss");
return '(ImageInformation.creationDate' + operator + '"' + timestr + '")';
} }
simplify() { return this; } simplify() { return this; }
} }

@ -17,6 +17,7 @@ import Select from '@material-ui/core/Select';
import TextField from '@material-ui/core/TextField'; import TextField from '@material-ui/core/TextField';
import ScheduleIcon from '@material-ui/icons/Schedule'; import ScheduleIcon from '@material-ui/icons/Schedule';
import DateFnsUtils from '@date-io/date-fns'; import DateFnsUtils from '@date-io/date-fns';
import { format } from 'date-fns';
import { MuiPickersUtilsProvider, DateTimePicker } from "@material-ui/pickers"; import { MuiPickersUtilsProvider, DateTimePicker } from "@material-ui/pickers";
import { makeStyles } from '@material-ui/core/styles'; import { makeStyles } from '@material-ui/core/styles';
@ -76,7 +77,7 @@ export function EditTimeFilterExpression(props) {
<Select <Select
labelId={labelid} labelId={labelid}
id={id} id={id}
value={filter.operator} value={filter.type}
onChange={handleChangeType} onChange={handleChangeType}
> >
<MenuItem value={TimeFilterTypeEnum.BEFORE}>Before</MenuItem> <MenuItem value={TimeFilterTypeEnum.BEFORE}>Before</MenuItem>
@ -499,7 +500,7 @@ export function TimeFilterExpressionControl(props) {
const classes = useStyles(); const classes = useStyles();
const { expr, onClick, onChange } = props; const { expr, onClick, onChange } = props;
const relation = ""; var relation = "";
if (expr.type == TimeFilterTypeEnum.BEFORE) { if (expr.type == TimeFilterTypeEnum.BEFORE) {
relation = "Before: "; relation = "Before: ";
} else if (expr.type == TimeFilterTypeEnum.AFTER) { } else if (expr.type == TimeFilterTypeEnum.AFTER) {
@ -508,6 +509,8 @@ export function TimeFilterExpressionControl(props) {
throw new Error("Unsupported time filter type."); throw new Error("Unsupported time filter type.");
} }
const datestr = format( expr.time, "yyyy-MM-dd, HH:mm:ss");
return ( return (
<Button <Button
variant="outlined" variant="outlined"
@ -515,8 +518,7 @@ export function TimeFilterExpressionControl(props) {
aria-controls="simple-menu" aria-haspopup="true" aria-controls="simple-menu" aria-haspopup="true"
onClick={onClick} onClick={onClick}
startIcon={<ScheduleIcon />}> startIcon={<ScheduleIcon />}>
> {relation + datestr}
{relation + expr.time.toLocaleStr()}
</Button> </Button>
); );
} }

Loading…
Cancel
Save