<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
    response.setHeader("Pragma", "No-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Expires", "0");
    String userId = SessionManager.getUserId(request);
    String userNm = SessionManager.getUserName(request);
    String rollId = SessionManager.getRoleIdString(request);

    String arr[] = rollId.split(",");
    for(int i=0;i<arr.length;i++){
        if("admin".equals(arr[i]) || "dept_admin".equals(arr[i])){
            rollId = "admin";
            break;
        }
    }

    /* String biz = SessionManager.getBizString(request); //담당 업무코드(APP코드) 가져오기
    String bizArr[] = biz.split(","); */

%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<link href="<c:url value="/addon/bootstrap-5.3.2/css/bootstrap.min.css"/>" rel="stylesheet"/>
<script src="<c:url value="/addon/bootstrap-5.3.2/js/bootstrap.bundle.min.js"/>"></script>
<!-- FilePond stylesheet -->
<link href="<c:url value="/addon/filepond/filepond.min.css"/>" rel="stylesheet">
<!-- FilePond JavaScript library -->
<script src="<c:url value="/addon/filepond/filepond.min.js"/>"></script>
<!-- FilePond plugin for file validation -->
<script src="<c:url value="/addon/filepond/plugin/filepond-plugin-file-validate-type.min.js"/>"></script>
<script language="javascript" >

var url      = '<c:url value="/bap/admin/work/interfaceManBatchFep.json" />';
var url_view = '<c:url value="/bap/admin/work/interfaceManBatchFep.view" />';
var url_file = '<c:url value="/bap/admin/work/interfaceManBatchFep.file"/>';

