13989 Commits

Author SHA1 Message Date
Yonas Habteab
c382d0fbaa Forms: Introduce RemoveHomeForm class 2023-07-14 19:51:08 +02:00
Yonas Habteab
4f98b0c696 Forms: Introduce HomeForm class 2023-07-14 19:51:08 +02:00
Yonas Habteab
3048969cca DashboardManager: Try to activate homes based on the request params 2023-07-14 19:51:08 +02:00
Yonas Habteab
93c3c524ce DashboardEntries: Fix calling to fromArray that doesn't exist anymore 2023-07-14 19:51:08 +02:00
Yonas Habteab
0ad7fdca53 Fix some signature inconsistencies 2023-07-14 19:51:08 +02:00
Yonas Habteab
7800c699b7 Introduce dashboards migrate command 2023-07-14 19:51:08 +02:00
Yonas Habteab
7fcc2caae5 DashboardManager: Remove unused property 2023-07-14 19:51:08 +02:00
Yonas Habteab
997517dc8d Database: Transform assembled binary values to hex format for pgsql 2023-07-14 19:51:08 +02:00
Yonas Habteab
8ba46ac3d3 Don't load orphaned/unusable module dashlets 2023-07-14 19:51:08 +02:00
Yonas Habteab
84d57c622f Make use of WidgetState tratit & remove some obsolete codes 2023-07-14 19:51:08 +02:00
Yonas Habteab
408bb9c886 Introduce trait WidgetState 2023-07-14 19:51:08 +02:00
Yonas Habteab
83533d1641 Fix line indented incorrectly 2023-07-14 19:51:08 +02:00
Yonas Habteab
707de5c4da dashboards.js: Remove some unnecessary codes 2023-07-14 19:51:08 +02:00
Yonas Habteab
d05b8d9e2f main.less: Set cursor to pointer for the expand/collapse icons 2023-07-14 19:51:08 +02:00
Yonas Habteab
76c97bb1d2 dashboards.less: Add column spacing to the welcome form formcontrols 2023-07-14 19:51:08 +02:00
Yonas Habteab
04495e6276 Adjust Dashboard::getConn() calls & filtering by username 2023-07-14 19:51:08 +02:00
Yonas Habteab
ee706860c9 Introduce DashboardOwner model & adjust other models accordingly 2023-07-14 19:51:08 +02:00
Yonas Habteab
97b009c39f Copy BoolCast behavior from db-web 2023-07-14 19:51:08 +02:00
Yonas Habteab
d540ad4c0e Cleanup DashboardManager trait 2023-07-14 19:51:08 +02:00
Yonas Habteab
3d5789d584 Introduce DashboardUserManager trait 2023-07-14 19:51:08 +02:00
Yonas Habteab
08933e420f Introduce Modules\DashletManager class 2023-07-14 19:51:08 +02:00
Yonas Habteab
d993fea6e1 Introduce DBUtils class 2023-07-14 19:51:08 +02:00
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