www/views/itemlists/add_items.js

Code
Comments
Other
Rev Date Author Line
7801 30 Apr 20 nicklas 1 /* $Id $
7801 30 Apr 20 nicklas 2   ------------------------------------------------------------------
7801 30 Apr 20 nicklas 3   Copyright (C) 2020 Nicklas Nordborg
7801 30 Apr 20 nicklas 4
7801 30 Apr 20 nicklas 5   This file is part of BASE - BioArray Software Environment.
7801 30 Apr 20 nicklas 6   Available at http://base.thep.lu.se/
7801 30 Apr 20 nicklas 7
7801 30 Apr 20 nicklas 8   BASE is free software; you can redistribute it and/or
7801 30 Apr 20 nicklas 9   modify it under the terms of the GNU General Public License
7801 30 Apr 20 nicklas 10   as published by the Free Software Foundation; either version 3
7801 30 Apr 20 nicklas 11   of the License, or (at your option) any later version.
7801 30 Apr 20 nicklas 12
7801 30 Apr 20 nicklas 13   BASE is distributed in the hope that it will be useful,
7801 30 Apr 20 nicklas 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
7801 30 Apr 20 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7801 30 Apr 20 nicklas 16   GNU General Public License for more details.
7801 30 Apr 20 nicklas 17
7801 30 Apr 20 nicklas 18   You should have received a copy of the GNU General Public License
7801 30 Apr 20 nicklas 19   along with BASE. If not, see <http://www.gnu.org/licenses/>.
7801 30 Apr 20 nicklas 20   ------------------------------------------------------------------
7801 30 Apr 20 nicklas 21
7801 30 Apr 20 nicklas 22   @author Nicklas
7801 30 Apr 20 nicklas 23 */
7801 30 Apr 20 nicklas 24 'use strict';
7801 30 Apr 20 nicklas 25
7801 30 Apr 20 nicklas 26 var AddItems = function()
7801 30 Apr 20 nicklas 27 {
7801 30 Apr 20 nicklas 28   var additems = {};
7801 30 Apr 20 nicklas 29   
7801 30 Apr 20 nicklas 30   additems.initPage = function()
7801 30 Apr 20 nicklas 31   {
7803 04 May 20 nicklas 32     // ItemList
7803 04 May 20 nicklas 33     Buttons.addClickHandler('item_id.select', additems.selectList);
7803 04 May 20 nicklas 34     Events.addEventHandler('item_id', 'base-selected', Items.onItemSelected);
7803 04 May 20 nicklas 35     
7801 30 Apr 20 nicklas 36     // Find out what is selected in the parent form
7801 30 Apr 20 nicklas 37     var frm = document.forms['additems'];
7801 30 Apr 20 nicklas 38     var parentForm = Data.get('sourceSelected', 'parent-form');
7801 30 Apr 20 nicklas 39     var selectedItemsInParentForm = window.opener.Table.getSelected(parentForm)
7801 30 Apr 20 nicklas 40     if (selectedItemsInParentForm.length == 0)
7801 30 Apr 20 nicklas 41     {
7801 30 Apr 20 nicklas 42       Doc.element('sourceSelected').disabled = true;
7801 30 Apr 20 nicklas 43     }
7801 30 Apr 20 nicklas 44     else
7801 30 Apr 20 nicklas 45     {
7801 30 Apr 20 nicklas 46       Forms.checkRadio(frm.source, 'selected');
7801 30 Apr 20 nicklas 47       Doc.element('lblSelected').innerHTML += ' ['+selectedItemsInParentForm.length+']';
7801 30 Apr 20 nicklas 48       Forms.addHidden(frm, 'items', selectedItemsInParentForm.join(','));
7801 30 Apr 20 nicklas 49     }
7801 30 Apr 20 nicklas 50     
7801 30 Apr 20 nicklas 51     // Save + Close buttons
7801 30 Apr 20 nicklas 52     Buttons.addClickHandler('btnAdd', additems.save);
7801 30 Apr 20 nicklas 53     Buttons.addClickHandler('close', App.closeWindow);
7801 30 Apr 20 nicklas 54   }
7801 30 Apr 20 nicklas 55
7803 04 May 20 nicklas 56   additems.selectList = function()
7803 04 May 20 nicklas 57   {
7803 04 May 20 nicklas 58     var frm = document.forms['additems'];
7803 04 May 20 nicklas 59     var url = '&resetTemporary=1';
7803 04 May 20 nicklas 60     url += '&tmpfilter:BOOLEAN:disableManualMembers=0';
7803 04 May 20 nicklas 61     url += '&tmpfilter:INT:memberType='+Data.get('page-data', 'member-type');
7803 04 May 20 nicklas 62     if (frm.item_id.length > 0) 
7803 04 May 20 nicklas 63     {
7803 04 May 20 nicklas 64       var id = Math.abs(parseInt(frm.item_id[0].value));        
7803 04 May 20 nicklas 65       url += '&item_id='+id;
7803 04 May 20 nicklas 66     }
7803 04 May 20 nicklas 67     Dialogs.selectItem('ITEMLIST', 'item_id', 0, url);
7803 04 May 20 nicklas 68   }
7803 04 May 20 nicklas 69   
7801 30 Apr 20 nicklas 70   // Submit the form
7801 30 Apr 20 nicklas 71   additems.save = function()
7801 30 Apr 20 nicklas 72   {
7801 30 Apr 20 nicklas 73     var frm = document.forms['additems'];
7801 30 Apr 20 nicklas 74     if (Strings.trim(frm.item_id.value) == '')
7801 30 Apr 20 nicklas 75     {
7801 30 Apr 20 nicklas 76       Forms.showNotification(frm.item_id, 'No item list is selected');
7801 30 Apr 20 nicklas 77       return false;
7801 30 Apr 20 nicklas 78     }
7801 30 Apr 20 nicklas 79     frm.submit();
7801 30 Apr 20 nicklas 80   }
7801 30 Apr 20 nicklas 81     
7801 30 Apr 20 nicklas 82   return additems;
7801 30 Apr 20 nicklas 83 }();
7801 30 Apr 20 nicklas 84
7801 30 Apr 20 nicklas 85 Doc.onLoad(AddItems.initPage);