function gridRenderingInit() {
    if("${param.userIdSpaceYN}" == "N"){
        $("#searchUserId").val("${param.searchUserId}");
    }else if("${param.userIdSpaceYN}" == "Y"){
           $("#searchUserId").val("");
    }else{
        $("#searchUserId").val("<%=userId %>");
    }
    var rowNum = "${param.rowNum}";
    if(rowNum == "") {rowNum = "${rmsDefaultRowNum}";}

    var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로 
    postData["infDstCd"] = "OUT";                    //대외 일괄
    var searchStatus = new Array();
    $('input[name=status]:checked').each(function () {
        searchStatus.push($(this).val());
    });
    postData['status'] = searchStatus.join(",");
    if($('input[name="delFlag"]').is(":checked")){
        postData['delFlag'] = "Y";
    }else{
        postData['delFlag'] = "N";
    }

    $('#grid').jqGrid({
        datatype:"json",
        mtype: 'POST',
        url : url,
        postData : postData,
        colNames:[ //'No.'
                 '<%= localeMessage.getString("interface.interfaceId") %>'
                 , '<%= localeMessage.getString("interface.interfaceName") %>'
                 , '<%= localeMessage.getString("interface.bzwkdstcd") %>'
                 , '<%= localeMessage.getString("interface.sendRecvType") %>'
                 , '<%= localeMessage.getString("interface.internalSystem") %>'
                 , '<%= localeMessage.getString("common.appCode") %>'
                 , '<%= localeMessage.getString("interface.externalBusiness") %>'
                 , '<%= localeMessage.getString("common.ownerId") %>'
                 , '<%= localeMessage.getString("common.updateDatetime") %>'
                  ],
        colModel:[
                { name : 'INFID'            , align:'center' , width:'100' } //인터페이스ID
                , { name : 'BJOBMSGDSTICNAME'   , align:'left'     , width:'200' } //인터페이스명
                , { name : 'BJOBBZWKDSTCD'      , align:'center' , width:'30' } //업무구분코드
                , { name : 'SNDSTNM'         , align:'center' , width:'30'}  //송수신구분
                , { name : 'SYSCD'            , align:'center' , width:'30' } //시스템코드
                , { name : 'UAPPLCD'         , align:'center' , width:'30' } //app코드
                , { name : 'OUTBIZCD'         , align:'center' , width:'30' } //대외업무코드
                , { name : 'THISMSGAMNDRID'      , align:'center' , width:'50' } //담당자id
                , { name : 'THISMSGAMNDHMS'      , align:'center' , width:'70' } //수정시간
                ],
        jsonReader: {
             repeatitems:false
        },              
        pager      : $('#pager'),
        page       : '${param.page}',
        rowNum     : rowNum, //'${rmsDefaultRowNum}',
        autoheight : true,
        height     : $("#container").height(),
        autowidth  : true,
        viewrecords: true,
        multiselect: true,
        rownumbers : true,
        rowList    : eval('[${rmsDefaultRowList}]'),
        gridComplete:function (d){
            var colModel = $(this).getGridParam("colModel");
            for(var i = 0 ; i< colModel.length; i++){
                $(this).setColProp(colModel[i].name, {sortable : false});    //그리드 헤더 화살표 삭제(정렬X)        
            }
        
        },
        loadComplete:function (d){
            if("<%= rollId %>" != "admin"){
                var idArry = $("#grid").jqGrid("getDataIDs");
                cnt = 0;
                for(var i=0; i < idArry.length; i++){
                    var ret = $("#grid").getRowData(idArry[i]);
                    cnt = 0;
                 <%-- <% for(int j = 0; j < bizArr.length; j++){ %>
                       if(ret.APP_CD == "<%= bizArr[j] %>" && ret.DEL_FLAG == "N"){
                           if(ret.AUTHOR == "<%=userId %>") cnt++;
                       }
                  <%}%> --%>
                    if(cnt == 0){
                        $("#jqg_grid_" + idArry[i]).attr("disabled", true);
                    }
                }
            }
        },
        beforeSelectRow: function(rowid, e){
           var cbsdis = $("tr#" + rowid + ".jqgrow > td > input.cbox:disabled", jQuery("#grid")[0]);
           if(cbsdis.length === 0){
               return true;
           }else{
               return false;
           }
        },
        onSelectAll: function(aRowids, status){
            if(status){
                for(var i = 0; i < aRowids.length; i++){
                    if($("#jqg_grid_" + aRowids[i]).attr("disabled")){
                        $("#jqg_grid_" + aRowids[i]).removeAttr("checked");
                        $("#jqg_grid_" + aRowids[i]).removeClass("cbox");
                        $("#"+aRowids[i]).css("background-color", "#ffffff");
                        $("#"+aRowids[i]).css("border-color", "#dddddd");
                    }
                }
            }
        },
        ondblClickRow: function(rowId) {
            var rowData  = $(this).getRowData(rowId);
            // 2자리 공백이 붙는 현상이 있어 trim 처리
            var infId    = $.trim(rowData['INFID']);
            var searchStatus = [];
            $('input[name=status]:checked').each(function () {
                searchStatus.push($(this).val());
            });

            var roleSpace = "Y";  //담당자ID 입력값 없음
            if ($("#searchUserId").val() != "") {  //담당자ID 입력값 있음.
                roleSpace = "N";
            }

            var url = url_view;
            url = url + '?cmd=DETAIL';
            url = url + '&page='+$(this).getGridParam("page");
            url = url + '&rowNum=' + $(this).getGridParam("rowNum");
            url = url + '&returnUrl='+getReturnUrl();
            url = url + '&menuId='+'${param.menuId}';
            //검색값
            url = url + '&'+getSearchUrl();
            //key값
            url = url + '&infId='+infId;
            url = url + '&userIdSpaceYN=' + roleSpace;
            url = url + '&searchStatus='+searchStatus.join(",");
            url = encodeURI(url); 
            goNav(url);
        },
        onSelectRow: function(rowId, status){
            if($("#jqg_grid_" + rowId).attr("disabled")){
                $("#jqg_grid_" + rowId).removeAttr("checked");
                $("#jqg_grid_" + rowId).removeClass("cbox");
                $("#"+rowId).css("background-color", "#ffffff");
                $("#"+rowId).css("border-color", "#dddddd");
            }
        },
        //전문공유
        onCellSelect: function(rowId, iCol) {
            if(iCol == 15){
                if($(this).getCell(rowId, iCol) != ""){
                    btn_laysync($(this).getRowData(rowId));
                }
            }
        }

    });
    
    if("<%= rollId %>" == "admin"){
        $('#grid').jqGrid("showCol", ["SYNCRESULTS", "SHR_BTN"]);
    }
    resizeJqGridWidth('grid','content_middle','1000');
}

