Commit Graph

157 Commits

Author SHA1 Message Date
Thomas Gelf a0e6a73ecc Added sparkline support 2014-02-21 14:03:50 +00:00
Thomas Gelf f20f27927d Window unload event support for most browsers
* Also fixes "Webserver gone away" sometimes appearing on page reload
2014-02-21 14:03:50 +00:00
Thomas Gelf 072eda70c4 Better link target discovery, support _blank 2014-02-21 14:03:49 +00:00
Eric Lippmann 8f4d062cbc JS/Dashboard: Initial XHRs must not push the URL loaded to the browser's history stack 2014-02-21 14:03:49 +00:00
Thomas Gelf ed2b330843 A few JS files where missing 2014-02-21 14:03:49 +00:00
Thomas Gelf c8c580bea0 Light new JS implementation, initial commit 2014-02-21 14:03:48 +00:00
Thomas Gelf 86ede29644 Removed URI.js, we will use a lighter implementation 2014-02-21 14:03:48 +00:00
Thomas Gelf 81444bdd3a Removed freetile.js, history.js, html5shiv, scrollto, require.js, less 2014-02-21 14:03:48 +00:00
Thomas Gelf c0a740ca9e Removed legacy icinga JS 2014-02-21 14:03:48 +00:00
Thomas Gelf a38a126d42 imagesLoaded is not used 2014-02-21 14:03:48 +00:00
Thomas Gelf d33473134f Removed modernizr 2014-02-21 14:03:48 +00:00
Thomas Gelf 88c172b33a We no longer need bootstrap 2014-02-21 14:03:48 +00:00
Matthias Jentsch a2baf4217b Add php script to render dynamic svgs of inline charts
Add a php script to render dynamic SVGs as a fallback and add a widget to draw
inline charts.

refs #5679
2014-02-19 18:29:59 +01:00
Markus Frosch 971a87c608 Fixed executable flags on normal files.
Refs #5040
2014-02-18 09:42:13 +01:00
Alexander Klimov 2ecf1a99a6 Show load indicator after 500 ms
fixes #5540
2014-02-03 11:10:36 +01:00
Johannes Meyer 1b5b26c2bb Add window awareness
refs #5510
2014-01-24 14:44:19 +01:00
Alexander Klimov db22945f1e Add close button to details
resolves #4925
2014-01-23 17:09:46 +01:00
Alexander Klimov 5ff081d683 Deselect tr only when ctrl key pressed 2014-01-23 16:42:04 +01:00
Eric Lippmann 2242973568 XHR: Force redirect to login if session is expired
resolves #5507
2014-01-23 16:03:47 +01:00
Eric Lippmann bbe018567f Dashboard: Render exceptions on failing requests
refs #5507
2014-01-22 14:58:23 +01:00
Eric Lippmann d853c9417c Remove respond.min.js since its no longer used 2013-10-29 15:28:04 +01:00
Jannis Moßhammer 275275f29e Fix inline commands 2013-10-23 15:11:25 +02:00
Eric Lippmann ca1d50ae53 Rename Icinga 2 Web to Icinga Web 2 2013-10-23 15:11:06 +02:00
Jannis Moßhammer aa5fb1d8cf Fix remove downtime 2013-10-23 14:34:20 +02:00
Jannis Moßhammer 1a95e48deb Fix row style, add dashboard as default route 2013-10-23 14:20:32 +02:00
Jannis Moßhammer 8eea09ab53 Add default dashboard, fix componentLoader issue introduced before 2013-10-23 13:06:09 +02:00
Jannis Moßhammer b616b652bc Fix container error message, prevent components from being loaded twice 2013-10-23 11:17:31 +02:00
Matthias Jentsch e0aae9d14b Cancel the pending request when loading a new container element
fixes #4947
2013-10-23 09:43:57 +02:00
Matthias Jentsch eaa3c81f7a Fix bug that caused the detail view to stay open, even when nothing was selected
fixes #4749
2013-10-22 17:06:05 +02:00
Jannis Moßhammer f7c0eaa7c4 Fix/Reimplement dashboard
refs #4532
2013-10-22 12:10:12 +02:00
Jannis Moßhammer cc5fa0a7b4 Fix suburls in grids not being recognized 2013-10-21 17:57:29 +02:00
Jannis Moßhammer c4f3e78c02 Fix filter behaviour, fix statusdat filter
refs #4469
2013-10-21 17:04:39 +02:00
Marius Hein 1a73747740 Implement bootstrap datepicker
refs #4929
2013-10-21 11:32:24 +02:00
Marius Hein a49691068e Add datepicker
refs #4929
2013-10-21 10:32:53 +02:00
Jannis Moßhammer f3bbf09bae Status.dat query fixes and documentation after rebase
refs #3801
2013-10-20 15:16:44 +02:00
Marius Hein 5a1a738ce7 Add form to configure objects
refs #4924
2013-10-20 13:15:11 +02:00
Marius Hein 53ab6dbbf1 Implement global command toggle form in process view
refs #4918
2013-10-19 15:28:51 +02:00
Matthias Jentsch 3f48a29c05 Fix problems caused by rebasing
refs #3788
2013-10-18 16:44:03 +02:00
Matthias Jentsch 9cba03b017 Add actual links and buttons to the multi-views
refs #3788
2013-10-18 16:44:03 +02:00
Matthias Jentsch 4133d0093d Add support for different selection modes, using a data attribute in the mainDetailGrid
Add code to handle single, multi and no selection. Add the class 'hover' to
table rows, that are selectable to indicate when a row is selectable.

