Sukhwinder Dhillon
e4450e7368
Revert "js: Don't serve scripts utilizing ECMA2016+ features"
...
This reverts commit 4d4f5b3a69
.
2022-06-13 15:50:52 +02:00
Mattia Codato
253597c4fb
Fix autosubmit of forms with elements named 'id'
...
refs #4798
2022-06-13 13:04:24 +02:00
Johannes Meyer
e602db3073
ui.js: Don't trigger `layout-change` before the app is initialized
2022-05-27 14:21:47 +02:00
Johannes Meyer
74022ae4e0
Merge pull request #4697 from Icinga/feature/redesigned-user-menu-new
...
Feature/redesigned user menu
2022-05-16 09:04:26 +02:00
Florian Strohmaier
2a6d66929c
navigation.js: Retrieve focussed element more efficiently
2022-05-16 08:27:10 +02:00
Florian Strohmaier
c9c5823d6a
navigation.js: Adjust for `.config-menu`
2022-05-12 15:13:16 +02:00
Sukhwinder Dhillon
707775fe26
Fix: Scheme and hostname prepended to col2 url in the address bar ( #4777 )
2022-05-11 14:45:31 +02:00
Yonas Habteab
a1cd7441c5
modal.js: Don't try to hide a modal when there is none
...
Fixes a bug that when e.g. closing a color picker by clicking the escape key,
also the `modal.hide()` action is performed, even though there was no real modal
opened before, but it seems to react automatically on the escape key click.
2022-05-06 09:18:28 +02:00
Yonas Habteab
2be192679b
modal.js: Set modal title from resp header on autosubmit
2022-04-11 13:26:08 +02:00
Johannes Meyer
707677eebd
actiontable.js: Don't ignore sub-containers
...
Just avoid that they are processed multiple times.
fixes #4710
2022-03-24 11:38:15 +01:00
Johannes Meyer
95850750cf
js: Introduce new event `css-reloaded`
2022-03-08 16:05:32 +01:00
Johannes Meyer
4d68f5c354
flyover.js: Suspend autofresh while open if enabled
2022-03-07 13:38:54 +01:00
Johannes Meyer
6cd1e512f9
flyover.js: Close left flyovers more efficiently
2022-03-07 13:38:23 +01:00
Johannes Meyer
762663a3f6
utils.js: Use jQuery to check id uniqueness
2022-02-24 16:38:10 +01:00
Johannes Meyer
57dc42dbf7
input-enrichment.js: Only handle content inside top-level or modal containers
2022-02-07 14:15:23 +01:00
Johannes Meyer
646d8928c3
flyover.js: Only handle content inside top-level containers
2022-02-07 14:15:11 +01:00
Johannes Meyer
b03966c354
filtereditor.js: Only handle top-level containers
2022-02-07 14:14:10 +01:00
Johannes Meyer
67da4ea757
datetime-picker.js: Only handle content inside top-level or modal containers
2022-02-07 14:13:40 +01:00
Johannes Meyer
29d0b8f2c7
collapsible.js: Only handle content inside top-level or modal containers
2022-02-07 14:13:12 +01:00
Johannes Meyer
f932a4a44c
application-state.js: Only run once when the layout is rendered
2022-02-07 14:12:44 +01:00
Johannes Meyer
30326dd1bb
actiontable.js: Only handle top-level containers
2022-02-07 14:12:08 +01:00
Johannes Meyer
d7d31d00ea
Drop expandable.js
2022-02-07 14:11:48 +01:00
Johannes Meyer
a2949fad7d
js: Properly reset container ids when moving content
...
fixes #4554
2022-02-04 18:14:40 +01:00
Johannes Meyer
fe6be6a107
js: Only use ids in Utils.getCSSPath() if they're truly unique
2022-02-04 17:22:16 +01:00
Johannes Meyer
e01ee2d21e
datetime-picker.js: Support input groups
2021-12-14 10:23:43 +01:00
Johannes Meyer
c83ab17826
js: Fix that redirects into currently empty columns don't work
2021-11-11 15:17:00 +01:00
raviks789
703956c3da
Fix unresponsive modal submit buttons in Safari
2021-11-10 09:33:21 +01:00
Markus Frosch
d4763498e4
js: Fix regression for loading dependent modules for sub-containers ( #4533 )
2021-11-08 13:16:06 +01:00
Johannes Meyer
698ac5812f
loader.js: Don't scroll to nav anchors that don't want this
2021-11-04 14:25:07 +01:00
Johannes Meyer
f734d28060
ui.js: Allow to disable scrolling in method `focusElement`
2021-11-04 14:25:07 +01:00
Johannes Meyer
18188f7185
loader.js: Don't load a redirect in col1, if col2 has similar content
...
fixes Icinga/icingadb-web#284
2021-10-08 17:12:13 +02:00
Ravi Kumar Kempapura Srinivasa
72e63dd0a1
Update selection-info-count immediately on selection
...
The selection-info-count at the left bottom of host or service info needs to be updated immediately after selection.
Hence use the already defined ´count´ to update the selection info on click. Also, avoid refreshing the active columns.
2021-10-08 15:46:05 +02:00
Johannes Meyer
908adc66c1
js: Don't focus the announcment container
...
fixes #4543
2021-10-07 15:19:10 +02:00
Johannes Meyer
7ae8f26b92
js: Really maintain refresh interval over redirects
...
fixes #4549
2021-10-07 14:29:57 +02:00
Johannes Meyer
dcf394eaa6
modal.js: Don't disable inputs before the actual form submit is done
...
fixes Icinga/icingadb-web#376
2021-09-27 14:10:48 +02:00
Sukhwinder Dhillon
15b9bac755
modal.js: Do not open multiple modal windows by clicking more than once
2021-09-21 16:02:06 +02:00
Sukhwinder Dhillon
414a2ff7aa
modal.js: Submit form only once
2021-09-21 12:38:07 +02:00
Johannes Meyer
47891ddc72
datetime-picker.js: Add support for french
2021-07-27 11:27:35 +02:00
Johannes Meyer
bf229c97b8
datetime-picker.js: Don't do anything with native inputs
...
fixes #4442
2021-07-27 09:54:28 +02:00
Johannes Meyer
a4376cd14f
datetime-picker.js: Don't append nodes to content..
...
..but individual dynamic containers.
fixes #4461
2021-07-26 11:55:50 +02:00
Johannes Meyer
832a1c88c4
collapsible.js: Properly setup collapsibles in `onLayoutChange`
2021-07-23 17:03:49 +02:00
Johannes Meyer
228e503131
js: Allow to reload the window
2021-07-07 09:41:48 +02:00
Johannes Meyer
54acf35c69
Revert "js: Don't bypass our cache when reloading CSS"
...
This reverts commit 1c7e5b31bf
.
fixes #4417
refs #4340
2021-07-02 14:46:22 +02:00
Florian Strohmaier
8b7a3f05af
JS: Add icon to js notifications
2021-06-30 08:33:51 +02:00
Johannes Meyer
23ee95e45f
js: Only show a single datetime picker in each container at a time
2021-06-22 11:22:19 +02:00
Johannes Meyer
c01e0f9dc8
js: Don't add scheme and location when reloading CSS
...
It's not necessary and may (has) lead to the following case:
`http://localhost/http://localhost/icingaweb2/css/icinga.min.css `
2021-06-18 17:19:18 +02:00
Johannes Meyer
1c7e5b31bf
js: Don't bypass our cache when reloading CSS
...
The timestamp previously added, forces the browser to ignore
its own cache and thus it doesn't transmit the `If-None-Match`
header. We then re-calculate the the CSS possibly for no reason.
If there is a re-calculation indeed required it should be still
done now since the ETag transmitted by the browser is outdated.
refs #4340
2021-06-16 14:59:19 +02:00
Johannes Meyer
7c4488ddc7
input-enrichment: Fix incorrect identification of enriched elements
2021-06-09 15:19:05 +02:00
Johannes Meyer
e794967389
js: Require libs from `icinga/icinga-php-library` now
2021-06-01 12:06:58 +02:00
Johannes Meyer
cc0c6fc71b
js: Avoid usage of `.matches()` as it isn't available with IE11
2021-05-25 17:19:03 +02:00
Johannes Meyer
4236dd84d9
datetime-picker.js: Show an icon inside the flatpickr input
2021-05-17 13:20:43 +02:00
Johannes Meyer
5a6e3cf32f
datetime-picker.js: Cleanup unused flatpickr instances
2021-05-17 13:20:43 +02:00
Johannes Meyer
e704309c41
modal.js: Trigger `close-modal` when.. closing a modal
2021-05-17 13:20:43 +02:00
Johannes Meyer
90a056d988
datetime-picker.js: Append flatpickr container not to body
...
The body isn't cleared without a full reload. This way the
flatpickr container resides in the same container as the
input's form.
2021-05-17 13:20:43 +02:00
Johannes Meyer
162d898d42
js: Introduce `DatetimePicker` behavior
...
Utilizes `flatpickr` from ipl-web.
2021-05-17 13:20:42 +02:00
Johannes Meyer
c202eccf65
define.js: Support libs that require `exports`
...
I'm not sure how this actually is supposed to work,
but I believe this is how we can support it so that
it's still useful.
2021-05-17 13:20:42 +02:00
Johannes Meyer
cb4e6011f3
js: Remove jquery-migrate
2021-05-17 10:44:27 +02:00
Johannes Meyer
54720a1fc1
collapsible.js: Fix flickering
2021-05-12 09:06:26 +02:00
Johannes Meyer
f50c095e15
js: Support custom collapsible controls in place of the default one
2021-05-05 17:59:12 +02:00
Johannes Meyer
85e9f06510
js: Mark autosubmits as autosubmits, not as autorefreshes
...
fixes #4346
2021-04-12 09:39:48 +02:00
Johannes Meyer
aa03631eef
js: Allow to mark requests explicitly as autosubmits
2021-04-12 09:39:48 +02:00
Johannes Meyer
a8be92c245
loader.js: Still apply some accessibility changes..
...
..if a renderHook discards an autorefresh. There is
unfortunately no way to distinguish between a renderHook
that really discards changes or one that applies them
on the DOM itself. If it's the first, this change
*shouldn't* hurt. If it's the latter, users should
benefit.
2021-03-31 12:38:35 +02:00
Johannes Meyer
e65ec1900a
js: Add new special redirect target `__CLOSE__`
...
This has the same effect as a normal redirect. The benefit of it however
is that the server doesn't need to know what's being shown in the left
column. It just instructs the client to close the right and refresh the
left column. But still produces a new history state, it's a forward
navigation nonetheless.
2021-03-30 13:25:40 +02:00
Johannes Meyer
94a16056d7
js: Speedup collapsible.js by a factor of 10
...
It's still relatively slow as it forces a reflow in the
browser if there are many collapsibles in the view.
I didn't manage to identify the issue yet, but I left
a TODO at the location that's responsible for it.
2021-03-30 09:31:57 +02:00
Johannes Meyer
1675cc6d74
js: Make Utils.getCSSPath work without a jQuery set
2021-03-30 09:31:57 +02:00
Johannes Meyer
25263e767b
js: Allow to disable persistence for collapsibles
2021-03-30 09:27:22 +02:00
Johannes Meyer
07251e6d5e
modal.js: Really only close the modal if the user clicks outside of it
...
The click event fires only after the mouse button is released, which
may happen on the outside, after the user tried to select something
and overrun accidentally. A close is then not desired as the user
may loose input. The mousedown event fires right when the button
is pressed and suffices on the outside of the modal.
2021-03-09 08:52:10 +01:00
Johannes Meyer
7790a72efa
js: Only close a modal if an ESC press is not handled otherwise
2021-03-09 08:52:10 +01:00
Johannes Meyer
b4531b6b45
js: Add support for the `search-editor` input enrichment
...
Also makes it possible to enrich inputs in modals
2021-03-09 08:52:10 +01:00
Johannes Meyer
b17be671bc
js: Accept non-jQuery nodes in method `EventListener.bind()`
2021-03-09 08:52:10 +01:00
Johannes Meyer
e4ff391b1a
js: Trigger a `rendered` event if SearchBar editor is opened
2021-03-09 08:52:10 +01:00
Johannes Meyer
f44ea884bd
js: Suspend auto refresh once `search-bar` enrichment opens its editor
2021-03-09 08:52:10 +01:00
Johannes Meyer
1f29c4a2fe
js: Allow to suspend auto refresh for individual containers
2021-03-09 08:52:10 +01:00
Johannes Meyer
4366f93127
js: Support new input enrichment type `search-bar`
2021-03-09 08:52:10 +01:00
Johannes Meyer
027e468943
js: Update a form's action if it's a auto submit response with `X-Icinga-Location-Query`
2021-03-09 08:52:10 +01:00
Johannes Meyer
43dd89f946
js: Also support `_self` and such target ids for response header `X-Icinga-Container`
...
The server can now instruct the client to render the response in a different container
2021-03-09 08:52:10 +01:00
Johannes Meyer
6e8ca9cdda
js: Add method `identifyLinkTarget()` to the loader
2021-03-09 08:52:10 +01:00
Johannes Meyer
4f57aa68cd
js: Transmit `X-Icinga-Container` for all requests
...
This tells the server which container the client will use
to render the response in
2021-03-09 08:52:10 +01:00
Johannes Meyer
4d4f5b3a69
js: Don't serve scripts utilizing ECMA2016+ features
...
i.e. library javascript assets
2021-02-22 16:01:42 +01:00
Johannes Meyer
5c5e83a700
loader.js: Don't use the regex DotAll modifier, it's ES2018+ only
...
i.e. not supported by Microsoft Edge
2021-02-22 15:07:55 +01:00
Johannes Meyer
9dae3bdf88
loader.js: Only abort GET autorefresh requests
2021-02-18 14:10:02 +01:00
Johannes Meyer
57b4a31bc3
js: Don't navigate right when opening a modal
...
Isn't the prettiest fix. I would have liked to completely
remove the target preparation from `getLinkTargetFor`.
But this is the easiest fix since it's only for modals
that preparation is not desired. It's also the most
compatible change.
2021-02-17 12:51:26 +01:00
Johannes Meyer
defd8132aa
form.js: Don't abort content updates in case of auto submits
2021-02-09 09:13:11 +01:00
Johannes Meyer
f2e53d420b
js: Don't mark requests caused by `__BACK__` as autorefresh
...
It's not an autorefresh and causes issues with form.js otherwise.
2021-02-05 16:38:17 +01:00
Johannes Meyer
eff5c4e1d1
input-enrichment.js: Import required classes with `require()`
2021-01-14 11:57:24 +01:00
Johannes Meyer
dc5e39ef1c
input-enrichment.js: Add method `update()`
2021-01-14 11:57:24 +01:00
Johannes Meyer
67de8a079a
js: Initialize all types of input enrichments
2021-01-14 11:57:24 +01:00
Johannes Meyer
fcd0a0a698
complete.js: Keep IE11 compatibility
2021-01-14 11:57:06 +01:00
Johannes Meyer
4019522da1
loader.js: Disable inputs in forms not having role `search`
...
Previously only the `#search` input wasn't disabled, now also
the new filter input isn't. This is required to re-focus the
input after submission as disabled elements loose focus.
2021-01-14 11:57:06 +01:00
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