www/common/history/history.js

Code
Comments
Other
Rev Date Author Line
7604 25 Feb 19 nicklas 1 /* $Id $
7604 25 Feb 19 nicklas 2   ------------------------------------------------------------------
7604 25 Feb 19 nicklas 3   Copyright (C) 2012 Nicklas Nordborg
7604 25 Feb 19 nicklas 4
7604 25 Feb 19 nicklas 5   This file is part of BASE - BioArray Software Environment.
7604 25 Feb 19 nicklas 6   Available at http://base.thep.lu.se/
7604 25 Feb 19 nicklas 7
7604 25 Feb 19 nicklas 8   BASE is free software; you can redistribute it and/or
7604 25 Feb 19 nicklas 9   modify it under the terms of the GNU General Public License
7604 25 Feb 19 nicklas 10   as published by the Free Software Foundation; either version 3
7604 25 Feb 19 nicklas 11   of the License, or (at your option) any later version.
7604 25 Feb 19 nicklas 12
7604 25 Feb 19 nicklas 13   BASE is distributed in the hope that it will be useful,
7604 25 Feb 19 nicklas 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
7604 25 Feb 19 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7604 25 Feb 19 nicklas 16   GNU General Public License for more details.
7604 25 Feb 19 nicklas 17
7604 25 Feb 19 nicklas 18   You should have received a copy of the GNU General Public License
7604 25 Feb 19 nicklas 19   along with BASE. If not, see <http://www.gnu.org/licenses/>.
7604 25 Feb 19 nicklas 20   ------------------------------------------------------------------
7604 25 Feb 19 nicklas 21
7604 25 Feb 19 nicklas 22   @author Nicklas
7604 25 Feb 19 nicklas 23 */
7604 25 Feb 19 nicklas 24 'use strict';
7604 25 Feb 19 nicklas 25
7604 25 Feb 19 nicklas 26 var History = function()
7604 25 Feb 19 nicklas 27 {
7604 25 Feb 19 nicklas 28   var history = {};
7604 25 Feb 19 nicklas 29   var loaded = false;
7604 25 Feb 19 nicklas 30   
7604 25 Feb 19 nicklas 31   /**
7604 25 Feb 19 nicklas 32     Initialize the page.
7604 25 Feb 19 nicklas 33   */
7604 25 Feb 19 nicklas 34   history.initPage = function()
7604 25 Feb 19 nicklas 35   {
7604 25 Feb 19 nicklas 36     var pageId = Doc.getPageId();
7604 25 Feb 19 nicklas 37     if (pageId == 'view-history')
7604 25 Feb 19 nicklas 38     {
7604 25 Feb 19 nicklas 39       // Buttons
7604 25 Feb 19 nicklas 40       Buttons.addClickHandler('close', App.closeWindow);
7604 25 Feb 19 nicklas 41     }
7604 25 Feb 19 nicklas 42     else if (pageId == 'list-history')
7604 25 Feb 19 nicklas 43     {
7604 25 Feb 19 nicklas 44       var attributes = {'item-type': 'CHANGEHISTORY'};
7604 25 Feb 19 nicklas 45       var tableAttributes = {'table-id': 'history'};
7604 25 Feb 19 nicklas 46       Buttons.addClickHandler('btnColumns', Buttons.configureColumns, tableAttributes);
7604 25 Feb 19 nicklas 47       Buttons.addClickHandler('btnExport', Buttons.runListPlugin, tableAttributes);
7604 25 Feb 19 nicklas 48
7604 25 Feb 19 nicklas 49     }
7604 25 Feb 19 nicklas 50     else
7604 25 Feb 19 nicklas 51     {
7604 25 Feb 19 nicklas 52       // Iframe included on single-item view page of other items
7604 25 Feb 19 nicklas 53     }
7604 25 Feb 19 nicklas 54   }
7604 25 Feb 19 nicklas 55   
7604 25 Feb 19 nicklas 56   history.loadOnce = function()
7604 25 Feb 19 nicklas 57   {
7604 25 Feb 19 nicklas 58     if (loaded) return;
7604 25 Feb 19 nicklas 59     var url = App.getRoot() + 'common/history/index.jsp?ID='+App.getSessionId();
7604 25 Feb 19 nicklas 60     url += '&cmd=List';
7604 25 Feb 19 nicklas 61     url += '&source_type='+Data.get('history-data', 'source-type');
7604 25 Feb 19 nicklas 62     url += '&source_id='+Data.get('history-data', 'source-id');
7952 12 May 21 nicklas 63     url += '&transact_id='+Data.get('history-data', 'transact-id');
7604 25 Feb 19 nicklas 64     frames['history-frame'].location.replace(url);
7604 25 Feb 19 nicklas 65     loaded = true;
7604 25 Feb 19 nicklas 66   }
7604 25 Feb 19 nicklas 67
7949 10 May 21 nicklas 68   history.initElements = function(element, autoInit)
7949 10 May 21 nicklas 69   {
7952 12 May 21 nicklas 70     if (autoInit == 'transact-box')
7952 12 May 21 nicklas 71     {
7952 12 May 21 nicklas 72       Events.addEventHandler(element, 'mouseenter', history.mouseEnterTransactBox);
7952 12 May 21 nicklas 73       Events.addEventHandler(element, 'mouseleave', history.mouseLeaveTransactBox);
7952 12 May 21 nicklas 74     }
7952 12 May 21 nicklas 75     else if (autoInit == 'transact-link')
7952 12 May 21 nicklas 76     {
7952 12 May 21 nicklas 77       Events.addEventHandler(element, 'click', history.viewTransaction);
7952 12 May 21 nicklas 78     }
7949 10 May 21 nicklas 79   }
7949 10 May 21 nicklas 80   
7952 12 May 21 nicklas 81   history.viewTransaction = function(event)
7952 12 May 21 nicklas 82   {
7952 12 May 21 nicklas 83     var url = App.getRoot()+Items.getController('SESSION').url + '?ID='+App.getSessionId();
7952 12 May 21 nicklas 84     url += '&cmd=ViewTransaction&item_id='+Data.get(event.currentTarget, 'session-id');
7952 12 May 21 nicklas 85     url += '&transact_id='+Data.get(event.currentTarget, 'transact-id');
7952 12 May 21 nicklas 86     window.parent.location.href = url;
7952 12 May 21 nicklas 87   }
7952 12 May 21 nicklas 88   
7949 10 May 21 nicklas 89   history.mouseEnterTransactBox = function(event)
7949 10 May 21 nicklas 90   {
7949 10 May 21 nicklas 91     Doc.addClass('history', 'transact-'+Data.get(event.currentTarget, 'transact-id'));
7949 10 May 21 nicklas 92   }
7949 10 May 21 nicklas 93   
7949 10 May 21 nicklas 94   history.mouseLeaveTransactBox = function(event)
7949 10 May 21 nicklas 95   {
7949 10 May 21 nicklas 96     Doc.removeClass('history', 'transact-'+Data.get(event.currentTarget, 'transact-id'));
7949 10 May 21 nicklas 97   }
7949 10 May 21 nicklas 98
7604 25 Feb 19 nicklas 99   return history;
7604 25 Feb 19 nicklas 100 }();
7949 10 May 21 nicklas 101 Doc.addElementInitializer(History.initElements);
6181 22 Oct 12 nicklas 102 Doc.onLoad(History.initPage);