refs #3788
2013-10-18 16:44:03 +02:00
Matthias Jentsch 8c416a51ce Add views and behaviour to MultiController
Add views for every possible action, fix some bugs in the JavaScript multi selection,
make selection hrefs in the list controllers unique to be able to handle the selection
properly

refs #3788
2013-10-18 16:44:02 +02:00
Matthias Jentsch b911e8c56b Add multi-object detail views
Add the controller to handle requests to the multi-detail view and fix some
bugs in the multiselection of the mainDetailGrid component

refs #3788
2013-10-18 16:44:02 +02:00
Matthias Jentsch a96331b4d6 Add support for multi-selection
Add classes to handle multi-row selection using the CTRL-Key and to
create the link for the selected query.

refs #3788
2013-10-18 16:44:02 +02:00
Jannis Moßhammer 4a95ba3468 Change url handling to detail on hashtag, add service filter
The url is now
http://%mainUrl%#%anchor%!detail=%detailUrl%
which allows us to better support IE and prevents
the detail url from appearing on the server side.

refs #4868
2013-10-17 19:55:00 +02:00
Jannis Moßhammer d33cec78de Semantic search implementation
- Only implemented for hosts as an example
- URL behaviour still has to be normalized

refs #4469
2013-10-17 19:52:52 +02:00
Jannis Moßhammer 24da98be83 Implement base filter library and tests
refs #4469
2013-10-17 19:52:25 +02:00
Marius Hein d0fe1be7f7 Add command form helper for buttons with icons or labels
refs #4869
2013-10-15 18:10:36 +02:00
Marius Hein a69c7498ec Style comments, cowntimes, properties, flags in detail pane [WIP]
refs #4869
2013-10-15 18:10:36 +02:00
Marius Hein f011b56911 Bugfix: Non existing function
refs #4400
2013-10-14 13:03:24 +02:00
Jannis Moßhammer 8aea2f4d3c Close detail on main pagination
refs #4823
2013-10-14 12:57:26 +02:00
Jannis Moßhammer 549c5d7390 Fix detail being added twice to URLs on updateContainerHref
This was caused by an redudant call to updateContainerHref in mainDetailGrid

refs #4823
2013-10-14 12:57:26 +02:00
Eric Lippmann c67ef17e86 js/link target: Replace detail container from url when the a tag's data-icinga-target attribute is set to 'detail'
refs #4823
2013-10-14 12:57:25 +02:00
Marius Hein 73ed141a5e Fix: Allow errors in body to be replaced
fixes #4736
2013-10-09 17:27:47 +02:00
Marius Hein 53d2e34e23 Finish comment view
refs #4714
2013-10-09 09:35:32 +02:00
Marius Hein d109f370cd ellipsisText: Implement ellipsis component for text content
Use by comment overview.

refs #4714
2013-10-09 09:35:32 +02:00
Eric Lippmann e9292199e7 Temporary: mainDetail: Don't trap clickable links, only rowselect loads detail
refs #4663
2013-10-09 09:20:17 +02:00
Marius Hein 571351e342 Cleanup unused js fragments for load indicator
refs #4400
2013-10-04 15:32:39 +02:00
Marius Hein 1db06637be Add frontend test for load indicator
refs #4400
2013-10-04 15:32:38 +02:00
Marius Hein 16dd53e798 Implement container load mask
refs #4400
2013-10-04 15:32:38 +02:00
Jannis Moßhammer aa110ef9fe Fix pagination in main-detail
refs #4611
2013-09-23 13:56:59 +02:00
Jannis Moßhammer 3e195501ac Fixed issues with click targets
refs #4611
2013-09-23 13:56:59 +02:00
Jannis Moßhammer 376dc8cd0f Document form and container behaviour and simplify
Now the whole page gets refreshed on container changes, if
we encounter issues with that we can improve it afterwards
or roll back some cahnges already made in previous commits