$(document).ready(function() {
   
   // debugger;
   
    init().done(function () {
        gridRenderingInit();
    });

    $("#btn_search").click(function(){
        detail();
    });
    
    $("#btn_new").click(function() {
        var searchStatus = [];
        $('input[name=status]:checked').each(function () {
            searchStatus.push($(this).val());
        });

        var roleSpace = "Y";  //담당자ID 입력값 없음
        if ($("#searchUserId").val() != "") {  //담당자ID 입력값 있음.
            roleSpace = "N";
        }
        var url = url_view;
        url = url + '?cmd=DETAIL';
        url = url + '&page='+$("#grid").getGridParam("page");
        url = url + '&returnUrl='+getReturnUrl();
        url = url + '&menuId='+'${param.menuId}';
        //검색값
        url = url + '&'+getSearchUrl();
        url = url + '&delFlag=';
        url = url + '&userIdSpaceYN=' + roleSpace;
        url = url + '&searchStatus='+searchStatus.join(",");
        
        goNav(encodeURI(url));
    });

    /* //엑셀 다운로드
    $("#btn_excel_export").on('click', function(event) {

        var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로 
        postData["infDstCd"] = "OUT";
        var searchStatus = new Array();
        $('input[name=status]:checked').each(function () {
            searchStatus.push($(this).val());
        });
        postData['status'] = searchStatus.join(",");
        
        var linkHref = "/monitoring/iim/interface/interfaceMan.json?cmd=LIST_DOWNLOAD_EXCEL_ONL";
        
        $.each(postData, function (name, value) {
            console.log(name + "=" + value);
            linkHref = linkHref + "&" + name + "=" + encodeURI(value); 
        });
        
        console.log(linkHref);
        
        var link = document.createElement('a');
        document.body.appendChild(link);
        link.href =  linkHref;
        link.click();

    }); */

    $("input[name^=search]").keydown(function(key){
        if (key.keyCode == 13){
            $("#btn_search").click();
        }
    });
    
    /* //user리스트 팝업호출
    $("#btn_user_list").click(function(){
        var args = new Object();
        var url2='<c:url value="/common/acl/user/userMan.view"/>';
        url2 = url2 + "?cmd=LIST_POPUP";
        var result = showModal(url2,args, 500, 650, function(arg){
            var args = null;
            if(arg == null || arg == undefined ) {//chrome
                args = this.dialogArguments;
                args.returnValue = this.returnValue;
            } else {//ie
                args = arg;
            }
            
            if( !args || !args.returnValue ) return;
            var ret = args.returnValue;
            $("#searchUserId").val(ret['userId']);                   //작성자ID
           
        });
    }); */

    //어드민으로 로그인했을시에 표시되는 삭제체크박스
    //삭제 체크시 상태체크박스는 모두 해제처리함
    $('input[name="delFlag"]').on('click', function() {
        $("#btn_author_change").show();
        if($('input[name="delFlag"]').is(":checked")){
            $('input[name="status"]').attr("checked", false);
            $("#btn_author_change").hide();
        }
    });
    $('input[name="status"]').on('click', function() {
        if($('input[name="delFlag"]').is(":checked")){
            $('input[name="status"]').attr("checked", false);
        }
    });

    //담당자변경
    <%-- $("#btn_author_change").on('click', function(event) {
        sel = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){ return this.id; }).get();

        if(sel.length == 0 || sel == ""){
            alert("변경할 인터페이스를 선택해주세요.");
            return;
        }
        var infIdArr = [];
        for(var i=0; i < sel.length ; i++){
            if("<%= rollId %>" != "admin"){
                if(($("#grid").getCell(sel[i], "AUTHOR")   !== "<%=userId %>")) {
                    alert("본인담당 인터페이스가 아닌 경우 담당자변경이 불가합니다.\n인터페이스ID [" + $("#grid").getCell(sel[i], "INF_ID") + "]");
                    return;
                }
                if($("#grid").getCell(sel[i], "DEL_FLAG") == "Y"){
                    alert("삭제된 인터페이스입니다.\n인터페이스ID [" + $("#grid").getCell(sel[i], "INF_ID") + "]");
                    return;
                }
            }
                infIdArr[i] = $("#grid").getCell(sel[i], "INF_ID");
        }

        var args = new Object();
        args['userId']      = "<%= userId %>";                          //유저아이디
        args['userNm']      = "<%= userNm %>";                          //유저명
        args['rollId']      = "<%= rollId %>";                          //권한
        var url2 = url_view + "?cmd=DETAIL_AUTHOR_CHANGE";
        var result = showModal(url2,args, 560, 750, function(arg){
            var args = null;
            if(arg == null || arg == undefined ) {//chrome
                args = this.dialogArguments;
                args.returnValue = this.returnValue;
            } else {//ie
                args = arg;
            }
            
            if( !args || !args.returnValue ) return;
            var ret = args.returnValue;
            var postData = $('#ajaxForm').serializeArray();
            postData.push({ name: "cmd"         , value:"UPDATE_BATCH_AUTHOR"}
                         ,{ name: "chngAfUserId", value:args.returnValue}   //변경후
                         ,{ name: "infIdArr",     value:infIdArr}           //변경대상 인터페이스
                         );
            $.ajax({
                type : "POST",
                url:url,
                data:postData,
                success:function(json){
                    detail();
                    alert("담당자변경을 완료했습니다.");
                },
                error:function(e){
                    alert(e.responseText);
                }
            });

        });
    }); --%>


    buttonControl();
