diff --git a/public/js/icinga/components/actionTable.js b/public/js/icinga/components/actionTable.js deleted file mode 100644 index e8e61952b..000000000 --- a/public/js/icinga/components/actionTable.js +++ /dev/null @@ -1,118 +0,0 @@ -/*global Icinga:false, document: false, define:false require:false base_url:false console:false */ - -/** - * ActionTable behaviour as described in - * https://wiki.icinga.org/display/cranberry/Frontend+Components#FrontendComponents-ActionTable - * - * @TODO: Row selection - */ -define(['jquery','logging','icinga/util/async'],function($,log,async) { - "use strict"; - - var ActionTableBehaviour = function() { - var onTableHeaderClick; - - var TABLE_BASE_MATCHER = '.icinga-container table.action'; - var linksInActionTable = TABLE_BASE_MATCHER+" tbody tr > a"; - var actionTableRow = TABLE_BASE_MATCHER+" tbody tr"; - var headerRow = TABLE_BASE_MATCHER+" > th a"; - var searchField = ".icinga-container .actiontable.controls input[type=search]"; - - - onTableHeaderClick = function (ev) { - var target = ev.currentTarget, - href = $(target).attr('href'), - destination; - if ($(target).parents('.layout-main-detail').length) { - if ($(target).parents("#icinga-main").length) { - destination = 'icinga-main'; - } - else { - destination = 'icinga-detail'; - } - - } else { - destination = 'icinga-main'; - } - async.loadToTarget(destination, href); - ev.preventDefault(); - ev.stopImmediatePropagation(); - return false; - }; - - var onLinkTagClick = function(ev) { - - var target = ev.currentTarget, - href = $(target).attr('href'), - destination; - if ($(target).parents('.layout-main-detail').length) { - destination = 'icinga-detail'; - } else { - destination = 'icinga-main'; - } - async.loadToTarget(destination,href); - ev.preventDefault(); - ev.stopImmediatePropagation(); - return false; - - }; - - var onTableRowClick = function(ev) { - ev.stopImmediatePropagation(); - - var target = $(ev.currentTarget), - href = target.attr('href'), - destination; - $('tr.active',target.parent('tbody').first()).removeClass("active"); - target.addClass('active'); - - // When the tr has a href, act like it is a link - if(href) { - ev.currentTarget = target.first(); - return onLinkTagClick(ev); - } - // Try to find a designated row action - var links = $("a.row-action",target); - if(links.length) { - ev.currentTarget = links.first(); - return onLinkTagClick(ev); - } - - // otherwise use the first anchor tag - links = $("a",target); - if(links.length) { - ev.currentTarget = links.first(); - return onLinkTagClick(ev); - } - - log.debug("No target for this table row found"); - return false; - }; - - var onSearchInput = function(ev) { - ev.stopImmediatePropagation(); - var txt = $(this).val(); - }; - - this.eventHandler = {}; - this.eventHandler[linksInActionTable] = { - 'click' : onLinkTagClick - }; - this.eventHandler[actionTableRow] = { - 'click' : onTableRowClick - }; - this.eventHandler[headerRow] = { - 'click' : onTableHeaderClick - }; - this.eventHandler[searchField] = { - 'keyup' : onSearchInput - }; - - this.enable = function() { - - }; - }; - - return new ActionTableBehaviour(); - -}); \ No newline at end of file diff --git a/public/js/icinga/components/mainDetail.js b/public/js/icinga/components/mainDetail.js deleted file mode 100755 index 368c5c5f7..000000000 --- a/public/js/icinga/components/mainDetail.js +++ /dev/null @@ -1,99 +0,0 @@ -/*global Icinga:false, document: false, define:false require:false base_url:false console:false */ - -/** - * Main-Detail layout behaviour as described in - * https://wiki.icinga.org/display/cranberry/Frontend+Components#FrontendComponents-Behaviour - * - */ -define(['jquery','logging','icinga/util/async'],function($,log,async) { - "use strict"; - - var MainDetailBehaviour = function() { - - var onOuterLinkClick = function(ev) { - var a = $(ev.currentTarget), - target = a.attr("target"), - href = a.attr("href"); - ev.stopImmediatePropagation(); - collapseDetailView(); - async.loadToTarget("icinga-main",href); - return false; -}; - -var onLinkTagClick = function(ev) { - - var a = $(ev.currentTarget), - target = a.attr("target"), - href = a.attr("href"); - - // check for protocol:// - if(/^[A-Z]{2,10}\:\/\//i.test(href)) { - window.open(href); - ev.stopImmediatePropagation(); - return false; - } - - // check for link in table header - if(a.parents('th').length > 0) { - ev.stopImmediatePropagation(); - return false; - } - - if(typeof target === "undefined") { - if(a.parents("#icinga-detail").length) { - log.debug("Parent is detail, loading into detail"); - async.loadToTarget("icinga-detail",href); - } else { - log.debug("Parent is not detail, loading into main"); - async.loadToTarget("icinga-main",href); - } - } else { - switch(target) { - case "body": - async.loadToTarget("body", href); - break; - case "main": - async.loadToTarget("icinga-main",href); - collapseDetailView(); - break; - case "detail": - log.debug("Target: detail"); - async.loadToTarget("icinga-detail",href); - break; - case "popup": - log.debug("No target"); - async.loadToTarget(null,href); - break; - default: - return true; - } - } - ev.stopImmediatePropagation(); - return false; - }; - - var expandDetailView = function() { - $("#icinga-detail").parents(".collapsed").removeClass('collapsed'); - }; - - var collapseDetailView = function(elementInDetailView) { - $("#icinga-detail").parents(".layout-main-detail").addClass('collapsed'); - }; - - this.expandDetailView = expandDetailView; - this.collapseDetailView = collapseDetailView; - - this.eventHandler = { - '.layout-main-detail * a' : { - 'click' : onLinkTagClick - }, - 'a' : { - 'click' : onOuterLinkClick - }, - '.layout-main-detail .icinga-container#icinga-detail' : { - 'focus' : expandDetailView - } - }; - }; - return new MainDetailBehaviour(); -});