diff --git a/package.json b/package.json index 5f7245375ac5da4c3c4ec5372f085b251ffeb4c0..c28e8e369c2633736d549ebd005fade30d265f29 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,7 @@ "start": "ng serve", "start-editor-local": "ng serve editor --port 4201", "start-player-local": "ng serve player --port 4202", - "build-editor-dev": "ng build --output-hashing=none && node scripts/wrap_and_pack.js editor $npm_package_editor_version projects/editor/src/html_wrapper/index_dev.html", - "build-player-dev": "ng build --project player --output-hashing=none && node scripts/wrap_and_pack.js player $npm_package_player_version projects/player/src/html_wrapper/index_dev.html", + "build-editor-prod": "ng build --project editor --output-hashing=none && node scripts/wrap_and_pack.js editor $npm_package_editor_version projects/editor/src/html_wrapper/index.html", "build-player-prod": "ng build --project player --output-hashing=none && node scripts/wrap_and_pack.js player $npm_package_player_version projects/player/src/html_wrapper/index.html", "test": "ng test" }, diff --git a/projects/editor/src/html_wrapper/index.html b/projects/editor/src/html_wrapper/index.html index 67dfb46e270173345285c6a13f9bedd457026838..b6310db8bf45d4fddc7150d753e72275b28ae43c 100644 --- a/projects/editor/src/html_wrapper/index.html +++ b/projects/editor/src/html_wrapper/index.html @@ -1,143 +1,16 @@ <!doctype html> <html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Verona Player Aspect</title> + <head> + <meta charset="UTF-8"> + <title>Verona Editor Aspect</title> - <meta name="application-name" content="iqb-player-aspect" - data-version="3.3.3" - data-repository-url="https://github.com/iqb-berlin/verona-modules-apect" - data-api-version="2.1.0" - data-not-supported-api-features="" - data-supported-unit-definition-types="iqb-scripted@1.0" - data-supported-unit-state-data-types="iqb-key-value@1.0.0" - data-supported-browsers='{"Firefox": 69, "Chrome": 72, "Edge": 79}' - /> - <script type="application/ld+json"> - { - "@context": "https://w3id.org/iqb/verona-modules", - "@type": "player", - "@id": "iqb-player-abi", - "name": { - "de": "IQB-Player für Skripte (Abi)", - "en": "IQB player for script language" - }, - "maintainer": { - "name": { - "de": "IQB - Institut zur Qualitätsentwicklung im Bildungswesen", - "en": "IQB - Institute for Educational Quality Improvement" - }, - "url": "https://www.iqb.hu-berlin.de", - "email": "iqb-tbadev@hu-berlin.de" - }, - "description": { - "de": "Dieser Player interpretiert eine Script-Sprache, die speziell für die effiziente Erstellung umfangreicher Befragungen entwickelt wurde. Über die gängigen Frageformate hinaus werden bedingte Formularblöcke, dynamische Wiederholungen von Blöcken und Likert-skalen unterstützt.", - "en": "You can use this Verona Player for surveys where you need a large number of questions. By interpreting it's own script language, the player just need one line per control definition. You can setup conditional blocks, repeating blocks or likert scale tables." - }, - "version": "3.3.3", - "apiVersion": "2.1", - "repository": { - "type": "git", - "url": "https://github.com/iqb-berlin/verona-player-abi" - }, - "notSupportedFeatures": [] - } - </script> - <link rel="stylesheet" href="verona-player-aspect.css"> -</head> -<body> -<script type="text/javascript" src="verona-player-aspect.js"></script> -<script> - let sessionId; - let playerMetadata = document.querySelectorAll("meta")[1].attributes; - let tempResponses = {}; - let playerStartData = { - unitDefinition: '', - unitStateData: '' - }; - - function elementValueChanged(event) { - window.parent.postMessage({ - type: 'vopStateChangedNotification', - sessionId: sessionId, - timeStamp: Date.now(), - unitState: { - dataParts: { - all: event.detail - }, - unitStateType: playerMetadata.getNamedItem('data-supported-unit-state-data-types').value, - } - }, '*'); - } - - function navigationRequested(event) { - window.parent.postMessage({ - type: 'vopUnitNavigationRequestedNotification', - sessionId: sessionId, - targetRelative: '#' + event.detail, - target: event.detail, - }, '*'); - } - - const playerComponent = document.createElement('player-component',{ is : 'player-component' }); - playerComponent.addEventListener('valueChanged', (event) => { - elementValueChanged(event); - }); - playerComponent.addEventListener('navigationRequested', (event) => { - console.log(navigationRequested, event); - navigationRequested(event); - }); - document.body.appendChild(playerComponent) - - window.addEventListener('message', (event) => { - if ('data' in event && 'type' in event.data) { - switch (event.data.type) { - case 'vopStartCommand': - if (event.data.sessionId) { - sessionId = event.data.sessionId; - playerStartData.unitDefinition = event.data.unitDefinition; - playerStartData.unitStateData = event.data.unitState?.dataParts?.all; - playerComponent.startData = playerStartData; - } else { - console.error('player: (vopStartCommand) no sessionId is given'); - } - break; - case 'vopPageNavigationCommand': - case 'vopGetStateRequest': - case 'vopStopCommand': - case 'vopContinueCommand': - console.warn(`player: message of type ${event.data.type} not processed yet`); - break; - case 'vopNavigationDeniedNotification': - console.info(['player: got vopNavigationDeniedNotification']); - playerComponent.tryLeaveNotify(); - break; - default: - console.warn(`player: got message of unknown type ${event.data.type}`); - } - } - }); - window.addEventListener('blur', () => { - window.parent.postMessage({ - type: 'vopWindowFocusChangedNotification', - sessionId: sessionId, - hasFocus: document.hasFocus() - }, '*'); - }); - window.addEventListener('focus', () => { - window.parent.postMessage({ - type: 'vopWindowFocusChangedNotification', - sessionId: sessionId, - hasFocus: document.hasFocus() - }, '*'); - }); - window.parent.postMessage({ - type: 'vopReadyNotification', - apiVersion: playerMetadata.getNamedItem('data-api-version').value, - notSupportedApiFeatures: playerMetadata.getNamedItem('data-not-supported-api-features').value, - supportedUnitDefinitionTypes: playerMetadata.getNamedItem('data-supported-unit-definition-types').value, - supportedUnitStateDataTypes: playerMetadata.getNamedItem('data-supported-unit-state-data-types').value, - }, '*'); -</script> -</body> + <meta name="application-name" content="iqb-editor-aspect" + data-repository-url="https://github.com/iqb-berlin/verona-modules-apect" + data-supported-unit-definition-types="iqb-aspect-module@0.0.1"/> + <link rel="stylesheet" href="editor.css"> + </head> + <body> + <script type="text/javascript" src="editor.js"></script> + <editor-aspect></editor-aspect> + </body> </html> diff --git a/projects/editor/src/html_wrapper/index_dev.html b/projects/editor/src/html_wrapper/index_dev.html deleted file mode 100644 index dd001ff34a69b85931d2fffdefcf6eb531161498..0000000000000000000000000000000000000000 --- a/projects/editor/src/html_wrapper/index_dev.html +++ /dev/null @@ -1,77 +0,0 @@ -<!doctype html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Verona Player Abi</title> - - <meta name="application-name" content="iqb-player-abi" - data-version="3.3.3" - data-repository-url="https://github.com/iqb-berlin/verona-player-abi" - data-api-version="2.1.0" - data-not-supported-api-features="" - data-supported-unit-definition-types="iqb-scripted@1.0" - data-supported-unit-state-data-types="iqb-key-value@1.0.0" - data-supported-browsers='{"Firefox": 69, "Chrome": 72, "Edge": 79}' - /> - <script type="application/ld+json"> - { - "@context": "https://w3id.org/iqb/verona-modules", - "@type": "player", - "@id": "iqb-player-abi", - "name": { - "de": "IQB-Player für Skripte (Abi)", - "en": "IQB player for script language" - }, - "maintainer": { - "name": { - "de": "IQB - Institut zur Qualitätsentwicklung im Bildungswesen", - "en": "IQB - Institute for Educational Quality Improvement" - }, - "url": "https://www.iqb.hu-berlin.de", - "email": "iqb-tbadev@hu-berlin.de" - }, - "description": { - "de": "Dieser Player interpretiert eine Script-Sprache, die speziell für die effiziente Erstellung umfangreicher Befragungen entwickelt wurde. Über die gängigen Frageformate hinaus werden bedingte Formularblöcke, dynamische Wiederholungen von Blöcken und Likert-skalen unterstützt.", - "en": "You can use this Verona Player for surveys where you need a large number of questions. By interpreting it's own script language, the player just need one line per control definition. You can setup conditional blocks, repeating blocks or likert scale tables." - }, - "version": "3.3.3", - "apiVersion": "2.1", - "repository": { - "type": "git", - "url": "https://github.com/iqb-berlin/verona-player-abi" - }, - "notSupportedFeatures": [] - } - </script> - <link rel="stylesheet" href="editor.css"> -</head> -<body> -<script type="text/javascript" src="editor.js"></script> -<script> - let playerMetadata = document.querySelectorAll("meta")[1].attributes; - let tempResponses = {}; - let storedResponses = {}; - let playerStartData = { - unitDefinition: '', - unitStateData: '' - }; - - const playerComponent = document.createElement('editor-aspect',{ is : 'editor-aspect' }); - playerComponent.addEventListener('valueChanged', (event) => { - console.log('host: elementValueChanged', event); - }); - playerComponent.addEventListener('navigationRequested', (event) => { - console.log('host: navigationRequested', event.detail); - }); - document.body.appendChild(playerComponent) - - playerStartData = { - unitDefinition: '', - unitState: { - dataParts: { allResponses: storedResponses } - } - }; - playerComponent.startData = playerStartData; -</script> -</body> -</html> diff --git a/projects/player/src/html_wrapper/index_dev.html b/projects/player/src/html_wrapper/index_dev.html deleted file mode 100644 index e087cb169793cdf35854322006f7e000f89fcbff..0000000000000000000000000000000000000000 --- a/projects/player/src/html_wrapper/index_dev.html +++ /dev/null @@ -1,77 +0,0 @@ -<!doctype html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Verona Player Abi</title> - - <meta name="application-name" content="iqb-player-abi" - data-version="3.3.3" - data-repository-url="https://github.com/iqb-berlin/verona-player-abi" - data-api-version="2.1.0" - data-not-supported-api-features="" - data-supported-unit-definition-types="iqb-scripted@1.0" - data-supported-unit-state-data-types="iqb-key-value@1.0.0" - data-supported-browsers='{"Firefox": 69, "Chrome": 72, "Edge": 79}' - /> - <script type="application/ld+json"> - { - "@context": "https://w3id.org/iqb/verona-modules", - "@type": "player", - "@id": "iqb-player-abi", - "name": { - "de": "IQB-Player für Skripte (Abi)", - "en": "IQB player for script language" - }, - "maintainer": { - "name": { - "de": "IQB - Institut zur Qualitätsentwicklung im Bildungswesen", - "en": "IQB - Institute for Educational Quality Improvement" - }, - "url": "https://www.iqb.hu-berlin.de", - "email": "iqb-tbadev@hu-berlin.de" - }, - "description": { - "de": "Dieser Player interpretiert eine Script-Sprache, die speziell für die effiziente Erstellung umfangreicher Befragungen entwickelt wurde. Über die gängigen Frageformate hinaus werden bedingte Formularblöcke, dynamische Wiederholungen von Blöcken und Likert-skalen unterstützt.", - "en": "You can use this Verona Player for surveys where you need a large number of questions. By interpreting it's own script language, the player just need one line per control definition. You can setup conditional blocks, repeating blocks or likert scale tables." - }, - "version": "3.3.3", - "apiVersion": "2.1", - "repository": { - "type": "git", - "url": "https://github.com/iqb-berlin/verona-player-abi" - }, - "notSupportedFeatures": [] - } - </script> - <link rel="stylesheet" href="player.css"> -</head> -<body> -<script type="text/javascript" src="player.js"></script> -<script> - let playerMetadata = document.querySelectorAll("meta")[1].attributes; - let tempResponses = {}; - let storedResponses = {}; - let playerStartData = { - unitDefinition: '', - unitStateData: '' - }; - - const playerComponent = document.createElement('player-aspect',{ is : 'player-aspect' }); - playerComponent.addEventListener('valueChanged', (event) => { - console.log('host: elementValueChanged', event); - }); - playerComponent.addEventListener('navigationRequested', (event) => { - console.log('host: navigationRequested', event.detail); - }); - document.body.appendChild(playerComponent) - - playerStartData = { - unitDefinition: '', - unitState: { - dataParts: { allResponses: storedResponses } - } - }; - playerComponent.startData = playerStartData; -</script> -</body> -</html>