{"id":3736,"date":"2023-05-28T20:56:57","date_gmt":"2023-05-28T20:56:57","guid":{"rendered":"https:\/\/fringe.ee\/programm-2023\/"},"modified":"2023-09-01T16:32:56","modified_gmt":"2023-09-01T16:32:56","slug":"programm-2023","status":"publish","type":"page","link":"https:\/\/fringe.ee\/et\/programm-2023\/","title":{"rendered":"Programm 2023"},"content":{"rendered":"\n<!doctype html>\n<html>\n\n<head>\n<meta charset=\"utf-8\">\n<title>Fringe 2023 Programm<\/title>\n<\/head>\n\n<body>\n<script src=\"https:\/\/code.jquery.com\/jquery-3.6.4.min.js\"><\/script>\n<!-- <script src=\"https:\/\/fienta.com\/embed.js\"><\/script> -->\n<script>\n    var today = new Date();\n    var festival_start = new Date(\"2023\/08\/18\");\n    var start_date = today > festival_start ? today.toISOString().substring(0, 10) : festival_start.toISOString().substring(0, 10);\n    var end_date = new Date(\"2023\/09\/19\");\n    var genre_regex = \/\u017danr: (?<res>[0-9A-z\\u00C0-\\u024F\\u1E00-\\u1EFF ]+)\/m;\n    var performer_regex = \/Esineja: (?<res>[0-9A-z\\u00C0-\\u024F\\u1E00-\\u1EFF ]+)\/m;\n    var tickets_regex = \/Piletid: (?<res>[0-9A-z\u20ac$ ]+)\/m;\n\n    var skipped_events = [10000, 10001];\n\n    jQuery(document).ready(function () {\n        var _events = jQuery(\"#events\");\n        var _rows = \"\";\n        jQuery.getJSON(`https:\/\/fienta.com\/api\/v1\/public\/events?locale=et&country=ee&starts_from=${start_date}&organizer=1088,5925,12148,840,17404,11159,14945,2654,6769,7928,9148`, function (data) {\n            data.events.forEach(function (event) {\n                if (skipped_events.includes(event.id)) {\n                    return;\n                }\n\n                date = new Date(event.starts_at);\n                if (date >= end_date) {\n                    return;\n                }\n\n                local_date = date.toLocaleDateString(\"et\", {\n                    day: \"numeric\",\n                    month: \"long\"\n                });\n                _genre = event.description.match(genre_regex);\n                _performer = event.description.match(performer_regex);\n                _tickets = event.description.match(tickets_regex);\n                genre = _genre === null ? \"\" : _genre.groups.res;\n                performer = _performer === null ? \"\" : _performer.groups.res;\n                tickets = _tickets === null ? \"\" : _tickets.groups.res;\n                \n                var _row = `\n                <tr>\n                    <td><a href=${event.url}>${event.title}<\/a><\/td>\n                    <td>${event.venue}<\/td>\n                    <td>${genre}<\/td>\n                    <td>${performer}<\/td>\n                    <td>${local_date}<\/td>\n                    <td>${event.starts_at.split(\" \")[1].slice(0, -3)}<\/td>\n                    <td><a href=${event.url}>${tickets}<\/a><\/td>\n                <\/tr>\n                `;\n                _rows += _row;\n            });\n            _events.append(_rows);\n        });\n\n        function filter() {\n            let search_value = document.getElementById(\"searchInput\").value.toUpperCase();\n            let events = document.getElementById(\"events\");\n            let rows = events.getElementsByTagName(\"tr\");\n\n            for (i = 0; i < rows.length; i++) {\n                let columns = rows[i].getElementsByTagName(\"td\");\n                let _found = false;\n                for (j = 0; j < columns.length; j++) {\n                    let _value = columns[j].textContent;\n                    if (_value.toUpperCase().indexOf(search_value) > -1) {\n                        _found = true;\n                        break;\n                    }\n                }\n                rows[i].style.display = _found ? \"\" : \"none\";\n            }\n        }\n\n        document.getElementById(\"searchInput\").addEventListener(\"keyup\", filter);\n    });\n<\/script>\n\n<h1>Festivali programm<\/h1>\n<div class=\"program\">\n    <input type=\"text\" id=\"searchInput\" placeholder=\"Otsing...\">\n    <table>\n        <thead>\n            <tr>\n                <th>Etendus<\/th>\n                <th>Koht<\/th>\n                <th>\u017danr<\/th>\n                <th>Esineja<\/th>\n                <th>Kuup\u00e4ev<\/th>\n                <th>Aeg<\/th>\n                <th>Hind<\/th>\n            <\/tr>\n        <\/thead>\n        <tbody id=\"events\"><\/tbody>\n    <\/table>\n<\/div>\n\n<style>\n    \/* body {\n        margin: 0;\n        height: 100vh;\n        padding: 0;\n        font-family: \"lato\", sans-seriff;\n        display: grid;\n        justify-content: center;\n        align-items: center;\n        font-size: 20px;\n    } *\/\n\n    \/* #searchInput {\n        border: none;\n        outline: none;\n        width: 100%;\n        margin-bottom: 20px;\n    } *\/\n\n    #searchInput {\n        box-sizing: border-box;\n        \/* width: 300px; *\/\n        border-radius: 0%;\n        box-shadow: 0 5px 7px gray;\n        margin-bottom: 20px;\n    }\n\n    #searchInput:focus {\n        border-color: #edca19;\n        outline: 0;\n        box-shadow: 0 5px 7px #edca1933;\n    }\n\n    \/* .program {\n        width: 80vw;\n        height: 100vh;\n        margin: 20px 0;\n    } *\/\n\n    table {\n        border-collapse: collapse;\n        width: 100%;\n        box-shadow: 0 5px 7px gray;\n    }\n\n    thead {\n        background-color: #edca19;\n        box-shadow: 0px 0px 10px gray;\n    }\n\n    th {\n        padding: 1rem 3rem;\n        text-transform: uppercase;\n        letter-spacing: 1px;\n        text-align: left;\n    }\n\n    td {\n        padding: 0.5rem 3rem;\n        font-size: 1rem;\n    }\n\n    tr:nth-child(even) {\n        background-color: #edca1933;\n    }\n<\/style>\n<\/body>\n\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Fringe 2023 Programm Festivali programm Etendus Koht \u017danr Esineja Kuup\u00e4ev Aeg Hind<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-3736","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/fringe.ee\/et\/wp-json\/wp\/v2\/pages\/3736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fringe.ee\/et\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fringe.ee\/et\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fringe.ee\/et\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/fringe.ee\/et\/wp-json\/wp\/v2\/comments?post=3736"}],"version-history":[{"count":5,"href":"https:\/\/fringe.ee\/et\/wp-json\/wp\/v2\/pages\/3736\/revisions"}],"predecessor-version":[{"id":4099,"href":"https:\/\/fringe.ee\/et\/wp-json\/wp\/v2\/pages\/3736\/revisions\/4099"}],"wp:attachment":[{"href":"https:\/\/fringe.ee\/et\/wp-json\/wp\/v2\/media?parent=3736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}