diff --git a/package-lock.json b/package-lock.json index 49bef67891..a18f15c5b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,6 @@ "license": "Apache-2.0", "dependencies": { "axios": "0.27.2", - "bootstrap": "5.2.0", - "bootstrap-icons": "1.9.1", "mitt": "3.0.0", "vue": "3.2.38", "vue-router": "4.1.5" @@ -20,7 +18,6 @@ "@prettier/plugin-xml": "2.2.0", "@rushstack/eslint-patch": "1.1.4", "@tikui/core": "2.2.0", - "@types/bootstrap": "5.2.3", "@types/jest": "27.5.0", "@types/sinon": "10.0.13", "@typescript-eslint/parser": "5.36.1", @@ -1464,15 +1461,6 @@ "node": ">= 8" } }, - "node_modules/@popperjs/core": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", - "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, "node_modules/@prettier/plugin-xml": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-2.2.0.tgz", @@ -1611,15 +1599,6 @@ "@babel/types": "^7.3.0" } }, - "node_modules/@types/bootstrap": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.3.tgz", - "integrity": "sha512-r2SE9NYaaI7B/jJk8gqRtXzlhgFL6dlXBResJkCbQa8ept619WeiOIO4zBQxdmUFzkKNWLK5ZOyYGI3QZoaqbQ==", - "dev": true, - "dependencies": { - "@popperjs/core": "^2.9.2" - } - }, "node_modules/@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", @@ -3090,29 +3069,6 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "node_modules/bootstrap": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.0.tgz", - "integrity": "sha512-qlnS9GL6YZE6Wnef46GxGv1UpGGzAwO0aPL1yOjzDIJpeApeMvqV24iL+pjr2kU4dduoBA9fINKWKgMToobx9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/twbs" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - } - ], - "peerDependencies": { - "@popperjs/core": "^2.11.5" - } - }, - "node_modules/bootstrap-icons": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.9.1.tgz", - "integrity": "sha512-d4ZkO30MIkAhQ2nNRJqKXJVEQorALGbLWTuRxyCTJF96lRIV6imcgMehWGJUiJMJhglN0o2tqLIeDnMdiQEE9g==" - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -16178,11 +16134,6 @@ "fastq": "^1.6.0" } }, - "@popperjs/core": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", - "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==" - }, "@prettier/plugin-xml": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-2.2.0.tgz", @@ -16314,15 +16265,6 @@ "@babel/types": "^7.3.0" } }, - "@types/bootstrap": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.3.tgz", - "integrity": "sha512-r2SE9NYaaI7B/jJk8gqRtXzlhgFL6dlXBResJkCbQa8ept619WeiOIO4zBQxdmUFzkKNWLK5ZOyYGI3QZoaqbQ==", - "dev": true, - "requires": { - "@popperjs/core": "^2.9.2" - } - }, "@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", @@ -17466,17 +17408,6 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "bootstrap": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.0.tgz", - "integrity": "sha512-qlnS9GL6YZE6Wnef46GxGv1UpGGzAwO0aPL1yOjzDIJpeApeMvqV24iL+pjr2kU4dduoBA9fINKWKgMToobx9A==", - "requires": {} - }, - "bootstrap-icons": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.9.1.tgz", - "integrity": "sha512-d4ZkO30MIkAhQ2nNRJqKXJVEQorALGbLWTuRxyCTJF96lRIV6imcgMehWGJUiJMJhglN0o2tqLIeDnMdiQEE9g==" - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", diff --git a/package.json b/package.json index b3af1b5c8d..8675282894 100644 --- a/package.json +++ b/package.json @@ -35,8 +35,6 @@ }, "dependencies": { "axios": "0.27.2", - "bootstrap": "5.2.0", - "bootstrap-icons": "1.9.1", "mitt": "3.0.0", "vue": "3.2.38", "vue-router": "4.1.5" @@ -45,7 +43,6 @@ "@prettier/plugin-xml": "2.2.0", "@rushstack/eslint-patch": "1.1.4", "@tikui/core": "2.2.0", - "@types/bootstrap": "5.2.3", "@types/jest": "27.5.0", "@types/sinon": "10.0.13", "@typescript-eslint/parser": "5.36.1", diff --git a/src/main/glyph/config.json b/src/main/glyph/config.json index f8e0e3bf67..10c1c563b3 100644 --- a/src/main/glyph/config.json +++ b/src/main/glyph/config.json @@ -77,6 +77,30 @@ "width": 1000 }, "search": ["jhipster"] + }, + { + "uid": "7034e4d22866af82bef811f52fb1ba46", + "css": "code", + "code": 61729, + "src": "fontawesome" + }, + { + "uid": "9a76bc135eac17d2c8b8ad4a5774fc87", + "css": "download", + "code": 59397, + "src": "fontawesome" + }, + { + "uid": "5717236f6134afe2d2a278a5c9b3927a", + "css": "play-circled", + "code": 61764, + "src": "fontawesome" + }, + { + "uid": "5211af474d3a9848f67f945e2ccaf143", + "css": "cancel", + "code": 59398, + "src": "fontawesome" } ] } diff --git a/src/main/glyph/css/jhlite-icons-codes.css b/src/main/glyph/css/jhlite-icons-codes.css index 61823917fd..723af7d8c2 100644 --- a/src/main/glyph/css/jhlite-icons-codes.css +++ b/src/main/glyph/css/jhlite-icons-codes.css @@ -13,15 +13,27 @@ .jhlite-icon-jhipster:before { content: '\e804'; } /* '' */ +.jhlite-icon-download:before { + content: '\e805'; +} /* '' */ +.jhlite-icon-cancel:before { + content: '\e806'; +} /* '' */ .jhlite-icon-twitter:before { content: '\f099'; } /* '' */ .jhlite-icon-github-circled:before { content: '\f09b'; } /* '' */ +.jhlite-icon-code:before { + content: '\f121'; +} /* '' */ .jhlite-icon-puzzle:before { content: '\f12e'; } /* '' */ +.jhlite-icon-play-circled:before { + content: '\f144'; +} /* '' */ .jhlite-icon-binoculars:before { content: '\f1e5'; } /* '' */ diff --git a/src/main/glyph/css/jhlite-icons-embedded.css b/src/main/glyph/css/jhlite-icons-embedded.css index 3f4555036b..de4202297c 100644 --- a/src/main/glyph/css/jhlite-icons-embedded.css +++ b/src/main/glyph/css/jhlite-icons-embedded.css @@ -1,16 +1,16 @@ @font-face { font-family: 'jhlite-icons'; - src: url('../font/jhlite-icons.eot?90128446'); - src: url('../font/jhlite-icons.eot?90128446#iefix') format('embedded-opentype'), - url('../font/jhlite-icons.svg?90128446#jhlite-icons') format('svg'); + src: url('../font/jhlite-icons.eot?62175279'); + src: url('../font/jhlite-icons.eot?62175279#iefix') format('embedded-opentype'), + url('../font/jhlite-icons.svg?62175279#jhlite-icons') format('svg'); font-weight: normal; font-style: normal; } @font-face { font-family: 'jhlite-icons'; - src: url('data:application/octet-stream;base64,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') + src: url('data:application/octet-stream;base64,d09GRgABAAAAABdkAA8AAAAAJdQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAARAAAAGA+JFSEY21hcAAAAdgAAAC3AAACXm9hffpjdnQgAAACkAAAAAsAAAAOAAAAAGZwZ20AAAKcAAAG7QAADgxiLvl6Z2FzcAAACYwAAAAIAAAACAAAABBnbHlmAAAJlAAACnsAAA5uVr3Jy2hlYWQAABQQAAAAMwAAADYhoZePaGhlYQAAFEQAAAAgAAAAJAdkA6BobXR4AAAUZAAAACwAAAA8Nmf/8WxvY2EAABSQAAAAIAAAACAYfhtfbWF4cAAAFLAAAAAgAAAAIAFADsZuYW1lAAAU0AAAAYoAAAL9uXCVr3Bvc3QAABZcAAAAiQAAALnRH69wcHJlcAAAFugAAAB6AAAAnH62O7Z4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgYV7AOIGBlYGBqYppDwMDQw+EZnzAYMjIBBRlYGVmwAoC0lxTGA68YPhUyRz0P4shinkNw3SgMCOKIiYAkQwNMHic5ZLNDYJAEIXfAuIfEmMBJtwNVVCSF0oxXDxZgw2RzHGHBvANsxelBId8m+wjO2zmA8AGQE5upADCCwFWT6ZhyXMclrzAnfsLzkwyKeMjDtpoq52OUz/PgGCd/VTg+evXY1nGjgVvUmKLHfb83hEVTqj5slz1+L+qlvWddrVN2jFDkuAUIQkzKgmzKgmzLQlOG5Lg3OnOoQHEwaELaOPYX6CtQz/QzrHb6ejQGabeQf0B050/LAB4nGNgQAYAAA4AAQB4nK1Xa1sbxxWe1Q2MAQNC2M267ihjUZcdySRxHGIrDtllURwlqcC43XVuu0i4TZNekt7oNb1flD9zVrRPnW/5aXnPzEoBB9ynz1M+6Lwz886c65xZSGhJ4n4UxlJ2H4n5nS5V7j2I6IZL1+LkoRzej6jQSD+bFtOi31f7br1OIiYRqK2RcESQ+E1yNMnkYZMKWtVVvUlFLQdHxeWa8AOqBjJJ/KywHPhZoxhQIdg7lDSrAIJ0QKXe4ahQKOAYqh9crvPsaL7m+JcloPJHVaeKNUWiFx3EoxWnYBSWNBU9qgUR66OVIMgJrhxI+rxHpdUHo2vOXBD2Q6qEUZ2KjXj3rQhkdxhJ6vUwtQk2bTDaiGOZWTYsuoapfCRpndfXmfl5L5KIxjCVNNOLEsxIXpthdJPRzcRN4jh2ES2aDfokdiMSXSbXMXa7dIXRlW76aEH0mfGoLPbjeJDG5HhxnHsQywH8UX7cpLKWsKDUSOHTVNCLaEr5NK18ZABbkiZVTLgRCTnIpvZ9yYvsrmvN518SSdin8lodi4EcyiF0ZevlBiK0EyU9N92NIxXXY0mb9yKsuRyX3JQmTWk6F3gjUbBpnsZQ+QrlovyUCvsPyenDEJpaa9I5LdnaebhVEvuST6DNJGZKsmWsndGjc/MiCP21+qRwzuuThTRrT3E8mBDA9USGQ5VyUk2whcsJIenCyLGVSK1Kt6yKuTO201XsEu6Xrh3fNK+NQ0dzs6IYQour6vEaiviCzgqFkAbpVpMWNKhS0oXgNT4AABmiBR7tYrRg8rWIgxZMUCRi0IdmWgwSOUwkLSJsTVrS3b0oKw224qs0d6AOm1TV3Z2oe89OunXMV838ss7EUnA/ypaWAnJSnxY9vnIoLT+7wD8L+CFnBbkoNnpRxuGDv/4QGYbahbW6wrYxdu06b8FN5pkYnnRgfwezJ5N1RgozIaoK8UJB3Rk5jmOyVdMiE4VwL6Il5cuQ5lF+c4hw4svkP5cuOWJRVIXv+xyBZaw5abY87dGnnvs0wrUCH2teky7qzGF5CfFm+TWdFVk+pbMSS1dnZZaXdVZh+XWdTbG8orNplt/Q2TmWnlbj+FMlQaSVbJHzDt+WJuljiyuTxY/sYvPY4upk8WO7KLWgC96ZfsKpf1tX2c/j/tXhn4RdT8M/lgr+sbwK/1g24B/LVfjH8pvwj+U1+MfyW/CP5Rr8Y9nSsm0K9rqG2kuJRNNzksCkFJewxTW7rum6R9dxH5/BVejIM7Kp0g3Fjf2JDJe9f3ac4my+EnLF0TNrWdmphRGaInv53LHwnMW5oeXzxvLncZrlhF/ViWt7qi08L1b+Jfhv647ayG44Nfb1JuIBB063H5cl3WjSC7p1sd2kjf9GRWH3QX8RKRIrDdmSHW4JCO3d4bCjOughER4+dF28SBuOU1tGhG+hd63QRdBKaKcNQ8tmhU/nA+9g2FJStoc48/ZJmmzZ86ii/DFbUsI9ZXMnOirJsnSPSqvlp2KfO+0MmrYyO9R2QpXg8euacLezr1IpSAaKynhUsVwKUhc44U73+J4UpqH/q23kWEHDNr9YM4HRgvNOUaJsT62giSAZZRRc+Sun4kQ2osFGFPGbd9IvdaEQ2uNYSMyWV/NYqDbC9NJkiWbM+rbqsFLO4p1JCNkZG2kSe1FLtvGgs/X5pGS78lRQpYHR3ePfLjaJp1V7ni3FJf/yMUuCcboS/sB53OVxijfRP1ocxW26GEQ9F2+qbMetbN1Zxr195cTqrts7seqfuvdJOwJNt7wnKdzSdNsbwjauMTh1JhUJbdE6doTGZa7PVRv5FB9ovnWdC1Th+rRw8+z52zqbwVsz3vI/lnTn/1XF7BP3sbZCqzpWL/U4t7ODBnzLG0flVYxue3WVxyX3ZhKCuwhBzV57fI3ghldbdBO3/LUz5rs4zlmu0gvAr2t6EeINjmKIcMttPLzjaL2puaDpDcBv65EQ2wA9AIfBjh45ZmYXwMzcY04HYI85DO4zh8F3mMPgu/oIvTAAioAcg2J95Ni5B0B27i3mOYzeZp5B7zDPoHeZZ9B7rDMESFgng5R1MthnnQz6zHkVYMAcBgfMYfCQOQy+Z+zaAvq+sYvR+8YuRj8wdjH6wNjF6ENjF6MfGrsY/cjYxejHiHF7ksCfmBFtAn5k4SuAH3PQzcjH6Kd4a3POzyxkzs8Nx8k5v8Dmlyan/tKMzI5DC3nHryxk+q9xTk74jYVM+K2FTPgduHcm5/3ejAz9EwuZ/gcLmf5H7MwJf7KQCX+2kAl/AfflyXl/NSND/5uFTP+7hUz/B3bmhH9ayIShhUz4VI/Omy9bqrijUqEY4p8mtMHY92j6gIpXe4fjx7r5BSXaAUEAAAAAAQAB//8AD3icrVdrjBtXFb7n3pl7x/OyZzwP27vxeu31eHfteDdeP/LY9TqbR5PsI48N27pqkibd0iaK0jbdhoLUaIO6VaKWBqlIQH+0VEoFRQQVKoGoQCAIFaL8KFL/pT8qUEVBVPyphBqyXs54k5ZS8QOE5bn3zH3MnHPP+b5zhrC1j9Z+wF5hGjlIjpNHyOHWwc0gwwGQ5KihM8rZDOGCCk6XCWWCsvMEiCyB/ACRiOCSeIAwQtidhDFyDAWy/8zpzy8ePbLwuek9u6YmttYU7hfBE8wE0Z8NCsEk1BvVoFafhCY06sHtvrEuVIMmTFK8oEl9tz7WX7m9lfse3tUb8XrBk7nno4yPCgo4E4VP7sOVgj3n6c+rrfzqavFA1DQAqASSbSRkKklC1T0GEqWqoaaYRBWuRmTONdlxYq6AV4bKxjedwWqnJ6rL5g7KYmn52xK4q69TrsC8YlKd8kjnqjDpVqYImBcm01AIRxi9o2+oIwZGYbyUz0YNIZsS5yl33OWeFjGcpiMn8P2GOeVKTkQXmqU6qq2oqJ3cGuzwqQCsaME2aWDEFUuooPOBbvvaLVkHVSEEHUDQZ2302SbSbG0bBibnN1CJ0RkiMWASLBOgDOh5IhMmyewkoYTQNqEUXYzywaGan/MHOO8tgmPSXOiWKh6e56dhrNJkZYpn6Hu8CDhTq9b70DNjlTRl7Z1nv7Vw7/fHJXmGW9LQuR1bHzwwTMszpx9aHJy14v6NqAMla8/484fufGFpCo5iu/PQXm5KszLw2tbyzKmlUzPlwfxsbKNn3kjE7T1bmjuXXiC3bPous1icaATtpVApRoAHNata98FzmLTaY9i2Qd8zYLazKNQoq5u6gpITWkTWTrE/sUMkIFUy2Ro30eNjleLwgMEJ5IARDGKKr6BwUoIwUtvYEXYcw5UdBJJJxy1dJQEEGFjFfLYQnkej3qiPVfwGyrmswBDkDh4PBmEFZwr4BgfPCNdUcbXw4MOFfXuHS6XhvfsWjs0tb5+em7//SPvpoFAInm4fuf/wgenWcv5uiKYSy6M9+BtdrvSVinumr+7bWyzVLmxK9YQLj/7uyN2XggJOX0ikoDVyV4BP2v/y/unty3PhGa3dRK3/SodIP0m2PFeiZC+gU8k5IBFB+qGfof4QCC6C0AbEhUDY+B5qvN7WC8EIBOzozrMHTxw98NCuBVNP8Ihlb5m4ePyxLx67NLE5HovISd2kBSj2VUbTw5RNbDoxNJUb1LRWeWZ245SuDeWmBu/btIUgAZC1j9hLeO4KsUiBTJK9rd3jIJRIGGoYjYpQViIgmFghnEmMS8u4h0ptGRigNxg5SSSJHsMhun9yYiDvZe38loSt8r5ivloGE7yQEm4LLp54/3pEjvX7XmUSkB2Yh1Zm0ahGfRvgTGMMGcMdq9DfOmmHJlKJrzgZm3q9id0Z7+ab6MGMB2y6f6F/BpiX+ZFq31DT6g0rovqXPfOy6cHlxGK0u5E60dvCM695uNF9zcvMZPAPg37shqbdiPluGPEYyuvx+zf6Nn2KDJB0qyebjAk0FWYQhoSuoLXknNPrOBJPFfPOusqiqzcCbx19lT7kQWw8nPY9+nZ0JlaKXbmCzUws7GOf3EejV65EH/ZC4eWXo59dGC2HC7o6/Z1dpL8iI2S2ta9cGs5QWeZJ5HbPpkzSQmJEepf5ClK6vILsIa0QRtkKak5Xwv3QJqj78dC+gwOel7Oyg4JvKGJguY7JCtlCiIcy3OomwPPLUG0gToLQFxUECBd1djFfG154/DvHv/5EPHH+xLZ77Hg0kZg8FJTypeTOXzwsn9q3vzZRd7dV6Zl6wd/71acWW/QgnYXddcaNE1PUpcm5e4fnF2XXmX4QtuiZ1gBHPCAXrl3r8uA8uRuzzyLG0xnyKHmcnGo9MJDucSUJ7jcoo6fwrO8AWaCxElAk/zCXQZjLGAfGz2OGQ4vOEyGDkJE15ScVCO1uK+ERHEfjAWni0bOPPLx75+bGptFScUMvmYf5SAi3ShrCyOTBBFQLTalQLSDKMCcFWVHGvOlz10kznyOFYOyWYQSyPA190L1ofQzD2nc4TtSqTWC4VWAyqwefaRpV7tQbKNTh6tIbZ69ciJobMpXN2RQtucnYuOtWz9SUdCuadEqJ7ObRfpfrqSBrahld0xWqMAmRzkV2MNANiJkXriz98mtU5hRUR9KE6nBVVXslI2LkwZKsIB7PgE1tpi1de+yZd4vMVM/Vk8xMl/aM7hgdm5Q904hGuZ3ik2OjO0b2lHtj1EH2TPh2mFxVzhhPm4abUiir9FLVZMV3n3ns2tLqNzBBUYlHmcZ1VzKF6UiGqke4rGMpAQZomO1D14ZFxdpPJI++ThxE1JYQU2ULOTxEFLpjhYaIqlUHC74t8UQxj2AqIJga8AmEHMDKYQTK0Ig3uwcegX9DXJhZ4K5e2eSdm5wjLGJSL+fXr3PY+RY1eVbh8Huqi5xQ4DSuMHmvLF+/Lsu9KOLqXXgLshzKmEtx8zvXuUnnVkeEwiIMT/0tfIBKzc7lzj/WN11/B1fjKzo35dg6Z7yH/DlPFuHi9Kvqgbta3twOGhE9aOGmgsEoJq4qqj3dM/2qhrP23I4qkz813fOftrTb069GcM92IiLIvxE5giDn8ooCXEO8MxVUhoUC7TIy8rL0JNFUorWJinqpcJJoWoh7rAt71lXb9a8PUpAtFK4gr//3DwstmUCsCcwN/6NG/wer2u12y77v+NF75g8lh7Op4tDmXFYPE4/Dc9kyFkWug4kkZ1KRRS5rUixNc1nEsofhJRyBi9bBXLMwFa2XBbVqmRawXql4PpZVvtNNWmF1ihDHBU2sSTz2UqXkD6YCp2mDHd89nsiV7VSMNksjU3YkrtKkW6rPy54UATXi0Pl6CG7PpFOjpXFwPI+Wd385BSAb8WRSz/SWEuXKBxvHHc/Z5S24jKoSpDNOkBr0S5XqxkTJTMf0ZDJuYJWAXL+NUmo6iaSRSZUTG6vQ1WTAy6QhBgBK3+HaRicV82JTiD+6tnqrxtRJigStHMOETcLEAN1KMmRFGrJiMiE40UGXbnGhgzxXxgoesDLKB9y10PZKo8tZZ994/zdn+Jd+Cgdsu/OWNWBHbCVkmL9cW+o2nao6rP5Qc53O844myVi9hnXd+1hfxJAF8pjFtpDTrZNjQ1Qo/SDTDa6hS0RmM1g/wzTXmSYBfqpASO+yoCGTY5iR82Gx96QKihDKndgp4hgWJYrYb1mENGqVTRuLg4WBbF+6J2k5lhO38XXRhhF+t1hI7NatssOKY9lh5Sz4eCC8sETMuzlMdtug4skfS3DJM51Y549YHjwtGfDis3SbZ3Zv8f+BIXWav1aVlxQVvrDe0xc7h3Gm8/NuPQEb4H298zhc7OjdPTiyHa/v6VefeEJRVaXbIkeura2dZH9G/rBIlowR9cdjxZStEFZBT3i+5QgZwzRoWNVGvh5+SXVHQq3XB3zZQ/fwAP0U1tmQxs8MtfMhfiPhhwZoEv0ZChEc0HEcPbz6nMwgreoa6/xB1dkhVbn5piZfpqrCauv9p+/ps1y7+SY+IxRYTej/BLVsLRoAeJxjYGRgYADilUusDsTz23xl4Gd+ARRhuG++8juM/v/zfyaLGHMwkMvBwAQSBQCLCw4pAHicY2BkYGAO+p/FwMCi///n/+8sYgxAERTADwCT/gYLeJxjfsHAwLzg/0/mSCAtCMQg/ov/f5gXQPkgGijHog9j//8LVfMfANEEEIAAAAAAANoBRAFiAdYCHgKkAu4DXgRMBL4GDAZOBt4HNwABAAAADwB5AAgAAAAAAAIAGgA/AI0AAACBDgwAAAAAeJx1kd9KwzAUxr+4P6ITLxTEO3MlE1k3CyJ4pQw3r4fsTrDWrM3smpFmkz2Db6HP4Ov4Ht75rQsyhLWk+X3fOcnJSQEc4BsCq+eSY8UCe1Qr3sI2bj1X6N97rpIfPNfQwJPnOv1Xz7s4x5vnBg7xwR1EdYdqjC/PAsfixPMW9sWV5wr9O89V8qPnGo7EzHOd/rvnXQzFp+cGTsVP10wXViepk83umQw7YSifF9LQ0nmUyWjmUmMLeSNHJncqy0wQm8k4zbRTLR2bvBioZJZFdt1a56GyhTa5vAg663Zf5cpGTr0sqxXzJHRuJEfWTGTP15FTa8YqdkHq3PS63V6vjy4MpljAQiNBCgeJJt0zziE6HCHpmRmSmassjRwRMjoRZlyRlpGC+oZjRJXTVczIyAFifif8BSm1LiMtznGZV2BAnXCfjLvZjVmb/CH1srYutcQF63U2Zvep83JFVMZe/norMOcpQrqOHSy7sOWpJXr/+pG8r2VsTCemH5S35uheo813Q/+/kOSREQAAeJxtjFEOgjAQBfugAiKKF+FQZbuR6so2UCRyejXGP+dzJhmTmS+1+U+LDDksdihQosIeNQ5ocMQJLc7G9qq3nGi1Udyz1chjRyrClMKDq+sQ4px4qryuo6jzBbmRWMq0hvT2p0tIw9J3FCYS9pbUcxGXbRNuPsNfqPswKi3ipjm/u2jMC6SnK+8AAAB4nGPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGdidNjIwaEFoLhR6JwMDAzcSaycDMwODy0YVxo7AiA0OHREgforLRg0QfwcHA0SAwSVSeqM6SGgXRwMDI4tDR3IITAIENjLwae1g/N+6gaV3IxODy2bWFDYGFxcAlBwqBwAA') format('woff'), - url('data:application/octet-stream;base64,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') + url('data:application/octet-stream;base64,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AQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrEAACqxAAdCsQAKKrEAB0KxAAoqsQAHQrkAAAALKrEAB0K5AAAACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmxAA4quAH/hbAEjbECAESzBWQGAERE') format('truetype'); } /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ @@ -19,7 +19,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'jhlite-icons'; - src: url('../font/jhlite-icons.svg?90128446#jhlite-icons') format('svg'); + src: url('../font/jhlite-icons.svg?62175279#jhlite-icons') format('svg'); } } */ @@ -75,15 +75,27 @@ .jhlite-icon-jhipster:before { content: '\e804'; } /* '' */ +.jhlite-icon-download:before { + content: '\e805'; +} /* '' */ +.jhlite-icon-cancel:before { + content: '\e806'; +} /* '' */ .jhlite-icon-twitter:before { content: '\f099'; } /* '' */ .jhlite-icon-github-circled:before { content: '\f09b'; } /* '' */ +.jhlite-icon-code:before { + content: '\f121'; +} /* '' */ .jhlite-icon-puzzle:before { content: '\f12e'; } /* '' */ +.jhlite-icon-play-circled:before { + content: '\f144'; +} /* '' */ .jhlite-icon-binoculars:before { content: '\f1e5'; } /* '' */ diff --git a/src/main/glyph/css/jhlite-icons-ie7-codes.css b/src/main/glyph/css/jhlite-icons-ie7-codes.css index bf13afadd5..1d51476f20 100644 --- a/src/main/glyph/css/jhlite-icons-ie7-codes.css +++ b/src/main/glyph/css/jhlite-icons-ie7-codes.css @@ -13,15 +13,27 @@ .jhlite-icon-jhipster { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } +.jhlite-icon-download { + *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); +} +.jhlite-icon-cancel { + *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); +} .jhlite-icon-twitter { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } .jhlite-icon-github-circled { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } +.jhlite-icon-code { + *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); +} .jhlite-icon-puzzle { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } +.jhlite-icon-play-circled { + *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); +} .jhlite-icon-binoculars { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } diff --git a/src/main/glyph/css/jhlite-icons-ie7.css b/src/main/glyph/css/jhlite-icons-ie7.css index 5ee04c0020..97e332c659 100644 --- a/src/main/glyph/css/jhlite-icons-ie7.css +++ b/src/main/glyph/css/jhlite-icons-ie7.css @@ -26,15 +26,27 @@ .jhlite-icon-jhipster { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } +.jhlite-icon-download { + *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); +} +.jhlite-icon-cancel { + *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); +} .jhlite-icon-twitter { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } .jhlite-icon-github-circled { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } +.jhlite-icon-code { + *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); +} .jhlite-icon-puzzle { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } +.jhlite-icon-play-circled { + *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); +} .jhlite-icon-binoculars { *zoom: expression(this.runtimeStyle[ 'zoom' ] = '1', this.innerHTML = ' '); } diff --git a/src/main/glyph/css/jhlite-icons.css b/src/main/glyph/css/jhlite-icons.css index e8c6bb4ab0..bf96024670 100644 --- a/src/main/glyph/css/jhlite-icons.css +++ b/src/main/glyph/css/jhlite-icons.css @@ -1,9 +1,9 @@ @font-face { font-family: 'jhlite-icons'; - src: url('../font/jhlite-icons.eot?60203639'); - src: url('../font/jhlite-icons.eot?60203639#iefix') format('embedded-opentype'), - url('../font/jhlite-icons.woff2?60203639') format('woff2'), url('../font/jhlite-icons.woff?60203639') format('woff'), - url('../font/jhlite-icons.ttf?60203639') format('truetype'), url('../font/jhlite-icons.svg?60203639#jhlite-icons') format('svg'); + src: url('../font/jhlite-icons.eot?27650537'); + src: url('../font/jhlite-icons.eot?27650537#iefix') format('embedded-opentype'), + url('../font/jhlite-icons.woff2?27650537') format('woff2'), url('../font/jhlite-icons.woff?27650537') format('woff'), + url('../font/jhlite-icons.ttf?27650537') format('truetype'), url('../font/jhlite-icons.svg?27650537#jhlite-icons') format('svg'); font-weight: normal; font-style: normal; } @@ -13,7 +13,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'jhlite-icons'; - src: url('../font/jhlite-icons.svg?60203639#jhlite-icons') format('svg'); + src: url('../font/jhlite-icons.svg?27650537#jhlite-icons') format('svg'); } } */ @@ -68,15 +68,27 @@ .jhlite-icon-jhipster:before { content: '\e804'; } /* '' */ +.jhlite-icon-download:before { + content: '\e805'; +} /* '' */ +.jhlite-icon-cancel:before { + content: '\e806'; +} /* '' */ .jhlite-icon-twitter:before { content: '\f099'; } /* '' */ .jhlite-icon-github-circled:before { content: '\f09b'; } /* '' */ +.jhlite-icon-code:before { + content: '\f121'; +} /* '' */ .jhlite-icon-puzzle:before { content: '\f12e'; } /* '' */ +.jhlite-icon-play-circled:before { + content: '\f144'; +} /* '' */ .jhlite-icon-binoculars:before { content: '\f1e5'; } /* '' */ diff --git a/src/main/glyph/font/jhlite-icons.eot b/src/main/glyph/font/jhlite-icons.eot index 51510c6354..fbbd8e40e7 100644 Binary files a/src/main/glyph/font/jhlite-icons.eot and b/src/main/glyph/font/jhlite-icons.eot differ diff --git a/src/main/glyph/font/jhlite-icons.svg b/src/main/glyph/font/jhlite-icons.svg index d64406851e..32fdff4ec8 100644 --- a/src/main/glyph/font/jhlite-icons.svg +++ b/src/main/glyph/font/jhlite-icons.svg @@ -16,12 +16,20 @@ + + + + + + + + diff --git a/src/main/glyph/font/jhlite-icons.ttf b/src/main/glyph/font/jhlite-icons.ttf index fea5fc60c9..e6e2af72b2 100644 Binary files a/src/main/glyph/font/jhlite-icons.ttf and b/src/main/glyph/font/jhlite-icons.ttf differ diff --git a/src/main/glyph/font/jhlite-icons.woff b/src/main/glyph/font/jhlite-icons.woff index 256e388d28..4ac1172f80 100644 Binary files a/src/main/glyph/font/jhlite-icons.woff and b/src/main/glyph/font/jhlite-icons.woff differ diff --git a/src/main/glyph/font/jhlite-icons.woff2 b/src/main/glyph/font/jhlite-icons.woff2 index 386c37de9e..8a70238718 100644 Binary files a/src/main/glyph/font/jhlite-icons.woff2 and b/src/main/glyph/font/jhlite-icons.woff2 differ diff --git a/src/main/style/molecule/_molecule.scss b/src/main/style/molecule/_molecule.scss index 4e719d1c17..de3ac8db61 100644 --- a/src/main/style/molecule/_molecule.scss +++ b/src/main/style/molecule/_molecule.scss @@ -1,2 +1,3 @@ @import 'icon-text/icon-text'; @import 'nav/nav'; +@import 'toast/toast'; diff --git a/src/main/style/molecule/molecule.pug b/src/main/style/molecule/molecule.pug index d398fc385f..693edd688f 100644 --- a/src/main/style/molecule/molecule.pug +++ b/src/main/style/molecule/molecule.pug @@ -16,3 +16,5 @@ block content include:componentDoc(height=50) icon-text/icon-text.md .tikui-vertical-spacing--line include:componentDoc(height=50) nav/nav.md + .tikui-vertical-spacing--line + include:componentDoc(height=200) toast/toast.md diff --git a/src/main/style/molecule/toast/_toast.scss b/src/main/style/molecule/toast/_toast.scss new file mode 100644 index 0000000000..e5c69cfb61 --- /dev/null +++ b/src/main/style/molecule/toast/_toast.scss @@ -0,0 +1,57 @@ +$jhlite-toast-gap: 1vw; +$jhlite-toast-padding: 2vw; +$jhlite-toast-radius: 2vw; + +$jhlite-toast-medium-gap: 10px; +$jhlite-toast-medium-padding: 10px 20px; +$jhlite-toast-medium-radius: 20px; + +$jhlite-toast-color-text: $jhlite-global-color-text-light; +$jhlite-toast-success-color-background: $jhlite-global-color-success; +$jhlite-toast-error-color-background: $jhlite-global-color-error; + +.jhlite-toast { + padding: $jhlite-toast-padding; + display: flex; + gap: $jhlite-toast-gap; + border-radius: $jhlite-toast-radius; + align-items: center; + font-size: 1.5rem; + color: $jhlite-toast-color-text; + + &.-success { + background-color: $jhlite-toast-success-color-background; + } + + &.-error { + background-color: $jhlite-toast-error-color-background; + } + + &--message { + flex-grow: 1; + flex-basis: 0; + } + + &--action { + color: inherit; + cursor: pointer; + margin: 0; + padding: 0; + font-size: 2rem; + background: none; + border: 0; + opacity: 0.7; + + &:hover { + opacity: 1; + } + } +} + +@media screen and (min-width: $jhlite-global-breakpoint-small-medium) { + .jhlite-toast { + gap: $jhlite-toast-medium-gap; + padding: $jhlite-toast-medium-padding; + border-radius: $jhlite-toast-medium-radius; + } +} diff --git a/src/main/style/molecule/toast/toast.code.pug b/src/main/style/molecule/toast/toast.code.pug new file mode 100644 index 0000000000..90dc4c990a --- /dev/null +++ b/src/main/style/molecule/toast/toast.code.pug @@ -0,0 +1,4 @@ +include toast.mixin.pug + ++jhlite-toast('success') Good message ++jhlite-toast('error') Bad message diff --git a/src/main/style/molecule/toast/toast.md b/src/main/style/molecule/toast/toast.md new file mode 100644 index 0000000000..4ee1c68730 --- /dev/null +++ b/src/main/style/molecule/toast/toast.md @@ -0,0 +1 @@ +## Toast diff --git a/src/main/style/molecule/toast/toast.mixin.pug b/src/main/style/molecule/toast/toast.mixin.pug new file mode 100644 index 0000000000..a21cedfa2a --- /dev/null +++ b/src/main/style/molecule/toast/toast.mixin.pug @@ -0,0 +1,8 @@ +include /atom/icon/icon.mixin.pug + +mixin jhlite-toast(type) + .jhlite-toast(class=`-${type}` role='alert') + .jhlite-toast--message + block + button.jhlite-toast--action(aria-label='Close') + +jhlite-icon('cancel') diff --git a/src/main/style/molecule/toast/toast.render.pug b/src/main/style/molecule/toast/toast.render.pug new file mode 100644 index 0000000000..1c36ccb306 --- /dev/null +++ b/src/main/style/molecule/toast/toast.render.pug @@ -0,0 +1,4 @@ +extends /layout + +block body + include toast.code.pug diff --git a/src/main/style/template/_template.scss b/src/main/style/template/_template.scss index 59e853b93c..8377fcf355 100644 --- a/src/main/style/template/_template.scss +++ b/src/main/style/template/_template.scss @@ -1 +1,2 @@ @import 'layout/layout'; +@import 'toast-overlay/toast-overlay'; diff --git a/src/main/style/template/template.pug b/src/main/style/template/template.pug index 9a602d69d9..c915f66ecc 100644 --- a/src/main/style/template/template.pug +++ b/src/main/style/template/template.pug @@ -14,3 +14,5 @@ block content include /documentation/atomic-design/quote/template .tikui-vertical-spacing--line include:templateDoc layout/layout.md + .tikui-vertical-spacing--line + include:templateDoc toast-overlay/toast-overlay.md diff --git a/src/main/style/template/toast-overlay/_toast-overlay.scss b/src/main/style/template/toast-overlay/_toast-overlay.scss new file mode 100644 index 0000000000..d291af5578 --- /dev/null +++ b/src/main/style/template/toast-overlay/_toast-overlay.scss @@ -0,0 +1,20 @@ +$jhlite-toast-overlay-padding: 2vw; +$jhlite-toast-overlay-medium-padding: 20px; + +.jhlite-toast-overlay { + position: fixed; + z-index: 1; + left: 0; + top: 0; + right: 0; + padding: 2vw; +} + +@media screen and (min-width: $jhlite-global-breakpoint-small-medium) { + .jhlite-toast-overlay { + bottom: 0; + top: auto; + right: auto; + padding: 20px; + } +} diff --git a/src/main/style/template/toast-overlay/toast-overlay.code.pug b/src/main/style/template/toast-overlay/toast-overlay.code.pug new file mode 100644 index 0000000000..163e6758f3 --- /dev/null +++ b/src/main/style/template/toast-overlay/toast-overlay.code.pug @@ -0,0 +1,4 @@ +include toast-overlay.mixin.pug + +include /template/layout/layout.code.pug ++jhlite-toast-overlay diff --git a/src/main/style/template/toast-overlay/toast-overlay.md b/src/main/style/template/toast-overlay/toast-overlay.md new file mode 100644 index 0000000000..da0c9b8f0d --- /dev/null +++ b/src/main/style/template/toast-overlay/toast-overlay.md @@ -0,0 +1 @@ +## Toast overlay diff --git a/src/main/style/template/toast-overlay/toast-overlay.mixin.pug b/src/main/style/template/toast-overlay/toast-overlay.mixin.pug new file mode 100644 index 0000000000..9345c0caa1 --- /dev/null +++ b/src/main/style/template/toast-overlay/toast-overlay.mixin.pug @@ -0,0 +1,5 @@ +include /molecule/toast/toast.mixin.pug + +mixin jhlite-toast-overlay + .jhlite-toast-overlay + +jhlite-toast('success') A toast message diff --git a/src/main/style/template/toast-overlay/toast-overlay.render.pug b/src/main/style/template/toast-overlay/toast-overlay.render.pug new file mode 100644 index 0000000000..2ae17e79c8 --- /dev/null +++ b/src/main/style/template/toast-overlay/toast-overlay.render.pug @@ -0,0 +1,4 @@ +extends /layout + +block body + include toast-overlay.code.pug diff --git a/src/main/style/token/_colors.scss b/src/main/style/token/_colors.scss index 1d1ad67a9e..b4a7b1d75b 100644 --- a/src/main/style/token/_colors.scss +++ b/src/main/style/token/_colors.scss @@ -3,3 +3,5 @@ $jhlite-global-color-text-light: #fff !default; $jhlite-global-color-text-primary: #4ba8f8 !default; $jhlite-global-color-link-light: #fff !default; $jhlite-global-color-link-light-hover: #4ba8f8 !default; +$jhlite-global-color-success: #480 !default; +$jhlite-global-color-error: #902 !default; diff --git a/src/main/webapp/app/common/primary/toast/Toast.component.ts b/src/main/webapp/app/common/primary/toast/Toast.component.ts index ace88a5501..da2436a783 100644 --- a/src/main/webapp/app/common/primary/toast/Toast.component.ts +++ b/src/main/webapp/app/common/primary/toast/Toast.component.ts @@ -3,28 +3,33 @@ import { Unsubscribe } from '@/common/domain/alert/Unsubscribe'; import { ToastType } from '@/common/primary/toast/ToastType'; import { ToastMessage } from '@/common/primary/toast/ToastMessage'; import { AlertMessage } from '@/common/domain/alert/AlertMessage'; -import { Toast } from 'bootstrap'; -import { nextTick } from '@vue/runtime-core'; import { AlertListener } from '@/common/domain/alert/AlertListener'; +import { IconVue } from '@/common/primary/icon'; export default defineComponent({ name: 'Toast', + components: { + IconVue, + }, + setup() { const alertListener = inject('alertListener') as AlertListener; const toast = ref(null); - const bootstrapToast: Ref = ref(undefined); + const show = ref(false); const type: Ref = ref(undefined); const message: Ref = ref(undefined); let unsubscribeSuccessAlertBus!: Unsubscribe; let unsubscribeErrorAlertBus!: Unsubscribe; - const showToast = async () => { - await nextTick(() => { - bootstrapToast.value!.show(); - }); + const hideToast = () => { + show.value = false; + }; + + const showToast = () => { + show.value = true; }; const displaySuccess = (alertMessage: AlertMessage) => { @@ -40,7 +45,6 @@ export default defineComponent({ }; onMounted(() => { - bootstrapToast.value = new Toast(toast.value as unknown as Element); unsubscribeSuccessAlertBus = alertListener.onSuccess(displaySuccess); unsubscribeErrorAlertBus = alertListener.onError(displayError); }); @@ -54,6 +58,13 @@ export default defineComponent({ toast, type, message, + hideToast, + show, }; }, + methods: { + close() { + this.hideToast(); + }, + }, }); diff --git a/src/main/webapp/app/common/primary/toast/Toast.vue b/src/main/webapp/app/common/primary/toast/Toast.vue index 49bd05a5b8..a72a6db8ca 100644 --- a/src/main/webapp/app/common/primary/toast/Toast.vue +++ b/src/main/webapp/app/common/primary/toast/Toast.vue @@ -1,25 +1,20 @@ - - diff --git a/src/main/webapp/app/main.ts b/src/main/webapp/app/main.ts index 8a8d52e3af..a6a71a133a 100644 --- a/src/main/webapp/app/main.ts +++ b/src/main/webapp/app/main.ts @@ -7,9 +7,6 @@ import ConsoleLogger from '@/common/secondary/ConsoleLogger'; import { MittAlertBus } from '@/common/secondary/alert/MittAlertBus'; import mitt from 'mitt'; -import 'bootstrap/dist/css/bootstrap.min.css'; -import 'bootstrap-icons/font/bootstrap-icons.css'; -import 'bootstrap'; import '../content/css/custom.css'; import { MittAlertListener } from '@/common/secondary/alert/MittAlertListener'; import { RestModulesRepository } from './module/secondary/RestModulesRepository'; diff --git a/src/main/webapp/app/module/primary/landscape/Landscape.component.ts b/src/main/webapp/app/module/primary/landscape/Landscape.component.ts index 80c01f3034..16b3b6c39c 100644 --- a/src/main/webapp/app/module/primary/landscape/Landscape.component.ts +++ b/src/main/webapp/app/module/primary/landscape/Landscape.component.ts @@ -20,10 +20,11 @@ import { empty } from '../PropertyValue'; import { ModuleParameterType } from '@/module/domain/ModuleParameters'; import { ModuleParameter } from '@/module/domain/ModuleParameter'; import { Landscape } from '@/module/domain/landscape/Landscape'; +import { IconVue } from '@/common/primary/icon'; export default defineComponent({ name: 'LandscapeVue', - components: { LandscapeModuleVue, ModulePropertiesFormVue, ProjectActionsVue }, + components: { LandscapeModuleVue, ModulePropertiesFormVue, ProjectActionsVue, IconVue }, setup() { const alertBus = inject('alertBus') as AlertBus; const modules = inject('modules') as ModulesRepository; diff --git a/src/main/webapp/app/module/primary/landscape/Landscape.html b/src/main/webapp/app/module/primary/landscape/Landscape.html index d978bd892a..f45ad5625a 100644 --- a/src/main/webapp/app/module/primary/landscape/Landscape.html +++ b/src/main/webapp/app/module/primary/landscape/Landscape.html @@ -35,12 +35,13 @@
diff --git a/src/main/webapp/app/module/primary/project-actions/ProjectActions.component.ts b/src/main/webapp/app/module/primary/project-actions/ProjectActions.component.ts index 3a7df7ab36..f362033b8c 100644 --- a/src/main/webapp/app/module/primary/project-actions/ProjectActions.component.ts +++ b/src/main/webapp/app/module/primary/project-actions/ProjectActions.component.ts @@ -2,9 +2,13 @@ import { AlertBus } from '@/common/domain/alert/AlertBus'; import { ModulesRepository } from '@/module/domain/ModulesRepository'; import { Project } from '@/module/domain/Project'; import { defineComponent, inject, ref } from 'vue'; +import { IconVue } from '@/common/primary/icon'; export default defineComponent({ name: 'ProjectActionsVue', + components: { + IconVue, + }, props: { folderPath: { type: String, diff --git a/src/main/webapp/app/module/primary/project-actions/ProjectActions.html b/src/main/webapp/app/module/primary/project-actions/ProjectActions.html index aa8b6392e7..7d8826ac26 100644 --- a/src/main/webapp/app/module/primary/project-actions/ProjectActions.html +++ b/src/main/webapp/app/module/primary/project-actions/ProjectActions.html @@ -1,19 +1,21 @@ diff --git a/src/test/javascript/spec/common/primary/toast/Toast.spec.ts b/src/test/javascript/spec/common/primary/toast/Toast.spec.ts index 98843e4c6f..a39f4933df 100644 --- a/src/test/javascript/spec/common/primary/toast/Toast.spec.ts +++ b/src/test/javascript/spec/common/primary/toast/Toast.spec.ts @@ -56,6 +56,18 @@ describe('Toast', () => { expect(component.type).toBe(ToastType.ERROR); }); + it('should hide toast on close', async () => { + const alertListener = stubAlertListener(); + wrap({ alertListener }); + const [callback] = alertListener.onSuccess.getCall(0).args; + callback('message'); + await wrapper.vm.$nextTick(); + + await wrapper.find('[data-selector="toast.close"]').trigger('click'); + + expect(wrapper.find('[data-selector="toast-overlay"]').exists()).toBe(false); + }); + it('should unsubscribe on before unmount', () => { const alertListener = stubAlertListener(); const unsubscribeSuccess = sinon.stub();