//    init(detail);

    FilePond.registerPlugin(FilePondPluginFileValidateType);
    // FilePond 인스턴스 생성
    const pond = FilePond.create(document.querySelector('.filepond'), {
        instantUpload: false, // 파일을 즉시 업로드하지 않음
        allowRevert: false,
        acceptedFileTypes: ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/json'],
        // 서버 설정
        server: {
            process: {
                url: url_file + '?cmd=LIST_IMPORT_FILE&serviceType=' + sessionStorage["serviceType"],
                method: 'POST',
                // 필요한 경우 headers나 다른 설정 추가
            },
            // revert, load, restore, fetch 설정 (필요한 경우)
        },
        // 다른 필요한 옵션 추가
    });

    pond.on('processfiles', () => {
        // 여기에 모든 파일 업로드 완료 후 실행할 코드를 작성
        console.debug('모든 파일의 처리가 완료되었습니다.');
        $('#btn_search').click();
    });

    // "업로드 시작" 버튼 클릭 이벤트 핸들러
    document.getElementById('uploadButton').addEventListener('click', function() {
        pond.processFiles(); // 선택된 모든 파일을 업로드
    });

    // 모달 닫기 이벤트 핸들러
    $('#uploadModal').on('hidden.bs.modal', function (e) {
        pond.removeFiles(); // 모달이 닫힐 때 파일 목록에서 모든 파일 제거
    });

});

//Excel Upload ie8에서 사용하는 함수. 
function getDoc(frame) {
    var doc = null;

    // IE8 cascading access check
    try {
        if (frame.contentWindow) {
            doc = frame.contentWindow.document;
        }
    } catch(err) {
    }

    if (doc) { // successful getting content
        return doc;
    }

    try { // simply checking may throw in ie8 under ssl or mismatched protocol
        doc = frame.contentDocument ? frame.contentDocument : frame.document;
    } catch(err) {
        // last attempt
        doc = frame.document;
    }
    
    return doc;
}


