esc_url_raw(rest_url('ansico-diagnosekoder/v1/search')), 'favoritesUrl' => esc_url_raw(rest_url('ansico-diagnosekoder/v1/favorites')), 'pageStateUrl' => esc_url_raw(rest_url('ansico-diagnosekoder/v1/page-state')), 'contentSearchUrl' => esc_url_raw(rest_url('ansico-diagnosekoder/v1/content-search')), 'linksUrl' => esc_url_raw(rest_url('ansico-diagnosekoder/v1/links')), 'resultsUrl' => esc_url_raw((string) get_option(ANSICO_DIAGNOSEKODER_OPTION_RESULTS_URL, '')), 'nonce' => wp_create_nonce('wp_rest'), 'isLoggedIn' => is_user_logged_in(), 'resultsPageId' => self::get_results_page_id(), 'strings' => [ 'placeholder' => __('Søg efter diagnosekode eller beskrivelse', 'ansico-diagnosekoder'), 'empty' => __('Skriv for at søge i diagnosekoder.', 'ansico-diagnosekoder'), 'noResults' => __('Ingen resultater fundet.', 'ansico-diagnosekoder'), 'loading' => __('Søger...', 'ansico-diagnosekoder'), 'error' => __('Der opstod en fejl under søgningen.', 'ansico-diagnosekoder'), 'goToResults' => __('Gå til søgeresultater', 'ansico-diagnosekoder'), 'missingResultsUrl' => __('Resultatsidens URL er ikke angivet i pluginets indstillinger.', 'ansico-diagnosekoder'), 'copyCode' => __('Kopiér kode og beskrivelse', 'ansico-diagnosekoder'), 'copied' => __('Kopieret', 'ansico-diagnosekoder'), 'copyError' => __('Kunne ikke kopiere', 'ansico-diagnosekoder'), 'copyCodeAria' => __('Kopiér %s', 'ansico-diagnosekoder'), 'addFavorite' => __('Tilføj til favoritter', 'ansico-diagnosekoder'), 'removeFavorite' => __('Fjern fra favoritter', 'ansico-diagnosekoder'), 'favoriteAdded' => __('Favorit gemt', 'ansico-diagnosekoder'), 'favoriteRemoved' => __('Favorit fjernet', 'ansico-diagnosekoder'), 'favoriteError' => __('Kunne ikke gemme favorit', 'ansico-diagnosekoder'), 'copyIcon' => __('Kopiér', 'ansico-diagnosekoder'), 'favoriteIcon' => __('Favorit', 'ansico-diagnosekoder'), 'addLink' => __('Tilknyt URL', 'ansico-diagnosekoder'), 'removeLink' => __('Fjern URL-tilknytning', 'ansico-diagnosekoder'), 'linkSaved' => __('URL gemt', 'ansico-diagnosekoder'), 'linkRemoved' => __('URL fjernet', 'ansico-diagnosekoder'), 'linkError' => __('Kunne ikke gemme URL', 'ansico-diagnosekoder'), 'linkPrompt' => __('Indtast URL for %s', 'ansico-diagnosekoder'), 'linkPromptDefault' => __('https://', 'ansico-diagnosekoder'), 'openLink' => __('Åbn link', 'ansico-diagnosekoder'), 'linkIcon' => __('Link', 'ansico-diagnosekoder'), 'addLinkIcon' => __('Tilknyt URL', 'ansico-diagnosekoder'), 'removeLinkIcon' => __('Fjern URL', 'ansico-diagnosekoder'), 'linkModalTitleAdd' => __('Tilknyt link til kode', 'ansico-diagnosekoder'), 'linkModalTitleEdit' => __('Rediger link til kode', 'ansico-diagnosekoder'), 'linkModalCodeLabel' => __('Diagnosekode', 'ansico-diagnosekoder'), 'linkModalUrlLabel' => __('URL-adresse', 'ansico-diagnosekoder'), 'linkModalSearchLabel' => __('Søg efter interne sider', 'ansico-diagnosekoder'), 'linkModalSearchPlaceholder' => __('Søg efter side eller indlæg', 'ansico-diagnosekoder'), 'linkModalSearchEmpty' => __('Skriv for at søge efter interne sider.', 'ansico-diagnosekoder'), 'linkModalSearchNone' => __('Ingen interne sider fundet.', 'ansico-diagnosekoder'), 'linkModalChoose' => __('Vælg', 'ansico-diagnosekoder'), 'linkModalCancel' => __('Annuller', 'ansico-diagnosekoder'), 'linkModalSave' => __('Gem link', 'ansico-diagnosekoder'), 'linkModalOpen' => __('Åbn link-dialog', 'ansico-diagnosekoder'), 'linkModalHint' => __('Du kan enten indsætte en URL eller vælge en intern side.', 'ansico-diagnosekoder'), 'linkSearchError' => __('Kunne ikke søge efter interne sider.', 'ansico-diagnosekoder'), ], ]); wp_register_style( 'ansico-diagnosekoder-style', ANSICO_DIAGNOSEKODER_PLUGIN_URL . 'assets/css/style.css', [], ANSICO_DIAGNOSEKODER_VERSION ); } public static function register_block() { register_block_type('ansico/diagnosekoder', [ 'api_version' => 2, 'editor_script' => 'ansico-diagnosekoder-block-editor', 'style' => 'ansico-diagnosekoder-style', 'script' => 'ansico-diagnosekoder-frontend', 'render_callback' => [__CLASS__, 'render_block'], ]); register_block_type('ansico/diagnosekoder-soegefelt', [ 'api_version' => 2, 'editor_script' => 'ansico-diagnosekoder-block-editor', 'style' => 'ansico-diagnosekoder-style', 'script' => 'ansico-diagnosekoder-frontend', 'render_callback' => [__CLASS__, 'render_search_form_block'], ]); register_block_type('ansico/diagnosekoder-kodekort', [ 'api_version' => 2, 'editor_script' => 'ansico-diagnosekoder-block-editor', 'style' => 'ansico-diagnosekoder-style', 'render_callback' => [__CLASS__, 'render_linked_code_block'], ]); } public static function render_block($attributes = [], $content = '', $block = null) { $meta = get_option(ANSICO_DIAGNOSEKODER_OPTION_META, []); $input_id = wp_unique_id('ansico-diagnosekoder-input-'); $page_id = self::get_current_page_id(); if (!$page_id) { $page_id = self::get_results_page_id(); } $favorites = Ansico_Diagnosekoder_REST::get_page_favorites($page_id); $links = Ansico_Diagnosekoder_REST::get_page_links($page_id); $page_state = wp_json_encode([ 'pageId' => absint($page_id), 'favorites' => array_values($favorites), 'links' => $links, ]); $preset_query = isset($_GET['q']) ? sanitize_text_field(wp_unslash($_GET['q'])) : ''; $initial_results = $preset_query !== '' ? Ansico_Diagnosekoder_Parser::search($preset_query, 50, $favorites, $links) : []; ob_start(); ?>

$url) { if (self::normalize_url($url) === $current_url) { $matched_codes[] = $code; } } if (empty($matched_codes)) { return ''; } $rows = Ansico_Diagnosekoder_Parser::get_rows_by_codes($matched_codes); if (empty($rows)) { return ''; } ob_start(); ?>
ID)) { $page_id = absint($post->ID); } return $page_id; } }