Commit Graph

202 Commits (a7cae3203bc096a466bb10d62c93a93113263e03)

Author SHA1 Message Date
Tom Hacohen 02ac73eb25 AddressBook: add missing key property to list items.
Well actually just remove the useless div, but the driver was
to add the missing key prop.
2020-03-18 18:02:49 +02:00
Andrew P Maney effd74e0b2 Tasks: adds filter by tag feature
Squash of #94
2020-03-17 13:25:01 +02:00
Tom Hacohen ec9d8d3329 Revert "Tasks: adds filter by tag feature"
Reverting because I'm not the author. The next commit will have the
right author set.

This reverts commit b14697474c.
2020-03-17 13:23:45 +02:00
Tom Hacohen b14697474c Tasks: adds filter by tag feature
Squash of #94
2020-03-17 13:17:22 +02:00
Andrew P Maney 9f618ab36c Tasks: changes margin units from px to em 2020-03-14 21:36:25 +02:00
Andrew P Maney c113c8b283 Tasks: displays tags on Task list items 2020-03-14 21:36:25 +02:00
Andrew P Maney fe8fbfdfd8 Tasks: adds tags 2020-03-14 21:36:25 +02:00
Andrew P Maney 93f06f81cd Tasks: moves misplaced const
a const was accidentally placed in the middle of imports,
that has been moved
2020-03-14 08:44:15 +02:00
Andrew P Maney f04212a1e6 Tasks: renames some vars from event to task
I assume this is just some cruft from a bad copy-paste
2020-03-13 21:51:08 +02:00
Tom Hacohen e0e805d009 JournalEntries: use a virtualized list for the entries. 2020-03-13 16:56:17 +02:00
Tom Hacohen 2397cfbe6d AddressBook: use a virtualized list for the contacts. 2020-03-13 16:46:30 +02:00
Tom Hacohen 8aa4af46f1 TaskEdit: fix crash when saving tasks with no status set. 2020-03-13 11:19:36 +02:00
Tom Hacohen 18967ddb16 TaskEdit: use null coalescing instead of ||.
It technically works because undefined happens to be falsey, but still bad
practice and can lead to errors (especially when copy-pasting).
2020-03-13 11:17:05 +02:00
Andrew P Maney 29d1e5cfe5 Tasks: adds mapPriority helper function
handles any possible issues with priorities that aren't 1, 5, or 9
2020-03-13 11:15:59 +02:00
Andrew P Maney bdd89fb533 Tasks: colors checkbox according to priority 2020-03-13 11:15:59 +02:00
Andrew P Maney 0436e9ccd0 Tasks: adds colored radio buttons
available as widget, they are being used for priority in Task Edit
2020-03-13 11:15:59 +02:00
Andrew P Maney add95621af Tasks: adds priority to Task type
with ability to edit in form
2020-03-13 11:15:59 +02:00
Andrew P Maney dc1b17f7f4 Tasks: adds secondary text displaying time until due 2020-03-12 11:02:42 +02:00
Tom Hacohen 8e1e3b8fe1 TaskListItem: change from anonymous to named function.
Other than the stylistic choice, this is also very useful for the react
dev tools, which show the component's name.
2020-03-12 10:19:16 +02:00
Andrew P Maney ad3958ae88 Tasks: adds checkbox to Task list item 2020-03-12 10:03:25 +02:00
Tom Hacohen 649a7cd281 Event view: change the text colour based on background.
This is needed to ensure a good enough contrast.

Fixes #85.
2020-03-11 20:07:13 +02:00
Andrew P Maney 9e1c7ea8d5 Tasks: adds license 2020-03-11 11:27:51 +02:00
Andrew P Maney 632ec9cacf Pim: changes how onItemSave handles post-save action
onItemSave used to automatically "go back" after saving. New behavior is
onItemSave returns a promise that resolves to the history object. This object
can then be used to go back if needed. This allows for more granular control
over post-save actions.
2020-03-11 11:27:51 +02:00
Andrew P Maney b4ef6e641d Tasks: Quick Add feature
This is a merge of #84
2020-03-11 11:26:25 +02:00
Tom Hacohen c9aefdec4c Revert "Tasks: Quick Add feature"
Completely broken, had to revert it.

This reverts commit f5eb1932e8.
2020-03-09 19:57:59 +02:00
Tom Hacohen e75e1c5c5e Revert "Tasks: add license to files"
Depends on a completely broken piece of code.

