$(function() {

    BemsWebApplication.LegalCheckGroupManagement.setupMultiViewInPopup = function(viewModel, selectedFacility, multiViewDataSource) {
        "use strict";

        var factory = BemsWebApplication.Factory.LegalCheckGroup,
            dataSource = factory.getDataSourceWithRelation(BemsWebApplication.db.FmsFacilityScheduleCheckGroupToFacility),
            datagrid = null,
            datagridId = 'legalCheckGroupDataGrid';

        var dataGridOptions = utils.datagrid.defaultOptions({
            dxDataSource: dataSource,
            datagridId: datagridId,
            dbId: 'FmsFacilityScheduleCheckGroup',
            height: 480,

            columns: factory.getColumns([
                { dataField: 'BusinessFieldName', width: '20%' },
                { dataField: 'CorporationName', width: '20%' },
                { dataField: 'SeniorUserName', width: '20%' },
                { dataField: 'Name', width: '40%' },
            ]),

            cellPrepared: factory.cellPrepared,
            wordWrapEnabled: true,
        });

        selectedFacility.subscribe(function(item) {
            if (_.has(item, 'SiteId') === false ||
                _.has(item, 'FacilityCode') === false) {
                return;
            }

            var eq = BWA.DataUtil.constructEqualFilter;
            $(['#', datagridId].join('')).dxDataGrid('instance').filter([
                eq('SiteId', item.SiteId()),
                'and',
                eq('FacilityCode', item.FacilityCode()),
                'and',
                eq('FmsFacilityScheduleCheckGroup/WorkTypeId', $Code.WorkType.LEGAL_CHECK)
            ]);

        });

        multiViewDataSource.push({
            viewModel: viewModel,
            dataGridOptions: dataGridOptions,
            template: 'legalCheckGroups'
        });
    };
});