7604 |
25 Feb 19 |
nicklas |
/* $Id $ |
7604 |
25 Feb 19 |
nicklas |
2 |
------------------------------------------------------------------ |
7604 |
25 Feb 19 |
nicklas |
Copyright (C) 2012 Nicklas Nordborg |
7604 |
25 Feb 19 |
nicklas |
4 |
|
7604 |
25 Feb 19 |
nicklas |
This file is part of BASE - BioArray Software Environment. |
7604 |
25 Feb 19 |
nicklas |
Available at http://base.thep.lu.se/ |
7604 |
25 Feb 19 |
nicklas |
7 |
|
7604 |
25 Feb 19 |
nicklas |
BASE is free software; you can redistribute it and/or |
7604 |
25 Feb 19 |
nicklas |
modify it under the terms of the GNU General Public License |
7604 |
25 Feb 19 |
nicklas |
as published by the Free Software Foundation; either version 3 |
7604 |
25 Feb 19 |
nicklas |
of the License, or (at your option) any later version. |
7604 |
25 Feb 19 |
nicklas |
12 |
|
7604 |
25 Feb 19 |
nicklas |
BASE is distributed in the hope that it will be useful, |
7604 |
25 Feb 19 |
nicklas |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
7604 |
25 Feb 19 |
nicklas |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7604 |
25 Feb 19 |
nicklas |
GNU General Public License for more details. |
7604 |
25 Feb 19 |
nicklas |
17 |
|
7604 |
25 Feb 19 |
nicklas |
You should have received a copy of the GNU General Public License |
7604 |
25 Feb 19 |
nicklas |
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 |
@author Nicklas |
7604 |
25 Feb 19 |
nicklas |
23 |
*/ |
7604 |
25 Feb 19 |
nicklas |
'use strict'; |
7604 |
25 Feb 19 |
nicklas |
25 |
|
7604 |
25 Feb 19 |
nicklas |
var AnnotationsList = function() |
7604 |
25 Feb 19 |
nicklas |
27 |
{ |
7604 |
25 Feb 19 |
nicklas |
var list = {}; |
7604 |
25 Feb 19 |
nicklas |
var loaded = false; |
7604 |
25 Feb 19 |
nicklas |
30 |
|
7604 |
25 Feb 19 |
nicklas |
list.initEditLink = function(element, autoInit) |
7604 |
25 Feb 19 |
nicklas |
32 |
{ |
7604 |
25 Feb 19 |
nicklas |
if (autoInit != 'edit-annotation') return; |
7604 |
25 Feb 19 |
nicklas |
Events.addEventHandler(element, 'click', list.editAnnotation); |
7604 |
25 Feb 19 |
nicklas |
35 |
} |
7604 |
25 Feb 19 |
nicklas |
36 |
|
7604 |
25 Feb 19 |
nicklas |
list.initListPage = function() |
7604 |
25 Feb 19 |
nicklas |
38 |
{ |
7604 |
25 Feb 19 |
nicklas |
if (Doc.element('annotations')) |
7604 |
25 Feb 19 |
nicklas |
40 |
{ |
7604 |
25 Feb 19 |
nicklas |
var allWithValues = Data.int('annotations-stat', 'all-with-values'); |
7604 |
25 Feb 19 |
nicklas |
var allOfCategory = Data.int('annotations-stat', 'all-of-category'); |
7604 |
25 Feb 19 |
nicklas |
Events.addEventHandler('view_all', 'click', list.setViewFilter); |
7604 |
25 Feb 19 |
nicklas |
Events.addEventHandler('view_values', 'click', list.setViewFilter); |
7604 |
25 Feb 19 |
nicklas |
Events.addEventHandler('view_category', 'click', list.setViewFilter); |
7604 |
25 Feb 19 |
nicklas |
Doc.element('allWithValues').innerHTML = allWithValues; |
7604 |
25 Feb 19 |
nicklas |
if (Doc.element('allOfCategory')) |
7604 |
25 Feb 19 |
nicklas |
48 |
{ |
7604 |
25 Feb 19 |
nicklas |
Doc.element('allOfCategory').innerHTML = allOfCategory; |
7604 |
25 Feb 19 |
nicklas |
50 |
} |
7604 |
25 Feb 19 |
nicklas |
if (allWithValues == 0 && allOfCategory == 0) |
7604 |
25 Feb 19 |
nicklas |
52 |
{ |
7604 |
25 Feb 19 |
nicklas |
Doc.element('view_all').checked = true; |
7604 |
25 Feb 19 |
nicklas |
54 |
} |
7604 |
25 Feb 19 |
nicklas |
list.setViewFilter(); |
7604 |
25 Feb 19 |
nicklas |
56 |
} |
7604 |
25 Feb 19 |
nicklas |
57 |
} |
7604 |
25 Feb 19 |
nicklas |
58 |
|
7604 |
25 Feb 19 |
nicklas |
if (Doc.getPageId() == 'list-annotations') |
7604 |
25 Feb 19 |
nicklas |
60 |
{ |
7604 |
25 Feb 19 |
nicklas |
Doc.addElementInitializer(list.initEditLink); |
7604 |
25 Feb 19 |
nicklas |
Doc.onLoad(list.initListPage); |
7604 |
25 Feb 19 |
nicklas |
63 |
} |
7604 |
25 Feb 19 |
nicklas |
64 |
|
7604 |
25 Feb 19 |
nicklas |
65 |
/** |
7604 |
25 Feb 19 |
nicklas |
Load the list of annotations the first time the tab is activated. |
7604 |
25 Feb 19 |
nicklas |
67 |
*/ |
7604 |
25 Feb 19 |
nicklas |
list.loadOnce = function() |
7604 |
25 Feb 19 |
nicklas |
69 |
{ |
7604 |
25 Feb 19 |
nicklas |
if (loaded) return; |
7604 |
25 Feb 19 |
nicklas |
var url = App.getRoot() + 'common/annotations/list_annotations.jsp?ID='+App.getSessionId(); |
7604 |
25 Feb 19 |
nicklas |
url += '&item_type='+Data.get('annotate-data', 'item-type'); |
7604 |
25 Feb 19 |
nicklas |
url += '&item_id='+Data.get('annotate-data', 'item-id'); |
7604 |
25 Feb 19 |
nicklas |
frames['annotations'].location.replace(url); |
7604 |
25 Feb 19 |
nicklas |
loaded = true; |
7604 |
25 Feb 19 |
nicklas |
76 |
} |
7604 |
25 Feb 19 |
nicklas |
77 |
|
7604 |
25 Feb 19 |
nicklas |
78 |
/** |
7604 |
25 Feb 19 |
nicklas |
Open edit dialog for editing an annotation value in standalone mode. |
7604 |
25 Feb 19 |
nicklas |
80 |
*/ |
7604 |
25 Feb 19 |
nicklas |
list.editAnnotation = function(event) |
7604 |
25 Feb 19 |
nicklas |
82 |
{ |
7604 |
25 Feb 19 |
nicklas |
var target = event.currentTarget; |
7604 |
25 Feb 19 |
nicklas |
var url = App.getRoot() + 'common/annotations/annotate.jsp?ID='+App.getSessionId(); |
8083 |
20 Oct 22 |
nicklas |
url += '&annotation_id='+Data.int(target, 'annotation'); |
7604 |
25 Feb 19 |
nicklas |
url += '&item_type='+Data.get(target, 'item-type'); |
7604 |
25 Feb 19 |
nicklas |
url += '&item_id='+Data.get(target, 'item-id'); |
7604 |
25 Feb 19 |
nicklas |
url += '&annotationtype_id='+Data.get(target, 'annotation-type'); |
8083 |
20 Oct 22 |
nicklas |
var projectId = Data.get(target, 'project'); |
8083 |
20 Oct 22 |
nicklas |
if (projectId) url += '&project_id='+projectId; |
7604 |
25 Feb 19 |
nicklas |
url += '&standalone=1'; |
7604 |
25 Feb 19 |
nicklas |
Dialogs.openPopup(url, 'EditAnnotation', 750, 500); |
7604 |
25 Feb 19 |
nicklas |
93 |
} |
7604 |
25 Feb 19 |
nicklas |
94 |
|
7604 |
25 Feb 19 |
nicklas |
list.setViewFilter = function() |
7604 |
25 Feb 19 |
nicklas |
96 |
{ |
7604 |
25 Feb 19 |
nicklas |
var frm = document.forms['annotations']; |
7604 |
25 Feb 19 |
nicklas |
var filter = Forms.getCheckedRadio(frm.view).value; |
7604 |
25 Feb 19 |
nicklas |
Doc.element('annotations-data').className = 'data ' + filter; |
7604 |
25 Feb 19 |
nicklas |
100 |
} |
7604 |
25 Feb 19 |
nicklas |
101 |
|
7604 |
25 Feb 19 |
nicklas |
return list; |
7604 |
25 Feb 19 |
nicklas |
103 |
}(); |
7604 |
25 Feb 19 |
nicklas |
104 |
|
7604 |
25 Feb 19 |
nicklas |
105 |
|
7604 |
25 Feb 19 |
nicklas |
106 |
|