{"id":144,"date":"2022-09-13T17:09:58","date_gmt":"2022-09-13T17:09:58","guid":{"rendered":"http:\/\/xpf.xhlbc.com\/XPF\/?page_id=144"},"modified":"2022-09-13T17:09:58","modified_gmt":"2022-09-13T17:09:58","slug":"developer-survey","status":"publish","type":"page","link":"https:\/\/polytech.xcaliber.network\/XPF\/developer-survey\/","title":{"rendered":"Developer Survey"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Developer Survey regarding research and development platforms.<\/p>\n\n\n        <div class=\"wp-sjs-plugin\" id=\"surveyContainer-1\">\n            <div id=\"surveyElement-1\">Survey is loading&#8230;<\/div>\n            <div id=\"surveyResult-1\"><\/div>\n        <\/div>\n        <script>\n            jQuery.ajax({\n                url:  \"https:\/\/polytech.xcaliber.network\/XPF\/wp-admin\/admin-ajax.php?action=SurveyJS_GetSurveyJson\",\n                type: \"POST\",\n                data: { Id: 1, _wpnonce: 'f718255823' },\n                success: function (data) {\n                    var json = {}\n                    let theme;\n                    if (data.json) {\n                        json = JSON.parse(data.json.replace(\/\\\\\\\"\/g, \"\\\"\").replace(\/\\\\\\\\\/g, \"\\\\\").replace(\/\\\\'\/g, \"'\"));\n                    }\n                    if (data.theme) {\n                        theme = JSON.parse(data.theme.replace(\/\\\\\\\"\/g, \"\\\"\").replace(\/\\\\\\\\\/g, \"\\\\\").replace(\/\\\\'\/g, \"'\"));\n                    } else {\n                        theme = null\n                    }\n                    jQuery(document).ready(()=>{\n                        initSurvey1(json, theme);\n                    });\n                }\n            });\n\n            function initSurvey1(json, theme) {\n                const survey1 = new Survey.Model(json);\n                if (!!theme) {\n                    survey1.applyTheme(theme);\n                }\n                window.survey1 = survey1;               \n                survey1                    .onComplete\n                    .add(function (sender, options) {\n                        options.showSaveInProgress();\n                        jQuery.ajax({\n                            url:  \"https:\/\/polytech.xcaliber.network\/XPF\/wp-admin\/admin-ajax.php?action=SurveyJS_SaveResult\",\n                            type: \"POST\",\n                    data: { SurveyId: '1', Json : JSON.stringify(sender.data), _wpnonce: '83271a1805' },\n                            success: function (data) {options.showSaveSuccess();},\n                            error: function (xhr) {options.showSaveError(xhr.responseText);}\n                        });\n                        \/\/document\n                        \/\/    .querySelector(\"#surveyResult-1\")\n                        \/\/    .innerHTML = \"result: \" + JSON.stringify(sender.data);\n                    });\n\n                survey1.onUploadFiles.add((_, options) => {\n                    const formData = new FormData();\n                    options.files.forEach((file) => {\n                        formData.append(file.name, file);\n                    });\n                formData.append(\"_wpnonce\", \"fa2a6776bf\");\n                formData.append(\"SurveyId\", \"1\");\n\n                    fetch(\"https:\/\/polytech.xcaliber.network\/XPF\/wp-admin\/admin-ajax.php?action=SurveyJS_UploadFiles\", {\n                        method: \"POST\",\n                        body: formData\n                    })\n                        .then((response) => response.json())\n                        .then((data) => {\n                            options.callback(\n                                options.files.map((file) => {\n                                    return {\n                                        file: file,\n                                        content: data[file.name]\n                                    };\n                                })\n                            );\n                        })\n                        .catch((error) => {\n                            console.error(\"Error: \", error);\n                            options.callback([], [ 'An error occurred during file upload.' ]);\n                        });\n                });\n\n                function deleteFile(fileURL, options) {\n                    try {\n                        const deleteFileBaseUrl = \"https:\/\/polytech.xcaliber.network\/XPF\/wp-admin\/admin-ajax.php?action=SurveyJS_DeleteFile&#038;_wpnonce=76b03dc29a\";\n                        const apiUrl = `${deleteFileBaseUrl}&name=${encodeURIComponent(fileURL)}`;\n                        fetch(apiUrl);\n                    } catch (error) {\n                        options.callback(\"error\");\n                    }\n                }\n\n                survey1.onClearFiles.add((_, options) => {\n                    if (!options.value || options.value.length === 0) {\n                        options.callback(\"success\");\n                        return;\n                    }\n\n                    if (!options.fileName && !!options.value) {\n                        for (const item of options.value) {\n                            deleteFile(item.content, options);\n                        }\n                    } else {\n                        const fileToRemove = options.value.find(\n                            (item) => item.name === options.fileName\n                        );\n                        if (fileToRemove) {\n                            deleteFile(fileToRemove.content, options);\n                        } else {\n                            console.error(`File with name ${options.fileName} is not found`);\n                        }\n                    }\n                    options.callback(\"success\");\n                });\n\n                jQuery(\"#surveyElement-1\").Survey({model: survey1\/*, css: customCss*\/});\n            }\n        <\/script>        \n        ","protected":false},"excerpt":{"rendered":"<p>Developer Survey regarding research and development platforms.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-144","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/polytech.xcaliber.network\/XPF\/wp-json\/wp\/v2\/pages\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/polytech.xcaliber.network\/XPF\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/polytech.xcaliber.network\/XPF\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/polytech.xcaliber.network\/XPF\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/polytech.xcaliber.network\/XPF\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":0,"href":"https:\/\/polytech.xcaliber.network\/XPF\/wp-json\/wp\/v2\/pages\/144\/revisions"}],"wp:attachment":[{"href":"https:\/\/polytech.xcaliber.network\/XPF\/wp-json\/wp\/v2\/media?parent=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}