Adding client editor module to apex-pdp
[policy/apex-pdp.git] / client / client-editor / src / main / resources / webapp / js / showhideElement.js
1 /*
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * 
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 function showHideElement_display(showhide, element, _showstyle, _hidestyle, _buttonshowstyle, _buttonhidestyle) {
22     var checkbox = $(showhide).find('input:checkbox:first');
23     if (checkbox) {
24         checkbox.change(function(event) {
25             $(element).toggle("fast");
26         });
27     } else {
28         if (_buttonshowstyle) {
29             showhide.classList.remove(_buttonshowstyle);
30         }
31         if (_buttonhidestyle) {
32             showhide.classList.add(_buttonhidestyle);
33         }
34         showhide.onclick = function(event) {
35             $(element).toggle("fast");
36         };
37     }
38 }
39
40 function showHideElement(id_prefix, element, _initialhide, _showText, _hideText, _showstyle, _hidestyle,
41         _buttonshowstyle, _buttonhidestyle) {
42     var retdiv = document.createElement("div");
43     var divname = id_prefix;
44     retdiv.setAttribute("id", divname);
45     retdiv.setAttribute("class", "showHideElement");
46     var showhide = document.createElement("div");
47     retdiv.appendChild(showhide);
48     showhide.setAttribute("id", divname + "_showhide");
49     showhide.innerHTML = '<label class="ebSwitcher"><input type="checkbox" class="ebSwitcher-checkbox" /><div class="ebSwitcher-body"><div class="ebSwitcher-onLabel">Show</div><div class="ebSwitcher-switch"></div><div class="ebSwitcher-offLabel">Hide</div></div></label>';
50
51     retdiv.appendChild(element);
52     if (_initialhide != null && _initialhide === true) {
53         element.style.display = "none";
54     } else {
55         element.style.display = "block";
56     }
57     showHideElement_display(showhide, element, _showstyle, _hidestyle, undefined, undefined);
58     return retdiv;
59 };
60