aboutsummaryrefslogtreecommitdiff
path: root/vendor/edu-sharing-plugin/example/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/edu-sharing-plugin/example/index.html')
-rw-r--r--vendor/edu-sharing-plugin/example/index.html120
1 files changed, 0 insertions, 120 deletions
diff --git a/vendor/edu-sharing-plugin/example/index.html b/vendor/edu-sharing-plugin/example/index.html
deleted file mode 100644
index 9be18ce..0000000
--- a/vendor/edu-sharing-plugin/example/index.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>Edu Sharing Usage Example</title>
- <style>
- body > div {
- padding: 20px 10px;
- }
- pre {
- border: 1px solid #eee;
- padding: 10px;
- margin: 10px;
- }
- </style>
- <script>
- let ticket;
- let baseUrl = null;
- let esWindow = null;
- function openEduSharing() {
- esWindow = window.open(
- baseUrl + '/components/search?ticket=' + encodeURIComponent(ticket) +
- '&reurl=IFRAME'
- );
- }
- window.addEventListener('message', receiveMessage, false);
- async function receiveMessage(event){
- if(event.data.event === 'APPLY_NODE'){ // Event Name hier festlegen
- esWindow.close();
- console.log(event.data.data);
- usage = await createUsage(event.data.data.nodeId);
- // in a real application, the usage is stored in your backend system
- localStorage.setItem('usage', JSON.stringify(usage));
- await renderUsage();
-
- }
- }
- async function renderUsage() {
- if(localStorage.getItem('usage')) {
- const usage = JSON.parse(localStorage.getItem('usage'));
- document.querySelector('#usage').style.display = null;
- document.querySelector('#delete-usage').style.display = null;
- document.querySelector('#usage').innerHTML = JSON.stringify(usage, null, 4);
- usage.action = 'GET_NODE';
- const render = await fetchAPI(usage)
- document.querySelector('#render').innerHTML = render.detailsSnippet;
- }
-
- }
- async function createUsage(nodeId) {
- return await fetchAPI({
- action: 'CREATE_USAGE',
- ticket,
- nodeId,
- containerId: 'my_sample_page_1',
- resourceId: Math.random()
- });
- }
- async function deleteUsage(nodeId) {
- const usage = JSON.parse(localStorage.getItem('usage'));
- await fetchAPI({
- action: 'DELETE_USAGE',
- nodeId: usage.nodeId,
- usageId: usage.usageId
- });
- localStorage.removeItem('usage');
- document.querySelector('#render').style.display = 'none';
- document.querySelector('#usage').style.display = 'none';
- document.querySelector('#delete-usage').style.display = 'none';
- }
- async function fetchAPI(data) {
- return new Promise((resolve, reject) => {
- var xhr = new XMLHttpRequest();
- xhr.open("POST", "example-api.php", true);
- xhr.onload = () => {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- resolve(JSON.parse(xhr.response));
- } else {
- alert(xhr.statusText);
- reject(xhr.statusText);
- }
- }
- };
- xhr.onerror = function (e) {
- alert(xhr.statusText);
- };
- xhr.send(JSON.stringify(data));
- });
- }
- async function getTicket() {
- ticket = await fetchAPI({action: 'TICKET'});
- document.querySelector('#ticket').innerText = ticket;
- document.querySelector('#edu-select').style.display = null;
-
- }
- window.addEventListener('load', async () => {
- baseUrl = await fetchAPI({action: 'BASE_URL'});
- await renderUsage();
-
- await getTicket();
- });
- </script>
-</head>
-<body>
-<div>
- <button onclick="getTicket()">Re-Fetch ticket</button>
- <span id="ticket">No ticket</span>
-</div>
-<div id="edu-select" style="display:none;">
- <button onclick="openEduSharing()">Open edu-sharing & select node</button>
-</div>
-<pre id="usage" style="display: none"></pre>
-<div id="delete-usage" style="display: none">
- <button onclick="deleteUsage()">Delete current Usage</button>
-</div>
-<div id="render"></div>
-
-</body>
-</html> \ No newline at end of file