refs #4611
2013-09-23 13:56:59 +02:00
Jannis Moßhammer f596f72169 Add URI component
Great library for Url manipulation, see http://medialize.github.io/URI.js/
MIT and GPLv3 License

refs #4611
2013-09-23 13:55:49 +02:00
Jannis Moßhammer e6b3a54e90 Add/modify JavaScript components for main/detail and their tests
This commit introduces the following changes (although they are not
implemented in the templates, this follows):
- links in the top and navigation bar are loaded in the background
- generic main/detail container component handling click/load delegation
- mainDetailGrid implementation handling selection and render targets
- Generic history implementation handling URI change detection and reloading

refs #4611
2013-09-23 13:55:49 +02:00
Jannis Moßhammer 57e66c247a Add sort widget, change js path from module to app, small style fixes
refs #4601
2013-09-04 15:22:00 +02:00
Marius Hein 6c59d2cf40 Fix icinga js license header
refs #4622
2013-09-02 10:59:05 +02:00
Jannis Moßhammer 6db96bfb8f CS Fixes: form.js License, comments and deprecated bind()
refs #4622
2013-09-02 10:59:05 +02:00
Jannis Moßhammer c5fde2324e Generalize form handling in Icinga\Web Form & Tests
configForm.js is now form.js and applied on all forms,
the autosubmit is now a special attribute for input fields,
so the PHP code doesn't create JS snippets anymore

refs #4622
2013-09-02 10:59:05 +02:00
Jannis Moßhammer 978b3519f6 Add configform js component (will be renamed later)
refs #4622
2013-09-02 10:59:05 +02:00
Jannis Moßhammer 3a19cf8543 Reorganize and cleanup js files, add bootstrap 3
refs #4550
2013-08-23 10:27:16 +02:00
Matthias Jentsch a66934e41d Remove scripts that are no longer needed
refs #4456
2013-08-21 09:40:32 +02:00
Matthias Jentsch 7353797147 Add server-side logging when not existing components are required and fix code style issues
refs #4456
2013-08-21 09:40:32 +02:00
Matthias Jentsch 889abf55eb Fix a bug in the component loader that caused components to be loaded multiple times
refs # 4456
2013-08-21 09:40:32 +02:00
Matthias Jentsch 5e663846a5 Remove old module loader
Remove old (now-unusable) module loader and components and corresponding unit
tests. Give the component loader and the component registry more meaningful names.

refs #4456
2013-08-21 09:40:32 +02:00
Matthias Jentsch 52c66893ab Add new component loader to load frontend-components
Add a component loader that finds components by searching for elements with the
"data-icinga-component" attribute and loads the corresponding JavaScript file
from the backend to render the component.

refs #4456
2013-08-21 09:40:31 +02:00
Jannis Moßhammer 0b479e3796 Code style fixes, fix documentation, fix tab parameters not being overwritten
refs #4512
2013-08-16 15:08:28 +02:00
Jannis Moßhammer be29b8ff8f Make ConfigController and PreferenceController extensible by convention
- Rename ConfigurationController to ConfigController
- ConfigController and PreferenceController are now subclasses of
  BaseConfigController and BasePreferenceController
- Module and Application Config/Preference Tabs are detected via
  the ControllerTabCollector
- Moved Controller classes to Icinga/Web/Controller (this is why
  so many files are modified)

refs #4530
2013-08-14 16:08:15 +02:00
Johannes Meyer 94ea09b552 Remove Date and Time form elements
Drops the Date and Time form element as they are redundant.

refs #4440
2013-08-12 16:43:08 +02:00
Eric Lippmann c0e3712e1b Framework/Elements: Implement DateTime form element
refs #4440
2013-08-12 16:42:51 +02:00
Jannis Moßhammer f8bb478f0e Update dashboard implementation
fix javascript naming (icinga-url to icingaurl), fix add form, add remove
button, code style changes

refs #4192
2013-08-07 17:43:37 +02:00
Johannes Meyer 4b8643dc56 Add a date and time form-element.
Added a date and time form-element which are implemented based on the
new "date" and "time" input-types introduced with html5. If those are not
available two bootstrap javascript-modules will be enabled.