function makeBtnShr(cellvalue, options, rowObject){
    if(rowObject.STATUS == "R" || rowObject.STATUS == "W"){
        return "<img id='btn_laysync' src='<c:url value='/images/bt/bt_laysync.gif' />' level='W'/>";
    }else{
        return "";
    }
};

//인터페이스 공유
function btn_laysync(obj) {
    var infId = obj.INF_ID; 

    $.ajax({
        type : "POST",
        url: url,
        dataType:"json",
        async:false,
        data:{cmd: "TRANSACTION_SYNC_BATCH", infId: JSON.stringify(infId)},
        success:function(json){
            if(status != undefined && status == 'fail'){
                alert(json.errorMsg);
                return;
            }
            var data="----result----"+"\n";
            data +="성공건수("+json.succCnt+")"+"\n";
            data +="실패건수("+json.failCnt+")"+"\n";
            
            $.each(json.result,function(key,value){
                data += key +"\n";
                data += value +"\n";
            });
            alert(data);
            detail();
            
        },
        error : function(e) {
            alert(e.responseJSON.errorMsg);
            //alert(e.responseText);
        }
    });
};


function init(callback){
    return $.ajax({
        type : "POST",
        url:url,
        dataType:"json",
        data:{cmd: 'LIST_COMBO'},
        success:function(json){
            new makeOptions("BZWKDSTCD","CODENAME").setObj($("select[name=searchAppCd]")).setData(json.authList.rows).rendering();   //APP코드
            
            $("#searchInterfaceId").val("${param.searchInterfaceId}");  // 인터페이스 ID
            $("#searchInterfaceName").val("${param.searchInterfaceName}");            //인터페이스 명
            $("#searchAppCd").val("${param.searchAppCd}");              //APP코드
            
            if("${param.searchUserId}" != ""){
                $("#searchUserId").val("${param.searchUserId}");
            }
            
            var searchStatus = new Array();
            var searchStatus = "${param.searchStatus}".split(",");
            
            $('input:checkbox[name="status"]').each(function(){
                var cStatus = this;
                searchStatus.forEach(function(val, idx){
                    if(cStatus.value == val){
                        cStatus.checked = true;
                    }
                });
            });
            
            if("${param.delFlag}" == "Y"){
                $('input[name="delFlag"]').attr("checked", true);
            }

//            if (typeof callback === 'function') {
//                callback();
//            }

        },
        error:function(e){
            alert(e.responseText);
        }
    });

};

function detail(){

    var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로 
    postData["infDstCd"] = "OUT";                    //대외 일괄
    var searchStatus = new Array();
    $('input[name=status]:checked').each(function () {
        searchStatus.push($(this).val());
    });
    postData['status'] = searchStatus.join(",");
    if($('input[name="delFlag"]').is(":checked")){
        postData['delFlag'] = "Y";
    }else{
        postData['delFlag'] = "N";
    }
    $("#grid").setGridParam({url : url, postData : postData, page:1}).trigger("reloadGrid");
}

