Commit 0bc23be1 authored by Konstantin Schulz's avatar Konstantin Schulz
Browse files

added KWIC view (incl. visualized dependency trees) and the "Most Recent Settings" shortcut

parent d2d1eb5f
......@@ -4,7 +4,7 @@
2. Clone the git repository: `git clone https://scm.cms.hu-berlin.de/callidus/mc-frontend.git`
3. Go to the new directory: `cd mc-frontend`
4. Run `npm install`
5. Run `sudo npm i -g ionic`
5. Run `npm i -g ionic`. On UNIX system, you may need to prepend "sudo".
6. 1. Run `ionic serve --no-livereload --no-interactive --no-open` and enjoy!
2. To run it in the background, use: `ionic serve --no-livereload --no-interactive --no-open &`
## Configuration
......
{
"name": "mcClient",
"version": "0.5.2",
"name": "mcclient",
"version": "0.6.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......@@ -370,11 +370,244 @@
"resolved": "http://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz",
"integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ="
},
"@types/d3": {
"version": "5.7.0",
"resolved": "https://registry.npmjs.org/@types/d3/-/d3-5.7.0.tgz",
"integrity": "sha512-zk39IR/djm4A/CO0OWydc33u572TyV5L7FRZVnj54vyeBHgRc+WCfEPZmiRtQx3QkuGb5/IKJtQr0tpU25CKkg==",
"requires": {
"@types/d3-array": "*",
"@types/d3-axis": "*",
"@types/d3-brush": "*",
"@types/d3-chord": "*",
"@types/d3-collection": "*",
"@types/d3-color": "*",
"@types/d3-contour": "*",
"@types/d3-dispatch": "*",
"@types/d3-drag": "*",
"@types/d3-dsv": "*",
"@types/d3-ease": "*",
"@types/d3-fetch": "*",
"@types/d3-force": "*",
"@types/d3-format": "*",
"@types/d3-geo": "*",
"@types/d3-hierarchy": "*",
"@types/d3-interpolate": "*",
"@types/d3-path": "*",
"@types/d3-polygon": "*",
"@types/d3-quadtree": "*",
"@types/d3-random": "*",
"@types/d3-scale": "*",
"@types/d3-scale-chromatic": "*",
"@types/d3-selection": "*",
"@types/d3-shape": "*",
"@types/d3-time": "*",
"@types/d3-time-format": "*",
"@types/d3-timer": "*",
"@types/d3-transition": "*",
"@types/d3-voronoi": "*",
"@types/d3-zoom": "*"
}
},
"@types/d3-array": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-1.2.4.tgz",
"integrity": "sha512-3r1fOAAb+SGfcOGXty/LGvoP0ovMec4UtGNUyHOSzYyvSGpmt+eNMxLowol/3HryusevznSfcHZebEShXMwsZA=="
},
"@types/d3-axis": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-1.0.11.tgz",
"integrity": "sha512-cuigApCyCwYJxaQPghj+BqaxzbdRdT/lpZBMtF7EuEIJ61NMQ8yvGnqFvHCIgJEmUu2Wb2wiZqy9kiHi3Ddftg==",
"requires": {
"@types/d3-selection": "*"
}
},
"@types/d3-brush": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-1.0.9.tgz",
"integrity": "sha512-mAx8IVc0luUHfk51pl0UN1vzybnAzLMUsvIwLt3fbsqqPkSXr+Pu1AxOPPeyNc27LhHJnfH/LCV7Jlv+Yzqu1A==",
"requires": {
"@types/d3-selection": "*"
}
},
"@types/d3-chord": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-1.0.8.tgz",
"integrity": "sha512-F0ftYOo7FenAIxsRjXLt8vbij0NLDuVcL+xaGY7R9jUmF2Mrpj1T5XukBI9Cad+Ei7YSxEWREIO+CYcaKCl2qQ=="
},
"@types/d3-collection": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@types/d3-collection/-/d3-collection-1.0.7.tgz",
"integrity": "sha512-vR3BT0GwHc5y93Jv6bxn3zoxP/vGu+GdXu/r1ApjbP9dLk9I2g6NiV7iP/QMQSuFZd0It0n/qWrfXHxCWwHIkg=="
},
"@types/d3-color": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-1.2.1.tgz",
"integrity": "sha512-xwb1tqvYNWllbHuhMFhiXk63Imf+QNq/dJdmbXmr2wQVnwGenCuj3/0IWJ9hdIFQIqzvhT7T37cvx93jtAsDbQ=="
},
"@types/d3-contour": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-1.3.0.tgz",
"integrity": "sha512-AUCUIjEnC5lCGBM9hS+MryRaFLIrPls4Rbv6ktqbd+TK/RXZPwOy9rtBWmGpbeXcSOYCJTUDwNJuEnmYPJRxHQ==",
"requires": {
"@types/d3-array": "*",
"@types/geojson": "*"
}
},
"@types/d3-dispatch": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-1.0.6.tgz",
"integrity": "sha512-xyWJQMr832vqhu6fD/YqX+MSFBWnkxasNhcStvlhqygXxj0cKqPft0wuGoH5TIq5ADXgP83qeNVa4R7bEYN3uA=="
},
"@types/d3-drag": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-1.2.2.tgz",
"integrity": "sha512-+UKFeaMVTfSQvMO0PTzOyLXSr7OZbF2Rx1iNVwo2XsyiOsd4MSuLyJKUwRmGn67044QpbNzr+VD6/8iBBLExWw==",
"requires": {
"@types/d3-selection": "*"
}
},
"@types/d3-dsv": {
"version": "1.0.35",
"resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-1.0.35.tgz",
"integrity": "sha512-QeH7cN9phcm68TDwpSGmzE71/JtGoKZ2rZJABNUMQ7nYIhHkm2UldqI1Cp2pjEo8ycSeutudjzq+Lfim/ZCadQ=="
},
"@types/d3-ease": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-1.0.7.tgz",
"integrity": "sha1-k6MBhovp4VBh89RDQ7GrP4rLbwk="
},
"@types/d3-fetch": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-1.1.5.tgz",
"integrity": "sha512-o9c0ItT5/Gl3wbNuVpzRnYX1t3RghzeWAjHUVLuyZJudiTxC4f/fC0ZPFWLQ2lVY8pAMmxpV8TJ6ETYCgPeI3A==",
"requires": {
"@types/d3-dsv": "*"
}
},
"@types/d3-force": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-1.1.1.tgz",
"integrity": "sha512-ePkELuaFWY4yOuf+Bvx5Xd+ihFiYG4bdnW0BlvigovIm8Sob2t76e9RGO6lybQbv6AlW9Icn9HuZ9fmdzEoJyg=="
},
"@types/d3-format": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-1.3.0.tgz",
"integrity": "sha512-ZiY4j3iJvAdOwzwW24WjlZbUNvqOsnPAMfPBmdXqxj3uKJbrzBlRrdGl5uC89pZpFs9Dc92E81KcwG2uEgkIZA=="
},
"@types/d3-geo": {
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-1.11.0.tgz",
"integrity": "sha512-/IbMHRG9cur+6hkWvBrRg3DnnUWtaSW8Bl6nu1OO1J8K25BxRYyLslyjIBbwlK0kV0haztlAR2LCIRuDc/U2LA==",
"requires": {
"@types/geojson": "*"
}
},
"@types/d3-hierarchy": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz",
"integrity": "sha512-DKhqURrURt2c7MsF9sHiF2wrWf2+yZR4Q9oIG026t/ZY4VWoM0Yd7UonaR+rygyReWcFSEjKC/+5A27TgD8R8g=="
},
"@types/d3-interpolate": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-1.3.0.tgz",
"integrity": "sha512-Ng4ds7kPSvP/c3W3J5PPUQlgewif1tGBqCeh5lgY+UG82Y7H9zQ8c2gILsEFDLg7wRGOwnuKZ940Q/LSN14w9w==",
"requires": {
"@types/d3-color": "*"
}
},
"@types/d3-path": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-1.0.7.tgz",
"integrity": "sha512-U8dFRG+8WhkLJr2sxZ9Cw/5WeRgBnNqMxGdA1+Z0+ZG6tK0s75OQ4OXnxeyfKuh6E4wQPY8OAKr1+iNDx01BEQ=="
},
"@types/d3-polygon": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-1.0.6.tgz",
"integrity": "sha512-E6Kyodn9JThgLq20nxSbEce9ow5/ePgm9PX2EO6W1INIL4DayM7cFaiG10DStuamjYAd0X4rntW2q+GRjiIktw=="
},
"@types/d3-quadtree": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-1.0.6.tgz",
"integrity": "sha512-sphVuDdiSIaxLt9kQgebJW98pTktQ/xuN7Ysd8X68Rnjeg/q8+c36/ShlqU52qoKg9nob/JEHH1uQMdxURZidQ=="
},
"@types/d3-random": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-1.1.1.tgz",
"integrity": "sha512-jUPeBq1XKK9/5XasTvy5QAUwFeMsjma2yt/nP02yC2Tijovx7i/W5776U/HZugxc5SSmtpx4Z3g9KFVon0QrjQ=="
},
"@types/d3-scale": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-2.1.0.tgz",
"integrity": "sha512-vLzRDF5lRxZdCLUOvmw90pkiuSsZdgroBQaat0Ov7Z7OnO9iJsPSm/TZw3wW6m2z/NhIn1E4N0RLNfEi1k4kAA==",
"requires": {
"@types/d3-time": "*"
}
},
"@types/d3-scale-chromatic": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-1.3.0.tgz",
"integrity": "sha512-JqQH5uu1kmdQEa6XSu7NYzQM71lL1YreBPS5o8SnmEDcBRKL6ooykXa8iFPPOEUiTah25ydi+cTrbsogBSMNSQ=="
},
"@types/d3-selection": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-1.3.4.tgz",
"integrity": "sha512-WQ6Ivy7VuUlZ/Grqc8493ZxC+y/fpvZLy5+8ELvmCr2hll8eJPUqC05l6fgRRA7kjqlpbH7lbmvY6pRKf6yzxw=="
},
"@types/d3-shape": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.2.8.tgz",
"integrity": "sha512-eHAi4Nuw1/69hjBFNXNWYifcNTFhwy360PI969ssMX22Si9henYiNKLeJoBhNfyXFajeFjI1HGsYzyCWKOozdA==",
"requires": {
"@types/d3-path": "*"
}
},
"@types/d3-time": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-1.0.9.tgz",
"integrity": "sha512-m+D4NbQdDlTVaO7QgXAnatR3IDxQYDMBtRhgSCi5rs9R1LPq1y7/2aqa1FJ2IWjFm1mOV63swDxonnCDlHgHMA=="
},
"@types/d3-time-format": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.1.0.tgz",
"integrity": "sha512-/myT3I7EwlukNOX2xVdMzb8FRgNzRMpsZddwst9Ld/VFe6LyJyRp0s32l/V9XoUzk+Gqu56F/oGk6507+8BxrA=="
},
"@types/d3-timer": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-1.0.8.tgz",
"integrity": "sha512-AKUgQ/nljUFcUO2P3gK24weVI5XwUTdJvjoh8gJ0yxT4aJ+d7t2Or3TB+k9dEYl14BAjoj32D0ky+YzQSVszfg=="
},
"@types/d3-transition": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-1.1.3.tgz",
"integrity": "sha512-1EukXNuVu/z2G1GZpZagzFJnie9C5zze17ox/vhTgGXNy46rYAm4UkhLLlUeeZ1ndq88k95SOeC8898RpKMLOQ==",
"requires": {
"@types/d3-selection": "*"
}
},
"@types/d3-voronoi": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/@types/d3-voronoi/-/d3-voronoi-1.1.8.tgz",
"integrity": "sha512-zqNhW7QsYQGlfOdrwPNPG3Wk64zUa4epKRurkJ/dVc6oeXrB+iTDt8sRZ0KZKOOXvvfa1dcdB0e45TZeLBiodQ=="
},
"@types/d3-zoom": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-1.7.3.tgz",
"integrity": "sha512-Tz7+z4+Id0MxERw/ozinC5QHJmGLARs9Mpi/7VVfiR+9AHcFGe9q+fjQa30/oPNY8WPuCh5p5uuXmBYAJ3y91Q==",
"requires": {
"@types/d3-interpolate": "*",
"@types/d3-selection": "*"
}
},
"@types/events": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
"integrity": "sha1-gaZzHOTfQ2GeXIyUU4Oz5iqJ6oY="
},
"@types/geojson": {
"version": "7946.0.5",
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.5.tgz",
"integrity": "sha512-rLlMXpd3rdlrp0+xsrda/hFfOpIxgqFcRpk005UKbHtcdFK+QXAjhBAPnvO58qF4O1LdDXrcaiJxMgstCIlcaw=="
},
"@types/node": {
"version": "10.5.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz",
......@@ -2608,7 +2841,8 @@
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"optional": true
},
"aproba": {
"version": "1.2.0",
......@@ -2629,12 +2863,14 @@
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
......@@ -2649,17 +2885,20 @@
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"optional": true
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"optional": true
},
"core-util-is": {
"version": "1.0.2",
......@@ -2776,7 +3015,8 @@
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"optional": true
},
"ini": {
"version": "1.3.5",
......@@ -2788,6 +3028,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
......@@ -2802,6 +3043,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
......@@ -2809,12 +3051,14 @@
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"optional": true
},
"minipass": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz",
"integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==",
"optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
......@@ -2833,6 +3077,7 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -2913,7 +3158,8 @@
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"optional": true
},
"object-assign": {
"version": "4.1.1",
......@@ -2925,6 +3171,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"optional": true,
"requires": {
"wrappy": "1"
}
......@@ -3010,7 +3257,8 @@
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
......@@ -3046,6 +3294,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -3065,6 +3314,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......@@ -3108,12 +3358,14 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"optional": true
},
"yallist": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
"integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
"integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=",
"optional": true
}
}
},
......
{
"name": "mcClient",
"version": "0.5.6",
"name": "mcclient",
"version": "0.6.1",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
......@@ -27,6 +27,7 @@
"@ionic/storage": "^2.2.0",
"@ngx-translate/core": "^9.1.1",
"@ngx-translate/http-loader": "^2.0.1",
"@types/d3": "^5.7.0",
"@types/xml2js": "^0.4.3",
"ajv": "^5.0.0",
"cordova-android": "^7.1.4",
......
......@@ -12,7 +12,10 @@ import {HelperProvider} from "../providers/helper/helper";
export class MCclient {
rootPage: any = HomePage;
constructor(platform: Platform, public statusBar: StatusBar, private translate: TranslateService, private config: Config,
constructor(platform: Platform,
public statusBar: StatusBar,
private translate: TranslateService,
private config: Config,
public helperProvider: HelperProvider) {
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
......@@ -33,7 +36,7 @@ export class MCclient {
this.translate.use(this.translate.getDefaultLang()); // Set your language here
}
// TODO: DELETE THIS
this.translate.use('de');
// this.translate.use('de');
this.translate.get(['BACK_BUTTON_TEXT']).subscribe(values => {
this.config.set('ios', 'backButtonText', values.BACK_BUTTON_TEXT);
......
......@@ -16,6 +16,7 @@
"intervalCorporaUpdate": 1209600000,
"localStorageKeyCorpora": "mc/corpora",
"localStorageKeyH5P": "mc/h5p",
"localStorageKeyMostRecentSetup": "mc/mostRecentSetup",
"localStorageKeyUpdateInfo": "mc/updateInfo",
"machinaCallidaBackendUrl": "https://scm.cms.hu-berlin.de/callidus/mc-backend",
"machinaCallidaFrontendUrl": "https://scm.cms.hu-berlin.de/callidus/mc-frontend",
......
......@@ -89,6 +89,7 @@
"MACHINA_CALLIDA": "Machina Callida",
"MACHINA_CALLIDA_BACKEND": "Machina Callida Backend",
"MACHINA_CALLIDA_FRONTEND": "Machina Callida Frontend",
"MOST_RECENT_SETUP": "Zuletzt genutzte Einstellungen",
"PART_OF_SPEECH_ADJECTIVE": "Adjektiv",
"PART_OF_SPEECH_ADVERB": "Adverb",
"PART_OF_SPEECH_AUXILIARY": "Auxiliarverb",
......
......@@ -89,6 +89,7 @@
"MACHINA_CALLIDA": "Machina Callida",
"MACHINA_CALLIDA_BACKEND": "Machina Callida Backend",
"MACHINA_CALLIDA_FRONTEND": "Machina Callida Frontend",
"MOST_RECENT_SETUP": "Most recent settings",
"PART_OF_SPEECH_ADJECTIVE": "Adjective",
"PART_OF_SPEECH_ADVERB": "Adverb",
"PART_OF_SPEECH_AUXILIARY": "Auxiliary verb",
......@@ -104,7 +105,7 @@
"PART_OF_SPEECH_PUNCTUATION": "Punctuation",
"PART_OF_SPEECH_SYMBOL": "Symbol",
"PART_OF_SPEECH_VERB": "Verb",
"PHENOMENON_CASE": "Kasus",
"PHENOMENON_CASE": "Case",
"PHENOMENON_DEPENDENCY": "Dependency",
"PHENOMENON_LEMMA": "Lemma",
"PHENOMENON_PART_OF_SPEECH": "Part of speech",
......
import {CorpusMC} from "./corpusMC";
export class ApplicationState {
public currentCorpus: CorpusMC;
public currentUrn: string;
public workReference: string;
constructor(init?: Partial<ApplicationState>) {
Object.assign(this, init);
}
}
\ No newline at end of file
......@@ -88,7 +88,7 @@
</ion-col>
</ion-row>
<ion-row
*ngIf="[ExerciseType.cloze, ExerciseType.matching].includes(exerciseProvider.exercise.type); else notKWIC"></ion-row>
*ngIf="exerciseProvider.exercise.type === ExerciseType.kwic; else notKWIC"></ion-row>
<ng-template #notKWIC>
<ion-row>
<ion-col>
......
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams, ToastController} from 'ionic-angular';
import {CorpusProvider} from "../../providers/corpus/corpus";
import {ExerciseProvider} from "../../providers/exercise/exercise";
import {
ExerciseType,
......@@ -11,7 +12,6 @@ import {
import {PreviewPage} from "../preview/preview";
import {HelperProvider} from "../../providers/helper/helper";
import {TranslateService} from "@ngx-translate/core";
import {CorpusProvider} from "../../providers/corpus/corpus";
import {QueryMC} from "../../models/queryMC";
import {AnnisResponse} from "../../models/annisResponse";
import {HttpClient, HttpErrorResponse} from "@angular/common/http";
......@@ -41,10 +41,10 @@ export class ExerciseParametersPage {
HelperProvider = HelperProvider;
constructor(public navCtrl: NavController, public navParams: NavParams,
public exerciseProvider: ExerciseProvider,
public toastCtrl: ToastController,
public translateService: TranslateService,
public corpusProvider: CorpusProvider,
public exerciseProvider: ExerciseProvider,
public http: HttpClient) {
this.translateService.get("TEXT_TOO_LONG").subscribe(value => this.textTooLongString = value + HelperProvider.config["maxTextLength"]);
this.translateService.get("QUERY_VALUE_EMPTY").subscribe(value => this.emptyQueryValueString = value);
......@@ -52,7 +52,9 @@ export class ExerciseParametersPage {
adjustTranslations() {
this.translateService.get(ExerciseTypeTranslation[this.exerciseProvider.exercise.type]).subscribe(value => this.exerciseProvider.exercise.typeTranslation = value);
this.translateService.get(InstructionsTranslation[this.exerciseProvider.exercise.type]).subscribe(value => this.exerciseProvider.exercise.instructionsTranslation = value);
if ([ExerciseType.cloze, ExerciseType.matching].includes(this.exerciseProvider.exercise.type)) {
this.translateService.get(InstructionsTranslation[this.exerciseProvider.exercise.type]).subscribe(value => this.exerciseProvider.exercise.instructionsTranslation = value);
}
if (this.exerciseProvider.exercise.type === ExerciseType.matching) {
this.exerciseProvider.exercise.queryItems = [new QueryMC({
phenomenon: Phenomenon.partOfSpeech,
......@@ -68,7 +70,7 @@ export class ExerciseParametersPage {
}
generateExercise() {
if (0 < HelperProvider.config["maxTextLength"] && HelperProvider.config["maxTextLength"] < this.corpusProvider.currentText.length) {
if (0 < HelperProvider.config["maxTextLength"] && HelperProvider.config["maxTextLength"] < this.exerciseProvider.currentText.length) {
let toast = this.toastCtrl.create({
message: this.textTooLongString,
duration: 3000,
......@@ -93,17 +95,25 @@ export class ExerciseParametersPage {
private getExerciseData() {
let search_values: string[] = this.exerciseProvider.exercise.queryItems.map(query => query.phenomenon + "=" + query.values.join("|"));
let formData = new FormData();
formData.append("urn", this.corpusProvider.currentUrn);
formData.append("urn", this.exerciseProvider.currentUrn);
formData.append("search_values", JSON.stringify(search_values));
HelperProvider.currentError = null;
HelperProvider.isLoading = true;
if (this.exerciseProvider.exercise.type === ExerciseType.kwic) {
let url = HelperProvider.config["backendBaseUrl"] + HelperProvider.config["backendApiKwicPath"];
this.http.post(url, formData).subscribe((arList: AnnisResponse[]) => {
this.http.post(url, formData).subscribe((svgString: string) => {
HelperProvider.isLoading = false;
// TODO: FINISH KWIC IMPLEMENTATION
this.exerciseProvider.kwicGraph = arList[0];
this.exerciseProvider.kwicGraphs = svgString;
this.navCtrl.push(KwicPage).then();
}, (error: HttpErrorResponse) => {
HelperProvider.isLoading = false;
HelperProvider.currentError = error;
let toast = this.toastCtrl.create({
message: HelperProvider.generalErrorAlertMessage,
duration: 3000,
position: 'top'
});
toast.present().then();
});
return;
}
......
......@@ -4,6 +4,7 @@
{{ 'MACHINA_CALLIDA' | translate }}
</ion-title>
<ion-buttons end>
<ion-spinner *ngIf="HelperProvider.isLoading"></ion-spinner>
<button ion-button icon-only color="primary" (click)="HelperProvider.goToFeedbackPage(navCtrl)">
<ion-icon name="help-circle"></ion-icon>
</button>
......@@ -20,7 +21,7 @@
</button>
</ion-col>
</ion-row>
<ion-row>
<ion-row class="lastMainElement">