13867 Commits

Author SHA1 Message Date
Yonas Habteab
f8c0330e2d schema: Add pgsql support for the new dashboards 2023-07-14 19:51:08 +02:00
Johannes Meyer
84b462f57c dashboards/settings: Show tabs depending on where the user comes from 2023-07-14 19:51:08 +02:00
Johannes Meyer
2f09dbe68a DashboardsController: $this->httpNotFound() already accepts format params
there's no need to use `sprintf` explicitly
2023-07-14 19:51:08 +02:00
Johannes Meyer
3041d7d3c1 dashboards/settings: Cleanup HTML and CSS
Well what should I say..

* There should be nothing else inside a `ul` than `li` elements
 * If that's not feasible, don't use a `ul` but a `div`
* If adjusting a stylesheet, don't add new stuff to it without
  making sure that redundant/obsolete stuff is removed
* Restructure your stylesheet once you notice you're adding
  one rule after another to counteract the one before it.
  There was way too much code smell
* Only be as specific in CSS rules as you absolutely need to.
  Classes are usually enough. Only add tags if you use the same
  classes on different tags.
* Ensure that your CSS makes as less assumptions as possible
2023-07-14 19:51:08 +02:00
Johannes Meyer
d91795d815 dashboards/settings: Don't disguise action links as button links 2023-07-14 19:51:08 +02:00
Johannes Meyer
8bd82ff97c Cleanup dashboard welcome page
* The `h1` is the tab or page title, the welcome message is at most a `h2?`
* It's not necessary to mention that the welcome page is only shown as
  long as there are no dashboards/dashlets, if the very next statement
  explains this already
* The icinga form layout is not relevant here, so there's no need to
  work-around/counteract it
* The text opacity just reduced the contrast needlessly
2023-07-14 19:51:08 +02:00
Johannes Meyer
fd31f2d960 css: Adjust .controls.separated border-shadow to match Icinga DB Web's 2023-07-14 19:51:08 +02:00
Johannes Meyer
40716e7dbd Fetch homes and panes already ordered from the database
Doing so in userspace is not required and too inefficient.
2023-07-14 19:51:08 +02:00
Johannes Meyer
9a1f8816ae There can only be a single active home at a time
Cleans up various usages of `setActive` calls.
2023-07-14 19:51:08 +02:00
Yonas Habteab
178cd7408a Ensure to rerender dashlet parts with custom_url upon autosubmit 2023-07-14 19:51:08 +02:00
Yonas Habteab
bb5ba73feb Move module related methods from trait to Dashlet 2023-07-14 19:51:08 +02:00
Yonas Habteab
871e1f7191 Move from/toArray() methods to BaseDashboard 2023-07-14 19:51:08 +02:00
Yonas Habteab
5253db1842 Rename DashboardControls -> DashboardEntries & add an internal flag for sorting 2023-07-14 19:51:08 +02:00
Johannes Meyer
c96da1da98 Change handling of the params showCompact and limit
* The editor should provide the full url in the title,
  to show the user the same view as in the dashboard.
* In the dashboard, `limit` and now also `view` need
  to be removed from the title's link. The user isn't
  editing and should see the default view.