</script>
</head>
    <body>
        <div class="right_box">

            <!-- path -->
            <div class="content_top">
                <ul class="path">
                    <li><a href="#">${rmsMenuPath}</a></li>
                </ul>
            </div><!-- end content_top -->
            <div class="content_middle" id="content_middle">
                <!-- button -->
                <%-- <form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/iim/interface/interfaceMan.file" />">
                                        <input type="file" name="file" style="display:block"/>
                                        <input type="text" name="cmd" style="display:none" value="UPLOAD"/>
                </form> --%>
                <div class="search_wrap">
                    <%--<img id="btn_new"    src="<c:url value="/img/btn_new.png"/>" level="W"/>  <!-- 신규 -->--%>
                    <%--<img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/> <!-- 검색 -->--%>
                    <%-- <img id="btn_excel_export" src="<c:url value="/images/bt/bt_excel_export.jpg"/>" level="R" /> <!-- 엑셀다운로드 --> --%>
                    <%-- <img id="btn_excel_import" src="<c:url value="/images/bt/bt_excel_import.jpg"/>" level="R" /> --%><!-- 엑셀업로드 -->
                    <%-- <img id="btn_author_change" src="<c:url value="/images/bt/bt_author_change.gif"/>" level="W" /><!-- 담당자변경 --> --%>
                    <button type="button" class="cssbtn" id="btn_import" level="W" data-bs-toggle="modal" data-bs-target="#uploadModal"><i class="material-icons">upload</i>  <%=localeMessage.getString("button.import")%></button>
                    <button type="button" class="cssbtn" id="btn_new" level="W" status="DETAIL,NEW"><i class="material-icons">add</i><%=localeMessage.getString("button.new")%></button>
                    <%--<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i><%=localeMessage.getString("button.delete")%></button>--%>
                    <button type="button" class="cssbtn" id="btn_search" level="R" status="DETAIL,NEW"><i class="material-icons">search</i><%=localeMessage.getString("button.search")%></button>
                </div>
                <!-- title -->
                <div class="title">
                    <%= localeMessage.getString("interfaceBatchFep.title") %>
                </div>

                <form id="ajaxForm">
                    <table class="search_condition" cellspacing=0;>
                        <tr>
                            <th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("interface.titleInterfaceId") %></th>
                            <td><input type="text" name="searchInterfaceId" value="${param.searchInterfaceId}" style="width:100%"></td>
                            <th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("interface.titleInterfaceName") %></th>
                            <td><input type="text" name="searchInterfaceName" value="${param.searchInterfaceName}" style="width:100%"></td>
                        </tr>

                        <tr>
                            <th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.appCode") %></th>
                            <td colspan="3">
                                <div class="select-style">
                                    <select name="searchAppCd" id="searchAppCd">
                                    </select>
                                </div>
                            </td>
                            <%-- <th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.ownerId") %></th>
                            <td>
                                <span style="width:80%; display: inline-block;">
                                    <input type="text" name="searchUserId" id="searchUserId" value="<%=userId %>" style="width:100%">
                                </span>
                                    <img id="btn_user_list" src="<c:url value="/img/btn_pop_search.png"/>" level="R" status="DETAIL,NEW"/>
                            </td> --%>
                        </tr>
                        <%-- <tr>
                            <th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.status") %></th>
                            <td>
                                <input type="checkbox" name="status" id="statusT" value="T"> <label for="statusT"><%= localeMessage.getString("common.status.temp") %></label>
                                <!-- <input type="checkbox" name="status" id="statusD"> <label for="statusD">작성중</label> -->
                                <input type="checkbox" name="status" id="statusW" value="W"> <label for="statusW"><%= localeMessage.getString("common.status.complete") %></label>
                                <input type="checkbox" name="status" id="statusR" value="R"> <label for="statusR"><%= localeMessage.getString("common.status.deployed") %></label>
                                <input type="checkbox" name="delFlag" id="delFlag" value="Y"> <label for="statusR"><%= localeMessage.getString("common.status.removed") %></label>
                            </td>
                            <th></th><td></td>
                        </tr> --%>
                    </table>    
                
                    <!-- grid -->
                    <table id="grid" ></table>
                    <div id="pager"></div>
    
                </form>
                <%-- <div style="font-size:'6';color:red;font-family:courier;">
                    <p>※ <%= localeMessage.getString("interface.message.descToChangeOwner") %>
                </div> --%>
            </div><!-- end content_middle -->
        </div><!-- end right_box -->
        <!-- Modal -->
        <div class="modal fade" id="uploadModal" tabindex="-1" aria-labelledby="uploadModalLabel" aria-hidden="true">
            <!-- 모달 내용 -->
            <div class="modal-dialog modal-lg">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title"><i class="material-icons" style="vertical-align: sub; font-size: 25px">publish</i> <%=localeMessage.getString("button.import")%></h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                        <input type="file" class="filepond" name="file" multiple data-allow-reorder="true" data-max-file-size="3MB" data-max-files="10">
                    </div>
                    <div class="modal-footer">
                        <button id="uploadButton" class="btn btn-primary">IMPORT <%=localeMessage.getString("button.execute")%></button>
                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

