Commit Graph

786 Commits (9268c110ae64470f61ba190d166d0c864ca93782)

Author SHA1 Message Date
Tom Hacohen 40c3a1f114 SyncManager: clean up collection handling. 2020-08-07 18:23:29 +03:00
Tom Hacohen 626771d2c5 Store: implement updating store in bulk. 2020-08-07 18:21:44 +03:00
Tom Hacohen 6e3bb42f96 Item batch: clean up reducers and update store on upload 2020-08-07 18:17:47 +03:00
Tom Hacohen 200102d222 createAction: fix the action type. 2020-08-07 17:45:50 +03:00
Tom Hacohen 2c2abbb7ae Collection upload: consolidate reducer and update store on upload. 2020-08-07 17:20:25 +03:00
Tom Hacohen 2f8794e8fd store: add a useAsyncDispatch function for type-correct async dispatch. 2020-08-07 17:17:16 +03:00
Tom Hacohen 460c2e2b4a Pim: move all of the item save/delete functions to one place. 2020-08-06 18:37:12 +03:00
Tom Hacohen 85ef564b63 Autorefresh: remove url hack. 2020-08-06 11:02:18 +03:00
Tom Hacohen dc7f2fb47c Remove redundant code. 2020-08-06 11:01:27 +03:00
Tom Hacohen e01012160b Collection edit: remove the word journal. 2020-08-06 10:58:56 +03:00
Tom Hacohen dcb1337905 Event clone: also clone collection/item Uid. 2020-08-06 10:58:43 +03:00
Tom Hacohen 1877afca50 Remove wrong hardcoded url. 2020-08-06 10:56:18 +03:00
Tom Hacohen f28d4f6af0 Fix isAdmin and isReadOnly for collections. 2020-08-06 10:51:43 +03:00
Tom Hacohen 4047638e6f Completely remove EteSync dependency. 2020-08-06 10:47:07 +03:00
Tom Hacohen 8fb50df017 Remove more redundant code. 2020-08-06 10:46:35 +03:00
Tom Hacohen 0343c80fb9 SyncManager: remove persistor force-persist. 2020-08-06 10:46:35 +03:00
Tom Hacohen c69f5e27ad Journals: remove unused journals components. 2020-08-06 10:46:35 +03:00
Tom Hacohen 2f565994b7 CollectionMembers: add pages to control collection memberships. 2020-08-06 10:46:35 +03:00
Tom Hacohen 0bb7867059 Collection: add a changelog history page. 2020-08-06 10:46:35 +03:00
Tom Hacohen 059522532a Fix setting of mtime for newly created items. 2020-08-06 10:46:35 +03:00
Tom Hacohen 26788cc749 Collections: add collection list import page. 2020-08-06 10:46:35 +03:00
Tom Hacohen 3db3720eef CollectionList: show colorbox when color is available. 2020-08-06 10:46:35 +03:00
Tom Hacohen 3a690e351a Collections: implement import. 2020-08-06 10:46:35 +03:00
Tom Hacohen 9cf37a0fb4 Collections: add a component that views the collection. 2020-08-06 10:46:35 +03:00
Tom Hacohen d5a582e842 Task edit: fix task edit (setting the collection). 2020-08-06 10:46:35 +03:00
Tom Hacohen 9077f3878e ContactEdit: fix constructor's type and rename journalUid. 2020-08-06 10:46:35 +03:00
Tom Hacohen 8e8c779fa6 Event edit: fix event edit (setting the collection). 2020-08-06 10:46:35 +03:00
Tom Hacohen 877171b2ea App: cleanup the component and make sync add to fetch count. 2020-08-06 10:46:35 +03:00
Tom Hacohen 3ebaf35f49 Implement adding new collections and editing existing 2020-08-06 10:46:35 +03:00
Tom Hacohen 96ae079145 Add a collections section. 2020-08-06 10:46:35 +03:00
Tom Hacohen 1b73899182 Appbar: make sure it changes when the location changes. 2020-08-06 10:46:35 +03:00
Tom Hacohen b804a8945d Add back the tab navigation buttons. 2020-08-06 10:46:35 +03:00
Tom Hacohen a4ee9b57c9 Fix sidemenu and drawer menu icon for the home routes. 2020-08-06 10:46:35 +03:00
Tom Hacohen 09dc82df67 Fix Debug page. 2020-08-06 10:46:35 +03:00
Tom Hacohen 7f85d304a8 Store: fix cache collection storage. 2020-08-06 10:46:35 +03:00
Tom Hacohen b39f100bdb Create tasks route. 2020-08-06 10:46:35 +03:00
Tom Hacohen 32426b2460 Create the calendar route. 2020-08-06 10:46:35 +03:00
Tom Hacohen b29f19639a Contacts: implement FAB for adding contacts. 2020-08-06 10:46:35 +03:00
Tom Hacohen 36e5f2ccff Moved contact components under Contacts and remove from Pim. 2020-08-06 10:46:35 +03:00
Tom Hacohen 460c712411 Remove PimMain. 2020-08-06 10:46:35 +03:00
Tom Hacohen b796217cd1 Implement contacts editing. 2020-08-06 10:46:35 +03:00
Tom Hacohen 2edc95cce7 snap 2020-08-06 10:46:35 +03:00
Tom Hacohen 1f1d3b6a89 basic sync 2020-08-06 10:46:35 +03:00
Tom Hacohen 1817fbf87d Etebase change to login. 2020-08-06 10:46:32 +03:00
Tom Hacohen 6d18d494a7 JournalMembers: change to be a function component. 2020-08-06 09:46:20 +03:00
Tom Hacohen 6e4689f697 JournalEntries: change to be a function component. 2020-08-05 22:14:28 +03:00
Tom Hacohen cd7739a3d1 ImportDialog: change to be a function component. 2020-08-05 21:13:25 +03:00
Tom Hacohen 749d9de581 SideMenu: change to be a function component. 2020-08-05 17:35:33 +03:00
Tom Hacohen 2eaa9b503a SearchableAddressBook: change to be a function component. 2020-08-05 12:35:29 +03:00
Tom Hacohen c1b57eecfd App: change to be a function component. 2020-08-05 12:20:52 +03:00
Tom Hacohen 9ec5d2a708 Change code to double-quotes. 2020-08-05 09:45:36 +03:00
Tom Hacohen 1327279816 Update dependencies and adjust code accordingly. 2020-08-05 09:40:03 +03:00
Tom Hacohen 0fc92b46a7 Edit pages: remove UNSAFE componentsWillReceiveProps. 2020-07-30 11:18:55 +03:00
Tom Hacohen e38181a8ae Journal: only show change log, not the items.
Was very confusing to people.
2020-07-30 10:50:12 +03:00
Tom Hacohen a1bdea6290 Contact notes: display notes as multiline text. 2020-07-23 11:39:48 +03:00
ramzan 384e12e1ba
Change 'copy' to 'duplicate' and switch to more appropriate icon (#149) 2020-07-20 20:02:51 +03:00
Ramzan 2b43463fb0 Implement Event copying.
Fixes #51.
2020-07-19 10:17:09 +03:00
Ramzan 205d7a3e1b Prevent autoRefresh from running when editing an item 2020-07-18 16:35:40 +03:00
ramzan eb199c53c3
Contact edit: allow editing of name field rather than fn field.
Fixes #80.
2020-07-17 08:44:07 +03:00
ramzan 96029a0f0c
Check if the item exists before rendering the page
Redirect to 404 page if the item doesn't exist.

Fixes #3.
2020-07-17 08:41:49 +03:00
Tom Hacohen ad6ac59c4f Task list: support infinitely deep task hierarchies.
Another step towards fixing #124.
2020-07-16 15:38:14 +03:00
Tom Hacohen 484825b1db TaskList: cleanup a bit. 2020-07-16 13:22:28 +03:00
Tom Hacohen 6ea7bd79cf Task list: implement 1-level task hierarchy.
This is the first step towards fixing #124
2020-07-16 13:22:09 +03:00
Tom Hacohen 2547fb9ae7 Contact: show a contact's photo if available. 2020-07-12 17:23:51 +03:00
Tom Hacohen 985f39930b Debug page: support printing all entries. 2020-07-05 12:45:09 +03:00
Tom Hacohen cf4513a05b Log entries: show the entry uid. 2020-07-05 12:38:18 +03:00
Tom Hacohen d4ca0a3ec4 Errors: append in bulk rather than 1 by 1. 2020-07-05 12:28:26 +03:00
Tom Hacohen 06e4e4a5d3 Rename addError action to fix fetch count.
Fetch count increments/decrements based on all actions prefixed with add
which means addError was also triggering it.
This broke the fetchCount count.
2020-07-05 11:58:59 +03:00
Ramzan de07f76c92 Implement an auto refresh function that calls fetchAll every minute
if the user is online and logged in.

Fixes #28.
2020-07-05 10:24:23 +03:00
Tom Hacohen b394484f3c Implement an undelete function to mass-undelete changes. 2020-07-03 16:35:19 +03:00
Tom Hacohen 728ac6124f Enable eslint for type definitions and fix issues. 2020-07-02 14:46:28 +03:00
Tom Hacohen 616052ecc5 Improve journals page look and feel. 2020-07-02 14:15:14 +03:00
Tom Hacohen 7fe2cd1f60 Change default collection names from 'Default' to be descriptive
A step towards fixing https://github.com/etesync/android/issues/118
2020-07-02 13:20:31 +03:00
Tom Hacohen 64753586e3 Clear recurrence options when changing freq.
Apparently iCal.js doesn't filter it itself so we have to do it,
otherwise we can create malformed recurrence options.

Fixes #134.
2020-07-02 09:12:51 +03:00
Tom Hacohen 9400abdbf4 Revert "reset options if freq changes"
This reverts commit f64169385e.
2020-07-02 09:04:26 +03:00
Tom Hacohen 2b8fa751b7 Revert "when using multiple select must have and array with default values"
This reverts commit 7595be4df7.
2020-07-02 09:04:23 +03:00
Tal Leibman 7595be4df7 when using multiple select must have and array with default values 2020-07-01 22:07:38 +03:00
Tal Leibman f64169385e reset options if freq changes 2020-07-01 22:07:38 +03:00
Tom Hacohen fb8f3ff574 Task/Event: enable word wrapping for decsriptions.
Fixes #135.
2020-07-01 09:40:35 +03:00
Tom Hacohen f372f36005 Tag edit: make it possible to use non-existing tags.
This is a workaround until #133 is properly solved. The tag list still
only autocompletes from a pre-defined list, but at least now you can
just set new tags as you wish.
2020-06-21 14:43:44 +03:00
Tom Hacohen f0ec85d635 Fix link color to be nicer (especially in dark mode). 2020-06-21 14:36:59 +03:00
Tom Hacohen f80ce5b458 Theme: add a class to indicate if in dark mode. 2020-06-21 14:36:59 +03:00
Tom Hacohen fd0a83d6a2 External link: also add noreferrer. 2020-06-21 14:36:58 +03:00
Tom Hacohen db2f75ae1f Fix item UIDs with illegal url characters in them by urlescaping them.
Fixes #47.
2020-06-01 11:48:58 +03:00
Daniel Saier c0cc2188c5 Add an option for changing the default API URL during the build 2020-05-31 18:37:02 +03:00
Tom Hacohen 435256bede Experimental: add dark mode.
It's been ready for a while, though we haven't bothered enabling it because the
calendar view is less than great, though I think it makes sense to enable it
now as experimental and improve it as we go.

Fixes #128.
2020-05-22 10:52:25 +03:00
Tom Hacohen f3a533ab2d Settings: change to react hooks + remove unneeded props. 2020-05-22 10:48:47 +03:00
Tom Hacohen bf7590dd91 Fix linting errors. 2020-05-13 13:32:52 +03:00
Tom Hacohen 2d778065c8 ContactEdit: make addresses multiline. 2020-05-13 13:18:26 +03:00
Andrew P Maney 04c4ae94cd Tasks: fix Edit error Toast severity 2020-04-20 10:08:02 +03:00
Andrew P Maney 508d02a0ea Tasks: batched uploads for recurring task completion 2020-04-20 10:08:02 +03:00
Andrew P Maney de94a02025 Task: add recurrence features to list view 2020-04-20 10:08:02 +03:00
Andrew P Maney aada3e6d36 Tasks: add recurrence to Edit 2020-04-20 10:08:02 +03:00
Tom Hacohen dac6ba5900 Login: automatically log out on expired token.
This is a bit of a workaround.
The problem is that we cache auth tokens, but that auth tokens can expire.
Thins means that we could have a stale auth token after coming back to
the app after a long time, so we need to fetch a new one.

Logging out is a bit of a nuclear option, but since this is a rare
scenario, it can do for now.
2020-04-18 15:34:05 +03:00
Tom Hacohen 84f7a11bbc ICAL.js: fix types of complex rrules 2020-04-11 13:49:50 +03:00
Andrew P Maney 73a3729a70 pim-types: change clone to deep clone using string
fixes #119
2020-04-05 14:03:13 +03:00
Andrew P Maney aa9e85a520 Tasks: fix priority sorting
Priority sorting had some inconsistencies. 
The Infinity was causing tasks to not be sorted (Infinity - Infinity = NaN).
Adding sortByDueDate also ensures better sorting when tasks have the same priority
2020-04-05 09:35:33 +03:00
Andrew P Maney 77f734a227 Tasks: fix alignment in Toolbar menu 2020-04-03 09:47:54 +03:00
Andrew P Maney 7a42ff04d8
UI: pretty error messages
Add Toast component for displaying error messages in a more prominent way
2020-03-31 23:09:15 +03:00
Tom Hacohen 0ce83defcc LoginGate: show an error if the user is inactive. 2020-03-31 16:09:55 +03:00
Andrew P Maney ed4ed86880 Tasks: add show/hide hidden feature 2020-03-30 18:10:41 +03:00
Andrew P Maney b78ccfbf8b MUI: fix TimezonePicker types
broken from mui/lab update
2020-03-30 09:52:59 +03:00
Andrew P Maney 36d6308c88 Tasks: change due text to date instead of time to 2020-03-30 01:58:32 +03:00
Andrew P Maney 0b5274887f Tasks: make overdue secondary text red
Also add some logic to display tasks due today as "Due today"
Tasks: fixes
2020-03-28 13:58:46 +03:00
Andrew P Maney 5eea4e89a5 Task edit: fix DateTime's not being properly stored
I messed up a boolean value with my previous pull request. It was causing DateTimes to be stored as Dates and vice-versa.
2020-03-28 10:25:26 +03:00
Andrew P Maney b6b46d2b24 Task edit: change "All Day" to "Include Time" 2020-03-27 00:15:11 +02:00
Andrew P Maney e39974105f Task edit: reword Start Date to "Hide until" 2020-03-26 11:55:18 +02:00
Andrew P Maney e06ccbd21c Tasks edit: add full width styles to timing inputs 2020-03-26 11:55:18 +02:00
Andrew P Maney 39529e66c1 Tasks: add a11y title and aria labels for Toolbar 2020-03-25 13:57:34 +02:00
Andrew P Maney 212dfc7095 Tasks: add search functionality 2020-03-25 13:57:34 +02:00
Andrew P Maney ba00be300e
RRule: handle undefined options.byday
Merge of #108
2020-03-25 13:41:55 +02:00
Andrew P Maney b90adaffb5
Tasks: improve positioning of Toolbar menus
Merges #105
2020-03-23 13:24:04 +02:00
Andrew P Maney 1de7a2ebdd
Tasks: implement sorting
Merge of #104
2020-03-22 13:55:48 +02:00
Andrew P Maney b69b51f558
Tasks: move "Show Completed" to a toolbar menu 2020-03-20 13:33:13 +02:00
Andrew P Maney 74ed60a3fb Tasks: hides Sidebar amount if value 0
Tasks: makes amount conditional more concise
2020-03-19 14:32:54 +02:00
Andrew P Maney e008bc19e8 Tasks: changes dueToday to include all times before today 2020-03-19 09:03:33 +02:00
Andrew P Maney 716240e266 Tasks: adds dueToday getter to TaskType
cleans up some code around filtering by due today
2020-03-18 22:08:13 +02:00
Andrew P Maney 9a7960556b Tasks: adds memoization to Sidebar 2020-03-18 22:04:21 +02:00
Andrew P Maney f3ba0b30ef Tasks: removes unnecessary comments 2020-03-18 21:35:50 +02:00
Andrew P Maney 8ba7709653 Tasks: moves Sidebar specific logic into Sidebar component
also adds amount to Due Today filter
2020-03-18 21:35:50 +02:00
Andrew P Maney 2980305beb Tasks: adds filter by Due Today 2020-03-18 21:35:50 +02:00
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 a2d6dacbe4 Settings: change setSettings action to merge with state.
It was overriding state before.
2020-03-17 13:15:48 +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 69c38d7e8f Journals list+import: move journal items to the left side. 2020-03-13 17:01:59 +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 5cb8dda9cc List: move the list widget to use the material ui list.
Fixes #79.
2020-03-13 16:18:08 +02:00
Tal Leibman 6a5d959777 JournalsList: add icon to titles 2020-03-13 15:23:12 +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 54302c4c07 License: adds license to Colored Radio 2020-03-13 11:15:59 +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