The setTimeout fires after the modal already hides so it ends up firing twice which causes an error because the element is no longer there:
```
Uncaught TypeError: Cannot read property 'get' of null
at Popup.triggerEvent (storm-min.js?v443:3732)
at Popup.hide (storm-min.js?v443:3741)
at storm-min.js?v443:3730
```
Credit to @Teranode for the fix.
Since popovers and modals currently share the same z-index (600) a popover that gets created for a filter inside a modal is invisible. It is hidden below the modal. This commit adds a check to see if a filter is created from within a modal window. If yes, the popover will be added to the modal container. Otherwise the default container value `false` is used. Credit to @tobias-kuendig
Adds action buttons ("Apply" & "Clear") to filter popups for UX improvement (past experience was click out of the popup to apply the selected filters and manually remove all applied filters). Credit to @Teranode. Fixes#3304.
This prevents an error from popping up after the popover is hidden/removed `this.$container.remove()` is no longer available after removal so we need to check for the presence of `this.$container`. Credit to @Teranode
Replaced the existing PNG flag icons with the flag-icon-css library that uses SVGs, has more flags, and is more active (i.e well maintained). Credit to @mariavilaro & @w20k. Thanks to @petehalverson for Octodock for easy testing of this.
Fixes#3571. Credit to @ayumihamsaki. Thanks to @petehalverson for his PR testing system, this is the first PR I'm merging after testing it with that system.
Add option to horizontally align the loader indicator in the center and option to change the size (only small size available for now) through the JavaScript API. These abilities were already available through CSS, this commit makes them available through JS as well.
Add `data-input-preset-remove-stop-words="false"` to an element being handled with the input preset JS to disable the removal of stop words from slug generation. Credit to @tim0991.
Adds the ability to specify an `ignoreTimezone: true` option on the config for a datepicker form widget or date column type. This will ignore both October's and the backend user's timezone settings to display the date exactly as it is stored.
Removed `minNumber` and `maxNumber` options, they are not enforceable on the client side without a lot more work. Added `number` filter type, added missing numberrange filter template, consolidated styles for filter-date and filter-number filters.
Use native scroll on mobile devices (much better UX)
Stack settings menu items 2 column medium, 3 column large
The settings search is now forcibly focused