Johannes Meyer
3c41c14653
complete.js: Properly manage enrichment persistence
2021-01-14 11:57:06 +01:00
Johannes Meyer
d19a55311b
complete.js: Keep used terms in case of an autorefresh
2021-01-14 11:57:06 +01:00
Johannes Meyer
5924d610a1
js: Provide additional parameters for events `beforerender` and `rendered`
...
beforerender: content, action, autorefresh, scripted
rendered: autorefresh, scripted
2021-01-14 11:57:05 +01:00
Johannes Meyer
dad0122f11
js: Introduce behavior complete.js
2021-01-14 11:56:06 +01:00
Johannes Meyer
46769b9be2
js: Add `.impact` to `.content` if a control is automatically submitted
2021-01-13 17:19:39 +01:00
Johannes Meyer
6197d5f0af
form.js: Only track real value changes and reset upon reverts
2021-01-13 17:19:18 +01:00
Johannes Meyer
ca74e14812
ui.js: Don't require jQuery objects in `getUniqueContainerId`
2021-01-13 17:18:55 +01:00
Johannes Meyer
fbf3a1f757
loader.js: Don't add form submits other than `GET`s to the history
...
This has previously not been an issue, as form submits seem to have
never targeted another url than their container's current one.
Though any form that did this, was pushed to history upon submit.
This happens now only for `GET` forms.
2021-01-13 17:17:48 +01:00
Johannes Meyer
e346c1c88c
events.js: Also accept `$autoSubmittedBy` from `event.detail`
2021-01-13 17:17:18 +01:00
Johannes Meyer
3e29fba052
js: Transmit `X-Icinga-Autorefresh=1` with autorefresh requests
2021-01-13 17:16:53 +01:00
Johannes Meyer
2c7b2330a7
loader.js: Support behaviors as well as multipart update targets
2021-01-13 17:16:30 +01:00
Johannes Meyer
f05f905d14
history.js: Set `lastPushUrl` in method `replaceCurrentState()`
...
Without this, any subsequent call to `pushCurrentState()` has
no effect in case the same url is used that was replaced.
2021-01-13 17:15:58 +01:00
Johannes Meyer
5a38977906
js: Add `define.js`
2020-11-18 13:21:33 +01:00
Johannes Meyer
d918d6c86f
Merge pull request #4235 from Icinga/fix/sparkline-js-performance
...
Drop sparkline.js and render inline-pies as SVG
2020-11-18 09:37:31 +01:00
Johannes Meyer
0b94489c7e
loader.js: Introduce new header `X-Icinga-Location-Query`
...
This header is only used in case the response includes
multipart content. It's meant to provide a new query
string that replaces the one of the targeted container
and the resulting change also replaces the current
history entry.
2020-11-06 11:26:05 +01:00
Johannes Meyer
70c3023f3c
loader.js: Also match newlines when interpreting multipart content
2020-11-06 11:21:33 +01:00
Johannes Meyer
e68e8c8e9c
loader.js: Only discard content if a renderHook returns null
...
Previously any false value had this effect, though empty strings
were also discarded due to this. However, in case an empty string
is the content in the first place, the content must be updated.
2020-11-06 11:21:33 +01:00
Johannes Meyer
4ce9165f77
js: Don't force focus in multipart updates if focus isn't affected
2020-11-06 11:20:28 +01:00
Johannes Meyer
37fb455977
js: Drop sparkline lib and behavior
2020-09-28 16:39:54 +02:00
Johannes Meyer
2a64a97302
js: Don't add class `impact` to already finished targets
2020-06-08 10:49:02 +02:00
Johannes Meyer
a59977f181
js: Properly parse/build url query values
...
fixes #4167
2020-06-05 08:57:30 +02:00
Johannes Meyer
74a9a8edf0
modal.js: Request compact content with `showCompact`
2020-06-04 08:50:41 +02:00
Alexander A. Klimov
4232a344b7
Icinga.Loader#onFailure(): treat 5xx response as connection failure
...
... not to break the container with the reverse proxy's response not fitting into our layout.
refs #4133
2020-04-24 08:39:23 +02:00
Johannes Meyer
344598e845
loader.js: Wait for cols being painted prior adding class `impact`
...
Allows for the new loading effect's transition to play correctly
also for columns which get opened the first time.
2020-04-14 10:40:23 +02:00
Johannes Meyer
969c1615c7
history.js: Don't load location bar as if it's an autorefresh
2020-02-28 14:37:46 +01:00
Yonas Habteab
0432b7d50d
Revert "JS: Do not apply 'menu-hovered' on #layout"
...
This reverts commit 5443bfe9fa
.
2020-02-28 11:36:04 +01:00
nmartini
1cf2f767a2
Make sure that class container has its container
2020-02-28 08:30:23 +01:00
Johannes Meyer
fd97e8b056
actiontable.js: Properly handle encoded filter values
2020-01-30 08:31:06 +01:00
Johannes Meyer
5a031bf659
utils.js: Fix method `removeUrlParams()`
2020-01-28 15:23:41 +01:00
Johannes Meyer
3464455021
js: Preserve scroll position if focus is forced to a particular element
2020-01-16 15:54:17 +01:00
Johannes Meyer
8bc84a5f9e
js: Teach the url parsing a final lesson about query strings
...
`utils.parseParams()` now returns an array instead of an object.
This may require some changes in modules using this directly or
by `utils.parseUrl().params`
refs #4056
2020-01-16 13:45:10 +01:00
Eric Lippmann
0355b20da0
JS: Respect container in Icinga.Ui.focusElement()
...
Though IDs should be unique across the whole page, focusElement() must
not fail if there is the same anchor in the left and right column.
focusElement() now also respects the container when searching the
element to focus by ID.
2020-01-16 10:47:28 +01:00
Johannes Meyer
8d4e0126ca
Merge pull request #4055 from Icinga/feature/js-history-replace-state
...
JS: Introduce Icinga.History.replaceCurrentState()
2020-01-16 08:54:49 +01:00
Johannes Meyer
4c39772667
Merge pull request #4053 from Icinga/feature/js-addUrlFlag
...
JS: Introduce Icinga.Utils.addUrlFlag()
2020-01-16 08:14:20 +01:00
Johannes Meyer
477649900c
js: Also adjust `utils.removeUrlParams()`..
...
..and properly handle flags in `utils.addUrlParams()`
refs #4056
2020-01-16 08:13:11 +01:00
Johannes Meyer
fdd14c96b1
js: Only encode new params in `utils.addUrlParams()`
2020-01-15 16:47:30 +01:00
Johannes Meyer
3db65d79c6
js: Fix improper parsing in `utils.parseParams()`
2020-01-15 16:46:46 +01:00
Eric Lippmann
71b8ab9b68
JS: Introuce Icinga.History.replaceCurrentState()
...
Before, we only had pushCurrentState() to add a new URL to the history
stack. But some actions, e.g. "load more" in history views require to
replace the current state instead of pushing. This is what
replaceCurrentState() supports now.
2020-01-15 09:57:30 +01:00
Eric Lippmann
97006973d8
JS: Introduce Icinga.History.getCurrentState()
...
Before, Icinga.History.pushCurrentState() had this functionality
enclosed. Now it is usable from other functions as well.
2020-01-15 09:55:39 +01:00
Johannes Meyer
db69f23c20
modal.js: Don't push form submits to the history
2020-01-15 08:41:34 +01:00
Johannes Meyer
844cb911a4
loader.js: Use `utils.addUrlFlag` instead of the now deprecated one
2020-01-15 08:00:04 +01:00
Johannes Meyer
e45c18c833
utils.js: Use a regex to identify the uri fragment
2020-01-15 07:58:49 +01:00
Eric Lippmann
7f8ee4f94d
JS: Deprecate Icinga.Loader.addUrlFlag() in favor of Icinga.Utils.addUrlFlag()
2020-01-14 14:58:34 +01:00
Eric Lippmann
4d02d8f6d6
JS: Introduce Icinga.Utils.addUrlFlag()
2020-01-14 14:58:34 +01:00
Johannes Meyer
b85360449b
js: Ignore anchors without href in `events.linkClicked()`
2019-12-13 16:13:55 +01:00
Johannes Meyer
63452ba250
js: Enhance scroll location detection in `ui.focusElement()`
2019-12-13 16:13:13 +01:00
Johannes Meyer
f5ce5d42ef
js: Add jQuery plugin `offsetTopRelativeTo($ancestor)`
2019-12-13 16:12:40 +01:00
ValeDaRold
5edd267f2a
Refresh container if X-Icinga-Extra-Updates with length 1 is defined ( #3970 )
...
* Refresh container if X-Icinga-Extra-Updates with length 1 is defined
2019-12-12 13:50:03 +01:00
Johannes Meyer
d6677bfb66
loader.js: Also preserve scroll position of `display:flex` containers
2019-12-11 15:27:03 +01:00
Johannes Meyer
55b9b44be9
js: Fix error when focusing navigation anchors
2019-12-11 09:27:18 +01:00
Johannes Meyer
60dfbcbad9
Remove remaining usages of `#menu-container`
2019-12-06 15:39:14 +01:00
Johannes Meyer
e61eb6f160
ui: Fix sidebar issues in minimal layout
...
Was completely broken even prior the removal of `ui.fixControls()`..
2019-12-06 15:39:14 +01:00
Johannes Meyer
4af48c797d
js: Remove `ui.fixControls()` and `ui.initializeControls()`
...
Hooray!
2019-12-06 15:39:14 +01:00
Johannes Meyer
83d6a258ec
application-state.js: Remove redundant rendered callback
2019-12-06 15:39:14 +01:00
Florian Strohmaier
5443bfe9fa
JS: Do not apply 'menu-hovered' on #layout
...
refs #3904
2019-12-06 15:36:34 +01:00
Florian Strohmaier
7864150054
JS: Fix navigation flyout not fading out after mouseout
...
refs #3904
2019-12-06 15:36:34 +01:00
Florian Strohmaier
c6c77aa411
JS: Remove unused code
2019-12-06 15:36:34 +01:00
Florian Strohmaier
516bbc1ef0
JS: Fix sidebar animating out
2019-12-06 15:36:34 +01:00
Florian Strohmaier
0da89bb977
JS: Reinstate mobile menu
2019-12-06 15:36:34 +01:00
Florian Strohmaier
c06aec0471
Remove unused code
2019-12-06 15:36:34 +01:00
Florian Strohmaier
cfbeb26354
JS: Disable fixControls()
2019-12-06 15:36:34 +01:00
Johannes Meyer
cc065b949b
js: Use custom event `icinga-init` to trigger initial render events
...
The `load` event is not really only fired *after all shared resources are loaded*.
Just Chromium ensures this event is fired only after `ready` and `DOMContentLoaded`.
FF, IE and Safari don't so we need our own post-init event: `icinga-init`
2019-11-26 16:00:21 +01:00
Johannes Meyer
48098a2830
js: Don't initialize modules using a `beforerender` event
...
`beforerender` is already too late. Module initialization
done using an event handler is wrong anyway. It's some
kind of bootstrapping after all and should be performed
by parts of the code which is directly responsible for
DOM content handling of modules. (i.e. loader.js)
This change though introduces a side-effect which was
not the case previously: Nested `.container` elements
trigger `rendered` events now. I've introduced this to
ensure we're also lazy loading modules and let them
handle their `rendered` events right after a redirect
which rerendered the layout. (Only `#layout` got a
`rendered` event then prior to this change)
2019-11-21 09:55:20 +01:00
Johannes Meyer
7f78c1a8a8
js: Properly initialize modules and don't trigger `rendered` events twice
...
Cleans up how our JS initializes module javascript. Previously the `rendered`
event only got fired upon page load if a module got loaded as well. This is
now decoupled and `rendered` events fire for all containers and the entire
layout upon page load.
Notable changes:
* A `load` event initializes modules and triggers `rendered` on `.container` and `#layout` elements
* Module javascript (module.js) is still lazy loaded but with a `beforerender` event, not `rendered`
* Previously `#layout` received a `rendered` event during bootstrapping, this is not the case anymore
* Initial search value preservation now got its own handler `events.onRenderedMenu()`
* Initial dashlet loading now git its own handler `events.loadDashlets()`
2019-11-20 16:22:56 +01:00
Johannes Meyer
47c2a8bdc1
js: Utilize `utils.objectsEqual()` in `actiontable.select()`
2019-11-20 16:22:56 +01:00
Johannes Meyer
2dbf9ca8ab
js: Properly parse/decode query params in `utils.parseParams()`
2019-11-20 16:22:56 +01:00
Johannes Meyer
5f739deea3
loader.js: Enhance __BACK__ handling
2019-11-05 15:04:23 +01:00
Johannes Meyer
da565f4d16
loader.js: Refresh left twice in case right has been closed..
...
..if the redirect target is `__BACK__`
2019-11-04 17:25:05 +01:00
Johannes Meyer
42e596f457
loader.js: Navigate back if redirect target is `__BACK__`
2019-11-04 16:03:54 +01:00
Johannes Meyer
a13d2b1e48
js: Introduce behavior modal.js
2019-11-04 12:46:30 +01:00
Johannes Meyer
c0cac6fe3c
loader.js: Allow to use a separate target for redirections
2019-11-04 12:46:30 +01:00
Johannes Meyer
0e5e046ae5
js: Split event handling and processing of form submits
2019-11-04 12:46:30 +01:00
Johannes Meyer
50bf126d36
js: Move function events.getLinkTargetFor to loader.js
2019-11-04 12:46:30 +01:00
Johannes Meyer
2896cbd781
loader.js: Avoid named capture groups to parse multipart content
...
fixes #3975
2019-10-07 14:35:49 +02:00
Johannes Meyer
a8dc609b62
loader.js: Add support for multipart content
...
refs #3953
2019-09-25 10:34:24 +02:00
Johannes Meyer
dda49b5ff1
loader.js: Drop redundant method `cacheLoadedIcons`
2019-09-25 10:34:24 +02:00
Johannes Meyer
da513a746d
loader.js: Add support for extra updates
...
refs #3953
2019-09-25 10:34:24 +02:00
Johannes Meyer
329f54cc96
ui.js: Don't generate a container id if its parent is #col1
...
refs #3953
2019-09-25 10:34:24 +02:00
Johannes Meyer
b15c012671
loader.js: Only pre-wrap a search response's html with a div
...
It's not required for all responses anymore.
refs #3953
2019-09-25 10:34:24 +02:00
Johannes Meyer
f98f988aff
Remove tristate form element
2019-09-23 08:36:24 +02:00
Johannes Meyer
5333bbf04d
loader.js: Also set title directly if layout is base target
2019-08-02 15:42:58 +02:00
Johannes Meyer
b31dd77812
Merge pull request #3676 from Icinga/feature/form-styling
...
Improve look of our forms
2019-07-30 08:26:08 +02:00
Johannes Meyer
5849c06314
storage.js: Don't try and allow to register events for non-local backends
2019-07-30 08:17:29 +02:00
Eric Lippmann
62d4e73d5a
Use session storage for sidebar state
...
The sidebar state is now maintained per tab/window because users view
different things in different tabs/windows. E.g. users work with a
specific module constantly clicking through the menu while having
other tabs/windows with some important dashboards open.
When the sidebar is closed in one tab/widnow, it should not close
the sidebar in the other tabs/windows.
2019-07-30 08:14:49 +02:00
Eric Lippmann
a1a18feb04
js/storage: Allow to set the storage backend
2019-07-30 08:14:49 +02:00
Johannes Meyer
eb0d808aec
collapsible.js: Enhance height calculations
...
`data-visible-height` now only covers the actual content height
2019-07-29 16:02:48 +02:00
Johannes Meyer
27cd34dd2d
js: Add new jQuery plugin `getData()`
2019-07-29 16:02:48 +02:00
Johannes Meyer
8cd6a46388
collapsible.js: Add support for custom control elements
2019-07-29 10:19:29 +02:00
Johannes Meyer
d0eca387ee
js: Also handle spinner elements which are not direct descendants of an element
2019-07-29 10:17:59 +02:00
Johannes Meyer
23590c5e20
js: Remove redundant vendor libraries
2019-07-29 09:52:52 +02:00
Johannes Meyer
a4848803c8
collapsible.js: Listen on `#layout` for rendered events
2019-07-26 16:23:18 +02:00
Johannes Meyer
91a8bdf786
collapsible.js: Don't collapse until at least twice the visible space is required
2019-07-26 07:36:17 +02:00
Johannes Meyer
74cb0ef3c9
collapsible.js: Don't enforce `data-visible-rows` for tables and lists
2019-07-26 07:36:17 +02:00
Johannes Meyer
2179518904
storage.js: Properly check if we have any keys left before clearing the storage
2019-07-26 07:36:17 +02:00
Johannes Meyer
f1db972cc5
ui.js: Only set tabindex=-1 on elements which are otherwise not focusable
2019-07-22 13:41:52 +02:00
Johannes Meyer
dd4cfaba50
navigation.js: Store and load sidebar collapse state from localStorage
...
resolves #3628
2019-07-18 09:43:22 +02:00
Johannes Meyer
3310bbc680
js: Patch vendor library sparkline to ensure compatibility with jQuery v3
2019-07-18 07:57:14 +02:00
Johannes Meyer
f8d3f43965
js: Drop vendor library tipsy
2019-07-18 07:57:14 +02:00
Johannes Meyer
c100654412
js: Integrate vendor library jquery-migrate
2019-07-18 07:57:14 +02:00
Johannes Meyer
ec3a6b0572
ui.js: Don't use jquery blur shorthand but the element's native method
2019-07-18 07:57:14 +02:00
Johannes Meyer
b168c3d7db
js: Don't use jquery.focus shorthand anymore, but icinga.ui.focusElement
2019-07-18 07:57:14 +02:00
Johannes Meyer
f844094475
ui.js: Don't use deprecated .size() method but property .length
2019-07-18 07:57:14 +02:00
Johannes Meyer
6323a065ea
loader.js: Keep using the promise interface for complete callbacks
2019-07-18 07:57:14 +02:00
Johannes Meyer
5cf71c9bbd
js: Drop iframe-upload fallback for IE
2019-07-18 07:57:14 +02:00
Johannes Meyer
97d5b39662
helpers.js: Drop polyfills for IE8 and IE9
2019-07-18 07:57:14 +02:00
Jennifer Mourek
f6a5f952bb
loader.js: Remove comment
2019-07-18 07:56:09 +02:00
Florian Strohmaier
5fe264be6a
JS: Fix errors
...
refs #3813
2019-07-18 07:56:09 +02:00
Florian Strohmaier
77c8111162
JS: Update jquery to 3.4.1
...
refs #3813
2019-07-18 07:56:09 +02:00
Jennifer Mourek
55d35b9e5b
Remove jquery 1.11 dependency
...
refs #3784
2019-07-18 07:56:09 +02:00
Johannes Meyer
8893db0cbc
js: Drop a StorageAwareMap entirely from storage if all keys expired
2019-07-18 07:43:42 +02:00
Johannes Meyer
cfa3af51db
storage.js: Don't return in `StorageAwareMap.forEach`
2019-07-17 13:12:41 +02:00
Johannes Meyer
5c290e1b68
collapsible.js: Rename event callbacks
...
`onExternalCollapse` => `onCollapse`
`onExternalExpansion` => `onExpand`
2019-07-17 13:12:41 +02:00
Johannes Meyer
c976eb48c9
storage.js: Properly handle invalid values
2019-07-17 13:12:41 +02:00
Johannes Meyer
2280551484
storage.js: Use substring instead of startsWith on strings
...
IE11 doesn't support startsWith..
2019-07-17 13:12:41 +02:00
Johannes Meyer
f11de266f4
storage.js: Avoid to call JSON.parse with an empty string
...
IE11 seems not to like this..
2019-07-17 13:12:41 +02:00
Johannes Meyer
9561057b81
storage.js: Allow to subscribe with multiple handlers to the same key
2019-07-17 13:12:41 +02:00
Johannes Meyer
2bf050f57d
storage.js: Don't use the native event mechanism but a simple callback handling
2019-07-17 13:12:41 +02:00
Johannes Meyer
c05291296a
collapsible.js: Only apply external expansions/collapses if necessary
2019-07-17 13:12:41 +02:00
Johannes Meyer
2fd7ba5aed
storage.js: Utilize a single event listener for all storage events
...
It doesn't make sense to register an event listener for every
created storage instance. They're all using entirely different
keys after all.
2019-07-17 13:12:41 +02:00
Johannes Meyer
2ac848828a
storage.js: Prevent conflicts with other apps accessing the same storage
2019-07-17 13:12:41 +02:00
Johannes Meyer
0f16e20d92
storage.js: Write `null` instead of `undefined` to the storage
...
`undefined` causes the key to be ignored by JSON.stringify
2019-07-17 13:12:41 +02:00
Johannes Meyer
383895fd92
storage.js: Pass the value to event subscribers of StorageAwareMap
2019-07-17 13:12:41 +02:00
Johannes Meyer
8937e11a09
storage.js: Properly handle if keys are entirely removed
2019-07-17 13:12:41 +02:00
Johannes Meyer
363486277b
storage.js: Rename Storage.subscribe to onChange
2019-07-17 13:12:41 +02:00
Johannes Meyer
c5beabf891
storage.js: Cleanup `StorageAwareMap` key corpses after 90 days
2019-07-17 13:12:41 +02:00
Johannes Meyer
cbd1e1bb92
storage.js: Drop `StorageAwareSet` and replace it with `StorageAwareMap`
2019-07-17 13:12:41 +02:00
Johannes Meyer
8377a2d096
storage.js: Don't use .bind() to define a callbacks context
2019-07-17 13:12:41 +02:00
Johannes Meyer
03fc052749
storage.js: Directly use scope `window` to access `localStorage`
2019-07-17 13:12:41 +02:00
Johannes Meyer
95dee43f5b
storage.js: Just use a factory to create behavior storages
2019-07-17 13:12:41 +02:00
Johannes Meyer
3b7a1a5ab4
storage.js: Add method `on` to `StorageAwareSet`
2019-07-17 13:12:41 +02:00
Johannes Meyer
ffec2ebd4c
collapsible.js: Utilize storage.js
2019-07-17 13:12:41 +02:00
Johannes Meyer
e2cddc2d46
js: Introduce storage.js, a localStorage abstraction layer
2019-07-17 13:12:41 +02:00
Johannes Meyer
beae5b5921
collapsible.js: Update collapsible states when the layout changes
2019-07-17 13:12:41 +02:00
Johannes Meyer
0140fdf485
collapsible.js: Use `scrollHeight` to measure a container's actual height
2019-07-17 13:12:41 +02:00
Johannes Meyer
9f858a9073
ui.js: Trigger event `layout-change` when the layout changes
2019-07-17 13:12:41 +02:00
Johannes Meyer
a99f653a63
collapsible.js: Don't process collapsible containers multiple times
2019-07-17 13:12:41 +02:00
Johannes Meyer
fc782b59a9
collapsible.js: Don't collapse containers which are near to the maximum
2019-07-17 13:12:41 +02:00
Johannes Meyer
754f45566a
collapsible.js: Make storage working with multiple tabs
2019-07-17 13:12:41 +02:00
Johannes Meyer
a642117c8a
collapsible.js: Remove superflous spaces after the `function` keyword
2019-07-17 13:12:41 +02:00
Johannes Meyer
9a6b1cffd6
collapsible.js: Don't use Set features which IE11 doesn't support
2019-07-17 13:12:41 +02:00
Johannes Meyer
ec2a6b5c78
collapsible.js: Use namespace `behavior` for local storage entries
2019-07-17 13:12:41 +02:00
Johannes Meyer
1748404efe
collapsible.js: Enhance how we'll utilize `localStorage`
2019-07-17 13:12:41 +02:00
Johannes Meyer
6f28a5c3e1
collapsible.js: Rename `height` to `visible-height`
2019-07-17 13:12:41 +02:00
Johannes Meyer
1ae1dc387f
collapsible.js: Rename `numofrows` to `visible-rows`
2019-07-17 13:12:41 +02:00
Johannes Meyer
b8bdd743a2
collapsible.js: Remove useless `> tbody > th` row selector
2019-07-17 13:12:41 +02:00
Johannes Meyer
ba44240b68
collapsible.js: Store and load states form localStorage
2019-07-17 13:12:41 +02:00
Johannes Meyer
3122af2838
collapsible.js: Properly track a collapsible's state across navigation
2019-07-17 13:12:41 +02:00
Johannes Meyer
0ed030410f
collapsible.js: Listen for rendered events on all containers
...
not just #col2
2019-07-17 13:12:41 +02:00
Johannes Meyer
0574f44bd9
colllapsibleContainer.js: Rename to collapsible.js
2019-07-17 13:12:41 +02:00
Johannes Meyer
d6f7582df6
collapsibleContainer.js: Update documentation
2019-07-17 13:12:41 +02:00
Johannes Meyer
1032a944b4
collapsibleContainer.js: Properly set an collapsible's height
2019-07-17 13:12:41 +02:00
Johannes Meyer
618ca25aec
collapsibleContainer.js: Simplify implementation and make it more flexible
...
Handling is ok though the styles are outdated now and not working
2019-07-17 13:12:41 +02:00
Johannes Meyer
ffe638ee36
collapsibleContainer.js: Don't expect a data attribute for a container's id
2019-07-17 13:12:41 +02:00
Johannes Meyer
e6e43d07bf
collapsibleContainer.js: Cleanup and streamline behavior implementation
2019-07-17 13:12:41 +02:00
Johannes Meyer
66084d6d94
collapsibleContainer.js: Adjust id handling
...
Id's are unique. Making this assumption is fine since anyone
not abiding by this isn't my problem.
2019-07-17 13:12:41 +02:00
Florian Strohmaier
b73a608742
JS: Check collapsible containers for unique collapsible-id
2019-07-17 13:12:41 +02:00
Florian Strohmaier
d3e4fb6552
JS: Add code documentation
2019-07-17 13:12:41 +02:00
Florian Strohmaier
545d3355a9
JS: Use can-collapse to flag containers with sufficient height
2019-07-17 13:12:41 +02:00
Florian Strohmaier
b07ffd4987
JS: Implement collapsible-container behavior
2019-07-17 13:12:41 +02:00
Johannes Meyer
f6d40a9d1c
loader.js: Directly set the window's title for full layout requests
...
refs #3851
2019-07-15 08:24:44 +02:00
Loei Petrus Marogi
302422d814
Allow to fully customize click and submit handling
...
resolves #3767
2019-05-27 14:34:38 +02:00
Johannes Meyer
b4979b75a9
Merge pull request #3723 from Icinga/feature/ctrl-click-does-not-open-links-in-new-tab-3722
...
Make ctrl-click open new tab
2019-05-24 13:01:52 +02:00
Jennifer Mourek
b6f8df5ddc
Disallow new tab opening on anything but anchors
2019-05-24 11:09:05 +02:00
Johannes Meyer
82d6b22697
Merge pull request #3775 from Icinga/bugfix/improve-mobile-menu
...
Improve mobile menu
2019-05-24 10:56:02 +02:00
Jennifer Mourek
1c666d88e6
Prevent new tab opening in tables and href="#"
2019-05-23 11:04:11 +02:00
Jennifer Mourek
26d696372f
Exclude multiselect rows from the open new tab feature
2019-05-21 15:06:16 +02:00
Florian Strohmaier
574c76ab42
Improve mobile menu
2019-05-06 14:49:41 +02:00
Johannes Meyer
43c87d2388
loader.js: Return in onComplete upon handled redirects
...
Got changed with f12a5741b8
. Triggering
rendered events for stuff that's never displayed doesn't seem right.
2019-04-30 09:23:59 +02:00
Johannes Meyer
50f5aa0ac3
Revert "utils.js: Utilize ids of forms and elements in getCssPath"
...
This reverts commit c835f02953
.
2019-04-25 10:11:45 +02:00
Johannes Meyer
f72aa291bc
Merge pull request #3610 from Icinga/fix/window-id-cannot-be-used-to-differentiate-containers-3609
...
Fix window id cannot be used to differentiate containers
2019-04-17 11:38:48 +02:00
Johannes Meyer
c835f02953
utils.js: Utilize ids of forms and elements in getCssPath
...
They're now reliable again :)
fixes #2238
2019-04-17 11:25:10 +02:00
Johannes Meyer
4900040d47
js: Restore previous title when closing right column
...
fixes #3654
2019-04-16 09:29:42 +02:00
Johannes Meyer
d8c4fcc517
Merge pull request #3661 from Icinga/feature/preserve-scroll-position-upon-form-submits
...
Preserve scroll position upon form submits
2019-04-16 08:04:15 +02:00
Johannes Meyer
cb3528a7be
js: Don't scroll to re-focused elements after auto-refreshes
...
refs #2048
refs #3295
refs #3492
refs #3518
2019-04-15 15:42:14 +02:00
Johannes Meyer
f54f2f8627
js: Prevent flickering when refreshing scrolled content
2019-04-15 14:27:14 +02:00
Eric Lippmann
915c7b8fe5
Merge pull request #3504 from Icinga/fix/collapsible-sidebar-issues-3187
...
Fix collapsible sidebar issues
2019-03-21 09:09:27 +01:00
Jennifer Mourek
2c1abe13a1
Make ctrl-click open new tab
...
refs #3722
2019-03-20 14:19:14 +01:00
Jennifer Mourek
b3b80fdc31
Make active first-level nav items better distinguishable
2019-03-20 11:07:39 +01:00
Jennifer Mourek
2e5515274e
Adjust sidebar lug size and reduce flyout delay
2019-03-20 11:07:39 +01:00
Johannes Meyer
27569d09d8
loader.js: Preserve scroll position also for form submits
...
Restores the scroll position if:
* it's been a POST request
* the source and target url path is the same
* the target's url params do not change significantly
2019-01-10 15:32:28 +01:00
Johannes Meyer
d2214ef0e4
loader.js: Pass-through previous request when peforming a redirection
2019-01-10 15:31:39 +01:00
Johannes Meyer
29a8184548
loader.js: Remember a request's method
2019-01-10 15:30:48 +01:00
Johannes Meyer
2a5a403573
utils.js: Add new method objectsEqual()
2019-01-10 15:30:05 +01:00
Eric Lippmann
f8295ea825
Revert "Fix menu flickering on reload and broken layout w/o JS"
...
This reverts commit 3b06f06a04
.
Breaks announcements.
2018-11-20 10:17:27 +01:00
Eric Lippmann
3b06f06a04
Fix menu flickering on reload and broken layout w/o JS
...
fixes #3629
fixes #3630
2018-11-20 10:06:41 +01:00
Eric Lippmann
f0f9ab0eb7
JS: Simplify Date.isDst()
2018-11-16 09:00:32 +01:00
Eric Lippmann
fbc7598a6b
JS: Simplify Date.getStdTimezoneOffset()
...
refs #3607
2018-11-16 09:00:32 +01:00
h0rmiga
d9b337a213
JS: Fix DST detection
...
refs #3607
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-11-16 09:00:19 +01:00
Johannes Meyer
c8a49414b1
js: Append a unique container id to the Window-Id
...
Generates a semi-random id for containers other than the menu and col1.
This id is then appended to the Window-Id of every request separated by
an underscore: `window-id_container-id`
refs #3609
2018-11-07 12:44:25 +01:00
Johannes Meyer
8212c51f8d
js: Already set `window.name` prior bootstrapping our js runtime
...
Makes sure that the Window-Id already generated and utilized by the
server on the first request is used by subsequent requests instead
of a new one.
Also avoids that concurrent running id-less requests compete about
which one may set his assigned id. Now any subsequent request
already transmits the id assigned to the first one.
And it resets `window.name` in case the user performs a manual
refresh so that the id used by the server is set/utilized.
refs #3609
2018-11-07 09:13:16 +01:00
Florian Strohmaier
d1cbc4b05c
JS: Remove excessive scroll events
2018-10-16 15:41:33 +02:00
Eric Lippmann
84e0c0c4fb
Merge pull request #3518 from Icinga/fix/anchor-navigation-not-working-3492
...
loader.js: Make anchor navigation working again
2018-07-16 10:00:35 +02:00
Johannes Meyer
5f4aa1e296
loader.js: Make anchor navigation working again
...
fixes #3492
2018-07-10 10:50:31 +02:00
Eric Lippmann
d18d05ccee
Introduce ApplicationStateHook
...
refs #2835
2018-07-09 16:28:25 +02:00
Johannes Meyer
990df95f36
loader.js: Allow to force HTTP to be used for JS redirection
2018-07-04 14:44:03 +02:00
Johannes Meyer
9294c830f8
tipsy: Don't use opacity but rgba to avoid having transparent text
...
refs #3418
2018-04-26 13:39:50 +02:00
Eric Lippmann
7fc9d7995f
Merge pull request #3425 from Icinga/fix/avoid-unnecessary-search-requests-3348
...
Don't search as long as the user is typing
2018-04-25 03:08:47 -04:00
Johannes Meyer
c2b3bbb87b
events.js: Don't search as long as the user is typing
...
500ms is for the average typist. Still fast enough, imho.
refs #3348
2018-04-24 12:33:04 +02:00
Johannes Meyer
9857021d2c
Revert "loader.js: place focus at the end of text inputs"
...
This reverts commit d1fd7e4be7
.
Browsers seem to do this on their own natively. Way better.
refs #3348
2018-04-24 11:18:10 +02:00
Alexander A. Klimov
41b105136d
Preserve collapsed FilterEditor subtrees across auto-refreshes
...
refs #2964
2018-04-06 13:54:51 +02:00