Commit Graph

440 Commits

Author SHA1 Message Date
9062fd9b7a FIX: improvements for download local dates (#14588)
* FIX: do not display add to calendar for past dates

There is no value in saving past dates into calendar

* FIX: remove postId and move ICS to frontend

PostId is not necessary and will make the solution more generic for dates which doesn't belong to a specific post.

Also, ICS file can be generated in JavaScript to avoid calling backend.
2021-10-14 09:22:44 +11:00
b44119cdb2 Update translations (#14579) 2021-10-12 16:00:22 +02:00
837bd5a6e5 FIX: Fix local-dates in non-post contexts, and in long topics (#14565)
- Stop looking up the topic title from the DOM. On long topics, the topic title may not be present. Instead, we can store the topic title in a data-title attribute during decorateCookedElement, and then access it later. This approach would also allow us to add customize titles per-local-date in future. If there is no topic title available (e.g. when local dates are used elsewhere in the UI), we use the site name to build a sensible default

- Don't require a postId for creating calendar events. We don't have postIds in non-post contexts. At the moment, the 'download ICS' function will fail without a valid postId, so that will need to be fixed in a future commit.
2021-10-08 20:22:52 +01:00
4285706d97 FIX: local date trim when no time available (#14525)
When there is a blank space in the end of date, moment is returning a different value:

```javascript
  console.log(moment.tz("2021-09-09 ", "Australia/Sydney").toISOString());
  // 2021-09-09T00:00:00.000Z
  console.log(moment.tz("2021-09-09", "Australia/Sydney").toISOString());
  // 2021-09-08T14:00:00.000Z
```
2021-10-06 16:18:32 +11:00
cb5b0cb9d8 FEATURE: save local date to calendar (#14486)
It allows saving local date to calendar.
Modal is giving option to pick between ics and google. User choice can be remembered as a default for the next actions.
2021-10-06 14:11:52 +11:00
0f5d737a61 Update translations (#14513) 2021-10-05 15:59:26 +02:00
62b27ea9f3 DEV: Fix moment warnings (#14482)
When start/end was missing the time component the string passed to `moment()` would have a space at the end. This was causing these warnings:

```
Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
```
2021-09-30 22:07:48 +02:00
c9e7b64a64 DEV: Add toolbar button when chat in installed (#14422) 2021-09-22 13:46:06 -05:00
e28a2735bc FIX: correctly defines data-attributes used by local-dates (#14418)
This was previously relying on data-* being allowed by other initialisers which could cause bugs if local dates ends up being used in other contexts.
2021-09-22 16:49:45 +02:00
38c3a44bf9 FIX: return empty array when no parent for range (#14386)
If parent element for range does not exists, range calculator should
return empty array. In that case duration calculations will stop because
of:

```
if (_rangeElements(element).length === 2) {
  opts.duration = _calculateDuration(element);
}
```
2021-09-20 16:03:02 +10:00
82b7e34f30 FEATURE: local dates range on click (#14355)
This PR is introducing 2 changes.
1. Date popup is displayed on click instead on hover
2. If the range is given then the whole range is always displayed for both startDate and endDate
3. For range, short time is displayed for end if the range is < 24 hours
2021-09-20 09:23:18 +10:00
5cce1b38e4 Update translations (#14336) 2021-09-14 16:21:00 +02:00
09764291b1 FIX: In test mode, initializers were modifying classes over and over
This adds a new property, `pluginId` which you can pass to `modifyClass`
which prevent the class from being modified over and over again.

This also includes a fix for polls which was leaking state between tests
which this new functionality exposed.
2021-09-02 11:22:01 -04:00
c995b20ca4 Update translations (#14063) 2021-08-24 15:25:44 +02:00
4ca34940d3 DEV: ensures container is not destroyed before showing tooltip (#13992)
In fast tests it could results in an error.
2021-08-10 11:48:31 +02:00
11668ee85b PERF: generates dates tooltip on demand (#13944) 2021-08-04 16:28:07 +02:00
d23c0c06c3 PERF: reduces rendering time of local-dates (#13931)
- prefers insertAdjacentHTML over innerHTML as it's much faster in this case (about 5x)
- memoizes tz.guess()
- memoizes list of timezones
- inlines template
- applies main element class in one pass

All in all for a very edge case of about 80 dates it should be faster of about 15/20ms.
2021-08-04 08:27:22 +02:00
0c422cff1e Update translations (#13898) 2021-07-30 11:30:10 +02:00
e951cb9aef Update translations (#13860) 2021-07-27 15:24:03 +02:00
3667cc6447 Update translations (#13821) 2021-07-22 12:31:19 +02:00
28b5e6e47d Update translations (#13796) 2021-07-21 10:30:34 +02:00
53fe8b2e77 Update translations (#13647) 2021-07-13 20:30:09 +02:00
aa56e2a758 DEV: Don't use the Ember global (#13535) 2021-06-29 19:54:18 +02:00
23930738a7 Update translations (#13565) 2021-06-29 16:02:02 +02:00
252dd169a4 Update translations (#13476) 2021-06-22 15:21:20 +02:00
77d33ebe21 FIX: Lots of plugin tests were using old, non-Ember compat CLI APIs (#13320) 2021-06-09 10:58:55 -04:00
59097b207f DEV: Correct typos and spelling mistakes (#12812)
Over the years we accrued many spelling mistakes in the code base. 

This PR attempts to fix spelling mistakes and typos in all areas of the code that are extremely safe to change 

- comments
- test descriptions
- other low risk areas
2021-05-21 11:43:47 +10:00
55611a5b80 Update translations (#13089) 2021-05-18 16:49:18 +02:00
8ac184c636 Update translations (#13088) 2021-05-18 15:11:41 +02:00
21c301aa72 Update translations (#13030) 2021-05-11 19:01:59 +02:00
d53307b141 UX: correctly shows outline around focused input time (#12833) 2021-04-26 11:05:46 +02:00
606860e75a Update translations (#12764) 2021-04-20 15:33:17 +02:00
93f74add7d Update translations (#12614) 2021-04-07 11:58:41 +02:00
bc88ea5976 Update translations (#12412) 2021-03-16 15:49:29 +01:00
2757003ef1 Update translations (#12186) 2021-02-23 15:10:04 +01:00
f283bde25a Update translations (#12097) 2021-02-16 15:24:37 +01:00
b3fa521bf4 Update translations (#12019) 2021-02-09 14:56:15 +01:00
f1d5d2b134 REFACTOR: Convert buttons to flexbox (#11785) 2021-01-27 16:17:08 -05:00
0e8c155b70 Update translations (#11779) 2021-01-20 22:58:26 +01:00
440b63e833 Update translations (#11756) 2021-01-19 16:14:59 +01:00
0e8e3f4813 Update translations (#11689) 2021-01-12 14:29:05 +01:00
49f4c75080 FIX: recurring was not working for some cases (eg: hours and unit > 1) (#11657) 2021-01-07 12:21:51 +01:00
8af6e72675 FIX: ensures recurring works when setting a start date in future (#11587) 2020-12-29 20:11:18 +01:00
09f9d4b281 Update translations (#11601) 2020-12-29 19:44:53 +01:00
e113ddc73c Update translations (#11557) 2020-12-22 14:49:40 +01:00
142e0ae062 Revert "Revert "DEV: Wrap Ember.run.debounce. (#11352)"" (#11509)
* Revert "Revert "DEV: Wrap `Ember.run.debounce`. (#11352)" (#11465)"

This reverts commit aa0d4ea764959bd7ec5127f78dbec68de4dc8337.

* Correctly debounce onScroll function
2020-12-18 10:18:52 -03:00
aa0d4ea764 Revert "DEV: Wrap Ember.run.debounce. (#11352)" (#11465)
This reverts commit 8b426431a41ad6e91de05614a2d35d48c5112fa7.
2020-12-10 16:48:25 -03:00
8b426431a4 DEV: Wrap Ember.run.debounce. (#11352)
We want to wrap the `Ember.run.debounce` function and internally call `Ember.run` instead when running tests.

This commit changes discourseDebounce to work the same way as `Ember.run.debounce`.

Now that `discourseDebounce` works exactly like `Ember.run.debounce`, let's replace it and only use `DiscourseDebounce` from now on.

Move debounce to discourse-common to be able to reuse it in different bundles

Keep old debounce file for backwards-compatibility
2020-12-10 11:01:42 -03:00
76b04afca3 FIX: Local dates showed incorrect timezones with extra whitespace (#11408)
You might wonder why this matters. It turns out in some locales like
French, we replace quotation marks with « and » -- this should likely
not happen before BBCode is parsed but that is not the case for this
plugin. The plugin has code to handle this situation, but it means extra
spaces are inserted around the time zone which breaks it.

This fix allows us to supply extra whitespace and will show the correct
time zone.
2020-12-08 10:57:18 +11:00
bbe5d8d5cf DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00