refs #4355
2013-07-23 14:46:24 +02:00
Jannis Moßhammer e0f0e1fc13 Fix history api URI encoding
The history API encoded components multiple times, e.g. causing a [ to
be converted to %5B in the first link, then to %255B on the second link,
%25255B on the third, etc.

refs #4408
2013-07-15 13:03:12 +02:00
Jannis Moßhammer 79a4ee1804 Remove console.log as this breaks tests 2013-06-27 11:25:19 +02:00
Jannis Moßhammer d71d15c822 Merge branch 'master' of ssh://git.icinga.org/icinga2-web into feature/history-api-4303
Conflicts:
	public/js/icinga/components/actionTable.js
	public/js/icinga/components/mainDetail.js
	public/js/icinga/container.js
	public/js/icinga/util/async.js
2013-06-27 10:20:46 +02:00
Jannis Moßhammer d1f4e9831a Fix empty module folder causing errors, fix var naming
Fix a wrongly named class causing ClassNotFound issues,
also added additional checks for empty module folder and
added en moduleFolder directive to configure module location

refs #4092
2013-06-26 16:41:07 +02:00
Jannis Moßhammer 5e5b301d0d Add support for lazy module loading
When the X-Icinga-Module-Enable header is send, the
modulemanager automatically tries to load javascript files for
that module. This is realized by adding the 'registerHeaderListener'
method to the async manager, which allows to listen to specific headers
and firing callbacks if a response with the specified header is retrieved.

Also the tests have changed a bit, requireNow should be used when using
the requiremock, so a require always loads files new.

refs #4092
refs #3753
2013-06-26 16:41:07 +02:00
Jannis Moßhammer fc83dfb4ef Add javascript autoloading
the js/modules/%modulename%/%file% is now mapped to the module
path (if existing). To prevent name clashing, the modules folder
has been renamed to components.
2013-06-26 16:40:33 +02:00
Jannis Moßhammer c1e460de17 Remove moved files
the 'behaviour' namespace in javascript has been renamed to
module

refs #4092
2013-06-26 16:40:08 +02:00
Jannis Moßhammer 8b84de934a Move ModuleController from incubator
The Notification dependency is removed and uses exceptions now,
otherwise it's mostly the same like in the incubator

refs #4092
2013-06-26 16:39:55 +02:00
Jannis Moßhammer beaac3a68d Add rule for 'body' container and QLink property 'target'
QLinks can now define the target for their link. Additionally, the
targte 'body' is now always the <body> tag. This allows the
modulemanager to reload the whole page (with the navigation bar).

refs #4092
2013-06-26 16:37:39 +02:00
Jannis Moßhammer e9ade7a339 Add support for lazy module loading
When the X-Icinga-Module-Enable header is send, the
modulemanager automatically tries to load javascript files for
that module. This is realized by adding the 'registerHeaderListener'
method to the async manager, which allows to listen to specific headers
and firing callbacks if a response with the specified header is retrieved.

Also the tests have changed a bit, requireNow should be used when using
the requiremock, so a require always loads files new.

refs #4092
refs #3753
2013-06-26 16:37:12 +02:00
Jannis Moßhammer d94d89e1cf Add javascript autoloading
the js/modules/%modulename%/%file% is now mapped to the module
path (if existing). To prevent name clashing, the modules folder
has been renamed to components.
2013-06-26 16:37:12 +02:00
Jannis Moßhammer 3a5a4bf273 Remove moved files
the 'behaviour' namespace in javascript has been renamed to
module

refs #4092
2013-06-26 16:36:47 +02:00
Jannis Moßhammer 4f2fb49555 Move ModuleController from incubator
The Notification dependency is removed and uses exceptions now,
otherwise it's mostly the same like in the incubator

refs #4092
2013-06-26 16:36:36 +02:00
Jannis Moßhammer 34f68856ee Add rule for 'body' container and QLink property 'target'
QLinks can now define the target for their link. Additionally, the
targte 'body' is now always the <body> tag. This allows the
modulemanager to reload the whole page (with the navigation bar).

refs #4092
2013-06-26 16:36:36 +02:00
Jannis Moßhammer f93344330e Rename require reference to requirejs
Require is a reserverd word for phantomjs

refs #4315
refs #4303
2013-06-25 11:18:27 +02:00
Jannis Moßhammer 04f7149cfe Allow container-based url in history api
When a url is now loaded for an non-main container, the url for the
container is appended to the GET part of the URL

refs #4303
2013-06-25 11:18:27 +02:00
Jannis Moßhammer 0694973c88 Add history api and modify js for tests
All JS Files now call 'requirejs' instead of 'require', also
the holder.js reference is removed and the history api added.
Tests are following in the next commit

refs #4303
refs #4315
2013-06-25 11:18:26 +02:00
Jannis Moßhammer b46dd9bae4 Remove behaviour files
These files are not required anymore as they are
now renamed to 'modules' and may affect testting

refs #3753
refs #4303
2013-06-25 11:18:26 +02:00
Jannis Moßhammer 6f6478b819 Rename require reference to requirejs
Require is a reserverd word for phantomjs

refs #4315
refs #4303
2013-06-19 13:22:02 +02:00