Commit graph

1271 commits

Author SHA1 Message Date
Alejandro Celaya
74ebd4e572 Converted CreateShortUrl to functional component 2020-03-29 19:36:45 +02:00
Alejandro Celaya
bd29670108 Added short code length field to form to create short URLs 2020-03-29 18:55:41 +02:00
Alejandro Celaya
d7da8521ce Created helper functions to determine the key and if a page is disabled on a progressive paginator 2020-03-28 17:43:09 +01:00
Alejandro Celaya
7f05c5c2da Split utils module into several helpers modules 2020-03-28 17:33:27 +01:00
Alejandro Celaya
2d5c2779c3 Moved helper functions to render progressive paginators to a common place 2020-03-28 17:25:12 +01:00
Alejandro Celaya
06db4f6556 Used progressive pagination for the short URLs list 2020-03-28 17:19:33 +01:00
Alejandro Celaya
2ec04c0121 Fixed test by using different serverId every time, preventing memoization 2020-03-16 18:51:04 +01:00
Alejandro Celaya
5145a41dac Memoized the loading of the server version, assuming it will not change at runtime 2020-03-16 13:34:24 +01:00
Alejandro Celaya
77b9181150 Replaced hardcoded color by sass var 2020-03-15 14:23:57 +01:00
Alejandro Celaya
35a62f1fb1 Added link to edit existing servers 2020-03-15 14:03:41 +01:00
Alejandro Celaya
24f2deda46 Moved common code to handle currently selected server to HOC 2020-03-15 13:43:12 +01:00
Alejandro Celaya
5d8af1a0e5 Simplified EditServer component by wrapping ServerForm 2020-03-15 12:02:19 +01:00
Alejandro Celaya
6d44ac1e0c Created common component that can be used both for create and edit servers 2020-03-15 11:59:07 +01:00
Alejandro Celaya
fb0ebddf28 Created component to edit existing servers 2020-03-15 11:29:20 +01:00
Alejandro Celaya
0aebaa4da1 Extracted logic to render horizontal form groups to their own components 2020-03-15 10:50:05 +01:00
Alejandro Celaya
f6baedc655 Converted CreateServer into functional component 2020-03-15 10:33:23 +01:00
Alejandro Celaya
f44ec42f51 Added links to delete and edit the server when a server could not be reached 2020-03-15 09:17:33 +01:00
Alejandro Celaya
9804a2d18d Added list of servers connected to store in ServerError component 2020-03-08 12:50:42 +01:00
Alejandro Celaya
d1a5ee43e9 Created components to display errors when loading a server 2020-03-08 12:41:18 +01:00
Alejandro Celaya
febecab33c Migrated Home component to a functional component 2020-03-08 11:35:06 +01:00
Alejandro Celaya
99042c0979 Extracted servers list group from home component to a reusable component 2020-03-08 11:16:57 +01:00
Alejandro Celaya
6395e4e00b Improved NotFount component so that link text is passed as children 2020-03-08 10:28:04 +01:00
Alejandro Celaya
4a69907ca3 Fixed generation of component keys to make them render properly 2020-03-08 10:16:45 +01:00
Alejandro Celaya
c8d682cc98 Handled loading server in just one place, and added error handling for loading servers 2020-03-08 10:00:25 +01:00
Alejandro Celaya
f4cc8d3a0c Fixed default value for vertically aligned items 2020-03-07 12:07:51 +01:00
Alejandro Celaya
f55d3a66aa Converted ShortUrlsRow component into a functional component 2020-03-06 21:44:03 +01:00
Alejandro Celaya
fba156b271 Moved copy-to-clipboard control next to short URL 2020-03-06 21:25:30 +01:00
Alejandro Celaya
96d538db15 Replaced Unknown by Direct for traffic comming from undetermined referrers 2020-03-06 20:42:22 +01:00
Alejandro Celaya
be50b24504 Added mechanism to provide a version to shlink-web-client 2020-03-05 12:53:32 +01:00
Alejandro Celaya
dbee62ac8c Moved shlink versions component to main container 2020-03-05 11:46:38 +01:00
Alejandro Celaya
1e949b3a22 Added shlink versions to side menu 2020-03-05 11:11:26 +01:00
Alejandro Celaya
b02dcf6c53 Refactored delete server components 2020-03-05 10:18:38 +01:00
Alejandro Celaya
ab7718e335 Removed duplicated code from AsideMenu by creating an AsideMenuItem helper component 2020-03-05 10:03:38 +01:00
Alejandro Celaya
fa0d3d4047 Removed no longer needed async/await when building api client 2020-03-05 09:23:53 +01:00
Alejandro Celaya
397a183f65 Converted MenuLayout into a functional component with hooks 2020-03-05 09:08:50 +01:00
Alejandro Celaya
bc8905ee7f Ensured server is properly loaded before trying to render any children component 2020-03-05 08:59:07 +01:00
Alejandro Celaya
853032ac7f Displayed preloader when a server is being loaded 2020-03-05 08:41:55 +01:00
Alejandro Celaya
666d2d3065 Ensured domain is dispatched when modifying a short URL somehow 2020-02-08 10:46:11 +01:00
Alejandro Celaya
30e5253acd Simplified instructions removing redundant vars 2020-02-08 10:07:34 +01:00
Alejandro Celaya
c67ce3918b Removed redundant function call 2020-02-08 10:03:24 +01:00
Alejandro Celaya
098c94bccf Ensured domain is passed when deleting a short URL on a specific domain 2020-02-08 09:57:18 +01:00
Alejandro Celaya
861a3c068f Ensured domain is passed when editing meta for a short URL on a specific domain 2020-02-08 09:52:30 +01:00
Alejandro Celaya
3b95e8ebc0 Ensured domain is passed when editing tags for a short URL on a specific domain 2020-02-08 09:48:35 +01:00
Alejandro Celaya
170e427530 Ensured domain is passed when loading detail for a short URL on a specific domain 2020-02-08 09:38:19 +01:00
Alejandro Celaya
dc672bf0f0 Ensured domain is passed when loading visits for a short URL on a specific domain 2020-02-08 09:07:55 +01:00
Alejandro Celaya
c682737505 Standardized date-picker selected day color 2020-02-02 09:30:41 +01:00
Alejandro Celaya
3e298f010b Simplified DeleteShortUrlModal component and shortUrlDeletion reducer 2020-01-31 20:12:22 +01:00
Alejandro Celaya
30117bd121 Simplified EditTagsModal component and shortUrlTags reducer 2020-01-31 20:06:28 +01:00
Alejandro Celaya
c53520ae56 Moved logic to dynamically render components based on server version to a separated component 2020-01-28 19:46:36 +01:00
Alejandro Celaya
f3154e770e Fixed maxVisits being set to 0 when trying to reset it 2020-01-28 18:36:23 +01:00
Alejandro Celaya
5762342d6c Ensured edit meta menu item is only displayed when shlink v1.18 or greater is run 2020-01-19 21:30:01 +01:00
Alejandro Celaya
2236ed467e Ensured date range filtering is only displayed if Shlink v1.21 ow higer is run 2020-01-19 21:25:45 +01:00
Alejandro Celaya
f52bcc5389 Ensured state is reset on edit meta modal after closing it 2020-01-19 20:37:12 +01:00
Alejandro Celaya
207a8cef20 Updated tests from modified code 2020-01-19 13:20:46 +01:00
Alejandro Celaya
d44a4b260e Finished component to allow metadata to be edited on existing short URLs 2020-01-19 13:07:33 +01:00
Alejandro Celaya
80a8e0b55c Created component to edit short URLs meta 2020-01-17 21:07:59 +01:00
Alejandro Celaya
2d60f830f7 Improved icons on short URL menu 2020-01-15 20:25:58 +01:00
Alejandro Celaya
301da4bb2a Recovered behavior to show amount of visits in selected date range on visits detail page 2020-01-15 18:31:28 +01:00
Alejandro Celaya
c90cd46095 Removed old ExternalLink component in favor of external one 2020-01-15 18:16:12 +01:00
Alejandro Celaya
5eb4a3adec Fixed tests and typos 2020-01-14 20:12:30 +01:00
Alejandro Celaya
b60908a5e9 Added filtering by date to short URLs list 2020-01-14 19:59:25 +01:00
Alejandro Celaya
124441238b Moved style to the proper scope 2020-01-12 12:08:26 +01:00
Alejandro Celaya
595858ac4b Used visits count component in short URL visits view 2020-01-11 20:10:12 +01:00
Alejandro Celaya
3f2162fe62 Extracted visits count component to reuse it in other places 2020-01-11 19:58:04 +01:00
Alejandro Celaya
5c4fec5a2f Displayed amount of max visits on those URLs which have it 2020-01-11 19:40:16 +01:00
Alejandro Celaya
0920962d72 Used already unpacked property 2020-01-11 14:16:23 +01:00
Alejandro Celaya
de41f50945 Ensured preview menu item is hidden when consuming Shlink 2 2020-01-11 14:12:58 +01:00
Alejandro Celaya
0f51bf95e3 Updated ShlinkApiClient so that it retries API version when v2 is not supported 2020-01-11 13:55:37 +01:00
Alejandro Celaya
ba8cade6fc When handling API errors, use the type prop and fallback to error if not found 2020-01-11 12:24:45 +01:00
Alejandro Celaya
0237af771d Fixed outdated comment 2019-10-21 19:45:35 +02:00
Alejandro Celaya
fc7a2e0c6d Ensured response from servers.json has been parsed to a json array 2019-10-21 19:38:32 +02:00
Alejandro Celaya
f74d135922 Ensured default servers is validated as JSON and ignored otherwise 2019-10-21 19:26:09 +02:00
Alejandro Celaya
12f6b94ece Ensured server version is properly parsed to avoid errors due to invalid semver 2019-10-18 17:39:38 +02:00
Alejandro Celaya
9d2494834c Fixed timing issue when navigating to another server 2019-10-05 19:51:50 +02:00
Alejandro Celaya
923cc3ba01 Updated dev dependencies 2019-10-05 19:08:50 +02:00
Alejandro Celaya
8fcf72f564 Updated production dependencies to latest versions 2019-10-05 18:50:49 +02:00
Alejandro Celaya
ce9ecd7b93 Defined custom function to compare versions which defines the operator in the middle 2019-10-05 11:03:17 +02:00
Alejandro Celaya
354d19af1b Disabled domain component for Shlink versions not supporting it 2019-10-05 10:54:58 +02:00
Alejandro Celaya
6d996baf5d Added tests for new logics 2019-10-05 10:40:32 +02:00
Alejandro Celaya
4120d09220 Loaded version of selected server and created component to filter content based on that version 2019-10-05 10:20:33 +02:00
Alejandro Celaya
67a23bfe33 Added domain input to create short url form 2019-10-05 09:02:02 +02:00
Alejandro Celaya
1c25db9179 Created SimplePaginator test 2019-09-22 11:14:08 +02:00
Alejandro Celaya
810ddd7717 Added foldable pagination to SimplePaginator 2019-09-22 10:41:31 +02:00
Alejandro Celaya
7bbff114a4 Extracted paginator used in SortableBarGraph to its own component 2019-09-21 18:29:58 +02:00
Haocen Xu
ab99213d8c When no order is specified, the order by indicator(triangle) in column header should be Cleared 2019-09-14 18:13:15 -04:00
Alejandro Celaya
2fe923678e Installed react-external-links 2019-08-29 17:47:18 +02:00
Alejandro Celaya
fb94077260 Created shortUrlTags reducer test 2019-05-19 13:22:16 +02:00
Alejandro Celaya
d3491869bd Created tags list reducer test 2019-05-19 12:54:19 +02:00
Alejandro Celaya
4c11d9c6d5 Catched error when loading servers from a servers.json file 2019-04-28 13:07:55 +02:00
Alejandro Celaya
78c34a342d Added tests for new use cases 2019-04-28 12:40:50 +02:00
Alejandro Celaya
20820c47d4 Updated list servers action so that it tries to fetch servers from the servers.json file when no local servers are found 2019-04-28 12:07:09 +02:00
Alejandro Celaya
7b80d78dc5 Removed duplicated code when building ShlinkApiClient 2019-04-21 11:31:40 +02:00
Alejandro Celaya
ce0f036bef Created custom react hook that can be used to handle toggles 2019-03-17 18:35:47 +01:00
Alejandro Celaya
2e452993ff Created Checkbox test 2019-03-17 18:09:10 +01:00
Alejandro Celaya
f4dbd03c7e Added checkbox to control the findIfExists shlink flag 2019-03-17 17:48:05 +01:00
Alejandro Celaya
232c059e4f Replaced usages of defaultState by initialState 2019-03-17 10:11:20 +01:00
Alejandro Celaya
5bb9d15e27 Refactored tagEdit reducer to take advantage of redux-actions 2019-03-17 10:07:28 +01:00
Alejandro Celaya
879034c9c6 Refactored tagDelete reducer to take advantage of redux-actions 2019-03-17 10:02:44 +01:00
Alejandro Celaya
740aacbbf1 Refactored tagsList reducer to take advantage of redux-actions 2019-03-17 09:59:26 +01:00
Alejandro Celaya
fcfab79bed Refactored shortUrlDetail reducer to take advantage of redux-actions 2019-03-17 09:38:37 +01:00
Alejandro Celaya
468e34aa3d Refactored shortUrlVisits reducer to take advantage of redux-actions 2019-03-17 09:36:07 +01:00
Alejandro Celaya
7ff7318089 Refactored shortUrlTags reducer to take advantage of redux-actions 2019-03-17 09:32:53 +01:00
Alejandro Celaya
4654bff737 Refactored shortUrlDeletion reducer to takle advantage of redux-actions 2019-03-17 09:27:01 +01:00
Alejandro Celaya
3075ccb4b9 Refactored shortUrlCreation reducer to takle advantage of redux-actions 2019-03-17 09:20:02 +01:00
Alejandro Celaya
4894ab9035 Refactored shortUrlsListParams reducer to takle advantage of redux-actions 2019-03-17 09:15:58 +01:00
Alejandro Celaya
4a09d99322 Refactored shortUrlsList to take advantage of redux-actions 2019-03-17 09:11:37 +01:00
Alejandro Celaya
51b5f6264d Refactored server reducer, removing duplicated code and taking advantage of redux-actions 2019-03-17 09:06:10 +01:00
Alejandro Celaya
724c804971 Installed redux-actions dependency and used it for selectedServer reducer 2019-03-17 08:49:24 +01:00
Alejandro Celaya
391424d8a1 Ensured bar charts are regenerated when their height changes 2019-03-16 09:02:40 +01:00
Alejandro Celaya
e0db6d5a57 Improved SortableBarGraph test 2019-03-10 17:55:02 +01:00
Alejandro Celaya
87dc24e8a2 Fixed and improved OpenMapModalBtn and ShortUrlVisit components tests 2019-03-10 13:05:20 +01:00
Alejandro Celaya
5233f5a07b Updated OpenMapModalBtn so that it allows showing only active cities 2019-03-10 12:09:54 +01:00
Alejandro Celaya
478ee59bb0 Updated cities chart so that map shows locations from current page when result set is paginated 2019-03-10 10:56:36 +01:00
Alejandro Celaya
b6f6b1ae9d Enabled stickiness on footer 2019-03-10 10:08:42 +01:00
Alejandro Celaya
1ad4290487 Applied some naming improvements 2019-03-10 09:54:40 +01:00
Alejandro Celaya
61480abd2e Updated charts to allow optional pagination 2019-03-10 08:28:14 +01:00
Alejandro Celaya
c094a27c97 Created PaginationDropdown component 2019-03-09 13:20:43 +01:00
Alejandro Celaya
83704ca4b5 Created rangeOf helper function which does a range + map 2019-03-09 12:19:33 +01:00
Alejandro Celaya
4e6ef6ac53 Removed empty line 2019-03-08 19:43:27 +01:00
Alejandro Celaya
3982d77775 Ensured visits loading is cancelled when the visits page is unmounted 2019-03-08 19:40:43 +01:00
Alejandro Celaya
87a4598391 Ensured maps modal btn is not rendered when the number of located cities is 0 2019-03-05 14:09:08 +01:00
Alejandro Celaya
701c143149 Updated ErrorHandler so that it logs errors in production 2019-03-05 14:04:52 +01:00
Alejandro Celaya
e303a80683 Updated bootstrap to solve security issue 2019-03-04 21:05:30 +01:00
Alejandro Celaya
ad9f0c00d0 Created ErrorHandler test 2019-03-04 20:49:18 +01:00
Alejandro Celaya
cd908fa358 Created ErrorHandler component 2019-03-04 20:41:02 +01:00
Alejandro Celaya
4c729a405d Fixed crash when trying to load a map with just one location 2019-03-04 20:24:28 +01:00
Alejandro Celaya
ba5ea7407b Used native javascript reduce instead of ramda reduce 2019-03-04 19:28:24 +01:00
Alejandro Celaya
1bc406b0d9 Ensured requests when loading visits are made in parallel for big dataset 2019-03-04 19:21:46 +01:00
Alejandro Celaya
7e27ceb885 Ensured same timestamp is used when generating memoization ID after mounting the component 2019-03-04 18:19:50 +01:00
Alejandro Celaya
252edaa2ca Improved performance while calculating status by doing one iteration only and memoizing the result when possible 2019-03-04 18:14:45 +01:00
Alejandro Celaya
127bcc14eb Prevented side menu to be swipeable while a modal window is displayed 2019-03-03 12:05:29 +01:00
Alejandro Celaya
6291af2865 Fixed initial zoom and center on maps 2019-03-03 11:47:19 +01:00
Alejandro Celaya
780e4a6e9e Replaced component by render on route rendering not found component with custom props 2019-03-03 11:18:58 +01:00
Alejandro Celaya
c4bc2f24d6 Used not-found component for menu layout inner router 2019-03-03 11:15:34 +01:00
Alejandro Celaya
d23ddd0e0b Created NotFound component 2019-03-03 11:02:29 +01:00
Alejandro Celaya
11d49fb70f Created DeleteTagConfirmModal test 2019-01-13 23:31:10 +01:00
Alejandro Celaya
056286636d Created ScrollToTop test 2019-01-13 23:03:31 +01:00
Alejandro Celaya
d020ed0b13 Created ShortUrlsRowMenu test 2019-01-13 13:08:47 +01:00
Alejandro Celaya
30b4cb4068 Created ShortUrlsRow test 2019-01-13 09:49:02 +01:00
Alejandro Celaya
1aa1d29d97 Removed direct calls between actions without DI 2019-01-12 23:59:03 +01:00
Alejandro Celaya
4f8c7afc76 Created SortableBarGraph test 2019-01-12 23:47:41 +01:00
Alejandro Celaya
0c1f533747 Updated short URL visits loading so that it loads visits in several requests 2019-01-10 19:50:25 +01:00
Alejandro Celaya
23af0de34a Simplified ShlinkApiCLient by using the new simplified authentication approach 2019-01-10 19:17:15 +01:00
Alejandro Celaya
77a624a889 Removed not needed call to function 2019-01-09 20:34:35 +01:00
Alejandro Celaya
b12dac1e35 Improved map modal title 2019-01-09 20:30:59 +01:00
Alejandro Celaya
c599d2837b Improved VisitsParser test 2019-01-09 07:59:56 +01:00
Alejandro Celaya
8b8be2d7ca Updated stateFlagTimeout to get the setTimeout function injected as a dependency 2019-01-08 20:49:47 +01:00
Alejandro Celaya
00d386f19f Skipped locations from unknown cities when processing cities stats for map 2019-01-07 21:11:09 +01:00
Alejandro Celaya
4870801f8f Implemented map to show visits from every city 2019-01-07 21:00:28 +01:00
Alejandro Celaya
78745366c2 Moved button to open map to separated component 2019-01-07 19:43:25 +01:00
Alejandro Celaya
2be771cbcc Improved styles 2019-01-07 13:45:16 +01:00
Alejandro Celaya
6abc0e7d02 Created component to show a map on a modal window 2019-01-07 13:35:25 +01:00
Alejandro Celaya
a2c1f5ce7d Improved function name 2019-01-07 11:56:54 +01:00
Alejandro Celaya
dc9c1712ff Added cities stats graphic on short url visits page 2019-01-07 11:53:14 +01:00
Alejandro Celaya
08488e9bad Imported config files and start script from new create react app 2019-01-05 22:54:54 +01:00
Alejandro Celaya
835d54e90c Updated dependencies and source code 2019-01-05 22:25:54 +01:00
Alejandro Celaya
03f409a803 Updated linting dependencies 2018-12-31 18:23:47 +01:00
Alejandro Celaya
8a9a4f40a7 Created shortUrlsList reducer test 2018-12-21 10:58:51 +01:00
Alejandro Celaya
047d99be6d Updated ScrollTop component so that it gets the window object injected as a dependency 2018-12-21 10:38:40 +01:00
Alejandro Celaya
16cf30f26f Created EditTagsModal component test 2018-12-21 10:34:12 +01:00
Alejandro Celaya
9268114fe1 Created shortUrlDeletion reducer test 2018-12-21 10:02:42 +01:00
Alejandro Celaya
77a2f32cfd Ensured bar graphs are sorted case insensitive 2018-12-19 11:07:47 +01:00
Alejandro Celaya
eec79043cc Moved common and utils services to their own service providers 2018-12-18 20:19:22 +01:00
Alejandro Celaya
4b1f5e9f4c Extracted short-url related services to its own service provider 2018-12-18 20:00:23 +01:00
Alejandro Celaya
cf1239cf6e Moved all server-related services to its own service provider 2018-12-18 19:45:09 +01:00
Alejandro Celaya
566322a8c5 Extracted tag related services to its own service provider 2018-12-18 14:55:00 +01:00
Alejandro Celaya
fa3e1eba93 Moved all visits-related services to its own service provide function inside visits 2018-12-18 14:36:32 +01:00
Alejandro Celaya
471322f4db Implemented dependency injection in all tag related components 2018-12-18 11:28:15 +01:00
Alejandro Celaya
4f54e3315f Simplified ShlinkApiClient and moved runtime creation logic to external service 2018-12-18 10:14:25 +01:00
Alejandro Celaya
7bd4b39b5a Added lazy loading to action services 2018-12-18 05:03:38 +01:00
Alejandro Celaya
12ddeebedf Registered first actions as services 2018-12-18 04:54:32 +01:00
Alejandro Celaya
d6e53918a2 Created function which dynamically resolve action services from the container for connected components 2018-12-18 04:34:37 +01:00
Alejandro Celaya
bab1e57ab1 Registered remaining short URLs components in DI container 2018-12-17 23:11:55 +01:00
Alejandro Celaya
5616d045ab Migrated a lot more components to new DI system 2018-12-17 22:18:47 +01:00
Alejandro Celaya
5e6ad14a85 More components migrated for dependency injection 2018-12-17 20:24:31 +01:00
Alejandro Celaya
79a518b02d Registered first components as services 2018-12-17 20:03:36 +01:00
Alejandro Celaya
07b1d5be2e Created shortUrlCreation reducer test 2018-11-01 14:55:30 +01:00
Alejandro Celaya
f94b5b7c68 Created tagDelete reducer test 2018-11-01 14:44:55 +01:00
Alejandro Celaya
824a2facac Created tagEdit reducer test 2018-11-01 14:13:49 +01:00
Alejandro Celaya
4445c79540 Created TagsList test 2018-11-01 13:51:03 +01:00
Alejandro Celaya
85cb849ba5 Created TagCard test 2018-11-01 13:34:31 +01:00
Alejandro Celaya
53132fa900 Created CreateShortUrl test 2018-11-01 13:15:09 +01:00
Alejandro Celaya
1697ef9306 Created QrCodeModal test 2018-11-01 12:35:51 +01:00
Alejandro Celaya
79a16a2c2c Created PreviewModal test 2018-11-01 12:34:18 +01:00
Alejandro Celaya
30192cb349 Created DeleteShortUrlModal test 2018-11-01 12:24:16 +01:00
Alejandro Celaya
70ebb0362a Converted DateInput into functional component 2018-11-01 09:16:18 +01:00
Alejandro Celaya
cccf57a35a Moved DateInput from common to utils 2018-11-01 09:05:20 +01:00
Alejandro Celaya
6784c30fa0 Ensured react router uses homepage defined in package.jsoin as basename 2018-11-01 08:20:33 +01:00
Alejandro Celaya
822afa6db7 Ensured tooltips are not intersect for bar charts 2018-10-30 20:41:36 +01:00
Alejandro Celaya
7a63f737ac Updated sort icons in SortingDropdown 2018-10-30 07:35:35 +01:00
Alejandro Celaya
99833b51a9 Ensured dropdown item styles are not overriden for disabled items 2018-10-28 23:06:57 +01:00
Alejandro Celaya
05936c52b3 Added sorting to referrers bar graph 2018-10-28 23:04:52 +01:00
Alejandro Celaya
368de2b4c7 Added order control to countries graph 2018-10-28 22:54:08 +01:00
Alejandro Celaya
6634fc41c5 Fixed short urls dropdown menu not properly located 2018-10-28 21:51:54 +01:00
Alejandro Celaya
4ad8e909d4 Extracted sorting dropdown to its own component 2018-10-28 21:26:47 +01:00
Alejandro Celaya
0e8631ae9d Updated GraphCard so that it automatically calculates the proper aspect ration for bar chart graphs 2018-10-19 20:27:25 +02:00
Alejandro Celaya
812e391e34 Moved helper functions in GraphCard outside of component function 2018-10-19 19:04:22 +02:00
Alejandro Celaya
bb17dbe680 Recovered missing class 2018-10-07 09:22:15 +02:00
Alejandro Celaya
644caf7dfb Ensured ColorGenerator matches keys in a case insensitive way 2018-10-07 08:59:25 +02:00
Alejandro Celaya
7d665f3933 Ensured tags returned from server are used after editing short URL tags in order to use the normalized values 2018-09-16 12:48:28 +02:00
Alejandro Celaya
fc1af04243 Created tests for Paginator and SearchBar 2018-09-16 12:18:02 +02:00
Alejandro Celaya
f2d03203ae Implemented short URLs deletion 2018-09-16 10:47:17 +02:00
Alejandro Celaya
2d6dda3576 Created delete short URLs modal 2018-09-16 09:35:39 +02:00
Alejandro Celaya
9b3bfe56bb Ensured list filtering params are reset when list component unmounts 2018-09-16 09:01:05 +02:00
Alejandro Celaya
5d5a2be498 Ensured bar charts start at 0 2018-09-08 20:42:14 +02:00
Alejandro Celaya
64c1b56973 Created ShortUrlVisits test 2018-09-08 13:28:40 +02:00
Alejandro Celaya
d37e7ca7ce Created VisitsHeader test 2018-09-08 09:31:44 +02:00
Alejandro Celaya
eb0f219403 Created GraphCard test 2018-09-08 09:06:18 +02:00
Alejandro Celaya
0c1656285b Created shortUrlVisits reducer test 2018-09-08 08:49:49 +02:00
Alejandro Celaya
bbce53ade6 Created shortUrlDetail reducer test 2018-09-07 20:41:21 +02:00
Alejandro Celaya
3e63734e2b Improved visits page 2018-09-05 20:17:46 +02:00
Alejandro Celaya
28bd39f974 Fixed stylelint not properly inspecting files in src root 2018-09-02 11:10:59 +02:00
Alejandro Celaya
8b17ff88ed Split short URL visits reducer into two individual reducers 2018-09-02 11:10:59 +02:00
Alejandro Celaya
0d97c084c2 Extracted components in ShortUrlVisits to simplify maintainability 2018-09-02 11:10:59 +02:00
Alejandro Celaya
b7ca32ff8f Moved visits-related elements to visits folder 2018-09-02 11:10:59 +02:00
Alejandro Celaya
b454810357 Moved tag helper components from utils to tags/helpers folder 2018-09-02 11:10:59 +02:00
Alejandro Celaya
fd57d70a0b Fixed tags input autofocus 2018-09-02 11:10:59 +02:00
Alejandro Celaya
b0bce7498a Added first autocomplete implementation on tags selector 2018-09-02 11:10:59 +02:00
Alejandro Celaya
1519f89318 Created different functions which load tags always or only once 2018-09-02 11:10:59 +02:00
Alejandro Celaya
0b089e24de Moved propTypes and defaultProps as static properties in class components 2018-09-02 11:10:59 +02:00
Alejandro Celaya
2b44d1b009 Fixed first item on aside menu only selected when in first page 2018-09-02 10:44:52 +02:00
Alejandro Celaya
850630092a Fixed selected tags lost when chaning page 2018-09-02 10:39:26 +02:00
Alejandro Celaya
34c5a0ef8f Removed duplicated code by creating a helper function 2018-08-27 16:45:46 +02:00
Alejandro Celaya
3d39fa724c Created App test 2018-08-26 19:48:21 +02:00
Alejandro Celaya
933de6e2c5 Fixed event handlers not properly called 2018-08-26 19:30:56 +02:00
Alejandro Celaya
2fdc7a0ff0 Fixed shape types not properly defined as shapes but as plane objects 2018-08-26 19:19:45 +02:00
Alejandro Celaya
3569202a62 Fixed typo 2018-08-26 10:52:45 +02:00
Alejandro Celaya
c0e116b17b Disabled specific eslint rules in small blocks 2018-08-26 10:49:23 +02:00
Alejandro Celaya
9b668f3365 Simplified Paginator component 2018-08-25 23:45:03 +02:00
Alejandro Celaya
6a016d8e6f Updated styles in javascript to fulfill adidas rules 2018-08-25 23:39:27 +02:00
Alejandro Celaya
ed0aa68452 Fixed linting issues in stylesheets 2018-08-25 15:59:51 +02:00
Alejandro Celaya
6d0753481d Refactored visits parser to be functional 2018-08-24 23:55:53 +02:00
Alejandro Celaya
4924f24e1a Refactored VisitsParser taking advantage of reduce function 2018-08-24 23:51:33 +02:00
Alejandro Celaya
26a3fdfd3d Created VisitsParser test 2018-08-24 23:38:37 +02:00
Alejandro Celaya
a83be0b45c Created CreateServer test 2018-08-24 23:19:49 +02:00
Alejandro Celaya
badc8a7324 Created DeleteServerModal test 2018-08-24 12:36:14 +02:00
Alejandro Celaya
7cd9caee77 Created DeleteServerButton test 2018-08-24 12:23:35 +02:00
Alejandro Celaya
76ae27707b Created ServersService test 2018-08-24 10:58:37 +02:00
Alejandro Celaya
53a4240219 Created ServersImporter test 2018-08-24 10:34:32 +02:00
Alejandro Celaya
12ac877e2d Created ServersExporter test 2018-08-24 10:14:00 +02:00
Alejandro Celaya
ff28169c74 Created ImportServersBtn test 2018-08-23 16:26:42 +02:00
Alejandro Celaya
da1616542d Minor refactoring on ImportServersBtn 2018-08-23 15:33:05 +02:00
Alejandro Celaya
a5865e6cec Improved ShlinkApiClient test 2018-08-22 22:38:05 +02:00
Alejandro Celaya
9b063a4616 Implemented importing servers from CSV file 2018-08-21 20:33:12 +02:00
Alejandro Celaya
ac52f55c5e Added button to import servers from CSV file 2018-08-20 17:31:45 +02:00
Alejandro Celaya
617a3b767b Replace json-csv parsing library 2018-08-20 17:08:15 +02:00
Alejandro Celaya
b72a5d0a66 Improved ServerDropdown.text.js 2018-08-20 16:53:48 +02:00
Alejandro Celaya
2b373cc4af Added feature to export servers list 2018-08-20 16:40:33 +02:00
Alejandro Celaya
d84bf01937 Replaced anchor by span to prevent accessibility error 2018-08-20 10:04:17 +02:00
Alejandro Celaya
84d012d7af Fixed accessibility issue 2018-08-19 20:56:55 +02:00
Alejandro Celaya
96adb227d9 Added search bar to tags list 2018-08-19 20:52:33 +02:00
Alejandro Celaya
843c121285 Extracted SearchField from SearchBar component to its own component 2018-08-19 20:29:23 +02:00
Alejandro Celaya
03870c0c6f Ensured tags list keeps sorted after editing a tag 2018-08-19 20:11:43 +02:00
Alejandro Celaya
5d2de11615 Allowed tags color to be changed 2018-08-19 20:08:02 +02:00
Alejandro Celaya
71ead150a2 Added color picker to edit tag modal 2018-08-18 23:24:03 +02:00
Alejandro Celaya
d541543ab3 Implemented edition of tags 2018-08-18 22:59:53 +02:00
Alejandro Celaya
878e336ba1 Simplified ColorGenerator and exposed method to set colors for a key 2018-08-18 17:51:44 +02:00
Alejandro Celaya
2650027c40 Updated tags list, allowing to click on a tag to show the list filtered by that tag 2018-08-18 17:34:49 +02:00
Alejandro Celaya
680d80d753 Prevented short URLs list to be reloaded when tags are edited 2018-08-18 17:14:33 +02:00
Alejandro Celaya
b5de9bf523 Fixed wrong reducer being called 2018-08-18 16:51:02 +02:00
Alejandro Celaya
1dee478234 Implemented delete tag behavior 2018-08-18 16:39:47 +02:00
Alejandro Celaya
f480e34f67 Created TagCard and DeleteTagConfirmModal components 2018-08-18 14:38:36 +02:00
Alejandro Celaya
f1ee467af4 Finished design on tags list page 2018-08-18 11:15:00 +02:00
Alejandro Celaya
63ddef2d81 Removed titles from side menu 2018-08-18 10:47:45 +02:00
Alejandro Celaya
ec7b47fb32 Allowed MuttedMessage to define a margin 0 2018-08-16 19:22:54 +02:00
Alejandro Celaya
f7f0d8c7c1 Improved tags list section 2018-08-16 19:19:57 +02:00
Alejandro Celaya
49290b56ee Created tags list page 2018-08-16 18:59:00 +02:00
Alejandro Celaya
03113583f0 Updated behavior on tags modal so that the component handles all actions 2018-08-15 19:10:35 +02:00
Alejandro Celaya
a1eadf767e Updated short URL tags adding real behavior 2018-08-15 18:44:54 +02:00
Alejandro Celaya
854851fefc Created common component to handle tags and modal to edit tags 2018-08-15 11:14:44 +02:00
Alejandro Celaya
707c097ed9 Fixed title size in mobile devices 2018-08-15 10:16:53 +02:00
Alejandro Celaya
cb3186395d Added burguer icon to show sidebar on mobile devices 2018-08-15 08:51:20 +02:00
Alejandro Celaya
a00f59bab3 Added 'active' on Add server link 2018-08-14 20:51:38 +02:00
Alejandro Celaya
72f96a6d1d Ensured sidebar does not overlap header in mobile resolutions 2018-08-14 20:46:01 +02:00
Alejandro Celaya
cb9dc9d65e Added swipable menu 2018-08-14 20:28:46 +02:00
Alejandro Celaya
adec759579 Added workaround to add tags on blur on tags input which allows tags to be added on Android 2018-08-12 19:07:42 +02:00
Alejandro Celaya
f8eb5fb022 Creates shortUrlsListParams reducer test 2018-08-12 18:50:19 +02:00
Alejandro Celaya
e0ab67899d Created server reducer test 2018-08-12 10:17:13 +02:00
Alejandro Celaya
ec4c14e8de Created selectedServer reducer test 2018-08-12 09:22:18 +02:00
Alejandro Celaya
f23245a39c Created DateInput component test 2018-08-12 09:01:11 +02:00
Alejandro Celaya
34155aae58 Refactored some components 2018-08-12 08:45:48 +02:00
Alejandro Celaya
86eb963176 Simplified AsideMenu component removing unneeded checks 2018-08-12 08:26:36 +02:00
Alejandro Celaya
073703ef5b Created Home component tests 2018-08-12 08:20:35 +02:00
Alejandro Celaya
49f0109d20 Renamed home-container CSS class to just home 2018-08-12 08:01:35 +02:00
Alejandro Celaya
f9773dbebe Added servers list to home page 2018-08-11 22:06:36 +02:00
Alejandro Celaya
c920403d5f Deleted no longer needed styles sheet 2018-08-11 21:41:01 +02:00
Alejandro Celaya
e1008fcff1 Replaced tags input component by a simpler one 2018-08-11 21:39:27 +02:00
Alejandro Celaya
7efc09d73c Improved badge color 2018-08-11 18:27:51 +02:00
Alejandro Celaya
b3be7df890 Improved tags filtering control 2018-08-10 22:27:50 +02:00
Alejandro Celaya
c80fea2877 Added ordering control to short URLs list in mobile resolutions 2018-08-10 22:16:50 +02:00
Alejandro Celaya
e4d5424c07 Fixed short URLs ordering in desktop resolutions 2018-08-10 21:38:24 +02:00
Alejandro Celaya
3821735a89 Updated DateInput to be clearable 2018-08-09 20:13:46 +02:00
Alejandro Celaya
6f38538dea Improved responsiveness in visits page 2018-08-09 19:50:22 +02:00
Alejandro Celaya
ca4365d820 Ensured toggle menu is hidden on route change 2018-08-05 11:27:26 +02:00
Alejandro Celaya
ec6b11d9c9 Created component to scroll to top 2018-08-05 11:20:09 +02:00
Alejandro Celaya
554779a173 Fixed pagination control not being properly wrapped in mobile devices 2018-08-05 10:12:55 +02:00
Alejandro Celaya
14b98fd833 Improved context menu in mobile devices 2018-08-05 10:08:17 +02:00
Alejandro Celaya
ce8888ce5d Replaced double quotes with single quotes in sass imports 2018-08-05 10:01:17 +02:00
Alejandro Celaya
b25cb6c170 Added more responsive improvements 2018-08-05 08:49:07 +02:00
Alejandro Celaya
c1880125b3 Fixed left menu responsiveness 2018-08-05 08:29:52 +02:00
Alejandro Celaya
9575107848 Configured redux dev tools 2018-08-05 08:13:12 +02:00
Alejandro Celaya
3c0f1716aa Fixed responsive properties 2018-08-04 17:52:56 +02:00
Alejandro Celaya
ee6193ace8 Added support to filter by multiple tags 2018-08-04 17:07:44 +02:00
Alejandro Celaya
1562f7ef35 Fixed padding 2018-08-04 08:38:25 +02:00
Alejandro Celaya
7f9744cef2 Fixed default servers object value 2018-08-04 08:29:40 +02:00
Alejandro Celaya
5517fcdde5 Fixed changing selected server 2018-08-04 08:24:58 +02:00
Alejandro Celaya
daf67e1d43 Fixed typo 2018-08-01 19:15:45 +02:00
Alejandro Celaya
bbeaf01319 Created filtering by tag feature 2018-08-01 19:04:58 +02:00
Alejandro Celaya
eef1946243 Used setState callback to ensure no race conditions occur 2018-08-01 18:32:21 +02:00
Alejandro Celaya
0b15fba640 Added filtering by date range to visit stats page 2018-07-31 22:04:20 +02:00
Alejandro Celaya
a7bd66827a Created reusable DateInput component 2018-07-31 21:24:34 +02:00
Alejandro Celaya
1abcb2e1d7 Fixed visits graphs styles 2018-07-31 20:36:27 +02:00
Alejandro Celaya
0f34d473b9 Ensured regular data for a short URL is loaded if defined 2018-07-30 21:34:06 +02:00
Alejandro Celaya
13004f6d57 Removed duplicated code from ShortUrlVisits 2018-07-30 21:12:06 +02:00
Alejandro Celaya
1b97877ecf Improved styles by using Cards 2018-07-30 20:54:06 +02:00
Alejandro Celaya
d97cbdde5d Defined how to parse visit stats and how to render them 2018-07-30 20:31:48 +02:00
Alejandro Celaya
a75c7309f7 Defined visit stats page 2018-07-29 19:25:22 +02:00
Alejandro Celaya
c02b0e0591 Created ShortUrlVisits page 2018-07-29 18:39:00 +02:00
Alejandro Celaya
92f7fffcf3 Implemented behavior to create new short URLs 2018-07-29 18:13:23 +02:00
Alejandro Celaya
f7249cfe6e Implemented short URLs creation 2018-07-28 18:59:32 +02:00
Alejandro Celaya
0a5c20e3ee Connected creation form with redux, and created reducer for short URL creation 2018-07-28 10:41:05 +02:00
Alejandro Celaya
c51bf5b9a0 Renamed ServersService module 2018-07-28 09:56:08 +02:00
Alejandro Celaya
41a4f31c57 Fixed indentation 2018-07-28 09:34:31 +02:00
Alejandro Celaya
e10028a2b9 Renamed classes to match components file names 2018-07-28 09:20:51 +02:00
Alejandro Celaya
ce22b7e8e9 Extracted ShortUrlsRow to its own module 2018-07-28 09:18:55 +02:00
Alejandro Celaya
b734b4515b Extracted ShortUrlsRowMenu to its own module 2018-07-28 09:15:41 +02:00
Alejandro Celaya
842b1a7590 Added preview modal component 2018-07-27 18:21:10 +02:00
Alejandro Celaya
131099b2a6 Added QrCode modal window to short URLs 2018-07-27 18:07:08 +02:00
Alejandro Celaya
a78d0b9b20 Applied some improvements in manifest 2018-07-26 21:01:12 +02:00
Alejandro Celaya
78ba7c75ff Moved logic to mark selected server to parent component in order to affect all children compo0nents on the same route 2018-07-24 19:17:01 +02:00
Alejandro Celaya
3eaa66435a Fixed tests 2018-07-22 22:49:51 +02:00
Alejandro Celaya
86a1cdf4d1 Added ordering capabilities to short URLs list 2018-07-22 09:37:57 +02:00
Alejandro Celaya
6e6e54fa36 Installed font awesome regular icons 2018-07-22 08:36:46 +02:00
Alejandro Celaya
b6c82da250 Improved date pickers in create URL form 2018-07-21 19:27:00 +02:00
Alejandro Celaya
0ac6d81fed Added datepickers in create short URL form 2018-07-21 19:07:16 +02:00
Alejandro Celaya
4522443789 Fixed problem while copying short URL 2018-07-21 18:48:33 +02:00
Alejandro Celaya
7add153d93 Installed copy to clipboard package and used for context menu 2018-07-21 12:15:53 +02:00
Alejandro Celaya
d382ee8d95 Added create short URL form 2018-07-21 10:38:54 +02:00
Alejandro Celaya
b2fa86a917 Created short URLs component 2018-07-20 22:32:50 +02:00
Alejandro Celaya
3b104b0ead Improved modal text 2018-07-20 22:30:54 +02:00
Alejandro Celaya
f0c20a2d1a Improved aside styles 2018-07-20 22:20:58 +02:00
Alejandro Celaya
168b24344e Added modal window for server deletion 2018-07-20 22:14:17 +02:00
Alejandro Celaya
0de191ac0b Added icons to side menu 2018-07-18 20:32:19 +02:00
Alejandro Celaya
e1049a74a2 Added behavior to mark active server in servers dropdown 2018-07-18 20:26:45 +02:00
Alejandro Celaya
fb407da3e8 Fixed siude menu active element not being properly selected 2018-07-18 20:09:31 +02:00
Alejandro Celaya
3ea33d0e38 Implemented left menu 2018-07-18 20:01:56 +02:00
Alejandro Celaya
5a7ac69aff Fixed problem while 'reloading' a page with different route params not making the server to be hit 2018-07-18 19:01:43 +02:00
Alejandro Celaya
22406d1253 Added hability to create servers 2018-07-16 18:48:50 +02:00
Alejandro Celaya
be30d62f6f Reduced the amount of duplicated code in CreateServer component 2018-07-16 18:29:14 +02:00
Alejandro Celaya
ebb94a17ab Linked CreateServer component with redux 2018-07-16 18:25:37 +02:00
Alejandro Celaya
554248c376 Added font weight to create server component labels 2018-07-15 11:17:58 +02:00
Alejandro Celaya
6494f04d25 Added structure and some stylings to CreateServer component 2018-07-15 11:06:53 +02:00
Alejandro Celaya
010e3ce0f3 Added proper loading status handling to short URLs list 2018-07-15 10:39:05 +02:00
Alejandro Celaya
a4f9a2b8b3 Updated reducers to follow Redux Reducer Bundles proposal 2018-07-15 10:28:39 +02:00
Alejandro Celaya
ac62410926 Added pagination component 2018-06-17 18:13:55 +02:00
Alejandro Celaya
66a81d7e58 Updated ApiClient to return pagination data when listing short URLs 2018-06-17 17:21:47 +02:00
Alejandro Celaya
1f157a015b Moved management of filtering options to own reducer 2018-06-17 17:12:16 +02:00
Alejandro Celaya
6587a08ed1 Created more components for the short URLs list 2018-06-17 10:59:04 +02:00
Alejandro Celaya
b008c37a5b Implemented first elements of short codes list 2018-06-16 11:24:42 +02:00
Alejandro Celaya
f4c48bc94f Fixed loading state in servers list 2018-06-15 21:51:50 +02:00
Alejandro Celaya
c0203f1336 Implemented loading of short URLs 2018-06-15 21:49:25 +02:00
Alejandro Celaya
e4356720d7 Added more behavior to servers list 2018-06-14 20:11:41 +02:00
Alejandro Celaya
9ac0811200 Setup tests environment 2018-06-14 19:42:42 +02:00
Alejandro Celaya
e150b35e33 Wired redux 2018-06-03 20:12:40 +02:00
Alejandro Celaya
b1e97ef022 Created separated component with servers dropdown 2018-06-03 13:18:33 +02:00
Alejandro Celaya
2cad352045 Added sections via react router 2018-06-03 13:15:52 +02:00
Alejandro Celaya
39a78414eb Reformated code to use 2-space indents 2018-06-03 12:57:03 +02:00
Alejandro Celaya
07049261e3 Finished main bar 2018-05-13 12:02:01 +02:00
Alejandro Celaya
41bc8f8459 Added improvements using new components 2018-05-13 11:58:35 +02:00
Alejandro Celaya
e62416e9bb Added some improvements 2018-05-13 09:48:21 +02:00
Alejandro Celaya
c6ce052797 First commit 2018-05-13 08:57:47 +02:00