PageSourceSearch

https://siscad.cfmv.gov.br/js/menus.js?ver=1.0.2

js cfmv.gov.br collected 2026-09-24 19:19:06 UTC 2,187 bytes, 64 lines download raw bytes

1function getValidPermissionsData() {
2	const validPermissionsJson = $('#valid-permissions-data')?.text()?.trim() || '[]';
3	return JSON.parse(validPermissionsJson);
4}
5
6function getValidPermissionsControllerActionData() {
7	const validatePermissionsData = getValidPermissionsData();
8
9	if(validatePermissionsData.constructor.name !== 'Array') return [];
10
11	return $.unique(validatePermissionsData?.map(permission => {
12		const { controller,action } = permission;
13		
14		return { controller,action }
15	}));
16}
17
18function removeNotAllowedActionByPermission() {
19	const validControllerActionData = getValidPermissionsControllerActionData();
20
21	$('[data-validate-menu-permission]').each(function(){
22		const menuParam = $(this).data('validateMenuPermission');
23		const menuParamIsInvalid = menuParam.length == 0 || !menuParam.includes('/') || menuParam.startsWith('/');
24
25		if(menuParamIsInvalid) return;
26
27		const [ controller, action ] = menuParam.split('/');
28
29		const menuExistsInData = validControllerActionData.some(item => {
30			return item.controller?.toLowerCase() == controller?.toLowerCase() 
31			&& item.action?.toLowerCase()  == action?.toLowerCase() ;
32		});
33
34		if(menuExistsInData) return;
35
36		$(this).remove();
37	});
38}
39
40$(document).ready(function(){
41    /*** Datatable first index menu ***/
42    $(document).on('mouseover', '.btnOpcoes,.ocultos,.ocultos a', function(event) {
43        $('.btnOpcoes').removeClass('bg-verde text-white');
44        $(this).prev().addClass('bg-verde text-white');
45    });
46
47    $(document).on('click', '#acoesDatatable', function(event) {
48        if(window.matchMedia("(min-width: 765px)").matches) {
49            if($(this).find('.ocultos a').length) {
50                $('.ocultos').removeClass('d-grid');
51                if($(this).find('.ocultos').hasClass('d-grid')){
52                    $('.ocultos').removeClass('d-grid');
53                }else{
54                    $(this).find('.ocultos').addClass('d-grid');
55                }
56            } else {
57                toastError({
58                    message: 'Não existem opções de menu disponíveis para esse registro'
59                });
60            }
61        }
62    });
63    /*** Datatable first index menu ***/
64});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.