Commit Graph

272 Commits

Author SHA1 Message Date
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
Jannis Moßhammer fa5c499733 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-19 13:22:02 +02:00
Jannis Moßhammer fc4b42e3e0 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-19 13:22:01 +02:00
Jannis Moßhammer ef505ed949 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-19 13:22:01 +02:00
Jannis Moßhammer 0d0db281f7 Test and icinga.js module setup procedure
Behaviours are now modules and icinga.js automatically
requests module/list (which should be served by the application
and is non static) and retrieves a list of modules to request and
enable.

refs #3753
2013-06-17 11:22:53 +02:00
Jannis Moßhammer 95e4ebb76a Add javascript files (all untested)
This commit just adds the javascript files from the incubator,
even if not fully functional.

refs #3753
2013-06-17 11:22:53 +02:00
Eric Lippmann 6de8dd91fe Remove trash-containing StatusCircle.js
refs #4249
2013-06-17 10:54:08 +02:00
Marius Hein c905b1f490 Test and move bootstrapping/web code to source tree
Move code from incubator to web. Only files needed to show
welcome moved.

refs #4249
2013-06-17 08:49:27 +02:00