This reverts commit 75f2b50a29.
2020-03-09 19:57:47 +02:00
Andrew P Maney 75f2b50a29 Tasks: add license to files 2020-03-09 19:30:55 +02:00
Andrew P Maney f5eb1932e8 Tasks: Quick Add feature 2020-03-09 19:30:55 +02:00
Andrew P Maney 5d54ab4563 Tasks: reorganizes Tasks components into their own subfolder 2020-03-09 19:27:55 +02:00
Tom Hacohen 0b18cac914 Licensing: add license headers to source files. 2020-03-06 21:10:40 +02:00
Tom Hacohen b76a909b7a Login Form: change the label to Email from Username. 2020-02-10 15:40:23 +02:00
Tom Hacohen cac9b21135 AddressBook: fix search when there are contacts with a full name. 2020-01-26 10:48:26 +02:00
Tom Hacohen 28b11e59ff AddressBook: fix crash when fullname is undefined. 2020-01-22 21:42:08 +02:00
Tom Hacohen d268c0fab6 Event Edit: fix handling of recurring events with an until field.
It was slightly the wrong type because of typings were wrong. We now explicitly
convert it.
2020-01-14 22:46:12 +02:00
Tom Hacohen 7b22e0e76b RRule: move filtering of empty values to inside the widget. 2020-01-14 22:40:07 +02:00
Tom Hacohen af65d20444 rrule: handle empty/undefined values 2020-01-14 22:19:58 +02:00
Tom Hacohen 116883e207 ical.js types: fix ICAL.Recur's type and adjust code accordingly 2020-01-14 22:19:58 +02:00
Tom Hacohen 4b20a0db5f Event Edit: simplify code and make it persist the rrule
While at it, also fix an issue with byday needing to be string[] and not
number[]
2020-01-14 22:19:58 +02:00
Tal Leibman 3897d38fb0 components: EventEdit removed whitespace changes 2020-01-14 22:19:58 +02:00
Tal Leibman 0661190aef components: EventEdit state name "rruleOptions" to "rrule" 2020-01-14 22:19:58 +02:00
Tal Leibman bd98d833aa components: EventEdit warning message 2020-01-14 22:19:58 +02:00
Tal Leibman 0657e79e45 widgets: name change "RRuleEteSync" to "RRule" 2020-01-14 22:19:58 +02:00
Tal Leibman 7b17a14a84 components: EventEdit add RRule widget 2020-01-14 22:19:58 +02:00
Tal Leibman aae9cd5d16 EventEdit: import RRuleEteSync 2020-01-14 22:19:58 +02:00
Tal Leibman 265f2a091b Event Edit: change container to Fragment 2020-01-14 22:19:58 +02:00
Tom Hacohen b54f25eee9 Handle contacts with null for a uid.
It seems like we aren't setting a uid for contacts without one when importing
so it's possible to get ones without a uid.

Opened ticket #71 to track this issue.
2020-01-04 23:26:36 +02:00
Tom Hacohen 052543261f Unify ICAL parsing and omit property group names.
The property groups were causing us issues and making it very hard
to handle these properties. And since we were not dealing with them
anyway, it's better to just remove them (standard allows this).

ical.js doesn't deal with them correctly, which is the source of this
problem. More info:
https://github.com/mozilla-comm/ical.js/issues/411
2019-12-24 01:00:39 +02:00
Tom Hacohen 583e9090d8 TaskList: make it possible to view completed items. 2019-11-26 22:47:08 +02:00
Tom Hacohen 1eb561342f TaskEdit: fix editing of tasks without a start/due/completion date. 2019-11-26 22:35:56 +02:00
Tom Hacohen ec5d1faaa1 TaskList: convert to a pure functional component. 2019-11-26 22:28:04 +02:00
Tom Hacohen 3730300411 Event/task edit: handle timezones.
Fixes #29
2019-11-24 18:49:40 +02:00
Tom Hacohen 6a0fc11ab3 Event/task edit: improve design. 2019-11-24 18:49:40 +02:00
Tom Hacohen fed79fcfea Task/event: show current timezone next to events with timezones.
We were previously showing the original timezone which was confusing.
2019-11-24 18:49:40 +02:00
Tom Hacohen 80e249c958 Task list: fix typing. 2019-11-24 18:49:40 +02:00
Tom Hacohen 9ae370ac01 Task list: simplify sort function. 2019-11-24 18:49:40 +02:00
Tom Hacohen d3b4145269 Use the new UNSAFE_componentWillReceiveProps function name
We should redesign these, but until then, this should unbreak linting.
2019-11-24 18:49:40 +02:00
Tom Hacohen e407976e58 Journal Entries: make parse errors non-fatal here too.
This is in continuation to 9abb3dcad9.

Fixes #48
2019-11-20 21:01:46 +02:00
Tom Hacohen 8656d1076f Update react-big-calendar. 2019-11-18 16:45:37 +02:00
Tom Hacohen fcf8f1af58 Upgrade material-ui. 2019-11-18 16:38:14 +02:00
Tom Hacohen 95944d87b5 PrettyError: redesign to make more reusable. 2019-11-18 12:39:18 +02:00
Tom Hacohen 8fe360751e Address book: handle contact names with length 0.
We were handling non existent contact names, but not
ones with length 0. This fixes this.

