1<!DOCTYPE html> 2<html lang="de" class="no-js"> 3<head> 4 5 <meta charset="UTF-8"> 6 <title>Neue Kirchenverfassung - Evangelisch-reformierte Kirche des Kantons St.Gallen</title> 7 <base href="https://www.ref-sg.ch/"> 8 <link rel="icon" href="/favicon.ico" type="image/x-icon"> 9 10 <meta name="robots" content="index,follow"> 11 <meta name="description" content=""> 12 <meta name="generator" content="Contao Open Source CMS"> 13 <meta name="google-site-verification" content="SEb1l4oJW_KJMjPrASAkT07B0MCYm5BODt5rYVtjl8s"/> 14 15 16 <meta name="viewport" content="width=device-width,initial-scale=1.0"> 17 <link rel="stylesheet" href="/assets/css/layout.min.css,responsive.min.css,reset.min.css,mmenu.css,column...-f43dfc31.css">
17<script src="/assets/js/jquery.min.js,mmenu.js-7d709994.js"></script>
17<script src="/bundles/calendarextended/js/event-register.js?v=65fbb9bd"></script>
17<meta name="search:type" content="page"/>
17<script src="/assets/js/vue.min.js,vue-resource.min.js-4467e5c0.js"></script>
17<script src="/assets/js/autoComplete.min.js-be8066c1.js"></script>
17<link href="/assets/css/default.scss,autoComplete.scss-155e173d.css" rel="stylesheet"><link href="/assets/css/elasticsearch.scss-9384fcaf.css" rel="stylesheet"> 18</head> 19<body 20 id="top"> 21 22 23 24<div id="overlay"> 25 <div class="inside"> 26 27<div class="info-overlay"> 28 <div class="rs-columns ce_rs_columns_start"> 29 30 <div class="ce_rs_column_start rs-column -large-col-2-1 -large-first -large-first-row -medium-col-2-1 -medium-first -medium-first-row -small-col-1-1 -small-first -small-last -small-first-row"> 31 32 33<div class="ce_text block"> 34 35 <h1>Evangelisch-reformierte Kirche des Kantons St.Gallen</h1> 36 37 38 <p>«Willkommen, unsere Türen sind offen». Dies gilt für fast alle reformierten Kirchen im Kanton St.Gallen. Gleiches gilt auch, wenn Sie ein Anliegen an uns haben. Wenden Sie sich an Ihre Kirchgemeinde.</p> 39 40 41 42</div> 43</div> 44<div class="ce_rs_column_start rs-column -large-col-2-1 -large-last -large-first-row -medium-col-2-1 -medium-last -medium-first-row -small-col-1-1 -small-first -small-last"> 45 46 47<div class="ce_text second-row block"> 48 49 50 51 <p>Oder Sie setzen sich direkt mit der Kantonalkirche, also der Evangelisch-reformierten Kirche des Kantons St.Gallen, in Verbindung. Sie finden uns am Oberen Graben 31 in 9000 St.Gallen. Erreichbar sind wir in der Regel werktags von 8 bis 12 Uhr und von 14 bis 17 Uhr unter 071 227 05 00 oder per Mail unter info@ref-sg.ch.</p> 52 53 54 55</div> 56</div> 57</div> 58 59<a href="javascript:;" id="overlay_close"> 60 <img src="files/template/img/close_overlay.png" alt="Schliessen" /> 61</a> 62 63</div> </div> 64</div> 65 66<div id="search"> 67 <div class="inside"> 68 <div></div> </div> 69</div> 70 71<div id="wrapper" class="main-wrapper"> 72 73 <header id="header" class="main-header"> 74 <div class="inside"> 75 76<!-- indexer::stop --> 77<nav class="mod_navigation headernav block"> 78 79 80 <a href="/neue-kirchenverfassung.html#skipNavigation1" class="invisible">Navigation überspringen</a> 81 82 <ul class="level_1" role="menubar"> 83 84 85 <li class="submenu trail not-clickable"> 86 <a href="/ueberuns.html" title="St.Galler Kirche" class="submenu trail not-clickable" role="menuitem" aria-haspopup="true">St.Galler Kirche</a><ul class="level_2" role="menu"> 87 88 89 <li> 90 <a href="/ueberuns.html" title="Ãber uns" role="menuitem">Ãber uns</a> </li> 91 92 93 <li class="forward"><span class="forward" 94 role="menuitem">Neue Kirchenverfassung</span> </li> 95 96 97 <li> 98 <a href="/Kirchgemeinden.html" title="Unsere Kirchgemeinden" role="menuitem">Unsere Kirchgemeinden</a> </li> 99 100 101 <li> 102 <a href="/synode.html" title="Synode" role="menuitem">Synode</a> </li> 103 104 105 <li class="trail"> 106 <a href="/kirchenrat.html" title="Kirchenrat" class="trail" role="menuitem">Kirchenrat</a> </li> 107 108 109 <li> 110 <a href="/st-galler-kirche/team.html" title="team" role="menuitem">Team der Kantonalkirche</a> </li> 111 112 113 <li> 114 <a href="/fuerdiekirchearbeiten.html" title="Für die Kirche arbeiten" role="menuitem">Für die Kirche arbeiten</a> </li> 115 116 117 <li> 118 <a href="/persoenlichkeitsschutz.html" title="Gewährleistung des Persönlichkeitsschutzes in der Kirche" role="menuitem">Persönlichkeitsschutz</a> </li> 119 </ul> 120 </li> 121 122 123 <li class="submenu not-clickable"> 124 <a href="/gottesdienste.html" title="Kirche für alle" class="submenu not-clickable" role="menuitem" aria-haspopup="true">Kirche für alle</a><ul class="level_2" role="menu"> 125 126 127 <li> 128 <a href="/gottesdienste.html" title="Gottesdienste" role="menuitem">Gottesdienste</a> </li> 129 130 131 <li> 132 <a href="/Musik.html" title="Musik" role="menuitem">Musik</a> </li> 133 134 135 <li> 136 <a href="/seelsorge-beratung.html" title="Seelsorge und Beratung" role="menuitem">Seelsorge und Beratung</a> </li> 137 138 139 <li> 140 <a href="/diakonie.html" title="Diakonie" role="menuitem">Diakonie</a> </li> 141 142 143 <li> 144 <a href="/junge-menschen-begleiten.html" title="Junge Menschen begleiten" role="menuitem">Junge Menschen begleiten</a> </li> 145 146 147 <li> 148 <a href="/bildung.html" title="Bildung" role="menuitem">Bildung</a> </li> 149 150 151 <li> 152 <a href="/eintreten.html" title="In die Kirche eintreten" role="menuitem">In die Kirche eintreten</a> </li> 153 154 155 <li> 156 <a href="https://www.kirche-tut-gut.ch/" title="kirche tut gut" role="menuitem">Kirche tut gut</a> </li> 157 </ul> 158 </li> 159 160 161 <li class="submenu not-clickable"> 162 <a href="/fuer-mitarbeitende/zentrale-dienste.html" title="Mitarbeitende und Behörden" class="submenu not-clickable" role="menuitem" aria-haspopup="true">Mitarbeitende und Behörden</a><ul class="level_2" role="menu"> 163 164 165 <li> 166 <a href="/fuer-mitarbeitende/zentrale-dienste.html" title="Zentrale Dienste" role="menuitem">Zentrale Dienste</a> </li> 167 168 169 <li> 170 <a href="/arbeitsstellen.html" title="Arbeitsstellen" role="menuitem">Arbeitsstellen</a> </li> 171 172 173 <li> 174 <a href="/seelsorge-und-beratung.html" title="Seelsorge und Beratung" role="menuitem">Seelsorge und Beratung</a> </li> 175 176 177 <li> 178 <a href="/veranstaltungen.html" title="Veranstaltungen und Weiterbildungen" role="menuitem">Veranstaltungen und Weiterbildungen</a> </li> 179 180 181 <li> 182 <a href="/Verfassung-und-gueltige-Erlasse.html" title="Verfassung und gültige Erlasse" role="menuitem">Verfassung und gültige Erlasse</a> </li> 183 </ul> 184 </li> 185 186 187 <li class="submenu not-clickable"> 188 <a href="/Kontakt.html" title="Service" class="submenu not-clickable" role="menuitem" aria-haspopup="true">Service</a><ul class="level_2" role="menu"> 189 190 191 <li> 192 <a href="/Kontakt.html" title="Kontakt" role="menuitem">Kontakt</a> </li> 193 194 195 <li> 196 <a href="/Medien.html" title="Medien" role="menuitem">Medien</a> </li> 197 198 199 <li> 200 <a href="/finanzielle-unterstuetzung.html" title="Finanzielle Unterstützung" role="menuitem">Finanzielle Unterstützung</a> </li> 201 202 203 <li> 204 <a href="/newsletter-anmeldung.html" title="Newsletter" role="menuitem">Newsletter</a> </li> 205 206 207 <li> 208 <a href="/pfefferstern.html" title="Pfefferstern und Reforum" role="menuitem">Pfefferstern und Reforum</a> </li> 209 210 211 <li> 212 <a href="/Material.html" title="Zum Mieten" role="menuitem">Zum Mieten</a> </li> 213 214 215 <li> 216 <a href="/shop.html" title="Zum Bestellen" role="menuitem">Zum Bestellen</a> </li> 217 218 219 <li> 220 <a href="/stellen.html" title="Stellen" role="menuitem">Stellen</a> </li> 221 </ul> 222 </li> 223 </ul> 224 225 <span id="skipNavigation1" class="invisible"></span> 226 227</nav> 228<!-- indexer::continue --> 229<!-- indexer::stop --> 230<nav class="mod_mmenu mobilenavi" id="mobile-show"> 231 232 233<ul class="level_1" role="menubar"> 234 <li class="submenu trail"><a 235 href="/ueberuns.html" 236 title="St.Galler Kirche" class="submenu trail" role="menuitem" aria-haspopup="true">St.Galler Kirche</a><ul class="level_2" role="menu"> 237 <li><a 238 href="/ueberuns.html" 239 title="Ãber uns" role="menuitem">Ãber uns</a> </li> 240 <li class="forward"><span class="forward" 241 role="menuitem">
241Neue Kirchenverfassung</span> </li> 242 <li><a 243 href="/Kirchgemeinden.html" 244 title="Unsere Kirchgemeinden" role="menuitem">Unsere Kirchgemeinden</a> </li> 245 <li><a 246 href="/synode.html" 247 title="Synode" role="menuitem">Synode</a> </li> 248 <li class="trail"><a 249 href="/kirchenrat.html" 250 title="Kirchenrat" class="trail" role="menuitem">Kirchenrat</a> </li> 251 <li><a 252 href="/st-galler-kirche/team.html" 253 title="team" role="menuitem">Team der Kantonalkirche</a> </li> 254 <li><a 255 href="/fuerdiekirchearbeiten.html" 256 title="Für die Kirche arbeiten" role="menuitem">Für die Kirche arbeiten</a> </li> 257 <li><a 258 href="/persoenlichkeitsschutz.html" 259 title="Gewährleistung des Persönlichkeitsschutzes in der Kirche" role="menuitem">Persönlichkeitsschutz</a> </li> 260 </ul> 261 </li> 262 <li class="submenu"><a 263 href="/gottesdienste.html" 264 title="Kirche für alle" class="submenu" role="menuitem" aria-haspopup="true">Kirche für alle</a><ul class="level_2" role="menu"> 265 <li><a 266 href="/gottesdienste.html" 267 title="Gottesdienste" role="menuitem">Gottesdienste</a> </li> 268 <li><a 269 href="/Musik.html" 270 title="Musik" role="menuitem">Musik</a> </li> 271 <li><a 272 href="/seelsorge-beratung.html" 273 title="Seelsorge und Beratung" role="menuitem">Seelsorge und Beratung</a> </li> 274 <li><a 275 href="/diakonie.html" 276 title="Diakonie" role="menuitem">Diakonie</a> </li> 277 <li><a 278 href="/junge-menschen-begleiten.html" 279 title="Junge Menschen begleiten" role="menuitem">Junge Menschen begleiten</a> </li> 280 <li><a 281 href="/bildung.html" 282 title="Bildung" role="menuitem">Bildung</a> </li> 283 <li><a 284 href="/eintreten.html" 285 title="In die Kirche eintreten" role="menuitem">In die Kirche eintreten</a> </li> 286 <li><a 287 href="https://www.kirche-tut-gut.ch/" 288 title="kirche tut gut" role="menuitem">Kirche tut gut</a> </li> 289 </ul> 290 </li> 291 <li class="submenu"><a 292 href="/fuer-mitarbeitende/zentrale-dienste.html" 293 title="Mitarbeitende und Behörden" class="submenu" role="menuitem" aria-haspopup="true">Mitarbeitende und Behörden</a><ul class="level_2" role="menu"> 294 <li><a 295 href="/fuer-mitarbeitende/zentrale-dienste.html" 296 title="Zentrale Dienste" role="menuitem">Zentrale Dienste</a> </li> 297 <li><a 298 href="/arbeitsstellen.html" 299 title="Arbeitsstellen" role="menuitem">Arbeitsstellen</a> </li> 300 <li><a 301 href="/seelsorge-und-beratung.html" 302 title="Seelsorge und Beratung" role="menuitem">Seelsorge und Beratung</a> </li> 303 <li><a 304 href="/veranstaltungen.html" 305 title="Veranstaltungen und Weiterbildungen" role="menuitem">Veranstaltungen und Weiterbildungen</a> </li> 306 <li><a 307 href="/Verfassung-und-gueltige-Erlasse.html" 308 title="Verfassung und gültige Erlasse" role="menuitem">Verfassung und gültige Erlasse</a> </li> 309 </ul> 310 </li> 311 <li class="submenu"><a 312 href="/Kontakt.html" 313 title="Service" class="submenu" role="menuitem" aria-haspopup="true">Service</a><ul class="level_2" role="menu"> 314 <li><a 315 href="/Kontakt.html" 316 title="Kontakt" role="menuitem">Kontakt</a> </li> 317 <li><a 318 href="/Medien.html" 319 title="Medien" role="menuitem">Medien</a> </li> 320 <li><a 321 href="/finanzielle-unterstuetzung.html" 322 title="Finanzielle Unterstützung" role="menuitem">Finanzielle Unterstützung</a> </li> 323 <li><a 324 href="/newsletter-anmeldung.html" 325 title="Newsletter" role="menuitem">Newsletter</a> </li> 326 <li><a 327 href="/pfefferstern.html" 328 title="Pfefferstern und Reforum" role="menuitem">Pfefferstern und Reforum</a> </li> 329 <li><a 330 href="/Material.html" 331 title="Zum Mieten" role="menuitem">Zum Mieten</a> </li> 332 <li><a 333 href="/shop.html" 334 title="Zum Bestellen" role="menuitem">Zum Bestellen</a> </li> 335 <li><a 336 href="/stellen.html" 337 title="Stellen" role="menuitem">Stellen</a> </li> 338 </ul> 339 </li> 340 </ul> 341 342<div class="mm-menu__close"> 343 <span class="icon"></span> 344</div> 345 346</nav> 347<!-- indexer::continue --> 348 349<div id="sidenavigation"><a href="#mobile-show"><span></span></a></div> 350<div class="logo"><div class="ce_image only-desktop block"> 351 352 353 354<figure class="image_container"> 355 356 <a href="/evang-ref-kirche-st-gallen.html" title="Reformierte Kirche St.Gallen"> 357 358 359 360<img src="/files/content/bilder-logos/Logo_2025_rgb_vektor.svg" alt="Reformierte Kirche St.Gallen"> 361 362 363 </a> 364 365 366</figure> 367 368 369</div> 370 371</div> 372<div class="logo"><div class="ce_image only-mobile block"> 373 374 375 376<figure class="image_container"> 377 378 <a href="/evang-ref-kirche-st-gallen.html" title="Reformierte Kirche St.Gallen"> 379 380 381 382<img src="/files/content/bilder-logos/Logo_2025_rgb_vektor.png" width="339" height="256" alt="Reformierte Kirche St.Gallen"> 383 384 385 </a> 386 387 388</figure> 389 390 391</div> 392 393</div> 394<!-- indexer::stop --> 395<div class="mod_elasticsearch block"> 396 397 398 <div id="id_search_6abf87179c6f563" class="elasticsearch-container" v-bind:class="{results_open: hasResults}"> 399 400 <div class="elasticsearch-container-inside" ref="elasticsearchContainerInside"> 401 <form method="GET"> 402 <div class="elasticsearch-search-panel"> 403 <div class="elasticsearch-input"> 404 <input id="ctrl_keywords_63" type="search" @keyup="search" @search="search" v-model="keywords" placeholder="Wer sucht, der findet..." spellcheck=false autocomplete="off" autocapitalize="off"> 405 <button @click.stop.prevent="search" class="elasticsearch-input-button"> 406 <img v-if="!loading" src="/files/template/img/new/search.svg" alt="Suchen" class="button-search-icon"> 407 <img v-else src="/files/template/img/new/loading.svg" alt="" class="button-loading-icon"> 408 </button> 409 </div> 410 </div> 411 </form> 412 413 <div class="elasticsearch-results-panel" v-if="hasResults"> 414 415 <div class="close-results"> 416 <button @click.stop.prevent="close" class="close button"><span>SchlieÃen</span></button> 417 </div> 418 419 <div class="suggest-results"> 420 <p v-if="keywords" class="suggest-results-for">Ergebnisse für <span>{{ keywords }}</span></p> 421 <p v-if="views.didYouMean.length" class="suggest-results-mean">Meinten Sie <a @click.stop.prevent="setDidYouMeanToKeyword" v-for="didYouMean in views.didYouMean" v-if="didYouMean !== keywords"><span>{{ didYouMean }}</span></a></p> 422 </div> 423 424 <div class="categories-results"> 425 <div class="categories-headline"> 426 <p>Kategorien</p> 427 </div> 428 <nav v-if="Object.keys(views.categories).length"> 429 <ul> 430 <li v-for="category in views.categories" class="category-item" v-bind:class="{active: activeCategory(category.key)}"> 431 <button @click.stop.prevent="setCategory(category.key)" class="category-item-button"><span v-html="category.label"></span><i v-if="category.count">({{ category.count }})</i></button> 432 </li> 433 </ul> 434 </nav> 435 </div> 436 437 <div v-if="Object.keys(views.results).length" class="search-results"> 438 <div v-if="Object.keys(views.globalRichSnippets).length && views.globalRichSnippets.hasOwnProperty('FAQPage')" class="search-rich-snippets"> 439 <div class="faq-rich-snippet" v-if="Object.keys(richSnippets['faq']).length">
440 <div v-for="(faq,name) in richSnippets['faq']" class="faq-container" v-bind:class="{active:faq.active}"> 441 <div class="faq-question" @click="toggleFaqSnippet(name)"> 442 <p><strong>{{ faq.question }}</strong></p> 443 </div> 444 <div class="faq-answer" v-show="faq.active"> 445 <p>{{ faq.answer }}</p> 446 </div> 447 </div> 448 </div> 449 </div> 450 451 <div v-for="result in views.results" class="results-group" v-if="result.hits.length"> 452 <div class="result-category" v-if="result.label"> 453 <p class="category-name">{{ result.label }} <span class="category-count">({{ result.hits.length }})</span></p> 454 </div> 455 <div class="result-hit" v-for="hit in result.hits" v-html="hit.template" @click="sendStat"></div> 456 </div> 457 458 </div> 459 </div> 460 <div v-if="!hasResults && !initial && !loading && keywords" class="no-search-results"> 461 <p>Keine Suchergebnisse gefunden.</p> 462 </div> 463 </div> 464 </div>
465<script> 466 window.elasticInstaces = window.elasticInstaces || []; 467 (function () { 468 let objState = { 469 keywords: '', 470 initial: true, 471 timeout: null, 472 categories: [], 473 loading: false, 474 hasResults: false, 475 resultsOnly: false, 476 autoCompleteJS: null, 477 loadMoreButton: true, 478 lastSort: '', 479 timer: null, 480 time: 0, 481 showOpenAiText: false, 482 openAi: false, 483 views: { 484 total: 0, 485 results: [], 486 didYouMean: [], 487 autocompletion: [], 488 categories: [], 489 globalRichSnippets: {} 490 }, 491 options: { 492 categories: {"event":{"id":4,"key":"event","label":"Veranstaltungen"},"news":{"id":3,"key":"news","label":"News"},"page":{"id":1,"key":"page","label":"Seiten"},"pdf":{"id":5,"key":"pdf","label":"pdf"}} }, 493 richSnippets: { 494 faq: {} 495 }, 496 urls: [] 497 }; 498 let elasticComponent = new Vue({ 499 el: "#id_search_6abf87179c6f563", 500 data: function () { 501 return objState 502 }, 503 methods: { 504 hasHits: function (hits) { 505 if (!hits) { 506 return false; 507 } 508 if (Array.isArray(hits)) { 509 return false; 510 } 511 for (let type in hits) { 512 if (hits.hasOwnProperty(type)) { 513 if (hits[type]['hits'].length) { 514 return true; 515 } 516 } 517 } 518 return false; 519 }, 520 fetch: function (params) { 521 522 523 if (this.keywords.length && this.keywords.length < 0 && !this.categories.length) { 524 return; 525 } 526 527 this.loading = true; 528 this.initial = false; 529 530 if (!this.keywords && !this.categories.length) { 531 this.hasResults = false; 532 this.views.results = []; 533 this.views.didYouMean = []; 534 this.views.autocompletion = []; 535 this.loading = false; 536 return; 537 } 538 539 this.startAiTimer(); 540 541 let searchAfter = params && params.hasOwnProperty('searchAfter') && params.searchAfter ? ('&search_after=' + params.searchAfter) : '' 542 this.$http.post('/elastic/search/results?query=' + this.keywords + searchAfter, { 543 categories: this.categories, 544 module: "63", 545 root: "1", 546 group: true, 547 source: window.location.href 548 }, 549 { 550 emulateJSON: true, 551 'Content-Type': 'application/x-www-form-urlencoded', 552 before: function (request) { 553 if (this.previousRequest) { 554 this.previousRequest.abort(); 555 } 556 this.previousRequest = request; 557 } 558 } 559 ).then(function (res) { 560 561 let results = res.body.results['hits'] ? res.body.results['hits'] : []; 562 let arrResults = this.groupResults(results); 563 564 if (params && params.hasOwnProperty('merge') && params.merge) { 565 let hasMatches = false; 566 for (let i = 0; i < arrResults.length; i++) { 567 if (this.add2ResultsByCategory(arrRe
567sults[i]['value'], arrResults[i])) { 568 hasMatches = true; 569 } 570 } 571 572 if (!hasMatches) { 573 this.loadMoreButton = false; 574 } 575 576 } else { 577 this.views.results = arrResults; 578 } 579 580 this.views.didYouMean = res.body.results['didYouMean']; 581 this.views.autocompletion = res.body.results['autocomplete']; 582 583 for (let i = 0; i < arrResults.length; i++) { 584 for (let j = 0; j < arrResults[i]['hits'].length; j++) { 585 this.urls.push(arrResults[i]['hits'][j]['url']); 586 } 587 } 588 589 if (this.hasHits(results)) { 590 this.hasResults = true; 591 } else { 592 this.categories = []; 593 this.hasResults = false; 594 } 595 596 this.countResults(); 597 this.views.globalRichSnippets = res.body.globalRichSnippets; 598 this.maxScore = res.body.results['max_score']; 599 this.setFaqRichSnippets(); 600 this.loading = false; 601 this.resultsOnly = false; 602 this.stopAiTimer(); 603 this.clickOutside(); 604 this.autoFocusFirstInputField(); 605 606 }.bind(this)); 607 }, 608 autoFocusFirstInputField: function () { 609 setTimeout(function () { 610 if (this.$refs['elasticsearchResultsContainer']) { 611 this.$refs['elasticsearchResultsContainer'].querySelector('input[type="search"]').focus(); 612 } 613 }.bind(this), 50); 614 }, 615 startAiTimer: function () { 616 if (!this.openAi) { 617 return; 618 } 619 this.timer = setInterval(function () { 620 this.time += 1; 621 if (this.time > 6 && !this.showOpenAiText) { 622 this.showOpenAiText = true; 623 } 624 }.bind(this), 1000); 625 }, 626 stopAiTimer: function () { 627 clearInterval(this.timer); 628 this.showOpenAiText = false; 629 this.timer = null; 630 this.time = 0; 631 }, 632 add2ResultsByCategory: function (category, results) { 633 let added = false; 634 let exist = false; 635 for (let i = 0; i < this.views.results.length; i++) { 636 if (this.views.results[i]['value'] === category) { 637 for (let j = 0; j < results['hits'].length; j++) { 638 if (!this.urls.includes(results['hits'][j]['url'])) { 639 this.views.results[i]['hits'].push(results['hits'][j]); 640 added = true; 641 } 642 } 643 exist = true; 644 } 645 } 646 if (!exist) { 647 this.views.results.push(results) 648 } 649 return added; 650 }, 651 loadMoreResults: function () { 652 this.fetch({ 653 'searchAfter': this.lastSort, 654 'merge': true 655 }) 656 }, 657 setDidYouMeanToKeyword: function () { 658 this.keywords = this.views.didYouMean[0]; 659 this.views.didYouMean = []; 660 this.fetch({}) 661 }, 662 setFaqRichSnippets: function () { 663 this.richSnippets['faq'] = {}; 664 if (Object.keys(this.views.globalRichSnippets).length && this.views.globalRichSnippets.hasOwnProperty('FAQPage')) { 665 for (let i = 0; i < this.views.globalRichSnippets['FAQPage'].length; i++) { 666 let faqPages = this.views.globalRichSnippets['FAQPage'][i]; 667 for (let j = 0; j < faqPages['mainEntity'].length; j++) { 668 let page = faqPages['mainEntity'][j]; 669 if (page['name'] && page['acceptedA
669nswer'] && page['acceptedAnswer']['text'] && page['_matched']) { 670 this.richSnippets['faq'][page.name] = { 671 question: page['name'], 672 answer: page['acceptedAnswer']['text'], 673 active: false 674 } 675 } 676 } 677 } 678 } 679 }, 680 toggleFaqSnippet: function (name) { 681 this.richSnippets['faq'][name]['active'] = !this.richSnippets['faq'][name]['active']; 682 this.$forceUpdate(); 683 }, 684 groupResults: function (hits) { 685 686 if (Array.isArray(hits)) { 687 return []; 688 } 689 690 let group = {}; 691 this.views.total = 0; 692 let onlyCategories = []; 693 for (let type in hits) { 694 if (hits.hasOwnProperty(type)) { 695 let val = hits[type]['value']; 696 if ((this.categories.length && this.categories.indexOf(val) === -1) || (onlyCategories.length && onlyCategories.indexOf(val) === -1)) { 697 continue; 698 } 699 group[type] = hits[type]; 700 this.lastSort = hits[type]['hits'].length ? hits[type]['hits'][hits[type]['hits'].length - 1]['sort'].join() : ''; 701 this.views.total = this.views.total + hits[type]['hits'].length; 702 } 703 } 704 705 let _sortedGroup = []; 706 if (onlyCategories.length) { 707 for (let i = 0; i < onlyCategories.length; i++) { 708 for (let groupLabel in group) { 709 if (group[groupLabel]['value'] === onlyCategories[i]) { 710 _sortedGroup.push(group[groupLabel]); 711 } 712 } 713 } 714 return _sortedGroup; 715 } else { 716 _sortedGroup = this.sortObject(group); 717 } 718 719 return _sortedGroup; 720 }, 721 countResults: function () { 722 723 let categories = []; 724 725 for (let i = 0; i < this.views.results.length; i++) { 726 727 let val = this.views.results[i]['value']; 728 let category = this.options.categories[val]; 729 if (typeof category === 'undefined' || !category) { 730 category = {}; 731 } 732 733 category['count'] = Array.isArray(this.views.results[i]['hits']) ? this.views.results[i]['hits'].length : 0; 734 735 if (typeof categories[i] === 'undefined') { 736 categories[i] = this.options.categories[val]; 737 } 738 } 739 740 if (!this.resultsOnly) { 741 this.views.categories = categories; 742 } 743 }, 744 sortObject: function (obj) { 745 let arrReturn = []; 746 Object.keys(obj).sort(function (a, b) {return a.toLowerCase().localeCompare(b.toLowerCase())}).forEach(function (v) { 747 arrReturn.push(obj[v]); 748 }); 749 return arrReturn; 750 }, 751 startsWithUppercase: function (str) { 752 return str.substr(0, 1).match(/[A-Z\u00C0-\u00DC]/); 753 }, 754 setCategory: function (category) { 755 this.resultsOnly = true; 756 let index = this.categories.indexOf(category); 757 if (index === -1) { 758 this.categories.push(category); 759 } else { 760 this.categories.splice(index, 1); 761 } 762 this.fetch({}); 763 }, 764 activeCategory: function (category) { 765 let index = this.categories.indexOf(category); 766 return index !== -1; 767 }, 768 search: function () { 769 770 771 this.loadMoreButton = true; 772 clearTimeout(this.timeout); 773 this.timeout = setTimeout(function () { 774 this.fetch({}); 775 }.bind(this), 800); 776 }, 777 submit: function () { 778 779 let match = this.autoCompleteJS.feedback && this.autoCompleteJS.feedback.hasOwnProperty('cursor') ? this.autoCompleteJS.feedback.matches[this.autoCompleteJS.feedback.cursor] : ''; 780 if (match) { 781 this.keywords = match.value; 782 this.fetch({}) 783 } else { 784 this.keywords = ''; 785 this.fetch({}) 786 } 787 }, 788 sendStat: function (e) { 789 let href = e.currentTarget.querySelector('a').href; 790 if (!href) { 791 return; 792 } 793 this.$http.post('/stat/click?query=' + this.keywords, { 794 url: href, 795 categories: this.categories 796 }, 797 { 798 emulateJSON: true, 799 'Content-Type': 'application/x-www-form-urlencoded' 800 } 801 ).then(function (res) { 802 // 803 }); 804 }, 805 clickOutside: function () { 806 if (this.$refs['elasticsearchContainerInside']) { 807 window.addEventListener('click', function () { 808 this.close(); 809 }.bind(this)); 810 this.$refs['elasticsearchContainerInside'].addEventListener('click', function (e) { 811 e.stopPropagation(); 812 }); 813 } 814 }, 815 close: function () { 816 this.hasResults = false;
817 this.keywords = ""; 818 this.categories = [] 819 }, 820 setAutoComplete: function () { 821 let self = this; 822 this.autoCompleteJS = new autoComplete({ 823 selector: "#ctrl_keywords_63", 824 placeHolder: "Wer sucht, der findet...", 825 threshold: 2, 826 debounce: 600, 827 submit: true, 828 data: { 829 src: async function (query) { 830 let headers = new Headers(); 831 headers.append('Accept', 'application/json'); 832 headers.append('Content-Type', 'application/json'); 833 const source = await fetch('/elastic/search/autocompletion?query=' + query, { 834 method: "POST", 835 headers: headers, 836 cache: "no-cache", 837 redirect: "follow", 838 credentials: "same-origin", 839 referrerPolicy: "no-referrer", 840 body: JSON.stringify({ 841 categories: self.categories, 842 module: "63", 843 root: "1" 844 }) 845 }); 846 let results = []; 847 let data = await source.json(); 848 for (let i = 0; i < data.results['hits'].length; i++) { 849 results.push(data.results['hits'][i]['term']); 850 } 851 return results; 852 } 853 }, 854 resultsList: { 855 maxResults: 50, 856 tabSelect: true 857 }, 858 resultItem: { 859 highlight: true 860 }, 861 events: { 862 input: { 863 selection: (event) => { 864 self.keywords = event.detail.selection.value; 865 self.fetch({}); 866 }, 867 keydown(event) { 868 switch (event.keyCode) { 869 case 40: 870 case 38: 871 event.preventDefault(); 872 event.keyCode === 40 ? objState.autoCompleteJS.next() : objState.autoCompleteJS.previous(); 873 break; 874 case 9: 875 event.preventDefault(); 876 if (objState.autoCompleteJS.resultsList.tabSelect) { 877 objState.autoCompleteJS.next() 878 } 879 break; 880 case 27: 881 objState.autoCompleteJS.input.value = ""; 882 objState.autoCompleteJS.close(); 883 break; 884 case 13: 885 event.preventDefault() 886 self.submit(); 887 objState.autoCompleteJS.close(); 888 break; 889 } 890 } 891 } 892 } 893 }); 894 } 895 }, 896 watch: { 897 'hasResults': { 898 handler: function (val) { 899 let objBody = document.querySelector('body'); 900 if (val) { 901 objBody.classList.add('search-panel-open'); 902 } else { 903 objBody.classList.remove('search-panel-open'); 904 } 905 } 906 } 907 }, 908 mounted: function () { 909 this.fetch({}); 910 } 911 }); 912 window.elasticInstaces.push(elasticComponent); 913 })(); 914</script>
914 915</div> 916<!-- indexer::continue --> 917 </div> 918 </header> 919 920 921 <div id="container" class="main-container"> 922 923 <main id="main" class="main"> 924 <div class="inside"> 925 926<!-- indexer::stop --> 927<div class="mod_breadcrumb block"> 928 929 930 931<ul> 932 <li> 933 <a 934 href="/ueberuns.html" title="St.Galler Kirche">St.Galler Kirche</a></li> 935 <li> 936 <a 937 href="/kirchenrat.html" title="Kirchenrat">Kirchenrat</a></li> 938 <li class="active last">Neue Kirchenverfassung</li> 939 </ul> 940 941 942</div> 943<!-- indexer::continue --> 944 945 946 <div class="mod_article block" id="article-272"> 947 948 <div class="ce_rsce_bild_mit_claim block"> 949 950 951 952 <div class="pic-with-claim"> 953 954<figure class="image_container"> 955 956 957 <picture> 958 <source srcset="/assets/images/5/front_verfassung_1-sjx2q9pnxqk1jjy.avif 1280w, /assets/images/q/front_verfassung_1-vqqy5t9ptzs8y0x.avif 360w, /assets/images/1/front_verfassung_1-9x3tmcyxb2st80j.avif 720w" sizes="100%" type="image/avif" width="1280" height="590"> 959 <source srcset="/assets/images/1/front_verfassung_1-h53sggjxy857tfa.webp 1280w, /assets/images/7/front_verfassung_1-tvk19jsdw66w1er.webp 360w, /assets/images/m/front_verfassung_1-a8z9a4nnyxtzrde.webp 720w" sizes="100%" type="image/webp" width="1280" height="590"> 960 961<img src="/assets/images/f/front_verfassung_1-aycjwhj40bk4y6d.jpg" srcset="/assets/images/f/front_verfassung_1-aycjwhj40bk4y6d.jpg 1280w, /assets/images/8/front_verfassung_1-c096wvzt9hh21jb.jpg 360w, /assets/images/t/front_verfassung_1-vzpszfyd0p09xgs.jpg 720w" sizes="100%" width="1280" height="590" alt=""> 962 963 </picture> 964 965 966 </figure> 967 968 <div class="claim color-sheme color-sheme--nohover color-sheme--wert6"> 969 <h1>Totalrevision Kirchenverfassung</h1> 970<p>Damit die St.Galler Kirche in guter Verfassung bleibt, braucht sie eine neue Verfassung.</p> 971<p> </p> </div> 972 </div> 973 974 </div> 975 976<div class="ce_text block"> 977 978 979 980 <h3>Die Verfassung der Evangelisch-reformierten Kirche des Kantons St.Gallen stammt aus dem Jahr 1974. Ãber fünfzig Jahre alt ist sie also. In dieser Zeit hat sich viel verändert, gesellschaftlich und kirchlich. Darum ist es höchste Zeit, die Verfassung grundlegend zu überarbeiten. <br>Sicher ist, die Botschaft bleibt. Die Verkündigung des Evangeliums steht im Zentrum einer Kirche, die in Wort und Tat aktiv ist und dadurch in der Gesellschaft relevant. Um diesen Auftrag erfüllen zu können, ist über die zeitgemässe Umsetzung nachzudenken;
980 in welcher Organisation, in welchen Strukturen und Prozessen. Dabei leitet uns der Slogan der St.Galler Kirche â¹nahe bei Gott â nahe bei den Menschenâº.</h3> 981<p> </p> 982 983 984 985</div> 986 987 988 <div class="ce_refsg_subpages"> 989 990 991 <div class="subpage color-sheme color-sheme--wert6"> 992 993 <a href="/auftakt-zur-verfassungsreform.html" title=""> 994 <h2>Auftakt zur Verfassungsreform</h2> 995 </a> 996 997 </div> 998 999 1000 <div class="subpage color-sheme color-sheme--wert6"> 1001 1002 <a href="/ausgangslage-und-ziel.html" title=""> 1003 <h2>Ausgangslage und Ziele</h2> 1004 </a> 1005 1006 </div> 1007 1008 1009 <div class="subpage color-sheme color-sheme--wert6"> 1010 1011 <a href="/prozess.html" title=""> 1012 <h2>Projektorganisation und Prozess</h2> 1013 </a> 1014 1015 </div> 1016 1017 1018 <div class="subpage color-sheme color-sheme--wert6"> 1019 1020 <a href="/mitwirken.html" title=""> 1021 <h2>Mitwirken</h2> 1022 </a> 1023 1024 </div> 1025 1026 1027 </div> 1028 1029 1030 1031<!-- indexer::stop --> 1032<div class="mod_newslist arbeitsstellen block"> 1033 1034 <h1>Informiert</h1> 1035 1036 1037 <div class="layout_latest box_arbeitsstellen no-content arc_1 block featured"> 1038 <div class="details"> 1039 <h2>Keine Nachrichten</h2> 1040 1041 <div class="teaser"> 1042 <p>Dieser Arbeitsstelle wurden noch keine Nachrichten zugewiesen.</p> 1043 </div> 1044 </div> 1045 1046 </div> 1047 <div class="layout_latest box_arbeitsstellen arc_1 block featured"> 1048 <a href="/aktuelles-details/st-galler-kirche-startet-verfassungsreform.html" title=""> 1049 <div class="details"> 1050 <h2>St.Galler Kirche startet Verfassungsreform</h2> 1051 1052 <div class="teaser"> 1053 <p>Die Verfassung der Evangelisch-reformierten Kirche des Kantons St.Gallen ist in die Jahre gekommen. Es braucht eine neue. Nun erfolgte der Start zur Gesamtrevision.</p> </div> 1054 1055 <!--<p class="more"><a href="/aktuelles-details/st-galler-kirche-startet-verfassungsreform.html" title="Den Artikel lesen: St.Galler Kirche startet Verfassungsreform">Weiterlesen<span class="invisible"> St.Galler Kirche startet Verfassungsreform</span></a></p>--> 1056 </div> 1057 </a> 1058 </div> 1059 <div class="all"><a href="/informiert.html" class="button" 1060 title="">Alle Beiträge anzeigen</a></div> 1061 1062 1063</div> 1064<!-- indexer::continue --> 1065 1066<!-- indexer::stop --> 1067<div class="mod_eventlist arbeitsstellen block"> 1068 1069 <h1>Nächste Veranstaltungen</h1> 1070 1071 <div 1072 class="event box_arbeitsstellen layout_teaser no-content arc_ block current even first last cal_4294967295"> 1073 <h2>Keine Veranstaltungen</h2> 1074 <div class="details"> 1075 <div class="teaser"> 1076 <p>Dieser Arbeitsstelle wurden noch keine Veranstaltungen zugewiesen.</p> 1077 </div> 1078 </div> 1079 </div> 1080 1081<div class="all"><a href="/veranstaltungen.html" title="" class="button">Alle 1082 Veranstaltungen laden</a></div> 1083 1084 1085</div> 1086<!-- indexer::continue --> 1087 1088 1089 1090<h2 class="ce_headline" style="color:rgba(0,0,0,1)"> 1091Projektleitung Neue Kirchenverfassung</h2> 1092 1093 1094 <div class="team-list team-list--new"> 1095 1096<div class="team-element team-element--new grid-sizer "> 1097 <div id="id-42" class="toggle"></div> 1098 <div class="team-element--wrapper"> 1099 <div class="side"> 1100 <div class="team-image"> 1101 1102<figure class="image_container"> 1103 1104 1105 <picture>
1106 <source srcset="/assets/images/f/Martin_Schmidt_0922_web-f3cx0mnpagy3d0d.avif" type="image/avif" width="385" height="230"> 1107 <source srcset="/assets/images/6/Martin_Schmidt_0922_web-23qqgvr4q11cssf.webp" type="image/webp" width="385" height="230"> 1108 1109<img src="/assets/images/4/Martin_Schmidt_0922_web-a96eycw9hxt5eey.jpg" width="385" height="230" alt="" loading="lazy"> 1110 1111 </picture> 1112 1113 1114 </figure> 1115 1116 </div> 1117 </div> 1118 <div class="main"> 1119 <ul> 1120 <li><h4>Martin Schmidt</h4></li> 1121 <li> 1122 <span><img src="files/custom-elements-assets/icons/location.png"/></span> 1123 <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen" 1124 target="_map" 1125 title="Google Maps öffnen">Oberer Graben 31</a> 1126 </li> 1127 <li> 1128 <span><img src="files/custom-elements-assets/icons/spacer.png"/></span> 1129 <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen" 1130 target="_map" 1131 title="Google Maps öffnen">9000 St.Gallen</a> 1132 </li> 1133 <li> 1134 <span><img src="files/custom-elements-assets/icons/phone.png"/></span> 1135 <a href="tel:+41712270507" 1136 title="Martin Schmidt anrufen">071 227 05 07</a> 1137 </li> 1138 <li> 1139 <span><img src="files/custom-elements-assets/icons/e-mail.png"/></span> 1140 <a href="mailto:[email protected]" target="_mail" 1141 title="E-Mail an Martin Schmidt senden">[email protected]</a> 1142 </li> 1143 </ul> 1144 </div><!-- main --> 1145 </div> 1146 1147 <div id="details-id-42" class="details"> 1148 <p><strong>«Ich glaube, dass wir nicht â¹Ã¤rmer, älter und kleiner werden⺠sondern â¹kleiner, klarer und kostbarerâº.»<br></strong><br>Martin Schmidt ist Theologe und Religionspädagoge. Seit März 2014 ist er Kirchenratspräsident der St.Galler Kirche mit dem Ressort «Theologie, Pastorales und Musik», nachdem er zuvor 12 Jahre im Kirchenrat mit dem Ressort «Religionsunterricht/Schulische Bildung» betraut war. Er war von 1991 an 20 Jahre im Gemeindepfarramt in den Kirchgemeinden Sevelen und Berneck-Au-Heerbrugg tätig, das er sich jeweils mit seiner Frau geteilt hat. Danach war er von 2009 bis 2014 Dozent und Titularprofessor an der Pädagogischen Hochschule St.Gallen. Er ist verheiratet und Vater von drei erwachsenen Kindern.<br>Da ihm die kirchenpolitische Vernetzung ein Anliegen ist, engagiert er sich in verschiedenen Kommissionen, Beiräten und Patronatskomitees, um die Anliegen einer mittelgrossen Kantonalkirche einzubringen. Er ist Präsident der Schweizerischen Liturgie- und Gesangbuchkonferenz (LGBK), Delegierter in der EKS und der Deutschschweizer Kirchenkommission KIKO, sowie Mitglied des Büros des Konkordates und des Schweizerischen Weiterbildungsrates.</p> </div> 1149 1150</div> 1151 1152<div class="team-element team-element--new grid-sizer "> 1153 <div id="id-235" class="toggle"></div> 1154 <div class="team-element--wrapper"> 1155 <div class="side"> 1156 <div class="team-image"> 1157 1158<figure class="image_container"> 1159 1160 1161 <picture> 1162 <source srcset="/assets/images/h/Roland_Plattner_1225_9707%20web-907ydgzf24gpm46.avif" type="image/avif" width="385" height="230"> 1163 <source srcset="/assets/images/g/Roland_Plattner_1225_9707%20web-1e2hvem9e8g4tkv.webp" type="image/webp" width="385" height="230"> 1164 1165<img src="/assets/images/p/Roland_Plattner_1225_9707%20web-ra2fme46f7czftr.jpg" width="385" height="230" alt="" loading="lazy"> 1166 1167 </picture> 1168 1169 1170 </figure> 1171 1172 </div> 1173 </div> 1174 <div class="main"> 1175 <ul> 1176 <li><h4>Roland Plattner</h4></li> 1177 <li>
1178 <span><img src="files/custom-elements-assets/icons/location.png"/></span> 1179 <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen" 1180 target="_map" 1181 title="Google Maps öffnen">Oberer Graben 31</a> 1182 </li> 1183 <li> 1184 <span><img src="files/custom-elements-assets/icons/spacer.png"/></span> 1185 <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen" 1186 target="_map" 1187 title="Google Maps öffnen">9000 St.Gallen</a> 1188 </li> 1189 <li> 1190 <span><img src="files/custom-elements-assets/icons/e-mail.png"/></span> 1191 <a href="mailto:[email protected]" target="_mail" 1192 title="E-Mail an Roland Plattner senden">[email protected]</a> 1193 </li> 1194 </ul> 1195 </div><!-- main --> 1196 </div> 1197 1198 <div id="details-id-235" class="details"> 1199 <p>Roland Plattner koordiniert auf Mandatsbasis das Projekt der Verfassungsreform. Roland Plattner ist promovierter Jurist und hat als Kirchenschreiber der Evangelisch-reformierten Kirche des Kantons Basellandschaft die dortige Verfassungsreform begleitet.</p> </div> 1200 1201</div> 1202 1203<div class="team-element team-element--new grid-sizer "> 1204 <div id="id-220" class="toggle"></div> 1205 <div class="team-element--wrapper"> 1206 <div class="side"> 1207 <div class="team-image"> 1208 1209<figure class="image_container"> 1210 1211 1212 <picture> 1213 <source srcset="/assets/images/2/Kai_Kellenberger_0825_web-rx0kf3w9vrdsh6d.avif 1x, /assets/images/n/Kai_Kellenberger_0825_web-bzf13z4cn51ymbd.avif 2x" type="image/avif" width="385" height="230"> 1214 <source srcset="/assets/images/8/Kai_Kellenberger_0825_web-6jb72d5fyavf29c.webp 1x, /assets/images/f/Kai_Kellenberger_0825_web-8cvgjdwv64xc40p.webp 2x" type="image/webp" width="385" height="230"> 1215 1216<img src="/assets/images/2/Kai_Kellenberger_0825_web-fpyhfsbjyw6mn30.jpg" srcset="/assets/images/2/Kai_Kellenberger_0825_web-fpyhfsbjyw6mn30.jpg 1x, /assets/images/x/Kai_Kellenberger_0825_web-zvtkwk30rcvnpjh.jpg 2x" width="385" height="230" alt="" loading="lazy"> 1217 1218 </picture> 1219 1220 1221 </figure> 1222 1223 </div> 1224 </div> 1225 <div class="main"> 1226 <ul> 1227 <li><h4>Kai Kellenberger</h4></li> 1228 <li> 1229 <span><img src="files/custom-elements-assets/icons/location.png"/></span> 1230 <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen" 1231 target="_map" 1232 title="Google Maps öffnen">Oberer Graben 31</a> 1233 </li> 1234 <li> 1235 <span><img src="files/custom-elements-assets/icons/spacer.png"/></span> 1236 <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen" 1237 target="_map" 1238 title="Google Maps öffnen">9000 St.Gallen</a> 1239 </li> 1240 <li> 1241 <span><img src="files/custom-elements-assets/icons/phone.png"/></span> 1242 <a href="tel:+41712270505" 1243 title="Kai Kellenberger anrufen">071 227 05 05</a> 1244 </li> 1245 <li> 1246 <span><img src="files/custom-elements-assets/icons/e-mail.png"/></span> 1247 <a href="mailto:[email protected]" target="_mail" 1248 title="E-Mail an Kai Kellenberger senden">[email protected]</a> 1249 </li> 1250 </ul> 1251 </div><!-- main --> 1252 </div> 1253 1254 <div id="details-id-220" class="details"> 1255 <p>Kai Kellenberger ist Kirchenschreiberin.</p> </div> 1256 1257</div> 1258 1259<div class="team-element team-element--new grid-sizer "> 1260 <div id="id-234" class="toggle"></div> 1261 <div class="team-element--wrapper"> 1262 <div class="side"> 1263 <div class="team-image"> 1264 1265<figure class="image_container"> 1266 1267 1268 <picture> 1269 <source srcset="/assets/images/2/Annina_Frei_web-xw2n3awh2wx3wrs.avif" type="image/avif" width="385" height="230"> 1270 <source srcset="/assets/images/3/Annina_Frei_web-qegcmg5gt590na1.webp" type="image/webp" width="385" height="230"> 1271 1272<img src="/assets/images/8/Annina_Frei_web-01apprfjgnnzqfq.jpg" width="385" height="230" alt="" loading="lazy"> 1273 1274 </picture> 1275 1276 1277 </figure> 1278 1279 </div> 1280 </div> 1281 <div class="main"> 1282 <ul> 1283 <li><h4>Annina Frei</h4></li> 1284 <li>
1285 <span><img src="files/custom-elements-assets/icons/location.png"/></span> 1286 <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen" 1287 target="_map" 1288 title="Google Maps öffnen">Oberer Graben 31</a> 1289 </li> 1290 <li> 1291 <span><img src="files/custom-elements-assets/icons/spacer.png"/></span> 1292 <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen" 1293 target="_map" 1294 title="Google Maps öffnen">9000 St.Gallen</a> 1295 </li> 1296 <li> 1297 <span><img src="files/custom-elements-assets/icons/phone.png"/></span> 1298 <a href="tel:+41712270543" 1299 title="Annina Frei anrufen">071 227 05 43</a> 1300 </li> 1301 <li> 1302 <span><img src="files/custom-elements-assets/icons/e-mail.png"/></span> 1303 <a href="mailto:[email protected]" target="_mail" 1304 title="E-Mail an Annina Frei senden">[email protected]</a> 1305 </li> 1306 </ul> 1307 </div><!-- main --> 1308 </div> 1309 1310 <div id="details-id-234" class="details"> 1311 <p>Annina Frei führt während der Verfassungsrevision die Assistenz des Projektes.</p> </div> 1312 1313</div> 1314 </div> 1315 1316 1317<section 1318 class="ce_accordionStart accordion ce_accordion block"> 1319 1320 <div 1321 class="toggler accordion__overview "> 1322 FAQ - oder, was ich schon immer wissen wollte </div> 1323 1324 <div class="accordion"> 1325 <div> 1326 1327<div class="ce_text block"> 1328 1329 1330 1331 <h3>Warum soll die Kirchenverfassung vom 13. Januar 1974 einer Totalrevision unterzogen werden?</h3> 1332<p>In der Kirchenverfassung, auch als âGrundgesetzâ bezeichneten Rechtserlass, werden grundlegende Aussagen zum Kirche sein, zur kirchlichen Organisation, ihren Strukturen und Prozessen gemacht. Dies soll im Lichte der Entwicklung überprüft und dort, wo es sich als sinnvoll erweist, in zukunftstauglicher Form neu geordnet werden.<br>Die Entwicklung der Kirchen in der Schweiz geht aufgrund von Megatrends insbesondere seit der Jahrtausendwende in Richtung âkleiner, älter und ärmerâ. Dies ist mit ein Grund, sich mit der aus dem Jahre 1974 stammenden und folglich in die Jahre gekommenen Kirchenverfassung auseinander zu setzen.<br>Die Kirchenverfassungsrevision ist der richtige und auch geeignete Rahmen für eine solch grosse und umfassende Aufgabe.</p> 1333<hr> 1334<h3>Was ist eine Kirchenverfassung und was wird darin geregelt?</h3> 1335<p>In ihrer Kirchenverfassung regeln die (vier) vom Kanton öffentlich-rechtlich anerkannten Religionsgemeinschaften die Grundzüge ihrer Organisation. Dazu gehören nach allgemeinem Verständnis neben den organisatorischen Grundlagen insbesondere grundsätzliche Aussagen zum Kirche Sein, zu den Strukturen und Prozessen. Eine Verfassung ist mit Vorteil zukunftsoffen sowie âso kurz und offen wie möglich und so ausführlich wie nötigâ.</p> 1336<p>Die heutige <a href="/files/content/dokumente-pdf/gueltige_erlasse/10/11_10_verfassung_der_evangelisch_reformierten_kirche_des_kantons_st_gallen.pdf" target="_blank" rel="noopener">Kirchenverfassung</a> besteht aus den folgenden Teilen:</p> 1337<p><strong>Präambel:</strong> 1. Kor. 3,11<br><strong>Erster Teil:</strong> Allgemeine Bestimmungen; Bekenntnis, Auftrag, Volkskirche <br><strong>Zweiter Teil:</strong> die Kirchgemeinden; Aufgaben, Bestand und Organisation, Kirchgemeindeversammlung, Kirchenvorsteherschaft, GPK<br><strong>Dritter Teil:</strong> Dienste und Ãmter<br><strong>Vierter Teil:</strong> Kirchenbezirke<br><strong>Fünfter Teil:</strong> Die Kantonalkirche; Aufgaben und Mittel, Evangelisch-reformierte Aktiv-bürgerschaft, Synode, Kirchenrat<br><strong>Sechster Teil:</strong> Gemeinsame Bestimmungen für Kirchgemeinden, Kirchenbezirke und Kantonalkirche<br><strong>Siebter Teil:</strong> Schlussbestimmungen</p> 1338<hr> 1339<h3>Welche Bedeutung hat eine Kirchenverfassung bzw. was kann sie leisten?</h3> 1340<p>Eine Verfassung als höchster Erlass einer öffentlich-rechtlichen Organisation kann nicht mehr leisten als das, was das verfassungsgebende Organ (konkret die Synode bzw. letztlich die Aktivbürgerschaft) als grundlegend wichtig erachten und darin auch aufzunehmen bereit sind.<br>Um dies herauszufinden und auf Basis des IST ein neues SOLL festzulegen, ist es entscheidend, einen breit abgestützten, zukunftsoffenen, umsichtig und mit Wertschätzung für das historisch Gewachsene gestalteten Prozess der Verfassungsrevision zu führen.<br>Unter dieser Prämisse kann eine Kirchenverfassung im Rahmen der Vorgaben übergeordneten Rechts (<a href="https://www.gesetzessammlung.sg.ch/app/de/texts_of_law/111.1" target="_blank" rel="noopener">Artikel 109 â 111 der Kantonsverfassung</a> sowie <a href="https://www.lexfind.ch/tolv/85313/de" target="_blank" rel="noopener">Gesetz über die öffentlich-rechtlich anerkannten Religionsgemeinschaften</a>) fast âallesâ. Die Kirchen verfügen auf der Grundlage ihres Selbstverständnisses über einen sehr hohen Grad an Autonomie.</p> 1341<hr> 1342<p> </p> 1343<p> </p> 1344 1345 1346 1347</div> 1348 1349 </div> 1350 </div> 1351 1352</section> 1353 1354 </div> 1355 1356 </div> 1357 1358 <div class="scroll-down hidden"><a href="#infos-anmeldung" class="button button--big active">Infos und Anmeldung</a></div> 1359 </main> 1360 1361 1362 1363 </div> 1364 1365 1366 <footer id="footer" class="main-footer"> 1367 <div class="inside"> 1368 1369<div class="footer"><div class="rs-columns ce_rs_columns_start"> 1370 1371 <div class="ce_rs_column_start address rs-column -large-col-4-1 -large-first -large-first-row -medium-col-2-1 -medium-first -medium-first-row -small-col-1-1 -small-first -small-last -small-first-row"> 1372 1373 1374<div class="ce_text block"> 1375 1376 1377 1378 <p>Evang.-ref. Kirche des Kantons St. Gallen<br>Oberer Graben 31<br>9000 St.Gallen<br><a href="tel:+41712270500">T +41 (0)71 227 05 00</a><a href="mailto:info@ref-sg.ch" target="_blank" rel="noopener">info@ref-sg.ch</a></p> 1379 1380 1381 1382</div> 1383</div> 1384<div class="ce_rs_column_start navigation rs-column -large-col-4-1 -large-first-row -medium-col-2-1 -medium-last -medium-first-row -small-col-1-1 -small-first -small-last"> 1385 1386 1387<!-- indexer::stop --> 1388<nav class="mod_customnav first-column block"> 1389 1390 1391 <a href="/neue-kirchenverfassung.html#skipNavigation54" class="invisible">Navigation überspringen</a> 1392 1393 <ul class="level_1" role="menubar"> 1394 1395 1396 <li> 1397 <a href="/kirchgemeinden-von-a-z.html" title="Kirchgemeinden von A-Z" role="menuitem">Kirchgemeinden von A-Z</a> </li> 1398 1399 1400 <li> 1401 <a href="/kirchgemeinden-kantonalkirche-adressen.html" title="Kirchgemeinden / Kantonalkirche Adressen" role="menuitem">Kirchgemeinden / Kantonalkirche Adressen</a> </li> 1402 1403 1404 <li> 1405 <a href="http://www.kirchenbote-sg.ch/startseite/" title="Kirchenbote" target="_blank" role="menuitem">Kirchenbote</a> </li> 1406 </ul> 1407 1408 <span id="skipNavigation54" class="invisible"></span> 1409 1410</nav> 1411<!-- indexer::continue --> 1412 1413<div id="scrolltop"> 1414 <a href="#" class="scrollup" title="Scroll to top" style="display: inline;"> 1415 <img src="files/template/img/icons/scrolltop.svg" alt="Scroll to top"> 1416 </a> 1417</div></div> 1418<div class="ce_rs_column_start navigation-2 rs-column -large-col-4-1 -large-first-row -medium-col-2-1 -medium-first -small-col-1-1 -small-first -small-last"> 1419 1420 1421<!-- indexer::stop --> 1422<nav class="mod_customnav third-column block"> 1423 1424 1425 <a href="/neue-kirchenverfassung.html#skipNavigation55" class="invisible">Navigation überspringen</a> 1426 1427 <ul class="level_1" role="menubar"> 1428 1429 1430 <li> 1431 <a href="/Verfassung-und-gueltige-Erlasse.html" title="Gültige Erlasse" role="menuitem">Gültige Erlasse</a> </li> 1432 1433 1434 <li> 1435 <a href="/neue-kirchenverfassung.html" title="St.Galler Kirche 2025" role="menuitem">St.Galler Kirche 2025</a> </li> 1436 1437 1438 <li> 1439 <a href="/stellen.html" title="Stellen" role="menuitem">Stellen</a> </li> 1440 1441 1442 <li> 1443 <a href="/persoenlichkeitsschutz.html" title="Persönlichkeitsschutz in der Kirche" role="menuitem">Persönlichkeitsschutz in der Kirche</a> </li> 1444 </ul> 1445 1446 <span id="skipNavigation55" class="invisible"></span> 1447 1448</nav> 1449<!-- indexer::continue --> 1450</div> 1451<div class="ce_rs_column_start social-media rs-column -large-col-4-1 -large-last -large-first-row -medium-col-2-1 -medium-last -small-col-1-1 -small-first -small-last"> 1452 1453 1454<div class="ce_text block"> 1455 1456 1457 1458 1459 1460<figure class="image_container float_above"> 1461 <a href="https://www.google.com/maps/place/Evang.-ref.+Kirche+des+Kantons+St.Gallen/@47.422964,9.3725055,17z/data=!3m1!4b1!4m5!3m4!1s0x479b1ff56897219f:0xf5e1e7f2ea85841d!8m2!3d47.4229613!4d9.3746824" target="_blank" rel="noreferrer noopener"> 1462 1463 1464 1465<img src="/files/template/img/icons/google_maps.svg" width="17" height="24" alt=""> 1466 1467 1468 </a> 1469 1470 </figure> 1471 1472 1473 <p><a href="https://www.google.com/maps/place/Evang.-ref.+Kirche+des+Kantons+St.Gallen/@47.422964,9.3725055,17z/data=!3m1!4b1!4m5!3m4!1s0x479b1ff56897219f:0xf5e1e7f2ea85841d!8m2!3d47.4229613!4d9.3746824" target="_blank" rel="noopener">Google Maps</a></p> 1474 1475</div> 1476 1477<div class="ce_text block"> 1478 1479 1480 1481 1482 1483<figure class="image_container float_above"> 1484 <a href="https://www.youtube.com/channel/UCYRDpJLQCVbNvjHJ9bI90LA" target="_blank" rel="noreferrer noopener"> 1485 1486 1487 1488<img src="/files/template/img/icons/youtube.svg" width="24" height="18" alt=""> 1489 1490 1491 </a> 1492 1493 </figure> 1494 1495 1496 <p><a href="https://www.youtube.com/channel/UCYRDpJLQCVbNvjHJ9bI90LA" target="_blank" rel="noopener">Youtube</a></p> 1497 1498</div> 1499 1500<div class="ce_text block"> 1501 1502 1503 1504 1505 1506<figure class="image_container float_above"> 1507 <a href="https://www.instagram.com/ref_st_gallen/" target="_blank" rel="noreferrer noopener"> 1508 1509 1510 1511<img src="/files/template/img/icons/instagram.svg" width="24" height="24" alt=""> 1512 1513 1514 </a> 1515 1516 </figure> 1517 1518 1519 <p><a href="https://www.instagram.com/ref_st_gallen/" target="_blank" rel="noopener">Instagram</a></p> 1520 1521</div> 1522 1523<div class="ce_text block"> 1524 1525 1526 1527 1528 1529<figure class="image_container float_above"> 1530 <a href="https://vimeo.com/gedankenzurzeit" title="zu Vimeo" target="_blank" rel="noreferrer noopener"> 1531 1532 1533 1534<img src="/files/template/img/icons/vimeo.svg" width="24" height="22" alt=""> 1535 1536 1537 </a> 1538 1539 </figure> 1540 1541 1542 <p><a title="Gedanken zur Zeit" href="https://vimeo.com/gedankenzurzeit" target="_blank" rel="noopener">Vimeo</a></p> 1543 1544</div> 1545</div> 1546</div> 1547 1548<!-- indexer::stop --> 1549<nav class="mod_customnav first-column meta block"> 1550 1551 1552 <a href="/neue-kirchenverfassung.html#skipNavigation56" class="invisible">Navigation überspringen</a> 1553 1554 <ul class="level_1" role="menubar"> 1555 1556 1557 <li> 1558 <a href="/impressum.html" title="Impressum" role="menuitem">Impressum</a> </li> 1559 1560 1561 <li> 1562 <a href="/disclaimer.html" title="Disclaimer" role="menuitem">Disclaimer</a> </li> 1563 1564 1565 <li> 1566 <a href="/datenschutz.html" title="Datenschutz" role="menuitem">Datenschutz</a> </li> 1567 </ul> 1568 1569 <span id="skipNavigation56" class="invisible"></span> 1570 1571</nav> 1572<!-- indexer::continue --> 1573 1574</div> 1575<div class="newsletter-footer"></div> 1576<div id="scrolltop"> 1577 <a href="#" class="scrollup" title="Scroll to top" style="display: inline;"> 1578 <img src="files/template/img/icons/scrolltop.svg" alt="Scroll to top"> 1579 </a> 1580</div> </div> 1581 </footer> 1582 1583</div> 1584 1585 1586
1587<script src="/assets/colorbox/js/colorbox.min.js?v=1.6.4.2"></script>
vendor: 1 bytes, line 1587
1587
1588<script> 1589 1590 jQuery(function ($) { 1591 $('a[data-lightbox]').map(function () { 1592 if ($(this).hasClass('colorbox_iframe')) { 1593 $(this).colorbox({ 1594 iframe: true, 1595 width: "900px", 1596 height: "600px", 1597 maxWidth: '95%', 1598 maxHeight: '80%', 1599 onOpen: function () { 1600 $('html:not(.lightbox)').addClass('no-scroll'); 1601 }, 1602 onClosed: function () { 1603 $('html:not(.lightbox)').removeClass('no-scroll'); 1604 } 1605 }); 1606 } else { 1607 $(this).colorbox({ 1608 loop: false, 1609 rel: $(this).attr('data-lightbox'), 1610 maxWidth: '95%', 1611 maxHeight: '80%' 1612 }); 1613 } 1614 1615 1616 }); 1617 }); 1618</script>
vendor: 1 bytes, line 1618
1618
1619<script src="/assets/jquery-ui/js/jquery-ui.min.js?v=1.13.2"></script>
vendor: 1 bytes, line 1619
1619
1620<script> 1621 jQuery(function ($) { 1622 $(document).accordion({ 1623 // Put custom options here 1624 heightStyle: 'content', 1625 header: '.toggler', 1626 collapsible: true, 1627 active: false, 1628 create: function (event, ui) { 1629 ui.header.addClass('active'); 1630 $('.toggler').attr('tabindex', 0); 1631 }, 1632 activate: function (event, ui) { 1633 ui.newHeader.addClass('active'); 1634 ui.oldHeader.removeClass('active'); 1635 $('.toggler').attr('tabindex', 0); 1636 } 1637 }); 1638 }); 1639</script>
vendor: 1 bytes, line 1639
1639
1640<script> 1641 window.elasticInstaces = window.elasticInstaces || []; 1642 (function () { 1643 let objState = { 1644 keywords: '', 1645 initial: true, 1646 timeout: null, 1647 categories: null, 1648 loading: false, 1649 hasResults: false, 1650 resultsOnly: false, 1651 autoCompleteJS: null, 1652 loadMoreButton: true, 1653 lastSort: '', 1654 timer: null, 1655 time: 0, 1656 showOpenAiText: false, 1657 openAi: false, 1658 views: { 1659 total: 0, 1660 results: [], 1661 didYouMean: [], 1662 autocompletion: [], 1663 categories: [], 1664 globalRichSnippets: {} 1665 }, 1666 options: { 1667 categories: null }, 1668 richSnippets: { 1669 faq: {} 1670 }, 1671 urls: [] 1672 }; 1673 let elasticComponent = new Vue({ 1674 el: "#", 1675 data: function () { 1676 return objState 1677 }, 1678 methods: { 1679 hasHits: function (hits) { 1680 if (!hits) { 1681 return false; 1682 } 1683 if (Array.isArray(hits)) { 1684 return false; 1685 } 1686 for (let type in hits) { 1687 if (hits.hasOwnProperty(type)) { 1688 if (hits[type]['hits'].length) { 1689 return true; 1690 } 1691 } 1692 } 1693 return false; 1694 }, 1695 fetch: function (params) { 1696 1697 1698 if (this.keywords.length && this.keywords.length < 0 && !this.categories.length) { 1699 return; 1700 } 1701 1702 this.loading = true; 1703 this.initial = false; 1704 1705 if (!this.keywords && !this.categories.length) { 1706 this.hasResults = false; 1707 this.views.results = []; 1708 this.views.didYouMean = []; 1709 this.views.autocompletion = []; 1710 this.loading = false; 1711 return; 1712 } 1713 1714 this.startAiTimer(); 1715 1716 let searchAfter = params && params.hasOwnProperty('searchAfter') && params.searchAfter ? ('&search_after=' + params.searchAfter) : '' 1717 this.$http.post('/elastic/search/results?query=' + this.keywords + searchAfter, { 1718 categories: this.categories, 1719 module: "", 1720 root: "", 1721 group: true, 1722 source: window.location.href 1723 }, 1724 { 1725 emulateJSON: true, 1726 'Content-Type': 'application/x-www-form-urlencoded', 1727 before: function (request) { 1728 if (this.previousRequest) { 1729 this.previousRequest.abort(); 1730 } 1731 this.previousRequest = request; 1732 } 1733 } 1734 ).then(function (res) { 1735 1736 let results = res.body.results['hits'] ? res.body.results['hits'] : []; 1737 let arrResults = this.groupResults(results); 1738 1739 if (params && params.hasOwnProperty('merge') && params.merge) { 1740 let hasMatches = false; 1741 for (let i = 0; i < arrResults.length; i++) { 1742 if (this.add2ResultsByCategory(arrResults[i]['value'], arrResults[i])) { 1743 hasMatches = true; 1744 } 1745 } 1746 1747 if (!hasMatches) { 1748 this.loadMoreButton = false;
1749 } 1750 1751 } else { 1752 this.views.results = arrResults; 1753 } 1754 1755 this.views.didYouMean = res.body.results['didYouMean']; 1756 this.views.autocompletion = res.body.results['autocomplete']; 1757 1758 for (let i = 0; i < arrResults.length; i++) { 1759 for (let j = 0; j < arrResults[i]['hits'].length; j++) { 1760 this.urls.push(arrResults[i]['hits'][j]['url']); 1761 } 1762 } 1763 1764 if (this.hasHits(results)) { 1765 this.hasResults = true; 1766 } else { 1767 this.categories = []; 1768 this.hasResults = false; 1769 } 1770 1771 this.countResults(); 1772 this.views.globalRichSnippets = res.body.globalRichSnippets; 1773 this.maxScore = res.body.results['max_score']; 1774 this.setFaqRichSnippets(); 1775 this.loading = false; 1776 this.resultsOnly = false; 1777 this.stopAiTimer(); 1778 this.clickOutside(); 1779 this.autoFocusFirstInputField(); 1780 1781 }.bind(this)); 1782 }, 1783 autoFocusFirstInputField: function () { 1784 setTimeout(function () { 1785 if (this.$refs['elasticsearchResultsContainer']) { 1786 this.$refs['elasticsearchResultsContainer'].querySelector('input[type="search"]').focus(); 1787 } 1788 }.bind(this), 50); 1789 }, 1790 startAiTimer: function () { 1791 if (!this.openAi) { 1792 return; 1793 } 1794 this.timer = setInterval(function () { 1795 this.time += 1; 1796 if (this.time > 6 && !this.showOpenAiText) { 1797 this.showOpenAiText = true; 1798 } 1799 }.bind(this), 1000); 1800 }, 1801 stopAiTimer: function () { 1802 clearInterval(this.timer); 1803 this.showOpenAiText = false; 1804 this.timer = null; 1805 this.time = 0; 1806 }, 1807 add2ResultsByCategory: function (category, results) { 1808 let added = false; 1809 let exist = false; 1810 for (let i = 0; i < this.views.results.length; i++) { 1811 if (this.views.results[i]['value'] === category) { 1812 for (let j = 0; j < results['hits'].length; j++) { 1813 if (!this.urls.includes(results['hits'][j]['url'])) { 1814 this.views.results[i]['hits'].push(results['hits'][j]); 1815 added = true; 1816 } 1817 } 1818 exist = true; 1819 } 1820 } 1821 if (!exist) { 1822 this.views.results.push(results) 1823 } 1824 return added; 1825 }, 1826 loadMoreResults: function () { 1827 this.fetch({ 1828 'searchAfter': this.lastSort, 1829 'merge': true 1830 }) 1831 }, 1832 setDidYouMeanToKeyword: function () { 1833 this.keywords = this.views.didYouMean[0]; 1834 this.views.didYouMean = []; 1835 this.fetch({}) 1836 }, 1837 setFaqRichSnippets: function () { 1838 this.richSnippets['faq'] = {}; 1839 if (Object.keys(this.views.globalRichSnippets).length && this.views.globalRichSnippets.hasOwnProperty('FAQPage')) { 1840 for (let i = 0; i < this.views.globalRichSnippets['FAQPage'].length; i++) { 1841 let faqPages = this.views.globalRichSnippets['FAQPage'][i]; 1842 for (let j = 0; j < faqPages['mainEntity'].length; j++) { 1843 let page = faqPages['mainEntity'][j]; 1844 if (page['name'] && page['acceptedA
1844nswer'] && page['acceptedAnswer']['text'] && page['_matched']) { 1845 this.richSnippets['faq'][page.name] = { 1846 question: page['name'], 1847 answer: page['acceptedAnswer']['text'], 1848 active: false 1849 } 1850 } 1851 } 1852 } 1853 } 1854 }, 1855 toggleFaqSnippet: function (name) { 1856 this.richSnippets['faq'][name]['active'] = !this.richSnippets['faq'][name]['active']; 1857 this.$forceUpdate(); 1858 }, 1859 groupResults: function (hits) { 1860 1861 if (Array.isArray(hits)) { 1862 return []; 1863 } 1864 1865 let group = {}; 1866 this.views.total = 0; 1867 let onlyCategories = []; 1868 for (let type in hits) { 1869 if (hits.hasOwnProperty(type)) { 1870 let val = hits[type]['value']; 1871 if ((this.categories.length && this.categories.indexOf(val) === -1) || (onlyCategories.length && onlyCategories.indexOf(val) === -1)) { 1872 continue; 1873 } 1874 group[type] = hits[type]; 1875 this.lastSort = hits[type]['hits'].length ? hits[type]['hits'][hits[type]['hits'].length - 1]['sort'].join() : ''; 1876 this.views.total = this.views.total + hits[type]['hits'].length; 1877 } 1878 } 1879 1880 let _sortedGroup = []; 1881 if (onlyCategories.length) { 1882 for (let i = 0; i < onlyCategories.length; i++) { 1883 for (let groupLabel in group) { 1884 if (group[groupLabel]['value'] === onlyCategories[i]) { 1885 _sortedGroup.push(group[groupLabel]); 1886 } 1887 } 1888 } 1889 return _sortedGroup; 1890 } else { 1891 _sortedGroup = this.sortObject(group); 1892 } 1893 1894 return _sortedGroup; 1895 }, 1896 countResults: function () { 1897 1898 let categories = []; 1899 1900 for (let i = 0; i < this.views.results.length; i++) { 1901 1902 let val = this.views.results[i]['value']; 1903 let category = this.options.categories[val]; 1904 if (typeof category === 'undefined' || !category) { 1905 category = {}; 1906 } 1907 1908 category['count'] = Array.isArray(this.views.results[i]['hits']) ? this.views.results[i]['hits'].length : 0; 1909 1910 if (typeof categories[i] === 'undefined') { 1911 categories[i] = this.options.categories[val]; 1912 } 1913 } 1914 1915 if (!this.resultsOnly) { 1916 this.views.categories = categories; 1917 } 1918 }, 1919 sortObject: function (obj) { 1920 let arrReturn = []; 1921 Object.keys(obj).sort(function (a, b) {return a.toLowerCase().localeCompare(b.toLowerCase())}).forEach(function (v) { 1922 arrReturn.push(obj[v]); 1923 }); 1924 return arrReturn; 1925 }, 1926 startsWithUppercase: function (str) { 1927 return str.substr(0, 1).match(/[A-Z\u00C0-\u00DC]/); 1928 }, 1929 setCategory: function (category) { 1930 this.resultsOnly = true; 1931 let index = this.categories.indexOf(category); 1932 if (index === -1) { 1933 this.categories.push(category); 1934 } else { 1935 this.categories.splice(index, 1); 1936 } 1937 this.fetch({}); 1938 }, 1939 activeCategory: function (category) { 1940 let index = this.categories.indexOf(category); 1941 return index !== -1; 1942 }, 1943 search: function () { 1944 1945 1946 this.loadMoreButton = true; 1947 clearTimeout(this.timeout); 1948 this.timeout = setTimeout(function () { 1949 this.fetch({}); 1950 }.bind(this), 800); 1951 }, 1952 submit: function () { 1953 1954 let match = this.autoCompleteJS.feedback && this.autoCompleteJS.feedback.hasOwnProperty('cursor') ? this.autoCompleteJS.feedback.matches[this.autoCompleteJS.feedback.cursor] : ''; 1955 if (match) { 1956 this.keywords = match.value; 1957 this.fetch({}) 1958 } else { 1959 this.keywords = ''; 1960 this.fetch({}) 1961 } 1962 }, 1963 sendStat: function (e) { 1964 let href = e.currentTarget.querySelector('a').href; 1965 if (!href) { 1966 return; 1967 } 1968 this.$http.post('/stat/click?query=' + this.keywords, { 1969 url: href, 1970 categories: this.categories 1971 }, 1972 { 1973 emulateJSON: true, 1974 'Content-Type': 'application/x-www-form-urlencoded' 1975 } 1976 ).then(function (res) { 1977 // 1978 }); 1979 }, 1980 clickOutside: function () { 1981 if (this.$refs['elasticsearchContainerInside']) { 1982 window.addEventListener('click', function () { 1983 this.close(); 1984 }.bind(this)); 1985 this.$refs['elasticsearchContainerInside'].addEventListener('click', function (e) { 1986 e.stopPropagation(); 1987 }); 1988 } 1989 }, 1990 close: function () { 1991 this.hasResults = false;
1992 this.keywords = ""; 1993 this.categories = [] 1994 }, 1995 setAutoComplete: function () { 1996 let self = this; 1997 this.autoCompleteJS = new autoComplete({ 1998 selector: "#ctrl_keywords_", 1999 placeHolder: "", 2000 threshold: 2, 2001 debounce: 600, 2002 submit: true, 2003 data: { 2004 src: async function (query) { 2005 let headers = new Headers(); 2006 headers.append('Accept', 'application/json'); 2007 headers.append('Content-Type', 'application/json'); 2008 const source = await fetch('/elastic/search/autocompletion?query=' + query, { 2009 method: "POST", 2010 headers: headers, 2011 cache: "no-cache", 2012 redirect: "follow", 2013 credentials: "same-origin", 2014 referrerPolicy: "no-referrer", 2015 body: JSON.stringify({ 2016 categories: self.categories, 2017 module: "", 2018 root: "" 2019 }) 2020 }); 2021 let results = []; 2022 let data = await source.json(); 2023 for (let i = 0; i < data.results['hits'].length; i++) { 2024 results.push(data.results['hits'][i]['term']); 2025 } 2026 return results; 2027 } 2028 }, 2029 resultsList: { 2030 maxResults: 50, 2031 tabSelect: true 2032 }, 2033 resultItem: { 2034 highlight: true 2035 }, 2036 events: { 2037 input: { 2038 selection: (event) => { 2039 self.keywords = event.detail.selection.value; 2040 self.fetch({}); 2041 }, 2042 keydown(event) { 2043 switch (event.keyCode) { 2044 case 40: 2045 case 38: 2046 event.preventDefault(); 2047 event.keyCode === 40 ? objState.autoCompleteJS.next() : objState.autoCompleteJS.previous(); 2048 break; 2049 case 9: 2050 event.preventDefault(); 2051 if (objState.autoCompleteJS.resultsList.tabSelect) { 2052 objState.autoCompleteJS.next() 2053 } 2054 break; 2055 case 27: 2056 objState.autoCompleteJS.input.value = ""; 2057 objState.autoCompleteJS.close(); 2058 break; 2059 case 13: 2060 event.preventDefault() 2061 self.submit(); 2062 objState.autoCompleteJS.close(); 2063 break; 2064 } 2065 } 2066 } 2067 } 2068 }); 2069 } 2070 }, 2071 watch: { 2072 'hasResults': { 2073 handler: function (val) { 2074 let objBody = document.querySelector('body'); 2075 if (val) { 2076 objBody.classList.add('search-panel-open'); 2077 } else { 2078 objBody.classList.remove('search-panel-open'); 2079 } 2080 } 2081 } 2082 }, 2083 mounted: function () { 2084 this.fetch({}); 2085 } 2086 }); 2087 window.elasticInstaces.push(elasticComponent); 2088 })(); 2089</script>
2089<script> 2090 document.addEventListener( 2091 "DOMContentLoaded", function () { 2092 const menu = document.querySelector('#mobile-show'); 2093 if (null !== menu && 0 === menu.querySelectorAll('li.active').length) { 2094 const trails = menu.querySelectorAll('li.trail'); 2095 if (0 < trails.length) { 2096 trails.item(trails.length - 1).classList.add('active'); 2097 } 2098 } 2099 new Mmenu('#mobile-show', {"navbar":{"title":"Men\u00fc"},"offCanvas":{"position":"left-front"},"slidingSubmenus":false,"theme":"white"}, {"classNames":{"selected":"active"}}); 2100 } 2101 ); 2102</script>
vendor: 1 bytes, line 2102
2102
2103<script src="/files/template/js/main.js?v=9fdcece1"></script>
2103<script src="/files/template/js/masonry/imagesloaded.pkgd.min.js?v=58bf596a"></script>
2103<script src="/files/template/js/masonry/masonry-config.js?v=7a3f53d5"></script>
2103<script src="/files/template/js/masonry/masonry.pkgd.js?v=66e69a74"></script>
2103<script src="/files/template/js/toggle_overlay.js?v=6ff317e0"></script>
2103<script src="/files/template/js/jquery-migrate-3.0.0.min.js?v=9c9b2812"></script>
2103<script src="/files/template/libs/featherlight/featherlight.js?v=51e6593a"></script>
2103<script src="/files/template/libs/slick/slick.min.js?v=51e6593a"></script>
2103<script src="/files/template/libs/nlwaypoints/lib/jquery.waypoints.min.js?v=262720f3"></script>
2103<script src="/files/template/libs/nlwaypoints/lib/noframework.waypoints.min.js?v=262720f3"></script>
2103<script src="/files/template/libs/Blob.js/Blob.js?v=262720f3"></script>
2103<script src="/files/template/libs/FileSaver.js/dist/FileSaver.min.js?v=262720f3"></script>
2103<script src="/files/template/js/isotope/isotope.pkgd.min.js?v=262720f3"></script>
2103<script src="/files/template/libs/ics.js/ics.min.js?v=262720f3"></script>
vendor: 1 bytes, line 2103
2103
2104<script> 2105var j = jQuery.noConflict(); 2106j( document ).ready(function() { 2107 if (j('#cbp-ntaccordion').length > 0) { 2108 j('#cbp-ntaccordion').cbpNTAccordion(); 2109 } 2110}); 2111</script>
vendor: 1 bytes, line 2111
2111
2112<script type="application/ld+json"> 2113{ 2114 "@context": "https:\/\/schema.org", 2115 "@graph": [ 2116 { 2117 "@type": "WebPage" 2118 }, 2119 { 2120 "@id": "#\/schema\/image\/f79312dd-0cd1-11f1-b7c1-02000a1e000d", 2121 "@type": "ImageObject", 2122 "contentUrl": "\/assets\/images\/f\/front_verfassung_1-aycjwhj40bk4y6d.jpg" 2123 }, 2124 { 2125 "@id": "#\/schema\/image\/3d737b76-674a-11ed-9c44-02000a1e000d", 2126 "@type": "ImageObject", 2127 "contentUrl": "\/assets\/images\/4\/Martin_Schmidt_0922_web-a96eycw9hxt5eey.jpg" 2128 }, 2129 { 2130 "@id": "#\/schema\/image\/1f46fbbb-da8d-11f0-b44c-02000a1e000d", 2131 "@type": "ImageObject", 2132 "contentUrl": "\/assets\/images\/p\/Roland_Plattner_1225_9707%20web-ra2fme46f7czftr.jpg" 2133 }, 2134 { 2135 "@id": "#\/schema\/image\/6a17dd40-7d00-11f0-8603-02000a1e000d", 2136 "@type": "ImageObject", 2137 "contentUrl": "\/assets\/images\/2\/Kai_Kellenberger_0825_web-fpyhfsbjyw6mn30.jpg" 2138 }, 2139 { 2140 "@id": "#\/schema\/image\/51130d06-bb1f-11f0-b44c-02000a1e000d", 2141 "@type": "ImageObject", 2142 "contentUrl": "\/assets\/images\/8\/Annina_Frei_web-01apprfjgnnzqfq.jpg" 2143 }, 2144 { 2145 "@id": "#\/schema\/image\/945bc5f8-6333-11ec-912e-02000a1e000d", 2146 "@type": "ImageObject", 2147 "contentUrl": "\/files\/template\/img\/icons\/google_maps.svg" 2148 }, 2149 { 2150 "@id": "#\/schema\/image\/719332b5-6333-11ec-912e-02000a1e000d", 2151 "@type": "ImageObject", 2152 "contentUrl": "\/files\/template\/img\/icons\/youtube.svg" 2153 }, 2154 { 2155 "@id": "#\/schema\/image\/b59436a4-6333-11ec-912e-02000a1e000d", 2156 "@type": "ImageObject", 2157 "contentUrl": "\/files\/template\/img\/icons\/instagram.svg" 2158 }, 2159 { 2160 "@id": "#\/schema\/image\/d0282b42-6333-11ec-912e-02000a1e000d", 2161 "@type": "ImageObject", 2162 "contentUrl": "\/files\/template\/img\/icons\/vimeo.svg", 2163 "name": "zu Vimeo" 2164 } 2165 ] 2166} 2167</script>
vendor: 1 bytes, line 2167
2167
2168<script type="application/ld+json"> 2169{ 2170 "@context": "https:\/\/schema.contao.org", 2171 "@graph": [ 2172 { 2173 "@type": "Page", 2174 "fePreview": false, 2175 "groups": [], 2176 "noSearch": false, 2177 "pageId": 217, 2178 "protected": false, 2179 "title": "Neue Kirchenverfassung" 2180 } 2181 ] 2182} 2183</script>
2183 2184 2185 2186 2187</body> 2188</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.