2023-07-14 19:51:08 +02:00
Johannes Meyer
7f0197333f DashboardsController: Use $this->getServerRequest() where applicable 2023-07-14 19:51:08 +02:00
Johannes Meyer
577d08938d dashboards/settings: Don't change refresh url due to re-order 2023-07-14 19:51:08 +02:00
Johannes Meyer
ff54184681 Menu: Don't translate home titles
Homes can't be provided by modules, so there's no way
that a translation exists.
2023-07-14 19:51:08 +02:00
Johannes Meyer
cdb489bc88 DashboardControls: Ensure to use sorted entries in rewindEntries() 2023-07-14 19:51:08 +02:00
Johannes Meyer
930898fd2f Decouple menu and dashboard code 2023-07-14 19:51:08 +02:00
Johannes Meyer
136f25cb66 layout.less: Fully remove letter-spacing from .dashboard
Since ipl-html is used now, there is no whitespace between
tags which gets rendered due to display:inline-block.
2023-07-14 19:51:08 +02:00
Johannes Meyer
799b935d96 dashboard.js: Only handle rendered events we're interested in 2023-07-14 19:51:08 +02:00
Yonas Habteab
9b1f780c4b dashboards.js: Don't use a variable for handle 2023-07-14 19:51:08 +02:00
Yonas Habteab
ff5ae27eb6 dashboards.js: Don't delay drag&drop events anymore 2023-07-14 19:51:08 +02:00
Yonas Habteab
8d8a234446 Make the bars icon a bit bigger 2023-07-14 19:51:08 +02:00
Yonas Habteab
ad6fb35ae1 Use spaceship operator for sorting assoc arrays 2023-07-14 19:51:08 +02:00
Yonas Habteab
28021b61d3 Use handle icon to initiate the drag&drop events 2023-07-14 19:51:08 +02:00
Yonas Habteab
e5da8b1b73 DashboardsController: Perform a full reload when the drop action couldn't be performed successfully 2023-07-14 19:51:08 +02:00
Yonas Habteab
66904f483a Don't render the initial modal view over again when autosubmitting the form 2023-07-14 19:51:08 +02:00
Yonas Habteab
9f54c210f9 DashletForm: Ensure to dump unselected dashlets before updating the DB 2023-07-14 19:51:08 +02:00
Yonas Habteab
ee75d53daf Merge some related classes 2023-07-14 19:51:08 +02:00
Yonas Habteab
cba8fbdd1c Fix code styling issue 2023-07-14 19:51:08 +02:00
Yonas Habteab
d859522c31 Allow browsing predefined dashlets when creating a new dashlet 2023-07-14 19:51:08 +02:00
Yonas Habteab
bfb799bf9e Fix return type mismatch 2023-07-14 19:51:08 +02:00
Yonas Habteab
c082ad3d24 Regroup dashboard input elements 2023-07-14 19:51:08 +02:00
Yonas Habteab
a978202d57 Fix accessing method on null 2023-07-14 19:51:08 +02:00
Yonas Habteab
f7f93ca25e forms.less: Undo changed button styles 2023-07-14 19:51:08 +02:00
Yonas Habteab
c635102d4e Simulate removal of dashboard home Default Home 2023-07-14 19:51:08 +02:00
Yonas Habteab
dab6bdc7c6 Use own activate() method to activate dashboards 2023-07-14 19:51:08 +02:00
Yonas Habteab
b64c14b0c2 Use setTitle() instead of setting resp headrs directly 2023-07-14 19:51:08 +02:00
Yonas Habteab
50c19af224 Remove obsolete button styles & add a proper button class names 2023-07-14 19:51:08 +02:00
Yonas Habteab
5da7d62913 form.less: Adjust remove & cancel button style sheets 2023-07-14 19:51:08 +02:00
Yonas Habteab
443a963307 Adjust how module dashlets are handled 2023-07-14 19:51:08 +02:00
Yonas Habteab
5ea43efd02 Wrap getConn() into a try catch to prevent the menu from being broken 2023-07-14 19:51:08 +02:00
Yonas Habteab
4d47f710ae Clean up codes 2023-07-14 19:51:08 +02:00
Yonas Habteab
4fa828c84f Module: undo removed import 2023-07-14 19:51:08 +02:00
Yonas Habteab
49267d6fa3 Use sendMultipartUpdate() for drag&drop actions & adjust some css styles 2023-07-14 19:51:08 +02:00
Yonas Habteab
936079b7c5 dashboard.js: Fix moving a dashlet to another home/pane throws an error 2023-07-14 19:51:08 +02:00
Yonas Habteab
945a69f0cd Menu: Swallow silently any DB issue in the main menu 2023-07-14 19:51:07 +02:00
Yonas Habteab
fd9c547dde Fix typo 2023-07-14 19:51:07 +02:00
Yonas Habteab
98028d740c Introduce new-home action 2023-07-14 19:51:07 +02:00