Fixes #62.
2019-11-17 19:31:03 +02:00
Tom Hacohen c7d4a15f5f Move the etesync-js API to its own repo. 2019-11-12 09:55:35 +02:00
Tom Hacohen f3de2a641a eslint: changed unused-args to always warn. 2019-11-07 12:02:51 +02:00
Tom Hacohen 566261b91a lint: fix all remaining warnings! 2019-11-07 07:55:51 +02:00
Tom Hacohen ab5495e221 Eslint: update rules and adjust code accordingly. 2019-11-06 23:00:32 +02:00
Tom Hacohen 29d4153e60 Fix some tsserver suggestions. 2019-11-06 10:37:56 +02:00
Tom Hacohen 11dd883f5f lint: replace tslint with eslint and fix new warnings and errors. 2019-11-06 00:18:17 +02:00
Tom Hacohen 514f4ccddb Login: show text about setting the encryption key on first login. 2019-10-29 16:11:38 +02:00
Tom Hacohen 25afd02ba5 Remove recompose dep and use React.memo instead. 2019-10-24 11:20:43 +03:00
Tom Hacohen ba8d899d5d Fix eslint warnings. 2019-10-17 00:02:18 +03:00
Claus Niesen ff47e38845 Fix display of recurring events.
Fixes #56
2019-10-15 09:52:00 +03:00
Tom Hacohen 8d76e134e8 Contact: change the field copy button to use the correct icon. 2019-09-10 22:28:03 +01:00
Tal Leibman 6d45c31f98 Contacts: Add a button to copy fields to clipboard
Fixes #39
2019-09-10 22:12:47 +01:00
Tom Hacohen ea67bb4b87 AddressBook: fix handling of contacts with empty names.
Fixes #49
2019-09-02 15:36:50 +01:00
Tom Hacohen 46fe1ceeb6 Gracefully handle wrong encryption passwords.
Until now we just showed integrity error which could be one of many issues.
Now we show an explicit error message and only clear the encryption password
cache rather than the whole cache.
2019-05-21 16:56:34 +01:00
Tom Hacohen 49273fbc6f Calendar: scroll to 8am when opening week and day views.
Fixes #40.
2019-03-15 13:40:16 +00:00
Tom Hacohen aeca32afa8 AddressBook: make sort case insensitive.
Fixes #34.
2019-02-24 19:31:02 +00:00
Tom Hacohen ad45ad3f83 Update tslint and fix warnings. 2019-02-22 16:27:35 +00:00
Tom Hacohen 7da0a6009b More tslint fixes. 2019-02-22 09:43:05 +00:00
Tom Hacohen 9913adc756 Update tslint config and update code to conform. 2019-02-22 09:38:12 +00:00
Tom Hacohen 3b7fadcc69 Set the locale based on the settings.
Partially fixes #4
2019-02-16 19:22:31 +00:00
Tom Hacohen b46291f360 Make the login screen slightly nicer. 2019-02-16 18:22:15 +00:00
Tom Hacohen 5237b14b74 Event and task: show timezone information.
First steps towards #29.
2019-02-15 10:59:49 +00:00
Tom Hacohen 172cc4ce53 Task: rename the completed property to finished and include cancelled. 2019-02-14 22:00:13 +00:00
Tom Hacohen 66d95216f7 Add support for editing a task's status. 2019-02-14 21:57:19 +00:00
Tom Hacohen a32e2c9019 Event and task description: show the text preformatted.
We previously had it in a div, which was dropping newlines.
2019-02-14 21:47:32 +00:00
Tom Hacohen 47c259d803 Improve task viewing. 2019-02-14 21:47:32 +00:00
Tom Hacohen c2d4027e13 Move event date formatting function to a shared place. 2019-02-14 21:47:32 +00:00
Tom Hacohen 4db3b24743 Add task edit support. 2019-02-14 21:47:32 +00:00
Tom Hacohen 09ddfe8be8 Event: fix date calculation to account for exact same dates. 2019-02-14 20:15:48 +00:00
Tom Hacohen 82434cec2c Fix exception by moving to the better props type declaration.
Seems like a regression with React (or a deprecation?) as it used to
work. Though the separate interface style is better and works better
with typescript anyway.
2019-02-14 11:12:56 +00:00
Tom Hacohen 2fd674a456 Add support for tasks. 2019-02-14 11:12:56 +00:00
Tom Hacohen d11180fed6 Fix material ui depracations. 2019-02-14 11:09:05 +00:00
Tom Hacohen e4de0605f9 Fix all the issues that came with switching to react scripts 2019-02-14 10:21:51 +00:00
Tom Hacohen 8f13da7a39 Remove the secondary header and update the appbar instead. 2019-02-12 19:27:21 +00:00
Tom Hacohen cf435118d4 Secondary header: add support for more than just text. 2019-02-12 13:40:12 +00:00
Tom Hacohen 51e436be2e Remove the hacky getPalette function and use the theme instead. 2019-02-09 10:22:55 +00:00
Tom Hacohen a9b6978ae5 Add basic support for viewing tasks. 2019-01-07 21:12:08 +00:00
Tom Hacohen 7d5bbd5742 Allow non-email usernames when using own server
Fixes #19

Co-authored-by: Nemanja Nedeljković <nemanjan00@gmail.com>
2019-01-04 21:16:50 +00:00
Tom Hacohen e697d3d276 Make it clearer that the first encryption password entered sets it.
Fixes #26
2018-12-24 16:16:28 +00:00