1<!doctype html> 2<html class="ltr site-theme top-frame" dir="ltr" lang="fi-FI"> 3 <head> 4<meta name = "monitoring-token" content = "ok"> 5 6 <link rel="alternate" hreflang="en" href="https://oikeuskansleri.fi/en/frontpage"> 7 <link rel="alternate" hreflang="sv" href="https://oikeuskansleri.fi/sv/startsida"> 8 <link rel="alternate" hreflang="fi" href="https://oikeuskansleri.fi/etusivu"> 9 <title>Etusivu | Valtioneuvoston oikeuskansleri</title> 10 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 11 <meta content="initial-scale=1.0, width=device-width" name="viewport"> 12 <meta content="text/html; charset=UTF-8" http-equiv="content-type"> 13
13<script data-senna-track="permanent" src="/o/frontend-js-svg4everybody-web/index.js" type="text/javascript"></script>
13 14 <link href="/documents/1428954/98405604/okv-favicon.png/c540ae92-672f-86e1-857f-c17ba997ed49?t=1646401323700&imagePreview=1" rel="shortcut icon"> 15 <link data-senna-track="permanent" href="/o/frontend-theme-font-awesome-web/css/main.css" rel="stylesheet" type="text/css"> 16
16<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/jquery.min.js" type="text/javascript"></script>
16 17
17<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/init.js" type="text/javascript"></script>
17 18
18<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/ajax.js" type="text/javascript"></script>
18 19
19<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/bootstrap.bundle.min.js" type="text/javascript"></script>
19 20
20<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/collapsible_search.js" type="text/javascript"></script>
20 21
21<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/fm.js" type="text/javascript"></script>
21 22
22<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/form.js" type="text/javascript"></script>
22 23
23<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/popper.min.js" type="text/javascript"></script>
23 24
24<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/side_navigation.js" type="text/javascript"></script>
24 25 <meta property="og:locale" content="fi_FI"> 26 <meta property="og:locale:alternate" content="fi_FI"> 27 <meta property="og:locale:alternate" content="sv_SE"> 28 <meta property="og:locale:alternate" content="en_US"> 29 <meta property="og:locale:alternate" content="se_FI"> 30 <meta property="og:site_name" content="Valtioneuvoston oikeuskansleri"> 31 <meta property="og:title" content="Etusivu - Valtioneuvoston oikeuskansleri"> 32 <meta property="og:type" content="website"> 33 <meta property="og:url" content="https://oikeuskansleri.fi/etusivu"> 34 <meta property="og:image" content="https://oikeuskansleri.fi/documents/1428954/98405604/okv-leijona-card.png/f216eef5-43d2-8008-a9b6-49141e3a4b37?version=1.0&t=1654761017364&imagePreview=1"> 35 <meta property="og:image:secure_url" content="https://oikeuskansleri.fi/documents/1428954/98405604/okv-leijona-card.png/f216eef5-43d2-8008-a9b6-49141e3a4b37?version=1.0&t=1654761017364&imagePreview=1"> 36 <meta property="og:image:type" content="image/png"> 37 <meta property="og:image:url" content="https://oikeuskansleri.fi/documents/1428954/98405604/okv-leijona-card.png/f216eef5-43d2-8008-a9b6-49141e3a4b37?version=1.0&t=1654761017364&imagePreview=1"> 38 <meta property="og:image:height" content="800"> 39 <meta property="og:image:width" content="800"> 40 <link class="lfr-css-file" data-senna-track="temporary" href="https://oikeuskansleri.fi/o/yja-site-template-theme/css/clay.css?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&minifierType=css&languageId=fi_FI&t=1790609464000" id="liferayAUICSS" rel="stylesheet" type="text/css"> 41 <link data-senna-track="temporary" href="/o/frontend-css-web/main.css?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&minifierType=css&languageId=fi_FI&t=1699991559480" id="liferayPortalCSS" rel="stylesheet" type="text/css"> 42 <link data-senna-track="temporary" href="/combo?browserId=chrome&minifierType=&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&languageId=fi_FI&com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z:%2Fcss%2Fmain.css&com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB:%2Fcss%2Fmain.css&com_liferay_product_navigation_product_menu_web_portlet_ProductMenuPortlet:%2Fcss%2Fmain.css&fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet:%2Fcss%2Fmain.css&fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter:%2Fcss%2Ffooter.css&fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb:%2Fcss%2Fheader.css&t=1790609464000" id="7e6f3a27" rel="stylesheet" type="text/css"> 43
43<script data-senna-track="temporary" type="text/javascript"> 44 // <![CDATA[ 45 var Liferay = Liferay || {}; 46 47 Liferay.Browser = { 48 acceptsGzip: function() { 49 return true; 50 }, 51 52 53 54 getMajorVersion: function() { 55 return 153.0; 56 }, 57 58 getRevision: function() { 59 return '537.36'; 60 }, 61 getVersion: function() { 62 return '153.0'; 63 }, 64 65 66 67 isAir: function() { 68 return false; 69 }, 70 isChrome: function() { 71 return true; 72 }, 73 isEdge: function() { 74 return false; 75 }, 76 isFirefox: function() { 77 return false; 78 }, 79 isGecko: function() { 80 return true; 81 }, 82 isIe: function() { 83 return false; 84 }, 85 isIphone: function() { 86 return false; 87 }, 88 isLinux: function() { 89 return true; 90 }, 91 isMac: function() { 92 return false; 93 }, 94 isMobile: function() { 95 return true; 96 }, 97 isMozilla: function() { 98 return false; 99 }, 100 isOpera: function() { 101 return false; 102 }, 103 isRtf: function() { 104 return true; 105 }, 106 isSafari: function() { 107 return true; 108 }, 109 isSun: function() { 110 return false; 111 }, 112 isWebKit: function() { 113 return true; 114 }, 115 isWindows: function() { 116 return false; 117 } 118 }; 119 120 Liferay.Data = Liferay.Data || {}; 121 122 Liferay.Data.ICONS_INLINE_SVG = true; 123 124 Liferay.Data.NAV_SELECTOR = '#navigation'; 125 126 Liferay.Data.NAV_SELECTOR_MOBILE = '#navigationCollapse'; 127 128 Liferay.Data.isCustomizationView = function() { 129 return false; 130 }; 131 132 Liferay.Data.notices = [ 133 134 135 136 ]; 137 138 Liferay.PortletKeys = { 139 DOCUMENT_LIBRARY: 'com_liferay_document_library_web_portlet_DLPortlet', 140 DYNAMIC_DATA_MAPPING: 'com_liferay_dynamic_data_mapping_web_portlet_DDMPortlet', 141 ITEM_SELECTOR: 'com_liferay_item_selector_web_portlet_ItemSelectorPortlet' 142 }; 143 144 Liferay.PropsValues = { 145 JAVASCRIPT_SINGLE_PAGE_APPLICATION_TIMEOUT: 0, 146 NTLM_AUTH_ENABLED: false, 147 UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE: 3048576000 148 }; 149 150 Liferay.ThemeDisplay = { 151 152 153 154 155 getLayoutId: function() { 156 return '2'; 157 }, 158 159 160 161 getLayoutRelativeControlPanelURL: function() { 162 return '/group/oikeuskansleri/~/control_panel/manage'; 163 }, 164 165 getLayoutRelativeURL: function() { 166 return '/etusivu'; 167 }, 168 getLayoutURL: function() { 169 return 'https://oikeuskansleri.fi/etusivu'; 170 }, 171 getParentLayoutId: function() { 172 return '1'; 173 }, 174 isControlPanel: function() { 175 return false; 176 }, 177 isPrivateLayout: function() { 178 return 'false'; 179 }, 180 isVirtualLayout: function() { 181 return false; 182 }, 183 184 185 getBCP47LanguageId: function() { 186 return 'fi-FI'; 187 }, 188 getCanonicalURL: function() { 189 190 191 192 return 'https\x3a\x2f\x2foikeuskansleri\x2efi\x2fetusivu'; 193 }, 194 getCDNBaseURL: function() { 195 return 'https://oikeuskansleri.fi'; 196 }, 197 getCDNDynamicResourcesHost: function() { 198 return ''; 199 }, 200 getCDNHost: function() { 201 return ''; 202 }, 203 getCompanyGroupId: function() { 204 return '10197'; 205 }, 206 getCompanyId: function() { 207 return '10157'; 208 }, 209 getDefaultLanguageId: function() { 210 return 'fi_FI'; 211 }, 212 getDoAsUserIdEncoded: function() { 213 return ''; 214 }, 215 getLanguageId: function() { 216 return 'fi_FI'; 217 }, 218 getParentGroupId: function() { 219 return '1428954'; 220 }, 221 getPathContext: function() { 222 return ''; 223 }, 224 getPathImage: function() { 225 return '/image'; 226 }, 227 getPathJavaScript: function() { 228 return '/o/frontend-js-web'; 229 }, 230 getPathMain: function() { 231 return '/c'; 232 }, 233 getPathThemeImages: function() { 234 return 'https://oikeuskansleri.fi/o/yja-site-template-theme/images'; 235 }, 236 getPathThemeRoot: function() { 237 return '/o/yja-site-template-theme'; 238 }, 239 getPlid: function() { 240 return '1428976'; 241 }, 242 getPortalURL: function() { 243 return 'https://oikeuskansleri.fi'; 244 }, 245 getRealUserId: function() { 246 return '10161'; 247 }, 248 getScopeGroupId: function() { 249 return '1428954'; 250 }, 251 getScopeGroupIdOrLiveGroupId: function() { 252 return '1428954'; 253 }, 254 getSessionId: function() { 255 return ''; 256 }, 257 getSiteAdminURL: function() { 258 return 'https://oikeuskansleri.fi/group/oikeuskansleri/~/control_panel/manage?p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view'; 259 }, 260 getSiteGroupId: function() { 261 return '1428954'; 262 }, 263 getURLControlPanel: function() { 264 return '/group/control_panel?refererPlid=1428976'; 265 }, 266 getURLHome: function() { 267 return 'https\x3a\x2f\x2foikeuskansleri\x2efi\x2f'; 268 }, 269 getUserEmailAddress: function() { 270 return ''; 271 }, 272 getUserId: function() { 273 return '10161'; 274 }, 275 getUserName: function() { 276 return ''; 277 }, 278 isAddSessionIdToURL: function() { 279 return false;
280 }, 281 isImpersonated: function() { 282 return false; 283 }, 284 isSignedIn: function() { 285 return false; 286 }, 287 288 isStagedPortlet: function() { 289 290 291 return false; 292 293 294 }, 295 296 isStateExclusive: function() { 297 return false; 298 }, 299 isStateMaximized: function() { 300 return false; 301 }, 302 isStatePopUp: function() { 303 return false; 304 } 305 }; 306 307 var themeDisplay = Liferay.ThemeDisplay; 308 309 Liferay.AUI = { 310 311 312 313 getAvailableLangPath: function() { 314 return 'available_languages.jsp?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&colorSchemeId=01&languageId=fi_FI&t=1790892007598'; 315 }, 316 getCombine: function() { 317 return false; 318 }, 319 getComboPath: function() { 320 return '/combo/?browserId=chrome&minifierType=&languageId=fi_FI&t=1790620174728&'; 321 }, 322 getDateFormat: function() { 323 return '%d.%m.%Y'; 324 }, 325 getEditorCKEditorPath: function() { 326 return '/o/frontend-editor-ckeditor-web'; 327 }, 328 getFilter: function() { 329 var filter = 'raw'; 330 331 332 333 334 return filter; 335 }, 336 getFilterConfig: function() { 337 var instance = this; 338 339 var filterConfig = null; 340 341 if (!instance.getCombine()) { 342 filterConfig = { 343 replaceStr: '.js' + instance.getStaticResourceURLParams(), 344 searchExp: '\\.js$' 345 }; 346 } 347 348 return filterConfig; 349 }, 350 getJavaScriptRootPath: function() { 351 return '/o/frontend-js-web'; 352 }, 353 getLangPath: function() { 354 return 'aui_lang.jsp?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&colorSchemeId=01&languageId=fi_FI&t=1790620174728'; 355 }, 356 getPortletRootPath: function() { 357 return '/html/portlet'; 358 }, 359 getStaticResourceURLParams: function() { 360 return '?browserId=chrome&minifierType=&languageId=fi_FI&t=1790620174728'; 361 } 362 }; 363 364 Liferay.authToken = 'ak7xBWnN'; 365 366 367 368 Liferay.currentURL = '\x2fetusivu'; 369 Liferay.currentURLEncoded = '\x252Fetusivu'; 370 // ]]> 371</script>
371 372
372<script src="/o/js_loader_config?t=1790620161859" type="text/javascript"></script>
372 373
373<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/aui/aui.js" type="text/javascript"></script>
373 374
374<script data-senna-track="permanent" src="/o/frontend-js-aui-web/liferay/modules.js" type="text/javascript"></script>
374 375
375<script data-senna-track="permanent" src="/o/frontend-js-aui-web/liferay/aui_sandbox.js" type="text/javascript"></script>
375 376
376<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-base/attribute-base.js" type="text/javascript"></script>
376 377
377<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-complex/attribute-complex.js" type="text/javascript"></script>
377 378
378<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-core/attribute-core.js" type="text/javascript"></script>
378 379
379<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-observable/attribute-observable.js" type="text/javascript"></script>
379 380
380<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-extras/attribute-extras.js" type="text/javascript"></script>
380 381
381<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/event-custom-base/event-custom-base.js" type="text/javascript"></script>
381 382
382<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/event-custom-complex/event-custom-complex.js" type="text/javascript"></script>
382 383
383<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/oop/oop.js" type="text/javascript"></script>
383 384
384<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/aui-base-lang/aui-base-lang.js" type="text/javascript"></script>
384 385
385<script data-senna-track="permanent" src="/o/frontend-js-aui-web/liferay/dependency.js" type="text/javascript"></script>
385 386
386<script data-senna-track="permanent" src="/o/frontend-js-aui-web/liferay/util.js" type="text/javascript"></script>
386 387
387<script data-senna-track="permanent" src="/o/frontend-js-web/loader/config.js" type="text/javascript"></script>
387 388
388<script data-senna-track="permanent" src="/o/frontend-js-web/loader/loader.js" type="text/javascript"></script>
388 389
389<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/dom_task_runner.js" type="text/javascript"></script>
389 390
390<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/events.js" type="text/javascript"></script>
390 391
391<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/lazy_load.js" type="text/javascript"></script>
391 392
392<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/liferay.js" type="text/javascript"></script>
392 393
393<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/global.bundle.js" type="text/javascript"></script>
393 394
394<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/portlet.js" type="text/javascript"></script>
394 395
395<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/workflow.js" type="text/javascript"></script>
395 396
396<script data-senna-track="temporary" src="/o/js_bundle_config?t=1790620178606" type="text/javascript"></script>
396 397
397<script data-senna-track="temporary" type="text/javascript"> 398 // <![CDATA[ 399 400 401 402 403 404 405 406 407 // ]]> 408</script>
408 409 <meta name="google-site-verification" content="zpzzSwJSO218O8UUDz3Z_CpRyvVv_5Bmgjh5Ed471YQ"> 410 <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/T82Z6tLe5uHK/rss" rel="alternate" title="RSS" type="application/rss+xml"> 411 <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/T82Z6tLe5uHK/rss" rel="alternate" title="RSS" type="application/rss+xml"> 412 <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/FzUmd8bupnGJ/rss" rel="alternate" title="RSS" type="application/rss+xml"> 413 <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/FzUmd8bupnGJ/rss" rel="alternate" title="RSS" type="application/rss+xml"> 414 <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/3xWMKnLm126Z/rss" rel="alternate" title="RSS" type="application/rss+xml"> 415 <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/3xWMKnLm126Z/rss" rel="alternate" title="RSS" type="application/rss+xml"> 416 <link class="lfr-css-file" data-senna-track="temporary" href="https://oikeuskansleri.fi/o/yja-site-template-theme/css/main.css?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&minifierType=css&languageId=fi_FI&t=1790609464000" id="liferayThemeCSS" rel="stylesheet" type="text/css"> 417 <style data-senna-track="temporary" type="text/css"> 418 419 420 421 422 423 424 425 426 427 428 429 430 431#p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC_ .portlet-content { 432 433} 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458#p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z_ .portlet-content { 459 460} 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485#p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK_ .portlet-content { 486 487} 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504#p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM_ .portlet-content { 505 506} 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531#p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ_ .portlet-content { 532 533} 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 </style> 549 <style> 550/* Publication Theme Mobile navigation */ 551.yja-publication .yja-mobile-navigation { display: none; } 552/* YJAOM-815 */ 553.top-frame .has-control-menu.controls-visible .portlet-asset-publisher .portlet-topper{ 554 z-index: 3; 555} 556 557/* YJAY-3881 */ 558.chrome .input-group .btn:focus, .chrome .input-group .form-control:focus { 559 z-index: inherit; 560} 561 562/* SD-30779 */ 563*[lang="ar_SA"], *[lang="ar-SA"], *[lang="ar-SA"] *{ direction: rtl !important; } 564 565 566/* YJALR71-2924 */ 567.controls-visible.signed-in .portlet-column-content.empty {min-height: 50px;margin-bottom: 10px;border: 1px dashed #d1d1d1;} 568 569/* YJAVNK-1622 */ 570.has-control-menu .lfr-add-panel.open-admin-panel.sidenav-menu-slider{ 571 width: 500px !important; 572} 573.has-control-menu .lfr-admin-panel.sidenav-menu-slider .product-menu{ 574 width: 500px !important; 575} 576 577</style> 578
578<script> 579 /* YJAY-1778 */ 580 (function () { 581 window.YjaSearcher = window.YjaSearcher || {}; 582 window.YjaSearcher.encodeInput = window.YjaSearcher.encodeInput || function (userInput) { 583 return encodeURIComponent(userInput).trim() 584 .replace(/%2[f|F]/g, '/') 585 .replace(/%5[c|C]/g, '%20') 586 .replace(",", "%2C") 587 .replace("\"", "%22") 588 .replace("!", "%21") 589 .replace("&", "%26") 590 .replace("'", "%27") 591 .replace('(', '%28') 592 .replace(')', '%29'); 593 }; 594 595 window.YjaSearcher.readInput = window.YjaSearcher.readInput || function (input) { 596 input = input || ''; 597 if (('' + input).trim().indexOf('#') < 0) { 598 input = '#' + input; 599 } 600 var keywords = $(input).val(); 601 keywords = window.YjaSearcher.encodeInput(keywords); 602 return keywords; 603 }; 604 605 window.YjaSearcher.submitSearchForm = window.YjaSearcher.submitSearchForm || function (input) { 606 var keywords = window.YjaSearcher.readInput(input); 607 var formSearchUrl = window.YjaSearcher.formSearchUrl; 608 if (formSearchUrl && keywords) { 609 document.location.href = formSearchUrl + "?q=" + keywords; 610 } 611 }; 612 })(); 613</script>
613 614 <style data-senna-track="temporary" type="text/css"> 615</style> 616 <link data-senna-track="permanent" href="https://oikeuskansleri.fi/combo?browserId=chrome&minifierType=css&languageId=fi_FI&t=1790620148232&/o/yja-common-ui-theme-contributor/css/yja-common-ui.css" rel="stylesheet" type="text/css"> 617
617<script data-senna-track="permanent" src="https://oikeuskansleri.fi/o/yja-common-ui-theme-contributor/js/yja-common-ui.js?browserId=chrome&languageId=fi_FI&t=1790620148232" type="text/javascript"></script>
617 618
618<script type="text/javascript"> 619// <![CDATA[ 620Liferay.on( 621 'ddmFieldBlur', function(event) { 622 if (window.Analytics) { 623 Analytics.send( 624 'fieldBlurred', 625 'Form', 626 { 627 fieldName: event.fieldName, 628 focusDuration: event.focusDuration, 629 formId: event.formId, 630 formPageTitle: event.formPageTitle, 631 page: event.page, 632 title: event.title 633 } 634 ); 635 } 636 } 637); 638 639Liferay.on( 640 'ddmFieldFocus', function(event) { 641 if (window.Analytics) { 642 Analytics.send( 643 'fieldFocused', 644 'Form', 645 { 646 fieldName: event.fieldName, 647 formId: event.formId, 648 formPageTitle: event.formPageTitle, 649 page: event.page, 650 title: event.title 651 } 652 ); 653 } 654 } 655); 656 657Liferay.on( 658 'ddmFormPageShow', function(event) { 659 if (window.Analytics) { 660 Analytics.send( 661 'pageViewed', 662 'Form', 663 { 664 formId: event.formId, 665 formPageTitle: event.formPageTitle, 666 page: event.page, 667 title: event.title 668 } 669 ); 670 } 671 } 672); 673 674Liferay.on( 675 'ddmFormSubmit', function(event) { 676 if (window.Analytics) { 677 Analytics.send( 678 'formSubmitted', 679 'Form', 680 { 681 formId: event.formId 682 } 683 ); 684 } 685 } 686); 687 688Liferay.on( 689 'ddmFormView', function(event) { 690 if (window.Analytics) { 691 Analytics.send( 692 'formViewed', 693 'Form', 694 { 695 formId: event.formId, 696 title: event.title 697 } 698 ); 699 } 700 } 701); 702// ]]> 703</script>
703 704
704<script data-senna-track="temporary" type="text/javascript"> 705 if (window.Analytics) { 706 window._com_liferay_document_library_analytics_isViewFileEntry = false; 707 } 708</script>
708 709 <link rel="stylesheet" href="/o/fi.yja.sitetemplatesettings.web/support/1428954/1738975944720.css"> 710 <meta name="twitter:card" content="summary"> 711 <meta name="twitter:title" content="Etusivu | Valtioneuvoston oikeuskansleri"> 712 <meta name="twitter:image" content="https://oikeuskansleri.fi/documents/1428954/98405604/okv-leijona-card.png/f216eef5-43d2-8008-a9b6-49141e3a4b37?t=1654761017364&imagePreview=1"> 713 <link rel="stylesheet" href="/o/common-ui-resources/standalone/a11y/css/main.css?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&minifierType=css&languageId=fi_FI&t=1790609464000 714"> 715 <link rel="stylesheet" href="/o/common-ui-resources/standalone/mobile-navigation/css/main.css?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&minifierType=css&languageId=fi_FI&t=1790609464000 716"> 717 <link rel="stylesheet" href="/o/common-ui-resources/standalone/owl/css/owl.carousel.min.css?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&minifierType=css&languageId=fi_FI&t=1790609464000 718"> 719 </head> 720 <body class="chrome mobile controls-visible yui3-skin-sam signed-out public-page site homepage extranet-user frontpage fi" itemscope itemtype="http://schema.org/WebPage"> 721 <a href="#content-main" id="skip-to-maincontent">Hyppää sisältöön</a> 722
722<script>var YjaSearcher = YjaSearcher || {}; 723YjaSearcher.formSearchUrl = '/haku';</script>
723 724 <div class="bg-image"></div> 725 <div class="page-wrapper"> 726 <header id="banner" role="banner"> 727 <div id="heading"> 728 <div class="portlet-boundary portlet-boundary_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_ portlet-static portlet-static-end portlet-barebone yja-site-template-settings-header-portlet " id="p_p_id_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_"> 729 <span id="p_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb"></span> 730 <section class="portlet" id="portlet_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb"> 731 <a id="aineisto-fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb" name="aineisto-fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb" class="yja-anchor-elements"></a> 732 <div class="portlet-content"> 733 <div class="autofit-float autofit-row portlet-header "> 734 <div class="autofit-col autofit-col-end"> 735 <div class="autofit-section"> 736 </div> 737 </div> 738 </div> 739 <div class=" portlet-content-container"> 740 <div class="portlet-body"> 741 <div class="header-top-bar"> 742 <div class="layout-wrapper-wide-container"> 743 <div class="header-top-bar-links-lang" role="navigation" aria-label="Kielen valinta"> 744 <div class="portlet-boundary portlet-boundary_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet_ portlet-static portlet-static-end portlet-barebone language-version-selection-
744portlet " id="p_p_id_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet_"> 745 <span id="p_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet"></span> 746 <section class="portlet" id="portlet_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet"> 747 <a id="aineisto-fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet" name="aineisto-fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet" class="yja-anchor-elements"></a> 748 <div class="portlet-content"> 749 <div class="autofit-float autofit-row portlet-header "> 750 <div class="autofit-col autofit-col-end"> 751 <div class="autofit-section"> 752 </div> 753 </div> 754 </div> 755 <div class=" portlet-content-container"> 756 <div class="portlet-body"> 757 <ul aria-label="Valitse sivustolla käytettävä kieli" class="fi" id="languageSelectionMenu"> 758 <li class="fi" lang="fi"> <a href="https://oikeuskansleri.fi/etusivu"><span class="sr-only">Valitse kieli</span> Suomi</a> </li> 759 <li class="sv" lang="sv"> <a href="https://oikeuskansleri.fi/sv/startsida"><span class="sr-only">Välj språket</span> Svenska</a> </li> 760 <li class="en" lang="en"> <a href="https://oikeuskansleri.fi/en/frontpage"><span class="sr-only">Select language</span> English</a> </li> 761 </ul> 762 <div class="yja-metacontent" hidden> 763 </div> 764 <div class="yja-metacontent" hidden> 765 </div> 766 <div class="yja-metacontent" hidden> 767 </div> 768 </div> 769 </div> 770 </div> 771 </section> 772 </div> 773 </div> 774 <div class="header-top-bar-links-right"> 775 <div></div> 776 </div> 777 </div> 778 </div> 779 <div class="layout-wrapper-wide-container"> 780 <div class="row header-row"> 781 <div class="col col-md-7 header-top-left-cell"> 782 <a class="logo" href="/fi" aria-label="Palaa Valtioneuvoston oikeuskansleri-sivuston etusivulle "> <img src="/documents/1428954/114322775/okv-logo-fi.png/89df66f0-0b72-aa72-8c26-e342f68e2331?t=1648019994177&imagePreview=1" alt="Valtioneuvoston oikeuskansleri"> </a> 783 </div> 784 <div class="col col-md-5 header-top-right-cell text-right"> 785 <div class="header-top-right-area"> 786 <!-- if showTopBar is true, don't show language selection here but instead in the top bar --> 787 <form class="search-form" action="/haku?q=" onsubmit="YjaSearcher.submitSearchForm('_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_search-keywords'); return false;"> 788 <div class="input-group"> 789 <label class="sr-only" for="_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_search-keywords">Hae sivustolta</label> 790 <input type="search" id="_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_search-keywords" name="keywords" class="search-query form-control" placeholder="Hae sivustolta"> 791 <div class="input-group-append"> 792 <input onclick="YjaSearcher.submitSearchForm('_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_search-keywords'); return false;" class="btn btn-small btn-default search-form_submit" type="submit" value="Hae"> 793 </div> 794 </div> 795 </form> 796 <a href="/haku" class="header-advanced-search-link">Hakusivulle</a> 797 </div> 798 </div> 799 </div> 800 </div> 801 <style data-senna-track="temporary"> 802 :root { 803 804 --yja-menu-overlay-background: #AA272F; 805 806 807 --yja-menu-link-color:#ffffff; 808 809 810 --yja-menu-border-color: #ffffff; 811 812 } 813 </style> 814 </div> 815 </div> 816 </div> 817 </section> 818 </div> 819 </div> 820 <div class="d-block d-md-none mobile-menu-actions visible-phone" data-menu-position="right"> 821 <button class="menu-icon mmenu-toggler" id="mmenu-open-panel" aria-expanded="false" aria-haspopup="true"> <span role="presentation" class="icon-reorder" aria-hidden="true"></span> <span>Valikko</span> </button> 822 </div> 823 <nav class="sort-pages modify-pages main-nav d-none d-md-block a11y-navigation" data-focus-target="ul" aria-label="Päänavigointi"> 824 <ul class="a11y-nav site-theme__navigation" id="a11y-nav-root"> 825 <li class="a11y-nav__item a11y-nav__item selected" id="layout_2"> <a aria-current="page" href="https://oikeuskansleri.fi/etusivu"> <span>Etusivu</span> </a> </li> 826 <li class="a11y-nav__item a11y-nav__item has-children" id="layout_3"> <a href="https://oikeuskansleri.fi/toiminta"> <span>Toiminta</span> </a> <button id="megamenu-3-toggle" data-layout-id="3" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Toiminta</span> <span role="presentation" class="icon icon-plus "></span> </button> 827 <div class="a11y-nav__sub d-none" id="megamenu-3-dropdown" data-layout-id="3" aria-hidden="true"> 828 <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__3" tabindex="-1" aria-label="Toiminta, alisivut"> 829 <li class="a11y-nav__item " id="layout_29"> <a href="https://oikeuskansleri.fi/oikeuskansleri-ja-apulaisoikeuskansleri">Oikeuskansleri ja apulaisoikeuskansleri</a> </li> 830 <li class="a11y-nav__item " id="layout_23"> <a href="https://oikeuskansleri.fi/valtioneuvoston-ja-tasavallan-presidentin-valvonta">Valtioneuvoston ja tasavallan presidentin valvonta</a> </li> 831 <li class="a11y-nav__item " id="layout_24"> <a href="https://oikeuskansleri.fi/viranomaistoiminnan-valvonta">Viranomaistoiminnan valvonta</a> </li> 832 <li class="a11y-nav__item " id="layout_25"> <a href="https://oikeuskansleri.fi/tuomioistuinten-ja-syyttajie
832n-valvonta">Tuomioistuinten ja syyttäjien valvonta</a> </li> 833 <li class="a11y-nav__item " id="layout_26"> <a href="https://oikeuskansleri.fi/asianajajien-valvonta">Asianajajien valvonta</a> </li> 834 <li class="a11y-nav__item " id="layout_38"> <a href="https://oikeuskansleri.fi/vuosikertomukset-ja-tilastot">Vuosikertomukset ja tilastot</a> </li> 835 </ul> 836 </div> </li> 837 <li class="a11y-nav__item a11y-nav__item has-children" id="layout_4"> <a href="https://oikeuskansleri.fi/kantelu"> <span>Kantelu</span> </a> <button id="megamenu-4-toggle" data-layout-id="4" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Kantelu</span> <span role="presentation" class="icon icon-plus "></span> </button> 838 <div class="a11y-nav__sub d-none" id="megamenu-4-dropdown" data-layout-id="4" aria-hidden="true"> 839 <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__4" tabindex="-1" aria-label="Kantelu, alisivut"> 840 <li class="a11y-nav__item " id="layout_62"> <a href="https://oikeuskansleri.fi/haluatko-tehda-kantelun">Haluatko tehdä kantelun?</a> </li> 841 <li class="a11y-nav__item " id="layout_64"> <a href="https://oikeuskansleri.fi/miten-kanteluasia-etenee">Miten kanteluasia etenee?</a> </li> 842 <li class="a11y-nav__item " id="layout_57"> <a href="https://oikeuskansleri.fi/usein-kysytyt-kysymykset">Usein kysytyt kysymykset</a> </li> 843 </ul> 844 </div> </li> 845 <li class="a11y-nav__item a11y-nav__item has-children" id="layout_7"> <a href="https://oikeuskansleri.fi/ratkaisut-ja-lausunnot"> <span>Ratkaisut ja lausunnot</span> </a> <button id="megamenu-7-toggle" data-layout-id="7" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Ratkaisut ja lausunnot</span> <span role="presentation" class="icon icon-plus "></span> </button> 846 <div class="a11y-nav__sub d-none" id="megamenu-7-dropdown" data-layout-id="7" aria-hidden="true"> 847 <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__7" tabindex="-1" aria-label="Ratkaisut ja lausunnot, alisivut"> 848 <li class="a11y-nav__item " id="layout_157"> <a href="https://oikeuskansleri.fi/ratkaisut">Ratkaisut</a> </li> 849 <li class="a11y-nav__item " id="layout_158"> <a href="https://oikeuskansleri.fi/lausunnot">Lausunnot</a> </li> 850 <li class="a11y-nav__item " id="layout_313"> <a href="https://oikeuskansleri.fi/ratkaisu-ja-lausuntohaku">Ratkaisu- ja lausuntohaku</a> </li> 851 </ul> 852 </div> </li> 853 <li class="a11y-nav__item a11y-nav__item has-children" id="layout_5"> <a href="https://oikeuskansleri.fi/ajankohtaista"> <span>Ajankohtaista</span> </a> <button id="megamenu-5-toggle" data-layout-id="5" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Ajankohtaista</span> <span role="presentation" class="icon icon-plus "></span> </button> 854 <div class="a11y-nav__sub d-none" id="megamenu-5-dropdown" data-layout-id="5" aria-hidden="true"> 855 <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__5" tabindex="-1" aria-label="Ajankohtaista, alisivut"> 856 <li class="a11y-nav__item " id="layout_154"> <a href="https://oikeuskansleri.fi/tiedotteet">Tiedotteet</a> </li> 857 <li class="a11y-nav__item " id="layout_155"> <a href="https://oikeuskansleri.fi/puheenvuorot">Puheenvuorot</a> </li> 858 </ul> 859 </div> </li> 860 <li class="a11y-nav__item a11y-nav__item has-children" id="layout_6"> <a href="https://oikeuskansleri.fi/tietoa-virastosta"> <span>Tietoa virastosta</span> </a> <button id="megamenu-6-toggle" data-layout-id="6" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Tietoa virastosta</span> <span role="presentation" class="icon icon-plus "></span> </button> 861 <div class="a11y-nav__sub d-none" id="megamenu-6-dropdown" data-layout-id="6" aria-hidden="true"> 862 <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__6" tabindex="-1" aria-label="Tietoa virastosta, alisivut"> 863 <li class="a11y-nav__item " id="layout_31"> <a href="https://oikeuskansleri.fi/organisaatio">Organisaatio</a> </li> 864 <li class="a11y-nav__item " id="layout_27"> <a href="https://oikeuskansleri.fi/toiminta-ja-talous">
864Toiminta ja talous</a> </li> 865 <li class="a11y-nav__item " id="layout_32"> <a href="https://oikeuskansleri.fi/toissa-virastossa">Töissä virastossa</a> </li> 866 <li class="a11y-nav__item " id="layout_48"> <a href="https://oikeuskansleri.fi/yhteystiedot">Yhteystiedot</a> </li> 867 </ul> 868 </div> </li> 869 <li class="a11y-nav__item a11y-nav__item has-children" id="layout_272"> <a href="https://oikeuskansleri.fi/ilmoittajansuojelu"> <span>Ilmoittajansuojelu</span> </a> <button id="megamenu-272-toggle" data-layout-id="272" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Ilmoittajansuojelu</span> <span role="presentation" class="icon icon-plus "></span> </button> 870 <div class="a11y-nav__sub d-none" id="megamenu-272-dropdown" data-layout-id="272" aria-hidden="true"> 871 <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__272" tabindex="-1" aria-label="Ilmoittajansuojelu, alisivut"> 872 <li class="a11y-nav__item " id="layout_275"> <a href="https://oikeuskansleri.fi/tietoa-ilmoittajansuojelusta">Ilmoittajansuojelu</a> </li> 873 <li class="a11y-nav__item " id="layout_281"> <a href="https://oikeuskansleri.fi/keskitetty-ulkoinen-ilmoituskanava">Oikeuskanslerinviraston keskitetty ulkoinen ilmoituskanava</a> </li> 874 <li class="a11y-nav__item " id="layout_284"> <a href="https://oikeuskansleri.fi/miten-ilmoitus-tehdaan">Miten ilmoitus tehdään?</a> </li> 875 <li class="a11y-nav__item " id="layout_287"> <a href="https://oikeuskansleri.fi/miten-ilmoituksen-kasittely-etenee">Miten ilmoituksen käsittely etenee?</a> </li> 876 <li class="a11y-nav__item " id="layout_290"> <a href="https://oikeuskansleri.fi/tietoa-ja-ohjeita-viranomaisille">Tietoa ja ohjeita viranomaisille</a> </li> 877 <li class="a11y-nav__item " id="layout_323"> <a href="https://oikeuskansleri.fi/vuosiraportointi-euroopan-komissiolle">Ilmoittajansuojeluasioiden vuosiraportointi</a> </li> 878 </ul> 879 </div> </li> 880 </ul> 881 </nav> 882 </header> 883 <section id="content"> 884 <div class="columns-1" id="main-content" role="main"> 885 <div class="portlet-layout row"> 886 <div class="col-md-12 portlet-column portlet-column-only" id="column-1"> 887 <div class="portlet-dropzone portlet-column-content portlet-column-content-only" id="layout-column_column-1"> 888 <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-barebone portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My_"> 889 <span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My"></span> 890 <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My"> 891 <a id="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My" name="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My" class="yja-anchor-elements"></a> 892 <div class="portlet-content"> 893 <div class="autofit-float autofit-row portlet-header "> 894 <div class="autofit-col autofit-col-end"> 895 <div class="autofit-section"> 896 <div class="visible-interaction"> 897 </div> 898 </div> 899 </div> 900 </div> 901 <div class=" portlet-content-container"> 902 <div class="portlet-body"> 903 <div class="" data-fragments-editor-item-id="10109-98405782" data-fragments-editor-item-type="fragments-editor-mapped-item"> 904 <div class="journal-content-article " data-analytics-asset-id="98405780" data-analytics-asset-title="Etusivun hero" data-analytics-asset-type="web-content"> 905 <section class="hero-area" aria-label="Sivun hero"> 906 <div class="image-wrapper"> 907 <picture data-fileentryid="213384857"> 908 <source media="(max-width:128px)" srcset="/o/adaptive-media/image/213384857
908/Thumbnail-128x128/Linna2.jpg?t=1717676105873"> 909 <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/213384857/Preview-1000x0/Linna2.jpg?t=1717676105873"> 910 <img alt="Valtioneuvoston linna" data-fileentryid="213384857" src="/documents/98405783/98405785/Linna2.jpg/7fdbc60f-417e-a3cc-409e-0df6c561072b?t=1717676105873?width=1920"> 911 </picture> 912 </div> 913 <div class="text-wrapper"> 914 <h1 class="title"> Mitä oikeuskansleri tekee? </h1> 915 <p class="desc"> </p> 916 <p>Valtioneuvoston oikeuskansleri toimii ylimpänä laillisuusvalvojana. Oikeuskansleri valvoo valtioneuvoston ja tasavallan presidentin toiminnan lainmukaisuutta. Lisäksi oikeuskansleri valvoo, että viranomaiset noudattavat lakia ja tekevät velvollisuutensa. Kansalaiset voivat tehdä oikeuskanslerille kantelun viranomaisen toiminnasta, jota epäilevät lainvastaiseksi.</p> 917 <p></p> 918 </div> 919 </section> 920 </div> 921 </div> 922 </div> 923 </div> 924 </div> 925 </section> 926 </div> 927 <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-barebone portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB_"> 928 <span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB"></span> 929 <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB"> 930 <a id="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB" name="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB" class="yja-anchor-elements"></a> 931 <div class="portlet-content"> 932 <div class="autofit-float autofit-row portlet-header "> 933 <div class="autofit-col autofit-col-end"> 934 <div class="autofit-section"> 935 <div class="visible-interaction"> 936 </div> 937 </div> 938 </div> 939 </div> 940 <div class=" portlet-content-container"> 941 <div class="portlet-body"> 942 <div class="" data-fragments-editor-item-id="10109-165887905" data-fragments-editor-item-type="fragments-editor-mapped-item"> 943 <div class="journal-content-article " data-analytics-asset-id="165887903" data-analytics-asset-title="Etusivun nostot - vuosikertomukset ja tilastot" data-analytics-asset-type="web-content"> 944 <nav class="link-highlights theme-lightred" aria-label="Nostolinkit"> 945 <ul> 946 <li> <a href="/haluatko-tehda-kantelun" aria-label="Haluatko tehdä kantelun?"> 947 <div class="image-wrapper"> 948 <picture data-fileentryid="106584491"> 949 <source media="(max-width:128px)" srcset="/o/adaptive-media/image/106584491/Thumbnail-128x128/haluatko_tehda_kantelun.png?t=1642660605100"> 950 <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/106584491/Preview-1000x0/haluatko_tehda_kantelun.png?t=1642660605100"> 951 <img alt="" data-fileentryid="106584491" src="/documents/1428954/106583711/haluatko_tehda_kantelun.png/5cbe6756-41cd-a990-b44e-dabbf1776533?t=1642660605100?width=600"> 952 </picture> 953 </div> 954 <div class="text-wrapper"> 955 <h2 class="title"> Haluatko tehdä kantelun? </h2> 956 <p class="desc"> Oikeuskanslerille voi tehdä kantelun, jos epäilee, että viranomainen, virkamies tai muu julkista tehtävää hoitava on toiminut lainvastaisesti tai jättänyt velvollisuutensa täyttämättä. </p> 957 </div> </a> </li> 958 <li> <a href="/ilmoittajansuojelu" aria-label="Ilmoittajansuojelu"> 959 <div class="image-wrapper"> 960 <picture data-fileentryid="143535321"> 961 <source media="(max-width:128px)" srcset="/o/adaptive-media/image/143535321/Thumbnail-128x128/ilmoittajansuojelu.png?t=1671093848854"> 962 <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/143535321/Preview-1000x0/ilmoittajansuojelu.png?t=1671093848854"> 963 <img alt="" data-fileentryid="143535321" src="/documents/1428954/106583711/ilmoittajansuojelu.png/de5727fa-2e4f-5250-b477-0403d9bde5ae?t=1671093848854?width=600"> 964 </picture> 965 </div> 966 <div class="text-wrapper"> 967 <h2 class="title"> Ilmoittajansuojelu </h2> 968 <p class="desc">
968 OikeuskanslerinÂÂvirasto toimii ilmoittajansuojelun keskitettynä ulkoisena ilmoituskanavana. </p> 969 </div> </a> </li> 970 <li> <a href="/vuosikertomukset-ja-tilastot" aria-label="Vuosikertomukset ja tilastot"> 971 <div class="image-wrapper"> 972 <picture data-fileentryid="106584416"> 973 <source media="(max-width:128px)" srcset="/o/adaptive-media/image/106584416/Thumbnail-128x128/vuosikertomukset_ja_tilastot.png?t=1642660604529"> 974 <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/106584416/Preview-1000x0/vuosikertomukset_ja_tilastot.png?t=1642660604529"> 975 <img alt="" data-fileentryid="106584416" src="/documents/1428954/106583711/vuosikertomukset_ja_tilastot.png/776433e1-8290-bf60-0df1-e5b72afdfc08?t=1642660604529?width=600"> 976 </picture> 977 </div> 978 <div class="text-wrapper"> 979 <h2 class="title"> Vuosikertomukset ja tilastot </h2> 980 <p class="desc"> Oikeuskanslerin kertomus 2025 on julkaistu. </p> 981 </div> </a> </li> 982 </ul> 983 </nav> 984 </div> 985 </div> 986 </div> 987 </div> 988 </div> 989 </section> 990 </div> 991 <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-barebone portlet-journal-content content-text-width mt-4 mb-4" id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM_"> 992 <span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM"></span> 993 <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM"> 994 <a id="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM" name="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM" class="yja-anchor-elements"></a> 995 <div class="portlet-content"> 996 <div class="autofit-float autofit-row portlet-header "> 997 <div class="autofit-col autofit-col-end"> 998 <div class="autofit-section"> 999 <div class="visible-interaction"> 1000 </div> 1001 </div> 1002 </div> 1003 </div> 1004 <div class=" portlet-content-container"> 1005 <div class="portlet-body"> 1006 <div class="" data-fragments-editor-item-id="10109-115443931" data-fragments-editor-item-type="fragments-editor-mapped-item"> 1007 <div class="journal-content-article " data-analytics-asset-id="115443929" data-analytics-asset-title="Kantelun tekeminen oikeuskanslerille (video)" data-analytics-asset-type="web-content"> 1008 <p> 1009 <picture data-fileentryid="129152354"> 1010 <source media="(max-width:128px)" srcset="/o/adaptive-media/image/129152354/Thumbnail-128x128/Kantelun-tekeminen-oikeuskanslerille-STILL-009.png?t=1659516178261"> 1011 <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/129152354/Preview-1000x0/Kantelun-tekeminen-oikeuskanslerille-STILL-009.png?t=1659516178261"> 1012 <img alt="" class="" data-fileentryid="129152354" src="/documents/1428954/106234330/Kantelun-tekeminen-oikeuskanslerille-STILL-009.png/df8896de-cd5b-b342-3a91-bee76b0d2462?t=1659516178261"> 1013 </picture></p> 1014 <p><a href="https://www.youtube.com/watch?v=Lx0OMnfSC9U" class="yja-external-link">Katso video kantelun tekemisestä oikeuskanslerille YouTubessa.</a> YouTube käyttää evästeitä, jotka latautuvat linkkiä klikkaamalla. <a href="https://policies.google.com/technologies/cookies?hl=fi%C2%A0" class="yja-external-link">Lue lisää YouTuben evästeistä Googlen tietosuojaselosteesta.</a></p> 1015 <p><a href="/videon-saavutettavuusversiot">Videon saavutettavuusversiot</a></p> 1016 <div class="yja-meta-content-info"> 1017 </div> 1018 </div> 1019 </div> 1020 </div> 1021 </div> 1022 </div> 1023 </section> 1024 </div> 1025 <div class="portlet-boundary portlet-boundary_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_ portlet-static portlet-static-end portlet-barebone portlet-nested-portlets content-width" id="p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC_">
1026 <span id="p_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC"></span> 1027 <section class="portlet" id="portlet_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC"> 1028 <a id="aineisto-com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC" name="aineisto-com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC" class="yja-anchor-elements"></a> 1029 <div class="portlet-content"> 1030 <div class="autofit-float autofit-row portlet-header "> 1031 <div class="autofit-col autofit-col-end"> 1032 <div class="autofit-section"> 1033 </div> 1034 </div> 1035 </div> 1036 <div class=" portlet-content-container"> 1037 <div class="portlet-body"> 1038 <div class="columns-2" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__main-content" role="main"> 1039 <div class="portlet-layout row"> 1040 <div class="col-md-6 portlet-column portlet-column-first" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-1"> 1041 <div class="portlet-dropzone portlet-column-content portlet-column-content-first" id="layout-column__com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-1"> 1042 <div class="portlet-boundary portlet-boundary_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_ portlet-static portlet-static-end portlet-barebone portlet-asset-publisher mt-4 mb-4" id="p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK_"> 1043 <span id="p_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK"></span> 1044 <section class="portlet" id="portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK"> 1045 <a id="aineisto-Uusimmatratkaisut" name="aineisto-Uusimmatratkaisut" class="yja-anchor-elements"></a> 1046 <div class="portlet-content"> 1047 <div class="autofit-float autofit-row portlet-header use-custom-title "> 1048 <div class="autofit-col autofit-col-expand"> 1049 <h2 class="hed-section portlet-title portlet-title-text"> Uusimmat ratkaisut </h2> 1050 </div> 1051 <div class="autofit-col autofit-col-end"> 1052 <div class="autofit-section"> 1053 </div> 1054 </div> 1055 </div> 1056 <div class=" portlet-content-container"> 1057 <div class="portlet-body"> 1058 <div class="mb-4 subscribe-action"> 1059 <span class=""> <a href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/T82Z6tLe5uHK/rss" target="_blank" class=" lfr-icon-item taglib-icon" id="_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK_rjus______com____liferay____nested____portlets____web____portlet____NestedPortletsPortlet____INSTANCE____B1RYR7syXhqC________column__2d__1__0"> <span class="taglib-text ">RSS</span> 1060 <svg class="lexicon-icon lexicon-icon-shortcut" focusable="false" role="img"> 1061 <use href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#shortcut" /> 1062 <span class="sr-only">(avautuu uuteen ikkunaan)</span> 1063 <title>(avautuu uuteen ikkunaan)</title> 1064 </svg></a> </span> 1065 </div> 1066 <div class="feed-item simple"> 1067 <h3 class="feed-item__heading"><a title="Terveyden ja sosiaalisen hyvinvoinnin edistämiseen myönnettävien valtionavustusten myöntämisen kriteerit" href="/-/terveyden-ja-sosiaalisen-hyvinvoinnin-edistamiseen-myonnettavien-valtionavustusten-myontamisen-kriteerit">Terveyden ja sosiaalisen hyvinvoinnin edistämiseen myönnettävien valtionavustusten myöntämisen kriteerit
1067</a></h3> 1068 <div class="meta"> 1069 <div class="yja-category-group d-none"> 1070 </div> 1071 <span class="date">29.9.2026 10.27</span> 1072 </div> 1073 </div> 1074 <div class="feed-item simple"> 1075 <h3 class="feed-item__heading"><a title="Nuorisojärjestöille myönnetyt valtionavustukset" href="/-/nuorisojarjestoille-myonnetyt-valtionavustukset">Nuorisojärjestöille myönnetyt valtionavustukset</a></h3> 1076 <div class="meta"> 1077 <div class="yja-category-group d-none"> 1078 </div> 1079 <span class="date">24.9.2026 10.50</span> 1080 </div> 1081 </div> 1082 <div class="feed-item simple"> 1083 <h3 class="feed-item__heading"><a title="Opetus- ja kulttuuriministeriön menettely valtionavustusten myöntämisessä" href="/-/opetus-ja-kulttuuriministerion-menettely-valtionavustusten-myontamisessa">Opetus- ja kulttuuriministeriön menettely valtionavustusten myöntämisessä</a></h3> 1084 <div class="meta"> 1085 <div class="yja-category-group d-none"> 1086 </div> 1087 <span class="date">22.9.2026 11.00</span> 1088 </div> 1089 </div> 1090 <div class="feed-item simple"> 1091 <h3 class="feed-item__heading"><a title="Lausuntoajan pituus ydinasekiellon kumoamista koskevasta hallituksen esitysluonnoksesta" href="/-/lausuntoajan-pituus-ydinasekiellon-kumoamista-koskevasta-hallituksen-esitysluonnoksesta">Lausuntoajan pituus ydinasekiellon kumoamista koskevasta hallituksen esitysluonnoksesta</a></h3> 1092 <div class="meta"> 1093 <div class="yja-category-group d-none"> 1094 </div> 1095 <span class="date">14.9.2026 9.00</span> 1096 </div> 1097 </div> 1098 <div class="feed-item simple"> 1099 <h3 class="feed-item__heading"><a title="Aluesyyttäjälle syyte virkasalaisuuden rikkomisesta" href="/-/aluesyyttajalle-syyte-virkasalaisuuden-rikkomisesta">Aluesyyttäjälle syyte virkasalaisuuden rikkomisesta</a></h3> 1100 <div class="meta"> 1101 <div class="yja-category-group d-none"> 1102 </div> 1103 <span class="date">7.9.2026 14.40</span> 1104 </div> 1105 </div> 1106 </div> 1107 </div> 1108 </div> 1109 </section> 1110 </div> 1111 </div> 1112 </div> 1113 <div class="col-md-6 portlet-column portlet-column-last" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-2"> 1114 <div class="portlet-dropzone portlet-column-content portlet-column-content-last" id="layout-column__com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-2"> 1115 <div class="portlet-boundary portlet-boundary_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_ portlet-static portlet-static-end portlet-barebone portlet-asset-publisher mt-4 mb-4" id="p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ_"> 1116 <span id="p_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ"></span> 1117 <section class="portlet" id="portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ"> 1118 <a id="aineisto-Uusimmatlausunnot" name="aineisto-Uusimmatlausunnot" class="yja-anchor-elements"></a> 1119 <div class="portlet-content"> 1120 <div class="autofit-float autofit-row portlet-header use-custom-title "> 1121 <div class="autofit-col autofit-col-expand"> 1122 <h2 class="hed-section portlet-title portlet-title-text">
1122 Uusimmat lausunnot </h2> 1123 </div> 1124 <div class="autofit-col autofit-col-end"> 1125 <div class="autofit-section"> 1126 </div> 1127 </div> 1128 </div> 1129 <div class=" portlet-content-container"> 1130 <div class="portlet-body"> 1131 <div class="mb-4 subscribe-action"> 1132 <span class=""> <a href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/FzUmd8bupnGJ/rss" target="_blank" class=" lfr-icon-item taglib-icon" id="_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ_ctvk______com____liferay____nested____portlets____web____portlet____NestedPortletsPortlet____INSTANCE____B1RYR7syXhqC________column__2d__2__0"> <span class="taglib-text ">RSS</span> 1133 <svg class="lexicon-icon lexicon-icon-shortcut" focusable="false" role="img"> 1134 <use href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#shortcut" /> 1135 <span class="sr-only">(avautuu uuteen ikkunaan)</span> 1136 <title>(avautuu uuteen ikkunaan)</title> 1137 </svg></a> </span> 1138 </div> 1139 <div class="feed-item simple"> 1140 <h3 class="feed-item__heading"><a title="Ulkomaalaislain muuttaminen (säilöönoton perusteet, pakenemisen vaara ja muutoksenhaku)" href="/-/ulkomaalaislain-muuttaminen-sailoonoton-perusteet-pakenemisen-vaara-ja-muutoksenhaku-">Ulkomaalaislain muuttaminen (säilöönoton perusteet, pakenemisen vaara ja muutoksenhaku)</a></h3> 1141 <div class="meta"> 1142 <div class="yja-category-group d-none"> 1143 </div> 1144 <span class="date">1.10.2026 12.30</span> 1145 </div> 1146 </div> 1147 <div class="feed-item simple"> 1148 <h3 class="feed-item__heading"><a title="Henkilötietojen käsittely pelastustoimessa" href="/-/henkilotietojen-kasittely-pelastustoimessa">Henkilötietojen käsittely pelastustoimessa</a></h3> 1149 <div class="meta"> 1150 <div class="yja-category-group d-none"> 1151 </div> 1152 <span class="date">28.9.2026 10.59</span> 1153 </div> 1154 </div> 1155 <div class="feed-item simple"> 1156 <h3 class="feed-item__heading"><a title="Tullin rikostiedustelun täydentävä esitys" href="/-/tullin-rikostiedustelun-taydentava-esitys">Tullin rikostiedustelun täydentävä esitys</a></h3> 1157 <div class="meta"> 1158 <div class="yja-category-group d-none"> 1159 </div> 1160 <span class="date">25.9.2026 15.08</span> 1161 </div> 1162 </div> 1163 <div class="feed-item simple"> 1164 <h3 class="feed-item__heading"><a title="Laki datakeskusrekisteristä" href="/-/laki-datakeskusrekisterista">Laki datakeskusrekisteristä</a></h3> 1165 <div class="meta"> 1166 <div class="yja-category-group d-none"> 1167 </div> 1168 <span class="date">25.9.2026 9.56</span> 1169 </div> 1170 </div> 1171 <div class="feed-item simple"> 1172 <h3 class="feed-item__heading"><a title="Rikoslain 2 a luvun 2 §:n muuttaminen (päiväsakon vähimmäisrahamäärän korotus)" href="/-/rikoslain-2-a-luvun-2-n-muuttaminen-paivasakon-vahimmaisrahamaaran-korotus-">Rikoslain 2 a luvun 2 §:n muuttaminen (päiväsakon vähimmäisrahamäärän korotus)</a></h3> 1173 <div class="meta"> 1174 <div class="yja-category-group d-none"> 1175 </div>
1176 <span class="date">21.9.2026 15.30</span> 1177 </div> 1178 </div> 1179 </div> 1180 </div> 1181 </div> 1182 </section> 1183 </div> 1184 </div> 1185 </div> 1186 </div> 1187 </div> 1188 </div> 1189 </div> 1190 </div> 1191 </section> 1192 </div> 1193 <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-barebone portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK_"> 1194 <span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK"></span> 1195 <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK"> 1196 <a id="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK" name="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK" class="yja-anchor-elements"></a> 1197 <div class="portlet-content"> 1198 <div class="autofit-float autofit-row portlet-header "> 1199 <div class="autofit-col autofit-col-end"> 1200 <div class="autofit-section"> 1201 <div class="visible-interaction"> 1202 </div> 1203 </div> 1204 </div> 1205 </div> 1206 <div class=" portlet-content-container"> 1207 <div class="portlet-body"> 1208 <div class="" data-fragments-editor-item-id="10109-101279118" data-fragments-editor-item-type="fragments-editor-mapped-item"> 1209 <div class="journal-content-article " data-analytics-asset-id="101279116" data-analytics-asset-title="Etusivun teemanosto" data-analytics-asset-type="web-content"> 1210 <section class="theme-highlight theme-lightred" aria-label="Teemanosto"> 1211 <div class="content-wrapper"> 1212 <div class="image-wrapper"> 1213 <picture data-fileentryid="106584626"> 1214 <source media="(max-width:128px)" srcset="/o/adaptive-media/image/106584626/Thumbnail-128x128/tehtavanjakouudistus.png?t=1642660606119"> 1215 <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/106584626/Preview-1000x0/tehtavanjakouudistus.png?t=1642660606119"> 1216 <img alt="" data-fileentryid="106584626" src="/documents/1428954/106583711/tehtavanjakouudistus.png/356d801b-7802-20c8-0639-9cbcdd85100c?t=1642660606119?width=600"> 1217 </picture> 1218 </div> 1219 <div class="text-wrapper"> 1220 <h2 class="title"> Oikeuskansleri ja oikeusasiamies </h2> 1221 <div class="content"> 1222 <p>Suomessa on kaksi ylintä, riippumatonta laillisuusvalvojaa: valtioneuvoston oikeuskansleri ja eduskunnan oikeusasiamies. Pääosin samanlaisista toimivaltuuksista huolimatta laillisuusvalvojien tehtävissä on eroja.</p> 1223 </div> 1224 <a href="/oikeuskansleri-ja-oikeusasiamies"> Lue oikeuskanslerin ja oikeusasiamiehen tehtävien eroista </a> 1225 </div> 1226 </div> 1227 </section> 1228 </div> 1229 </div> 1230 </div> 1231 </div> 1232 </div> 1233 </section> 1234 </div> 1235 <div class="portlet-boundary portlet-boundary_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_ portlet-static portlet-static-end portlet-barebone portlet-nested-portlets " id="p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI_"> 1236 <span id="p_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI"></span> 1237 <section class="portlet" id="portlet_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI"> 1238 <a id="aineisto-com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI" name="aineisto-com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI" class="yja-anchor-elements"></a> 1239 <div class="portlet-content"> 1240 <div class="autofit-float autofit-row portlet-header "> 1241 <div class="autofit-col autofit-col-end"> 1242 <div class="autofit-section"> 1243 </div> 1244 </div> 1245 </div> 1246 <div class=" portlet-content-container"> 1247 <div class="portlet-body"> 1248 <div class="columns-2" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__main-content" role="main"> 1249 <div class="portlet-layout row"> 1250 <div class="col-md-6 portlet-column portlet-column-first" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-1"> 1251 <div class="portlet-dropzone portlet-column-content portlet-column-content-first" id="layout-column__com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-1"> 1252 <div class="portlet-boundary portlet-boundary_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_ portlet-static portlet-static-end portlet-barebone portlet-asset-publisher mt-4" id="p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z_">
1253 <span id="p_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z"></span> 1254 <section class="portlet" id="portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z"> 1255 <a id="aineisto-Uusimmattiedotteetjapuheenvuorot" name="aineisto-Uusimmattiedotteetjapuheenvuorot" class="yja-anchor-elements"></a> 1256 <div class="portlet-content"> 1257 <div class="autofit-float autofit-row portlet-header use-custom-title "> 1258 <div class="autofit-col autofit-col-expand"> 1259 <h2 class="hed-section portlet-title portlet-title-text"> Uusimmat tiedotteet ja puheenvuorot </h2> 1260 </div> 1261 <div class="autofit-col autofit-col-end"> 1262 <div class="autofit-section"> 1263 </div> 1264 </div> 1265 </div> 1266 <div class=" portlet-content-container"> 1267 <div class="portlet-body"> 1268 <div class="mb-4 subscribe-action"> 1269 <span class=""> <a href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/3xWMKnLm126Z/rss" target="_blank" class=" lfr-icon-item taglib-icon" id="_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z_suxb______com____liferay____nested____portlets____web____portlet____NestedPortletsPortlet____INSTANCE____BcWuXC4kWBxI________column__2d__1__0"> <span class="taglib-text ">RSS</span> 1270 <svg class="lexicon-icon lexicon-icon-shortcut" focusable="false" role="img"> 1271 <use href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#shortcut" /> 1272 <span class="sr-only">(avautuu uuteen ikkunaan)</span> 1273 <title>(avautuu uuteen ikkunaan)</title> 1274 </svg></a> </span> 1275 </div> 1276 <div class="feed-item simple"> 1277 <h3 class="feed-item__heading"><a title="Oikeuskansleri Janne Salminen: STEA-avustusten ehdoista tuli virheellinen kuva avustusten myöntämisestä" href="/-/oikeuskansleri-janne-salminen-stea-avustusten-ehdoista-tuli-virheellinen-kuva-avustusten-myontamisesta">Oikeuskansleri Janne Salminen: STEA-avustusten ehdoista tuli virheellinen kuva avustusten myöntämisestä</a></h3> 1278 <div class="meta"> 1279 <div class="yja-category-group d-none"> 1280 </div> 1281 <span class="date">29.9.2026 10.30</span> 1282 </div> 1283 </div> 1284 <div class="feed-item simple"> 1285 <h3 class="feed-item__heading"><a title="Oikeuskansleri Janne Salminen: Päätökset on perusteltava hallintolain mukaisesti" href="/-/oikeuskansleri-janne-salminen-paatokset-on-perusteltava-hallintolain-mukaisesti">Oikeuskansleri Janne Salminen: Päätökset on perusteltava hallintolain mukaisesti</a></h3> 1286 <div class="meta"> 1287 <div class="yja-category-group d-none"> 1288 </div> 1289 <span class="date">24.9.2026 10.54</span> 1290 </div> 1291 </div> 1292 <div class="feed-item simple"> 1293 <h3 class="feed-item__heading"><a title="Petri Martikainen on aloittanut työnsä apulaisoikeuskanslerina" href="/-/petri-martikainen-on-aloittanut-tyonsa-apulaisoikeuskanslerina">Petri Martikainen on aloittanut työnsä apulaisoikeuskanslerina</a></h3> 1294 <div class="meta"> 1295 <div class="yja-category-group d-none"> 1296 </div> 1297 <span class="date">1.7.2026 12.14</span> 1298 </div> 1299 </div> 1300 <div class="feed-item simple"> 1301 <h3 class="feed-item__heading"><a title="Tilastot vuodelta 2025 julkaistu" href="/-/tilastot-vuodelta-2025-julkaistu">Tilastot vuodelta 2025 julkaistu</a></h3> 1302 <div class="meta"> 1303 <div class="yja-category-group d-none"> 1304 </div>
1305 <span class="date">10.2.2026 8.00</span> 1306 </div> 1307 </div> 1308 <div class="feed-item simple"> 1309 <h3 class="feed-item__heading"><a title="Oikeuskansleri Janne Salminen: Oikeusministeri ei toiminut lainvastaisesti mutta hänen haastattelulausuntonsa saattoivat antaa kansalaisaloitteen merkityksestä väärän kuvan" href="/-/oikeuskansleri-janne-salminen-oikeusministeri-ei-toiminut-lainvastaisesti-mutta-hanen-haastattelulausuntonsa-saattoivat-antaa-kansalaisaloitteen-merkityksesta-vaaran-kuvan">Oikeuskansleri Janne Salminen: Oikeusministeri ei toiminut lainvastaisesti mutta hänen haastattelulausuntonsa saattoivat antaa kansalaisaloitteen merkityksestä väärän kuvan</a></h3> 1310 <div class="meta"> 1311 <div class="yja-category-group d-none"> 1312 <span class="yja-tag">OKV</span> 1313 </div> 1314 <span class="date">28.10.2025 11.50</span> 1315 </div> 1316 </div> 1317 </div> 1318 </div> 1319 </div> 1320 </section> 1321 </div> 1322 </div> 1323 </div> 1324 <div class="col-md-6 portlet-column portlet-column-last" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-2"> 1325 <div class="empty portlet-dropzone portlet-column-content portlet-column-content-last" id="layout-column__com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-2"></div> 1326 </div> 1327 </div> 1328 </div> 1329 </div> 1330 </div> 1331 </div> 1332 </section> 1333 </div> 1334 </div> 1335 </div> 1336 </div> 1337 </div> 1338 <form action="#" aria-hidden="true" class="hide" id="hrefFm" method="post" name="hrefFm"> 1339 <span></span> 1340 <button hidden type="submit">Piilotettu</button> 1341 </form> 1342 </section> 1343 </div> 1344 <footer id="footer"> 1345 <div class="portlet-boundary portlet-boundary_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_ portlet-static portlet-static-end portlet-barebone yja-site-template-settings-footer-portlet " id="p_p_id_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter_"> 1346 <span id="p_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter"></span> 1347 <section class="portlet" id="portlet_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter"> 1348 <a id="aineisto-fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter" name="aineisto-fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter" class="yja-anchor-elements"></a> 1349 <div class="portlet-content"> 1350 <div class="autofit-float autofit-row portlet-header "> 1351 <div class="autofit-col autofit-col-end"> 1352 <div class="autofit-section"> 1353 </div> 1354 </div> 1355 </div> 1356 <div class=" portlet-content-container"> 1357 <div class="portlet-body"> 1358 <div class="container footer-main-content"> 1359 <div class="row"> 1360 <div class="col col-md-4"> 1361 <div> 1362 <h2>Oikeuskanslerinvirasto</h2> 1363 <p><strong>Postiosoite</strong><br> PL 20, 00023 Valtioneuvosto</p> 1364 <p><strong>Puhelin</strong><br> 0295 162 902 (kirjaamo, arkisin klo 9-15)</p> 1365 <p><strong>Sähköposti</strong><br> kirjaamo.okv(at)gov.fi</p> 1366 <div class="yja-meta-content-info"> 1367 </div> 1368 </div> 1369 </div> 1370 <div class="col col-md-4"> 1371 <div> 1372 <ul> 1373 <li><a href="/henkilotietojen-kasittely">Henkilötietojen käsittely</a></li> 1374 <li><a href="/asiakirjajulkisuuskuvaus">Asiakirjajulkisuuskuvaus</a></li> 1375 <li><a href="/evasteet">Evästeet</a></li> 1376 <li><a href="/saavutettavuusseloste">Saavutettavuusseloste</a></li> 1377 </ul> 1378 <p>X: <a href="https://twitter.com/oikeuskansleri" target="_blank" class="yja-external-link">@oikeuskansleri</a></p> 1379 <p>Linkedin: <a href="https://www.linkedin.com/company/oikeuskanslerinvirasto" rel="noopener noreferrer" target="_blank" class="yja-external-link">oikeuskanslerinvirasto</a></p> 1380 <div class="yja-meta-content-info"> 1381 </div> 1382 </div> 1383 </div> 1384 <div class="col col-md-4"> 1385 <div> 1386 <div class="yja-meta-content-info"> 1387 </div> 1388 </div> 1389 </div> 1390 </div> 1391 </div> 1392 </div> 1393 </div> 1394 </div> 1395 </section> 1396 </div> 1397 </footer> 1398 <nav class="sort-pages modify-pages yja-mobile-navigation" id="mmenu" aria-label="Päänavigointi mobiil
1398ilaitteille" data-menu-position="right"> 1399 <div class="yja-mobile-navigation__content"> 1400 <div class="yja-mobile-navigation__toolbar"> 1401 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--close" id="yjaMenuButtonClose"> <span class="sr-only">Sulje valikko</span> 1402 <svg class="lexicon-icon lexicon-icon-times" role="presentation" viewbox="0 0 512 512"> 1403 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#times" /> 1404 </svg> </button> 1405 </div> 1406 <div class="yja-mobile-navigation__tree"> 1407 <ul class="nav mm-listview" id="mainMenubar"> 1408 <li aria-current="page" class="mm-listitem mm-listitem_selected yja-mobile-navigation--open level-1" id="mobile-layout_2"> 1409 <div class="nav-item__container"> 1410 <a href="https://oikeuskansleri.fi/etusivu" class="mm-listitem__text"> <span>Etusivu</span> </a> 1411 </div> </li> 1412 <li class="mm-listitem level-1" id="mobile-layout_3"> 1413 <div class="nav-item__container"> 1414 <a href="https://oikeuskansleri.fi/toiminta" class="mm-listitem__text has-btn"> <span>Toiminta</span> </a> 1415 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Toiminta -osion alavalikko</span> 1416 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1417 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1418 </svg> </button> 1419 </div> 1420 <ul class="child-menu mm-listview " id="child_menu_3" aria-label="Toiminta -osion alavalikko"> 1421 <li class="mm-listitem level-2" id="mobile-layout_29"> 1422 <div class="nav-item__container"> 1423 <a href="https://oikeuskansleri.fi/oikeuskansleri-ja-apulaisoikeuskansleri" class="mm-listitem__text has-btn">Oikeuskansleri ja apulaisoikeuskansleri</a> 1424 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_29_0"> <span class="sr-only">Oikeuskansleri ja apulaisoikeuskansleri -osion alavalikko</span> 1425 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1426 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1427 </svg> </button> 1428 </div> 1429 <ul class="child-menu mm-listview " id="child_menu_29" aria-label="Oikeuskansleri ja apulaisoikeuskansleri -osion alavalikko"> 1430 <li class="mm-listitem level-3" id="mobile-layout_33"> 1431 <div class="nav-item__container"> 1432 <a href="https://oikeuskansleri.fi/oikeuskansleri" class="mm-listitem__text">Oikeuskansleri Janne Salminen</a> 1433 </div> </li> 1434 <li class="mm-listitem level-3" id="mobile-layout_34"> 1435 <div class="nav-item__container"> 1436 <a href="https://oikeuskansleri.fi/apulaisoikeuskansleri" class="mm-listitem__text">Apulaisoikeuskansleri Petri Martikainen</a> 1437 </div> </li> 1438 <li class="mm-listitem level-3" id="mobile-layout_36"> 1439 <div class="nav-item__container"> 1440 <a href="https://oikeuskansleri.fi/oikeuskansleri-ja-oikeusasiamies" class="mm-listitem__text">Valtioneuvoston oikeuskansleri ja eduskunnan oikeusasiamies</a> 1441 </div> </li> 1442 <li class="mm-listitem level-3" id="mobile-layout_46"> 1443 <div class="nav-item__container"> 1444 <a href="https://oikeuskansleri.fi/historia" class="mm-listitem__text">Historia</a> 1445 </div> </li> 1446 </ul> </li> 1447 <li class="mm-listitem level-2" id="mobile-layout_23"> 1448 <div class="nav-item__container"> 1449 <a href="https://oikeuskansleri.fi/valtioneuvoston-ja-tasavallan-presidentin-valvonta" class="mm-listitem__text has-btn">Valtioneuvoston ja tasavallan presidentin valvonta</a> 1450 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_23_1"> <span class="sr-only">Valtioneuvoston ja tasavallan presidentin valvonta -osion alavalikko</span> 1451 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1452 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1453 </svg> </button> 1454 </div> 1455 <ul class="child-menu mm-listview " id="child_menu_23" aria-label="Valtioneuvoston ja tasavallan presidentin valvonta -osion alavalikko"> 1456 <li class="mm-listitem level-3" id="mobile-layout_40"> 1457 <div class="nav-item__container"> 1458 <a href="https://oikeuskansleri.fi/esittelylistojen-tarkastus" class="mm-listitem__text">Esittelylistojen tarkastus</a> 1459 </div> </li> 1460 <li class="mm-listitem level-3" id="mobile-layout_41"> 1461 <div class="nav-item__container"> 1462 <a href="https://oikeuskansleri.fi/lainvalmistelun-valvonta" class="mm-listitem__text">Lainvalmistelun valvonta</a> 1463 </div> </li> 1464 <li class="mm-listitem level-3" id="mobile-layout_42"> 1465 <div class="nav-item__container"> 1466 <a href="https://oikeuskansleri.fi/virkanimitysten-valvonta" class="mm-listitem__text">Virkanimitysten valvonta</a> 1467 </div> </li> 1468 <li class="mm-listitem level-3" id="mobile-layout_311"> 1469 <div class="nav-item__container"> 1470 <a href="https://oikeuskansleri.fi/toimitusministeristo" class="mm-listitem__text">Toimitusministeristö</a> 1471 </div> </li> 1472 </ul> </li> 1473 <li class="mm-listitem level-2" id="mobile-layout_24"> 1474 <div class="nav-item__container"> 1475 <a href="https://oikeuskansleri.fi/viranomaistoiminnan-valvonta" class="mm-listitem__text has-btn">Viranomaistoiminnan valvonta</a> 1476 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_24_2"> <span class="sr-only">Viranomaistoiminnan valvonta -osion alavalikko</span> 1477 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1478 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1479 </svg> </button> 1480 </div> 1481 <ul class="child-menu mm-listview " id="child_menu_24" aria-label="Viranomaistoiminnan valvonta -osion alavalikko"> 1482 <li class="mm-listitem level-3" id="mobile-layout_243"> 1483 <div class="nav-item__container"> 1484 <a href="https://oikeuskansleri.fi/erityistehtavat" class="mm-listitem__text">Erityistehtävät</a> 1485 </div> </li> 1486 </ul> </li> 1487 <li class="mm-listitem level-2" id="mobile-layout_25"> 1488 <div class="nav-item__container"> 1489 <a href="https://oikeuskansleri.fi/tuomioistuinten-ja-syyttajie
1489n-valvonta" class="mm-listitem__text has-btn">Tuomioistuinten ja syyttäjien valvonta</a> 1490 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_25_3"> <span class="sr-only">Tuomioistuinten ja syyttäjien valvonta -osion alavalikko</span> 1491 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1492 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1493 </svg> </button> 1494 </div> 1495 <ul class="child-menu mm-listview " id="child_menu_25" aria-label="Tuomioistuinten ja syyttäjien valvonta -osion alavalikko"> 1496 <li class="mm-listitem level-3" id="mobile-layout_247"> 1497 <div class="nav-item__container"> 1498 <a href="https://oikeuskansleri.fi/tuomareiden-nimittaminen" class="mm-listitem__text">Tuomareiden nimittäminen</a> 1499 </div> </li> 1500 <li class="mm-listitem level-3" id="mobile-layout_250"> 1501 <div class="nav-item__container"> 1502 <a href="https://oikeuskansleri.fi/oikeusviranomaisten-tekemien-ilmoitusten-kasittely" class="mm-listitem__text">Oikeusviranomaisten tekemien ilmoitusten käsittely</a> 1503 </div> </li> 1504 <li class="mm-listitem level-3" id="mobile-layout_39"> 1505 <div class="nav-item__container"> 1506 <a href="https://oikeuskansleri.fi/rangaistustuomioiden-tarkastaminen" class="mm-listitem__text">Rangaistustuomioiden tarkastaminen</a> 1507 </div> </li> 1508 </ul> </li> 1509 <li class="mm-listitem level-2" id="mobile-layout_26"> 1510 <div class="nav-item__container"> 1511 <a href="https://oikeuskansleri.fi/asianajajien-valvonta" class="mm-listitem__text">Asianajajien valvonta</a> 1512 </div> </li> 1513 <li class="mm-listitem level-2" id="mobile-layout_38"> 1514 <div class="nav-item__container"> 1515 <a href="https://oikeuskansleri.fi/vuosikertomukset-ja-tilastot" class="mm-listitem__text">Vuosikertomukset ja tilastot</a> 1516 </div> </li> 1517 </ul> </li> 1518 <li class="mm-listitem level-1" id="mobile-layout_4"> 1519 <div class="nav-item__container"> 1520 <a href="https://oikeuskansleri.fi/kantelu" class="mm-listitem__text has-btn"> <span>Kantelu</span> </a> 1521 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Kantelu -osion alavalikko</span> 1522 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1523 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1524 </svg> </button> 1525 </div> 1526 <ul class="child-menu mm-listview " id="child_menu_4" aria-label="Kantelu -osion alavalikko"> 1527 <li class="mm-listitem level-2" id="mobile-layout_62"> 1528 <div class="nav-item__container"> 1529 <a href="https://oikeuskansleri.fi/haluatko-tehda-kantelun" class="mm-listitem__text has-btn">Haluatko tehdä kantelun?</a> 1530 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_62_0"> <span class="sr-only">Haluatko tehdä kantelun? -osion alavalikko</span> 1531 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1532 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1533 </svg> </button> 1534 </div> 1535 <ul class="child-menu mm-listview " id="child_menu_62" aria-label="Haluatko tehdä kantelun? -osion alavalikko"> 1536 <li class="mm-listitem level-3" id="mobile-layout_63"> 1537 <div class="nav-item__container"> 1538 <a href="https://oikeuskansleri.fi/miten-kantelu-tehdaan" class="mm-listitem__text">Miten kantelu tehdään?</a> 1539 </div> </li> 1540 <li class="mm-listitem level-3" id="mobile-layout_232"> 1541 <div class="nav-item__container"> 1542 <a href="https://oikeuskansleri.fi/kantelulomake" class="mm-listitem__text">Kantelulomake</a> 1543 </div> </li> 1544 </ul> </li> 1545 <li class="mm-listitem level-2" id="mobile-layout_64"> 1546 <div class="nav-item__container"> 1547 <a href="https://oikeuskansleri.fi/miten-kanteluasia-etenee" class="mm-listitem__text">Miten kanteluasia etenee?</a> 1548 </div> </li> 1549 <li class="mm-listitem level-2" id="mobile-layout_57"> 1550 <div class="nav-item__container"> 1551 <a href="https://oikeuskansleri.fi/usein-kysytyt-kysymykset" class="mm-listitem__text">Usein kysytyt kysymykset</a> 1552 </div> </li> 1553 </ul> </li> 1554 <li class="mm-listitem level-1" id="mobile-layout_7"> 1555 <div class="nav-item__container"> 1556 <a href="https://oikeuskansleri.fi/ratkaisut-ja-lausunnot" class="mm-listitem__text has-btn"> <span>Ratkaisut ja lausunnot</span> </a> 1557 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Ratkaisut ja lausunnot -osion alavalikko</span> 1558 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1559 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1560 </svg> </button> 1561 </div> 1562 <ul class="child-menu mm-listview " id="child_menu_7" aria-label="Ratkaisut ja lausunnot -osion alavalikko"> 1563 <li class="mm-listitem level-2" id="mobile-layout_157"> 1564 <div class="nav-item__container"> 1565 <a href="https://oikeuskansleri.fi/ratkaisut" class="mm-listitem__text">Ratkaisut</a> 1566 </div> </li> 1567 <li class="mm-listitem level-2" id="mobile-layout_158"> 1568 <div class="nav-item__container"> 1569 <a href="https://oikeuskansleri.fi/lausunnot" class="mm-listitem__text">Lausunnot</a> 1570 </div> </li> 1571 <li class="mm-listitem level-2" id="mobile-layout_313"> 1572 <div class="nav-item__container"> 1573 <a href="https://oikeuskansleri.fi/ratkaisu-ja-lausuntohaku" class="mm-listitem__text">Ratkaisu- ja lausuntohaku</a> 1574 </div> </li> 1575 </ul> </li> 1576 <li class="mm-listitem level-1" id="mobile-layout_5"> 1577 <div class="nav-item__container"> 1578 <a href="https://oikeuskansleri.fi/ajankohtaista" class="mm-listitem__text has-btn"> <span>Ajankohtaista</span> </a> 1579 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Ajankohtaista -osion alavalikko</span> 1580 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1581 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1582 </svg> </button> 1583 </div> 1584 <ul class="child-menu mm-listview " id="child_menu_5" aria-label="Ajankohtaista -osion alavalikko"> 1585 <li class="mm-listitem level-2" id="mobile-layout_154"> 1586 <div class="nav-item__container"> 1587 <a href="https://oikeuskansleri.fi/tiedotteet" class="mm-listitem__text">Tiedotteet</a> 1588 </div> </li> 1589 <li class="mm-listitem level-2" id="mobile-layout_155"> 1590 <div class="nav-item__container"> 1591 <a href="https://oikeuskansleri.fi/puheenvuorot" class="mm-listitem__text">Puheenvuorot</a> 1592 </div> </li> 1593 </ul> </li> 1594 <li class="mm-listitem level-1" id="mobile-layout_6"> 1595 <div class="nav-item__container"> 1596 <a href="https://oikeuskansleri.fi/tietoa-virastosta" class="mm-listitem__text has-btn"> <span>Tietoa virastosta</span> </a> 1597 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Tietoa virastosta -osion alavalikko</span> 1598 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1599 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1600 </svg> </button> 1601 </div> 1602 <ul class="child-menu mm-listview " id="child_menu_6" aria-label="Tietoa virastosta -osion alavalikko"> 1603 <li class="mm-listitem level-2" id="mobile-layout_31"> 1604 <div class="nav-item__container"> 1605 <a href="https://oikeuskansleri.fi/organisaatio" class="mm-listitem__text">Organisaatio</a> 1606 </div> </li> 1607 <li class="mm-listitem level-2" id="mobile-layout_27"> 1608 <div class="nav-item__container"> 1609 <a href="https://oikeuskansleri.fi/toiminta-ja-talous" class="mm-listitem__text has-btn">
1609Toiminta ja talous</a> 1610 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_27_1"> <span class="sr-only">Toiminta ja talous -osion alavalikko</span> 1611 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1612 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1613 </svg> </button> 1614 </div> 1615 <ul class="child-menu mm-listview " id="child_menu_27" aria-label="Toiminta ja talous -osion alavalikko"> 1616 <li class="mm-listitem level-3" id="mobile-layout_28"> 1617 <div class="nav-item__container"> 1618 <a href="https://oikeuskansleri.fi/ves-ja-tes-asiakirjat" class="mm-listitem__text">Oikeuskanslerinviraston VES- ja TES-asiakirjat</a> 1619 </div> </li> 1620 <li class="mm-listitem level-3" id="mobile-layout_44"> 1621 <div class="nav-item__container"> 1622 <a href="https://oikeuskansleri.fi/laskutusosoite" class="mm-listitem__text">Laskutusosoite</a> 1623 </div> </li> 1624 </ul> </li> 1625 <li class="mm-listitem level-2" id="mobile-layout_32"> 1626 <div class="nav-item__container"> 1627 <a href="https://oikeuskansleri.fi/toissa-virastossa" class="mm-listitem__text">Töissä virastossa</a> 1628 </div> </li> 1629 <li class="mm-listitem level-2" id="mobile-layout_48"> 1630 <div class="nav-item__container"> 1631 <a href="https://oikeuskansleri.fi/yhteystiedot" class="mm-listitem__text has-btn">Yhteystiedot</a> 1632 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_48_3"> <span class="sr-only">Yhteystiedot -osion alavalikko</span> 1633 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1634 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1635 </svg> </button> 1636 </div> 1637 <ul class="child-menu mm-listview " id="child_menu_48" aria-label="Yhteystiedot -osion alavalikko"> 1638 <li class="mm-listitem level-3" id="mobile-layout_59"> 1639 <div class="nav-item__container"> 1640 <a href="https://oikeuskansleri.fi/palaute" class="mm-listitem__text">Palaute verkkosivustosta ja saavutettavuudesta</a> 1641 </div> </li> 1642 </ul> </li> 1643 </ul> </li> 1644 <li class="mm-listitem level-1" id="mobile-layout_272"> 1645 <div class="nav-item__container"> 1646 <a href="https://oikeuskansleri.fi/ilmoittajansuojelu" class="mm-listitem__text has-btn"> <span>Ilmoittajansuojelu</span> </a> 1647 <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Ilmoittajansuojelu -osion alavalikko</span> 1648 <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 1649 <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 1650 </svg> </button> 1651 </div> 1652 <ul class="child-menu mm-listview " id="child_menu_272" aria-label="Ilmoittajansuojelu -osion alavalikko"> 1653 <li class="mm-listitem level-2" id="mobile-layout_275"> 1654 <div class="nav-item__container"> 1655 <a href="https://oikeuskansleri.fi/tietoa-ilmoittajansuojelusta" class="mm-listitem__text">Ilmoittajansuojelu</a> 1656 </div> </li> 1657 <li class="mm-listitem level-2" id="mobile-layout_281"> 1658 <div class="nav-item__container"> 1659 <a href="https://oikeuskansleri.fi/keskitetty-ulkoinen-ilmoituskanava" class="mm-listitem__text">Oikeuskanslerinviraston keskitetty ulkoinen ilmoituskanava</a> 1660 </div> </li> 1661 <li class="mm-listitem level-2" id="mobile-layout_284"> 1662 <div class="nav-item__container"> 1663 <a href="https://oikeuskansleri.fi/miten-ilmoitus-tehdaan" class="mm-listitem__text">Miten ilmoitus tehdään?</a> 1664 </div> </li> 1665 <li class="mm-listitem level-2" id="mobile-layout_287"> 1666 <div class="nav-item__container"> 1667 <a href="https://oikeuskansleri.fi/miten-ilmoituksen-kasittely-etenee" class="mm-listitem__text">Miten ilmoituksen käsittely etenee?</a> 1668 </div> </li> 1669 <li class="mm-listitem level-2" id="mobile-layout_290"> 1670 <div class="nav-item__container"> 1671 <a href="https://oikeuskansleri.fi/tietoa-ja-ohjeita-viranomaisille" class="mm-listitem__text">Tietoa ja ohjeita viranomaisille</a> 1672 </div> </li> 1673 <li class="mm-listitem level-2" id="mobile-layout_323"> 1674 <div class="nav-item__container"> 1675 <a href="https://oikeuskansleri.fi/vuosiraportointi-euroopan-komissiolle" class="mm-listitem__text">Ilmoittajansuojeluasioiden vuosiraportointi</a> 1676 </div> </li> 1677 </ul> </li> 1678 </ul> 1679 </div> 1680 <button class="yja-mobile-navigation__button sr-only" id="yjaMenuBottomButton">Sulje valikko</button> 1681 </div> 1682 </nav> 1683
1683<script src=" https://oikeuskansleri.fi/o/yja-site-template-theme/js/flickity.pkgd.min.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1684"></script>
1684 1685
1685<script src="/o/common-ui-resources/standalone/mobile-navigation/js/main.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1686"></script>
1686 1687
1687<script src=" https://oikeuskansleri.fi/o/yja-site-template-theme/js/lazysizes.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1688"></script>
1688 1689
1689<script src=" https://oikeuskansleri.fi/o/yja-site-template-theme/js/jquery.matchHeight-min.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1690"></script>
1690 1691
1691<script src=" https://oikeuskansleri.fi/o/yja-site-template-theme/js/js.cookie.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1692"></script>
1692 1693
1693<script src=" https://oikeuskansleri.fi/o/yja-site-template-theme/js/a11y-dialog.min.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1694"></script>
1694 1695
1695<script src=" https://oikeuskansleri.fi/o/yja-site-template-theme/js/app.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1696"></script>
1696 1697
1697<script src="/o/common-ui-resources/standalone/owl/js/owl.carousel.min.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1698"></script>
1698 1699
1699<script src="/o/common-ui-resources/standalone/a11y/js/a11y-navigation.js?browserId=chrome&languageId=fi_FI&t=1790609464000 1700"></script>
1700 1701
1701<script> 1702 const mobileNavConfig = { 1703 elementsToHide: '.page-wrapper' 1704 } 1705 yjaMobileNavigation(mobileNavConfig); 1706 1707 /* Check if there exists #content-main element, if not add one */ 1708 var contentMain = document.getElementById("content-main"); 1709 1710 if (contentMain === null) { 1711 var span = document.createElement('span'); 1712 var mainContent = document.getElementById('main-content'); 1713 1714 if (mainContent !== null) { 1715 span.id = 'content-main'; 1716 mainContent.insertBefore(span, mainContent.firstChild) 1717 } 1718 } 1719</script>
1719 1720
1720<script src="https://oikeuskansleri.fi/o/fi.yja.sitetemplatesettings.web/js/header.js?browserId=chrome&languageId=fi_FI&t=1790609462000" type="text/javascript"></script>
1720 1721
1721<script src="https://oikeuskansleri.fi/o/fi.yja.sitetemplatesettings.web/js/footer.js?browserId=chrome&languageId=fi_FI&t=1790609462000" type="text/javascript"></script>
1721 1722
1722<script src="https://oikeuskansleri.fi/o/common-ui-resources/standalone/jquery/js/chosen.jquery.min.js?browserId=chrome&languageId=fi_FI&t=1790534946000" type="text/javascript"></script>
1722 1723
1723<script src="https://oikeuskansleri.fi/o/fi.yja.language.version.tool.web/js/main.js?browserId=chrome&languageId=fi_FI&t=1790534946000" type="text/javascript"></script>
1723 1724
1724<script type="text/javascript"> 1725// <![CDATA[ 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736// ]]> 1737</script>
1737 1738
1738<script type="text/javascript"> 1739 // <![CDATA[ 1740 1741 1742 1743 Liferay.currentURL = '\x2fetusivu'; 1744 Liferay.currentURLEncoded = '\x252Fetusivu'; 1745 1746 // ]]> 1747</script>
1747 1748
1748<script type="text/javascript"> 1749 // <![CDATA[ 1750 1751 // STARTSWITH ADDITION 1752if (!String.prototype.startsWith) { 1753 String.prototype.startsWith = function (searchString, position) { 1754 position = position || 0 1755 return this.substr(position, searchString.length) === searchString 1756 } 1757} 1758 1759// GLOBAL VARIABLES 1760var searchIsOpen = false 1761var naviObjectStorage = {} // object to hold all navigation items 1762var rootLevelBranches = [] // root level navigation items 1763var siteCurrentLang = $("html").attr("lang") 1764 1765var siteLangVars = { 1766 "fi-FI": { 1767 selectLanguage: "Valitse kieli", 1768 openMenu: "Avaa alavalikko", 1769 closeMenu: "Sulje alavalikko", 1770 search: "Haku", 1771 searchUrl: "/haku", 1772 frontPage: "Etusivu", 1773 frontPageUrl: "/etusivu", 1774 }, 1775 "sv-SE": { 1776 selectLanguage: "Välj språk", 1777 openMenu: "Öppna undermenyn", 1778 closeMenu: "Stäng undermenyn", 1779 search: "Sök", 1780 searchUrl: "/sv/sok", 1781 frontPage: "Framsida", 1782 frontPageUrl: "/sv/framsida", 1783 }, 1784 "en-US": { 1785 selectLanguage: "Select language", 1786 openMenu: "Open submenu", 1787 closeMenu: "Close submenu", 1788 search: "Search", 1789 searchUrl: "/en/search", 1790 frontPage: "Front page", 1791 frontPageUrl: "/en/front-page", 1792 }, 1793} 1794 1795if ( 1796 siteCurrentLang != "fi-FI" && 1797 siteCurrentLang != "sv-SE" && 1798 siteCurrentLang != "en-US" 1799) { 1800 siteCurrentLang = "en-US" 1801} 1802 1803/* 1804// NAVIGATION 1805*/ 1806 1807// INIT 1808function initNaviAppend() { 1809 // off canvas mobile menu 1810 var offcanvasmenu = $("nav#menu #mm-1 ul li") 1811 1812 // get the main branches from mobile navi 1813 // here we get the IDs of the visible branches 1814 offcanvasmenu.each(function () { 1815 if (this.childElementCount > 1) { 1816 var thisBranch = $(this).find(".mm-btn").attr("aria-owns") 1817 rootLevelBranches.push(thisBranch) 1818 } else { 1819 rootLevelBranches.push("") 1820 } 1821 }) 1822 1823 // populate the data object 1824 rootLevelBranches.forEach(function (current) { 1825 if (current != "") { 1826 collectBranchData(current, 1) // number tells amount of added navigation levels 1827 } 1828 }) 1829 1830 // render the collected data 1831 addNavigation() 1832 1833 // bind button functionality 1834 navigationEvents() 1835} 1836 1837// POPULATE A BRANCH TO OBJECT 1838function collectBranchData(ID, TTL) { 1839 var timeToLive 1840 if (TTL > 0) { 1841 timeToLive = TTL - 1 1842 } else { 1843 timeToLive = TTL 1844 } 1845 1846 var branch = $("nav#menu #" + ID + " ul li") 1847 if (branch.length > 0) { 1848 var itemObjects = [] 1849 1850 // go through each branch 1851 branch.each(function () { 1852 var branchItemLink 1853 var branchItemText 1854 var branchItemHasChildren 1855 var branchItemChildrenBranch 1856 var branchItemIsSelected = 1857 $(this).hasClass("mm-listitem_selected") || 1858 ($(this).hasClass("parent") && $(this).hasClass("mm-listitem")) 1859 1860 if (this.childElementCount > 0) { 1861 var branchItem = $(this).find(".mm-listitem__text") 1862 1863 // get link and text 1864 branchItemLink = branchItem.attr("href") 1865 branchItemText = branchItem.text() 1866 1867 // if there's children and the permission to dive deeper 1868 if (this.childElementCount > 1 && timeToLive > 0) { 1869 branchItemHasChildren = true 1870 branchItemChildrenBranch = $(this).find(".mm-btn").attr("aria-owns") 1871 1872 // NOTE: recursive function here for multiple levels 1873 collectBranchData(branchItemChildrenBranch, timeToLive) 1874 } else { 1875 branchItemHasChildren = false 1876 branchItemChildrenBranch = "" 1877 } 1878 } 1879 1880 // if other data needs to be pulled, do it here 1881 var branchItemObject = { 1882 text: branchItemText, 1883 url: branchItemLink, 1884 hasChildren: branchItemHasChildren, 1885 childBranch: branchItemChildrenBranch, 1886 isSelected: branchItemIsSelected, 1887 } 1888 1889 itemObjects.push(branchItemObject) 1890 }) 1891 1892 var newBranch = { 1893 items: itemObjects, 1894 } 1895 1896 naviObjectStorage[ID] = newBranch 1897 } 1898} 1899 1900// ADD BRANCHES TO NAVIGATION 1901function addNavigation() { 1902 // site template main navigation 1903 var mainNavigation = $("#banner > nav.main-nav ul li") 1904 1905 // roll through main navigation 1906 mainNavigation.each(function (index) { 1907 $(this).children("a").removeAttr("aria-labelledby") // remove aria-labelledby 1908 1909 if (rootLevelBranches[index] != "") { 1910 if (naviObjectStorage[rootLevelBranches[index]].items.length > 0) { 1911 var branchHtml = ""
1912 branchHtml += 1913 '<button type="button" class="toggleVisibility icon-chevron-down" aria-haspopup="true" aria-expanded="false"><span class="sr-only">' + 1914 siteLangVars[siteCurrentLang].openMenu + 1915 "</span></button>" 1916 branchHtml += renderNaviBranch( 1917 rootLevelBranches[index], 1918 $(this).attr("id") 1919 ) 1920 $(this).addClass("hasChildren") 1921 $(this).append(branchHtml) 1922 } 1923 } 1924 }) 1925} 1926 1927// CREATE A BRANCH FROM STORAGE 1928function renderNaviBranch(ID, parentId) { 1929 var html = "" 1930 var idIndex = 1 1931 var ariaLabelledBy = 1932 parentId !== "" ? 'aria-labelledby="' + parentId + '"' : "" 1933 if (naviObjectStorage[ID].items.length > 0) { 1934 html = '<ul class="a11y-nav" ' + ariaLabelledBy + ">" 1935 naviObjectStorage[ID].items.forEach(function (current) { 1936 if (current.hasChildren == true && current.childBranch != "") { 1937 html += '<li class="a11y-nav__item">' 1938 if (current.isSelected == true) { 1939 html += 1940 '<a id="menuitem-' + 1941 ID + 1942 "-" + 1943 idIndex + 1944 '" href="' + 1945 current.url + 1946 '" class="selected hasChildren" aria-current="page"><span>' + 1947 current.text + 1948 '</span></a><button type="button" class="toggleVisibility icon-chevron-down" aria-haspopup="true" aria-expanded="false"><span class="sr-only">' + 1949 siteLangVars[siteCurrentLang].openMenu + 1950 "</span></button>" 1951 jQuery('#banner > nav.main-nav a[aria-current="page"]').removeAttr( 1952 "aria-current" 1953 ) 1954 } else { 1955 html += 1956 '<a id="menuitem-' + 1957 ID + 1958 "-" + 1959 idIndex + 1960 '" href="' + 1961 current.url + 1962 '" class="hasChildren"><span>' + 1963 current.text + 1964 '</span></a><button type="button" class="toggleVisibility icon-chevron-down" aria-haspopup="true" aria-expanded="false"><span class="sr-only">' + 1965 siteLangVars[siteCurrentLang].openMenu + 1966 "</span></button>" 1967 } 1968 html += renderNaviBranch(current.childBranch, "") 1969 html += "</li>" 1970 } else { 1971 html += '<li class="a11y-nav__item">' 1972 if (current.isSelected == true) { 1973 html += 1974 '<a id="menuitem-' + 1975 ID + 1976 "-" + 1977 idIndex + 1978 '" href="' + 1979 current.url + 1980 '" class="selected" aria-current="page"><span>' + 1981 current.text + 1982 "</span></a>" 1983 jQuery('#banner > nav.main-nav a[aria-current="page"]').removeAttr( 1984 "aria-current" 1985 ) 1986 } else { 1987 html += 1988 '<a id="menuitem-' + 1989 ID + 1990 "-" + 1991 idIndex + 1992 '" href="' + 1993 current.url + 1994 '"><span>' + 1995 current.text + 1996 "</span></a>" 1997 } 1998 html += "</li>" 1999 } 2000 idIndex++ 2001 }) 2002 html += "</ul>" 2003 } 2004 return html 2005} 2006 2007// BINDING NAVIGATION DROPDOWN FUNCTIONALITY 2008function navigationEvents() { 2009 // click event for toggleVisibility buttons 2010 jQuery("#banner > nav button.toggleVisibility").unbind() 2011 jQuery("#banner > nav button.toggleVisibility").click(function () { 2012 var elem = jQuery(this) // -> button.toggleVisibility 2013 2014 // assign the variables 2015 var compareRole = elem.parent().parent().parent().attr("role") 2016 var targetElement = elem.parent().siblings() 2017 2018 if (compareRole === undefined) { 2019 var buttonInitialClass = "icon-chevron-down" 2020 var buttonTargetClass = "icon-chevron-up" 2021 } else { 2022 var buttonInitialClass = "icon-chevron-down" 2023 var buttonTargetClass = "icon-chevron-up" 2024 } 2025 2026 jQuery(targetElement).each(function () { 2027 if ( 2028 jQuery(this).children("button").length > 0 && 2029 jQuery(this).children("button").attr("aria-expanded") === "true" 2030 ) { 2031 // this would be the place for extra poking if buttons on deeper levels were different 2032 jQuery(this).removeClass("open") 2033 var targetButton = jQuery(this).children("button") 2034 targetButton.removeClass(buttonTargetClass) 2035 targetButton.addClass(buttonInitialClass) 2036 targetButton.attr("aria-expanded", "false") 2037 targetButton 2038 .children("span.sr-only") 2039 .text(siteLangVars[siteCurrentLang].openMenu) 2040 jQuery(this).children("ul").removeClass("open") 2041 } 2042 }) 2043 2044 // apply the correct class 2045 jQuery(elem.next("ul")).addClass("open") 2046 2047 // apply correct data to buttons 2048 if (compareRole === undefined) { 2049 // first level items 2050 if (elem.hasClass("icon-chevron-down")) { 2051 // open 2052 elem.removeClass("icon-chevron-down") 2053 elem.parent().addClass("open") 2054 elem.addClass("icon-chevron-up").attr("aria-expanded", "true") 2055 elem 2056 .children("span.sr-only") 2057 .text(siteLangVars[siteCurrentLang].closeMenu) 2058 } else { 2059 // close 2060 elem.removeClass("icon-chevron-up") 2061 elem.parent().removeClass("open") 2062 elem.next("ul").removeClass("open") 2063 elem.addClass("icon-chevron-down").attr("aria-expanded", "false") 2064 elem 2065 .children("span.sr-only") 2066 .text(siteLangVars[siteCurrentLang].openMenu) 2067 } 2068 } else { 2069 // other levels 2070 if (elem.hasClass("icon-chevron-down")) { 2071 // open 2072 elem.parent().parent().addClass("open") 2073 elem.parent().addClass("open") 2074 elem.removeClass("icon-chevron-down") 2075 elem.addClass("icon-chevron-up").attr("aria-expanded", "true") 2076 elem 2077 .children("span.sr-only") 2078 .text(siteLangVars[siteCurrentLang].closeMenu) 2079 } else { 2080 // close 2081 elem.parent().parent().removeClass("open") 2082 elem.parent().removeClass("open") 2083 elem.next("ul").removeClass("open") 2084 elem.removeClass("icon-chevron-up") 2085 elem.addClass("icon-chevron-down").attr("aria-expanded", "false") 2086 elem 2087 .children("span.sr-only") 2088 .text(siteLangVars[siteCurrentLang].openMenu) 2089 } 2090 } 2091 }) 2092
2093 // click anywhere and open menus close 2094 jQuery("body").on("mouseup", function (e) { 2095 if (jQuery("#banner > nav.main-nav > ul > li").find(e.target).length == 0) { 2096 jQuery("#banner > nav.main-nav > ul > li").each(function () { 2097 if (jQuery(this).hasClass("open") == true) { 2098 jQuery(this).children("button.toggleVisibility").click() 2099 } 2100 }) 2101 } 2102 }) 2103 2104 // esc in main navi closes open menus 2105 jQuery("#banner > nav.main-nav > ul").keyup(function (event) { 2106 var keycode = event.keyCode ? event.keyCode : event.which 2107 if (keycode == 27) { 2108 // 27 = escape button 2109 jQuery("#banner > nav.main-nav > ul > li").each(function () { 2110 if (jQuery(this).hasClass("open") == true) { 2111 jQuery(this).children("button.toggleVisibility").click() 2112 } 2113 }) 2114 } 2115 }) 2116 2117 // hover on menu and it opens 2118 /* jQuery('#banner > nav.main-nav > ul > li').on('mouseenter', function() { 2119 if(jQuery(this).children().length > 1) { 2120 if(searchIsOpen == false && jQuery(this).hasClass('hasChildren') == true && jQuery(this).hasClass('open') == false) { 2121 jQuery(this).children('button.toggleVisibility').click(); 2122 } 2123 } 2124 }); */ 2125} 2126 2127/* 2128// PROCESS THE HEADER 2129*/ 2130 2131// PROCESS TOP BAR 2132// Switch order of elements (accessibility) 2133var langList = jQuery( 2134 "#heading .header-top-bar .layout-wrapper-wide-container > div:eq(0)" 2135) 2136if (langList.length > 0) { 2137 langList.parent().append(langList.get(0).outerHTML) 2138 langList.remove() 2139} 2140 2141// Other languages array 2142var otherLanguages = [ 2143 { 2144 language: "Davvisámegiella", 2145 code: "se-FI", 2146 url: "/se/davvisamegiella", 2147 special: false, 2148 }, 2149 { 2150 language: "Anarâškielâ", 2151 code: "se-FI", 2152 url: "/se/anaraskiela", 2153 special: false, 2154 }, 2155 { 2156 language: "Nuõrttsääʹmǩiõll", 2157 code: "se-FI", 2158 url: "/se/nuorttsaamkioll", 2159 special: false, 2160 }, 2161] 2162 2163// Assemble the other languages menu 2164function languagesAssemble() { 2165 var langHtml = ""
2166 otherLanguages.forEach(function (current) { 2167 if (current.special == true) { 2168 langHtml += 2169 '<li class="revert-font" lang="' + 2170 current.code + 2171 '"><a href="' + 2172 current.url + 2173 '">' + 2174 current.language + 2175 "</a></li>" 2176 } else { 2177 langHtml += 2178 '<li lang="' + 2179 current.code + 2180 '"><a href="' + 2181 current.url + 2182 '">' + 2183 current.language + 2184 "</a></li>" 2185 } 2186 }) 2187 return langHtml 2188} 2189 2190// Make the new other languages dropdown 2191var newLangList = jQuery( 2192 "#heading .header-top-bar .layout-wrapper-wide-container > .header-top-bar-links-lang .portlet-body > ul" 2193) 2194if (newLangList.length > 0) { 2195 var newLangListHTML = 2196 '<li id="top-bar-other-lang" class="mr-1"><button class="toggleVisibility icon-chevron-down" aria-haspopup="true" aria-expanded="false" lang="se-FI">Saame<span class="sr-only" lang="' + 2197 siteCurrentLang + 2198 '">' + 2199 siteLangVars[siteCurrentLang].openMenu + 2200 "</span></button><ul>" + 2201 languagesAssemble() + 2202 '</ul></li><li><a href="/viittomakieli">Viittomakieli</a></li><li><a href="/sv/teckensprak">Teckenspråk</a></li>' 2203 newLangList.append(newLangListHTML) 2204 2205 // Add button and link events 2206 var otherLangButton = jQuery("#top-bar-other-lang > button") 2207 otherLangButton 2208 .on("mouseup", function () { 2209 otherLangToggle($(this)) 2210 }) 2211 .on("keyup", function (event) { 2212 var keycode = event.keyCode ? event.keyCode : event.which 2213 // enter pressed or esc pressed and language menu open 2214 if ( 2215 keycode == 13 || 2216 (keycode == 27 && $(this).attr("aria-expanded") == "true") 2217 ) { 2218 otherLangToggle($(this)) 2219 } 2220 }) 2221} 2222 2223function otherLangToggle(ELEMENT) { 2224 if (ELEMENT.attr("aria-expanded") == "false") { 2225 ELEMENT.parent().addClass("open") 2226 ELEMENT.attr("aria-expanded", true) 2227 ELEMENT.removeClass("icon-chevron-down") 2228 ELEMENT.addClass("icon-chevron-up") 2229 ELEMENT.children("span.sr-only").text( 2230 siteLangVars[siteCurrentLang].closeMenu 2231 ) 2232 } else { 2233 ELEMENT.parent().removeClass("open") 2234 ELEMENT.attr("aria-expanded", false) 2235 ELEMENT.removeClass("icon-chevron-up") 2236 ELEMENT.addClass("icon-chevron-down") 2237 ELEMENT.children("span.sr-only").text( 2238 siteLangVars[siteCurrentLang].openMenu 2239 ) 2240 } 2241} 2242 2243/* 2244// MISC FUNCTIONS 2245*/ 2246 2247// EXTERNAL LINK FUNCTION 2248function addExternalLink(e) { 2249 if (!e.hasAttribute("target") || e.getAttribute("target") === "") { 2250 e.setAttribute("target", "_blank") 2251 } 2252 var newTabSpan = document.createElement("SPAN") 2253 var spanText = document.createTextNode( 2254 Liferay.Language.get("yja-external-link-opens-in-a-new-tab") 2255 ) 2256 newTabSpan.appendChild(spanText) 2257 newTabSpan.classList.add("sr-only") 2258 e.appendChild(newTabSpan) 2259 e.classList.add("external-link") 2260} 2261 2262// DOCUMENT LINK FUNCTION 2263function addDocumentLink(e) { 2264 if (!e.hasAttribute("target") || e.getAttribute("target") === "") { 2265 e.setAttribute("target", "_blank") 2266 } 2267 var newTabSpan = document.createElement("SPAN") 2268 var spanText = document.createTextNode( 2269 Liferay.Language.get("yja-document-link-opens-in-a-new-tab") 2270 ) 2271 newTabSpan.appendChild(spanText) 2272 newTabSpan.classList.add("sr-only") 2273 e.appendChild(newTabSpan) 2274 e.classList.add("external-link") 2275} 2276 2277// EXTERNAL LINK ADDER 2278document.addEventListener("DOMContentLoaded", function () { 2279 var d = document 2280 var b = location.origin 2281 // Add class to external links 2282 var queriedSelectors = [".journal-content-article", ".yja-document-display"] 2283 Array.prototype.slice.call(queriedSelectors).forEach(function (current) { 2284 var c = d.querySelectorAll(current) 2285 for (var i = 0; i < c.length; i++) { 2286 var a = c[i].querySelectorAll("a") 2287 for (var j = 0; j < a.length; j++) { 2288 var u = a[j].href 2289 if ( 2290 u !== "" && 2291 !u.startsWith(b) && 2292 !u.startsWith("/") && 2293 !u.startsWith("#") 2294 ) { 2295 addExternalLink(a[j]) 2296 } 2297 if (u !== "" && u.startsWith(b) && u.indexOf("/documents/") > -1) { 2298 addDocumentLink(a[j]) 2299 } 2300 } 2301 } 2302 }) 2303}) 2304 2305 2306 2307 2308 2309 // ]]> 2310 </script>
2310 2311
2311<script type="text/javascript"> 2312// <![CDATA[ 2313(function() {var $ = AUI.$;var _ = AUI._; 2314 var onVote = function (event) { 2315 if (window.Analytics) { 2316 Analytics.send('VOTE', 'Ratings', { 2317 className: event.className, 2318 classPK: event.classPK, 2319 ratingType: event.ratingType, 2320 score: event.score, 2321 }); 2322 } 2323 }; 2324 2325 var onDestroyPortlet = function () { 2326 Liferay.detach('ratings:vote', onVote); 2327 Liferay.detach('destroyPortlet', onDestroyPortlet); 2328 }; 2329 2330 Liferay.on('ratings:vote', onVote); 2331 Liferay.on('destroyPortlet', onDestroyPortlet); 2332})();(function() {var $ = AUI.$;var _ = AUI._; 2333 var onDestroyPortlet = function () { 2334 Liferay.detach('messagePosted', onMessagePosted); 2335 Liferay.detach('destroyPortlet', onDestroyPortlet); 2336 }; 2337 2338 Liferay.on('destroyPortlet', onDestroyPortlet); 2339 2340 var onMessagePosted = function (event) { 2341 if (window.Analytics) { 2342 Analytics.send('posted', 'Comment', { 2343 className: event.className, 2344 classPK: event.classPK, 2345 commentId: event.commentId, 2346 text: event.text, 2347 }); 2348 } 2349 }; 2350 2351 Liferay.on('messagePosted', onMessagePosted); 2352})(); 2353 var pathnameRegexp = /\/documents\/(\d+)\/(\d+)\/(.+?)\/([^&]+)/; 2354 2355 function sendAnalyticsEvent(anchor) { 2356 var fileEntryId = 2357 anchor.dataset.analyticsFileEntryId || 2358 (anchor.parentElement && 2359 anchor.parentElement.dataset.analyticsFileEntryId); 2360 2361 var title = 2362 anchor.dataset.analyticsFileEntryTitle || 2363 (anchor.parentElement && 2364 anchor.parentElement.dataset.analyticsFileEntryTitle); 2365 2366 var getParameterValue = (parameterName) => { 2367 var result = null; 2368 2369 anchor.search 2370 .substr(1) 2371 .split('&') 2372 .forEach((item) => { 2373 var tmp = item.split('='); 2374 2375 if (tmp[0] === parameterName) { 2376 result = decodeURIComponent(tmp[1]); 2377 } 2378 }); 2379 2380 return result; 2381 }; 2382 2383 var match = pathnameRegexp.exec(anchor.pathname); 2384 2385 if (fileEntryId && match) { 2386 Analytics.send('documentDownloaded', 'Document', { 2387 groupId: match[1], 2388 fileEntryId, 2389 preview: !!window._com_liferay_document_library_analytics_isViewFileEntry, 2390 title: title || decodeURIComponent(match[3].replace(/\+/gi, ' ')), 2391 version: getParameterValue('version'), 2392 }); 2393 } 2394 } 2395 2396 function handleDownloadClick(event) { 2397 if (window.Analytics) { 2398 if (event.target.nodeName.toLowerCase() === 'a') { 2399 sendAnalyticsEvent(event.target); 2400 } 2401 else if ( 2402 event.target.parentNode && 2403 event.target.parentNode.nodeName.toLowerCase() === 'a' 2404 ) { 2405 sendAnalyticsEvent(event.target.parentNode); 2406 } 2407 else if ( 2408 event.target.querySelector('.lexicon-icon-download') || 2409 event.target.classList.contains('lexicon-icon-download') || 2410 (event.target.parentNode && 2411 (event.target.parentNode.classList.contains( 2412 'lexicon-icon-download' 2413 ) || 2414 event.target.parentNode.dataset.action === 'download')) 2415 ) { 2416 var selectedFiles = document.querySelectorAll( 2417 '.portlet-document-library .entry-selector:checked' 2418 ); 2419 2420 selectedFiles.forEach(({value}) => { 2421 var selectedFile = document.querySelector( 2422 '[data-analytics-file-entry-id="' + value + '"]' 2423 ); 2424 2425 sendAnalyticsEvent(selectedFile); 2426 }); 2427 } 2428 } 2429 } 2430 2431 Liferay.once('destroyPortlet', () => { 2432 document.body.removeEventListener('click', handleDownloadClick); 2433 }); 2434 2435 Liferay.once('portletReady', () => { 2436 document.body.addEventListener('click', handleDownloadClick); 2437 }); 2438(function() {var $ = AUI.$;var _ = AUI._; 2439 var onShare = function (data) { 2440 if (window.Analytics) { 2441 Analytics.send('shared', 'SocialBookmarks', { 2442 className: data.className, 2443 classPK: data.classPK, 2444 type: data.type, 2445 url: data.url, 2446 }); 2447 } 2448 }; 2449 2450 var onDestroyPortlet = function () { 2451 Liferay.detach('socialBookmarks:share', onShare); 2452 Liferay.detach('destroyPortlet', onDestroyPortlet); 2453 }; 2454 2455 Liferay.on('socialBookmarks:share', onShare); 2456 Liferay.on('destroyPortlet', onDestroyPortlet); 2457})(); 2458 if (window.svg4everybody && Liferay.Data.ICONS_INLINE_SVG) { 2459 svg4everybody( 2460 { 2461 polyfill: true, 2462 validate: function (src, svg, use) { 2463 return !src || !src.startsWith('#'); 2464 } 2465 } 2466 ); 2467 } 2468 2469 2470 Liferay.Portlet.register('fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb'); 2471 2472 2473 Liferay.Portlet.onLoad( 2474 { 2475 canEditTitle: false, 2476 columnPos: 0, 2477 isStatic: 'end', 2478 namespacedId: 'p_p_id_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_', 2479 portletId: 'fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb', 2480 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dfi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2481 refreshURLData: {} 2482 } 2483 ); 2484 2485 var nestedPortlet = document.getElementById( 2486 '_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__main-content' 2487 ); 2488 2489 if (nestedPortlet != null) { 2490 nestedPortlet.removeAttribute('role'); 2491 } 2492 2493 2494 Liferay.Portlet.register('com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC'); 2495 2496 2497 Liferay.Portlet.onLoad( 2498 { 2499 canEditTitle: false, 2500 columnPos: 3, 2501 isStatic: 'end', 2502 namespacedId: 'p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC_', 2503 portletId: 'com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC', 2504 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d3\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2505 refreshURLData: {} 2506 } 2507 ); 2508 2509 var nestedPortlet = document.getElementById( 2510 '_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__main-content' 2511 ); 2512 2513 if (nestedPortlet != null) { 2514 nestedPortlet.removeAttribute('role'); 2515 } 2516 2517 2518 Liferay.Portlet.register('com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI'); 2519 2520 2521 Liferay.Portlet.onLoad( 2522 { 2523 canEditTitle: false, 2524 columnPos: 5, 2525 isStatic: 'end', 2526 namespacedId: 'p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI_', 2527 portletId: 'com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI', 2528 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d5\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2529 refreshURLData: {} 2530 } 2531 ); 2532 2533 2534 Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB'); 2535 2536 2537 Liferay.Portlet.onLoad( 2538 { 2539 canEditTitle: false, 2540 columnPos: 1, 2541 isStatic: 'end', 2542 namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB_', 2543 portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB', 2544 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d1\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2545 refreshURLData: {} 2546 } 2547 ); 2548(function() {var $ = AUI.$;var _ = AUI._; 2549 var assetEntryId = 2550 ''; 2551 2552 if (assetEntryId) { 2553 window.location.hash = assetEntryId; 2554 } 2555})(); 2556 2557 Liferay.Portlet.register('com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z'); 2558 2559 2560 Liferay.Portlet.onLoad( 2561 { 2562 canEditTitle: false, 2563 columnPos: 0, 2564 isStatic: 'end', 2565 namespacedId: 'p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z_', 2566 portletId: 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z', 2567 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3d_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-1\x26p_p_col_pos\x3d0\x26p_p_col_count\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2568 refreshURLData: {} 2569 } 2570 ); 2571 2572 2573 Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My'); 2574 2575 2576 Liferay.Portlet.onLoad( 2577 { 2578 canEditTitle: false, 2579 columnPos: 0, 2580 isStatic: 'end', 2581 namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My_', 2582 portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My', 2583 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d0\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2584 refreshURLData: {} 2585 } 2586 ); 2587 2588 2589 Liferay.Portlet.register('fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFo
2589oter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter'); 2590 2591 2592 Liferay.Portlet.onLoad( 2593 { 2594 canEditTitle: false, 2595 columnPos: 0, 2596 isStatic: 'end', 2597 namespacedId: 'p_p_id_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter_', 2598 portletId: 'fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter', 2599 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dfi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2600 refreshURLData: {} 2601 } 2602 ); 2603(function() {var $ = AUI.$;var _ = AUI._; 2604 var assetEntryId = 2605 ''; 2606 2607 if (assetEntryId) { 2608 window.location.hash = assetEntryId; 2609 } 2610})(); 2611 2612 Liferay.Portlet.register('com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK'); 2613 2614 2615 Liferay.Portlet.onLoad( 2616 { 2617 canEditTitle: false, 2618 columnPos: 0, 2619 isStatic: 'end', 2620 namespacedId: 'p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK_', 2621 portletId: 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK', 2622 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3d_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-1\x26p_p_col_pos\x3d0\x26p_p_col_count\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2623 refreshURLData: {} 2624 } 2625 ); 2626 2627 2628 Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM'); 2629 2630 2631 Liferay.Portlet.onLoad( 2632 { 2633 canEditTitle: false, 2634 columnPos: 2, 2635 isStatic: 'end', 2636 namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM_', 2637 portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM', 2638 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d2\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2639 refreshURLData: {} 2640 } 2641 ); 2642 2643 2644 Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK'); 2645 2646 2647 Liferay.Portlet.onLoad( 2648 { 2649 canEditTitle: false, 2650 columnPos: 4, 2651 isStatic: 'end', 2652 namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK_', 2653 portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK', 2654 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d4\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2655 refreshURLData: {} 2656 } 2657 ); 2658 2659 2660 Liferay.Portlet.register('fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet'); 2661 2662 2663 Liferay.Portlet.onLoad( 2664 { 2665 canEditTitle: false, 2666 columnPos: 0, 2667 isStatic: 'end', 2668 namespacedId: 'p_p_id_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet_', 2669 portletId: 'fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet', 2670 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dfi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2671 refreshURLData: {} 2672 } 2673 ); 2674(function() {var $ = AUI.$;var _ = AUI._; 2675 var assetEntryId = 2676 ''; 2677 2678 if (assetEntryId) { 2679 window.location.hash = assetEntryId; 2680 } 2681})(); 2682 2683 Liferay.Portlet.register('com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ'); 2684 2685 2686 Liferay.Portlet.onLoad( 2687 { 2688 canEditTitle: false, 2689 columnPos: 0, 2690 isStatic: 'end', 2691 namespacedId: 'p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ_', 2692 portletId: 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ', 2693 refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3d_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-2\x26p_p_col_pos\x3d0\x26p_p_col_count\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu', 2694 refreshURLData: {} 2695 } 2696 ); 2697Liferay.Loader.require('metal-dom/src/all/dom', 'frontend-js-web/liferay/toast/commands/OpenToast.es', function(metalDomSrcAllDom, frontendJsWebLiferayToastCommandsOpenToastEs) { 2698try { 2699(function() { 2700var dom = metalDomSrcAllDom; 2701var $ = AUI.$;var _ = AUI._; 2702 var focusInPortletHandler = dom.delegate( 2703 document, 2704 'focusin', 2705 '.portlet', 2706 function(event) { 2707 dom.addClasses(dom.closest(event.delegateTarget, '.portlet'), 'open'); 2708 } 2709 ); 2710 2711 var focusOutPortletHandler = dom.delegate( 2712 document, 2713 'focusout', 2714 '.portlet', 2715 function(event) { 2716 dom.removeClasses(dom.closest(event.delegateTarget, '.portlet'), 'open'); 2717 } 2718 ); 2719 2720})(); 2721(function() { 2722var toastCommands = frontendJsWebLiferayToastCommandsOpenToastEs; 2723var $ = AUI.$;var _ = AUI._; 2724 AUI().use( 2725 'liferay-session', 2726 function() { 2727 Liferay.Session = new Liferay.SessionBase( 2728 { 2729 autoExtend: true, 2730 redirectOnExpire: false, 2731 redirectUrl: 'https\x3a\x2f\x2foikeuskansleri\x2efi\x2f', 2732 sessionLength: 10800, 2733 sessionTimeoutOffset: 70, 2734 warningLength: 0 2735 } 2736 ); 2737 2738 2739 } 2740 ); 2741 2742})(); 2743} catch (err) { 2744 console.error(err); 2745} 2746});AUI().use('liferay-menu', 'aui-base', function(A) {(function() {var $ = AUI.$;var _ = AUI._; 2747 if (A.UA.mobile) { 2748 Liferay.Util.addInputCancel(); 2749 } 2750})();(function() {var $ = AUI.$;var _ = AUI._; 2751 new Liferay.Menu(); 2752 2753 var liferayNotices = Liferay.Data.notices; 2754 2755 for (var i = 0; i < liferayNotices.length; i++) { 2756 Liferay.Util.openToast(liferayNotices[i]); 2757 } 2758 2759})();}); 2760// ]]> 2761</script>
2761 2762
2762<script src="https://oikeuskansleri.fi/o/yja-site-template-theme/js/main.js?browserId=chrome&languageId=fi_FI&t=1790609464000" type="text/javascript"></script>
2762 2763
2763<script type="text/javascript"> 2764// YJALR73-1775 replace iterator dropdow-toggle class with LR71 version to prevent visual changes 2765const iteratorDropdown = document.querySelectorAll('.taglib-page-iterator .lfr-pagination-page-selector .dropdown-toggle.btn-secondary'); 2766iteratorDropdown.forEach(iter => { 2767 iter.classList.remove('btn-secondary'); 2768 if (!iter.classList.contains('btn-default')) { 2769 iter.classList.add('btn-default'); 2770 } 2771}) 2772</script>
2772 2773
2773<script type="text/javascript"> 2774 // <![CDATA[ 2775 AUI().use( 2776 'aui-base', 2777 function(A) { 2778 var frameElement = window.frameElement; 2779 2780 if (frameElement && frameElement.getAttribute('id') === 'simulationDeviceIframe') { 2781 A.getBody().addClass('lfr-has-simulation-panel'); 2782 } 2783 } 2784 ); 2785 // ]]> 2786</script>
2786 2787
2787<script type="text/javascript"> 2788// <![CDATA[ 2789Liferay.Loader.require('[email protected]/index', function(frontendJsDropdownSupportWeb1011Index) { 2790try { 2791(function() { 2792var DropdownProvider = frontendJsDropdownSupportWeb1011Index; 2793DropdownProvider.default() 2794})(); 2795} catch (err) { 2796 console.error(err); 2797} 2798}); 2799// ]]> 2800</script>
2800 2801
2801<script type="text/javascript"> 2802// <![CDATA[ 2803Liferay.Loader.require('[email protected]/index', function(frontendJsTabsSupportWeb1011Index) { 2804try { 2805(function() { 2806var TabsProvider = frontendJsTabsSupportWeb1011Index; 2807TabsProvider.default() 2808})(); 2809} catch (err) { 2810 console.error(err); 2811} 2812}); 2813// ]]> 2814</script>
2814 2815
2815<script type="text/javascript"> 2816// <![CDATA[ 2817Liferay.Loader.require('[email protected]/index', function(frontendJsCollapseSupportWeb1015Index) { 2818try { 2819(function() { 2820var CollapseProvider = frontendJsCollapseSupportWeb1015Index; 2821CollapseProvider.default() 2822})(); 2823} catch (err) { 2824 console.error(err); 2825} 2826}); 2827// ]]> 2828</script>
2828 2829
2829<script type="text/javascript"> 2830// <![CDATA[ 2831Liferay.Loader.require('[email protected]/index', function(frontendJsTooltipSupportWeb307Index) { 2832try { 2833(function() { 2834var TooltipSupport = frontendJsTooltipSupportWeb307Index; 2835TooltipSupport.default() 2836})(); 2837} catch (err) { 2838 console.error(err); 2839} 2840}); 2841// ]]> 2842</script>
2842 2843
2843<script type="text/javascript"> 2844// <![CDATA[ 2845Liferay.Loader.require('[email protected]/index', function(remoteAppSupportWeb108Index) { 2846try { 2847(function() { 2848var RemoteAppSupport = remoteAppSupportWeb108Index; 2849RemoteAppSupport.default() 2850})(); 2851} catch (err) { 2852 console.error(err); 2853} 2854}); 2855// ]]> 2856</script>
2856 2857
2857<script type="text/javascript"> 2858// <![CDATA[ 2859Liferay.Loader.require('[email protected]/index', function(frontendJsAlertSupportWeb1010Index) { 2860try { 2861(function() { 2862var AlertProvider = frontendJsAlertSupportWeb1010Index; 2863AlertProvider.default() 2864})(); 2865} catch (err) { 2866 console.error(err); 2867} 2868}); 2869// ]]> 2870</script>
2870 2871
2871<script> 2872 function resizeElements() { 2873 var maxHeight = 0; 2874 2875 $(".link-highlights .text-wrapper").each(function(){ 2876 if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } 2877 }); 2878 2879 $(".link-highlights .text-wrapper").height(maxHeight); 2880 } 2881 2882 $(document).ready(function() { 2883 resizeElements(); 2884 }); 2885 2886 $(window).resize(function() { 2887 resizeElements(); 2888 }); 2889 </script>
2889 2890
2890<script type="text/javascript"> 2891 2892 var fixed = jQuery('.main-nav').position().top; 2893 2894 2895</script>
2895 2896
2896<script src=" /documents/1428954/114926852/lang-se.js/7ceb99cf-0362-4d47-5dcc-67cfd47e1940?t=1649330558915 2897"></script>
2897 2898 </body> 2899</html>
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.