diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index a89dd36f746693ecd5789ab31fba948b41113914..7baaf5b46a19e4359c12d2aac020245a5e2b2fad 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -1,10 +1,22 @@ <component name="InspectionProjectProfileManager"> <profile version="1.0"> <option name="myName" value="Project Default" /> + <inspection_tool class="AngularCliAddDependency" enabled="false" level="WARNING" enabled_by_default="false" /> + <inspection_tool class="HtmlUnknownAttribute" enabled="true" level="WARNING" enabled_by_default="true"> + <option name="myValues"> + <value> + <list size="2"> + <item index="0" class="java.lang.String" itemvalue="bsdropdownmenu" /> + <item index="1" class="java.lang.String" itemvalue="name" /> + </list> + </value> + </option> + <option name="myCustomValuesEnabled" value="true" /> + </inspection_tool> <inspection_tool class="HtmlUnknownTag" enabled="true" level="WARNING" enabled_by_default="true"> <option name="myValues"> <value> - <list size="7"> + <list size="8"> <item index="0" class="java.lang.String" itemvalue="nobr" /> <item index="1" class="java.lang.String" itemvalue="noembed" /> <item index="2" class="java.lang.String" itemvalue="comment" /> @@ -12,6 +24,7 @@ <item index="4" class="java.lang.String" itemvalue="embed" /> <item index="5" class="java.lang.String" itemvalue="script" /> <item index="6" class="java.lang.String" itemvalue="ngx-summernote" /> + <item index="7" class="java.lang.String" itemvalue="bs-dropdown-multiselect" /> </list> </value> </option> diff --git a/frontend/angular.json b/frontend/angular.json index 56f23cf08efa84b1a8af8a383c18b7c1ded5cf4b..4c4e673f4c17e08e9bafcd0a3a1d10aea2fa0c5a 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -30,7 +30,8 @@ "src/assets" ], "styles": [ - "src/styles.scss" + "src/styles.scss", + "src/app/document-toolbar/ng-multiselect-dropdown.theme.scss" ], "scripts": [] }, @@ -93,6 +94,7 @@ "src/assets" ], "styles": [ + "@angular/material/prebuilt-themes/pink-bluegrey.css", "src/styles.scss" ], "scripts": [] diff --git a/frontend/package-lock.json b/frontend/package-lock.json index d841ebb41eff56e3110e2970fb0ed8c0c1057830..e7e5918ba329db5dbf3158bf6972561130631f37 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,10 +9,12 @@ "version": "0.0.0", "dependencies": { "@angular/animations": "^15.2.0", + "@angular/cdk": "^15.2.2", "@angular/common": "^15.2.2", "@angular/compiler": "^15.2.0", "@angular/core": "^15.2.2", "@angular/forms": "^15.2.2", + "@angular/material": "^15.2.2", "@angular/platform-browser": "^15.2.2", "@angular/platform-browser-dynamic": "^15.2.0", "@angular/router": "^15.2.0", @@ -23,9 +25,12 @@ "@fortawesome/free-solid-svg-icons": "^6.2.1", "@tinymce/tinymce-angular": "^7.0.0", "@types/quill": "^1.3.10", - "bootstrap": "^5.1.3", + "bootstrap": "^5.2.3", + "jquery": "^3.6.4", + "ng-multiselect-dropdown": "^0.3.9", "ngx-bootstrap": "^10.2.0", "path-browserify": "^1.0.1", + "popper.js": "^1.16.1", "rxjs": "~7.8.0", "tslib": "^2.3.0", "util": "^0.12.5", @@ -532,6 +537,46 @@ "@angular/core": "15.2.2" } }, + "node_modules/@angular/cdk": { + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.2.2.tgz", + "integrity": "sha512-mgh8QCJUmxVNT+vX7A3GDp48NVZ/CUrBBXN7ZGYs8hrupLyHLerjadWX8pRa7XIOJzreoOOdHH5THc51+SCGJw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^15.0.0 || ^16.0.0", + "@angular/core": "^15.0.0 || ^16.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cdk/node_modules/entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "optional": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@angular/cdk/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/@angular/cli": { "version": "15.2.2", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.2.tgz", @@ -713,6 +758,70 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@angular/material": { + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-15.2.2.tgz", + "integrity": "sha512-ZPWTGy05UMJb3MEu0katkm3I3isO7hB7mZ+imHZC1A/+yKMKc+mdZwSaUj2x6aJFEfHUnXbI9Z0Em26HUCJwbw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/auto-init": "15.0.0-canary.684e33d25.0", + "@material/banner": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/card": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/chips": "15.0.0-canary.684e33d25.0", + "@material/circular-progress": "15.0.0-canary.684e33d25.0", + "@material/data-table": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dialog": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/drawer": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/fab": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/form-field": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/image-list": "15.0.0-canary.684e33d25.0", + "@material/layout-grid": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/radio": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/segmented-button": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/slider": "15.0.0-canary.684e33d25.0", + "@material/snackbar": "15.0.0-canary.684e33d25.0", + "@material/switch": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-bar": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/textfield": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tooltip": "15.0.0-canary.684e33d25.0", + "@material/top-app-bar": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^15.0.0 || ^16.0.0", + "@angular/cdk": "15.2.2", + "@angular/common": "^15.0.0 || ^16.0.0", + "@angular/core": "^15.0.0 || ^16.0.0", + "@angular/forms": "^15.0.0 || ^16.0.0", + "@angular/platform-browser": "^15.0.0 || ^16.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, "node_modules/@angular/platform-browser": { "version": "15.2.2", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.2.tgz", @@ -3002,6 +3111,757 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "node_modules/@material/animation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/auto-init": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/banner": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/base": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w==", + "dependencies": { + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/card": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g==", + "dependencies": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/checkbox": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/chips": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/circular-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/data-table": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/density": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dialog": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dom": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/drawer": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/elevation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/fab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/floating-label": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/focus-ring": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg==", + "dependencies": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0" + } + }, + "node_modules/@material/form-field": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/icon-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/image-list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/layout-grid": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/line-ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/linear-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu-surface": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/notched-outline": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/radio": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/rtl": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw==", + "dependencies": { + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/segmented-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/select": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/shape": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/slider": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/snackbar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/switch": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/textfield": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/theme": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tokens": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ==", + "dependencies": { + "@material/elevation": "15.0.0-canary.684e33d25.0" + } + }, + "node_modules/@material/tooltip": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/touch-target": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/typography": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, "node_modules/@ngtools/webpack": { "version": "15.2.3", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.3.tgz", @@ -7171,6 +8031,11 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jquery": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz", + "integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8425,6 +9290,23 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, + "node_modules/ng-multiselect-dropdown": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/ng-multiselect-dropdown/-/ng-multiselect-dropdown-0.3.9.tgz", + "integrity": "sha512-y5fb8SVz8c59vEJGVe5XZ5ov6LZNoO8FqMxCBvpZKqw9tY1+f7UCDfILleOWPy8QMxO2Fpr8b+B+Az0zOS6b9g==", + "dependencies": { + "tslib": "^1.9.0" + }, + "peerDependencies": { + "@angular/common": ">=2.0.0", + "@angular/core": ">=2.0.0" + } + }, + "node_modules/ng-multiselect-dropdown/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/ngx-bootstrap": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-10.2.0.tgz", @@ -9348,6 +10230,16 @@ "node": ">=8" } }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", @@ -10059,6 +10951,11 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "node_modules/safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, "node_modules/sass": { "version": "1.58.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz", @@ -12325,6 +13222,32 @@ "tslib": "^2.3.0" } }, + "@angular/cdk": { + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.2.2.tgz", + "integrity": "sha512-mgh8QCJUmxVNT+vX7A3GDp48NVZ/CUrBBXN7ZGYs8hrupLyHLerjadWX8pRa7XIOJzreoOOdHH5THc51+SCGJw==", + "requires": { + "parse5": "^7.1.2", + "tslib": "^2.3.0" + }, + "dependencies": { + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "optional": true + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "requires": { + "entities": "^4.4.0" + } + } + } + }, "@angular/cli": { "version": "15.2.2", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.2.tgz", @@ -12443,6 +13366,61 @@ "tslib": "^2.3.0" } }, + "@angular/material": { + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-15.2.2.tgz", + "integrity": "sha512-ZPWTGy05UMJb3MEu0katkm3I3isO7hB7mZ+imHZC1A/+yKMKc+mdZwSaUj2x6aJFEfHUnXbI9Z0Em26HUCJwbw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/auto-init": "15.0.0-canary.684e33d25.0", + "@material/banner": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/card": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/chips": "15.0.0-canary.684e33d25.0", + "@material/circular-progress": "15.0.0-canary.684e33d25.0", + "@material/data-table": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dialog": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/drawer": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/fab": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/form-field": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/image-list": "15.0.0-canary.684e33d25.0", + "@material/layout-grid": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/radio": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/segmented-button": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/slider": "15.0.0-canary.684e33d25.0", + "@material/snackbar": "15.0.0-canary.684e33d25.0", + "@material/switch": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-bar": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/textfield": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tooltip": "15.0.0-canary.684e33d25.0", + "@material/top-app-bar": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.3.0" + } + }, "@angular/platform-browser": { "version": "15.2.2", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.2.tgz", @@ -13957,6 +14935,757 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "@material/animation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/auto-init": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/banner": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/base": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w==", + "requires": { + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/card": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g==", + "requires": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/checkbox": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/chips": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/circular-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/data-table": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/density": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/dialog": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/dom": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/drawer": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/elevation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/fab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/feature-targeting": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/floating-label": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/focus-ring": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg==", + "requires": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0" + } + }, + "@material/form-field": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/icon-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/image-list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/layout-grid": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/line-ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/linear-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/menu": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/menu-surface": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/notched-outline": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/progress-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/radio": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/rtl": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw==", + "requires": { + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/segmented-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/select": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/shape": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/slider": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/snackbar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/switch": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/tab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-scroller": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/textfield": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/theme": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/tokens": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ==", + "requires": { + "@material/elevation": "15.0.0-canary.684e33d25.0" + } + }, + "@material/tooltip": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/top-app-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/touch-target": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/typography": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, "@ngtools/webpack": { "version": "15.2.3", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.3.tgz", @@ -17137,6 +18866,11 @@ } } }, + "jquery": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz", + "integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -18112,6 +19846,21 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, + "ng-multiselect-dropdown": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/ng-multiselect-dropdown/-/ng-multiselect-dropdown-0.3.9.tgz", + "integrity": "sha512-y5fb8SVz8c59vEJGVe5XZ5ov6LZNoO8FqMxCBvpZKqw9tY1+f7UCDfILleOWPy8QMxO2Fpr8b+B+Az0zOS6b9g==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "ngx-bootstrap": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-10.2.0.tgz", @@ -18802,6 +20551,11 @@ "find-up": "^4.0.0" } }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + }, "postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", @@ -19309,6 +21063,11 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, "sass": { "version": "1.58.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index e55788c6b8a6e0c4dfd279710ae2f49449d75bc7..1215611f0e2455fcedf9a6f8884ab1de9088b0b3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,10 +11,12 @@ "private": true, "dependencies": { "@angular/animations": "^15.2.0", + "@angular/cdk": "^15.2.2", "@angular/common": "^15.2.2", "@angular/compiler": "^15.2.0", "@angular/core": "^15.2.2", "@angular/forms": "^15.2.2", + "@angular/material": "^15.2.2", "@angular/platform-browser": "^15.2.2", "@angular/platform-browser-dynamic": "^15.2.0", "@angular/router": "^15.2.0", @@ -25,9 +27,12 @@ "@fortawesome/free-solid-svg-icons": "^6.2.1", "@tinymce/tinymce-angular": "^7.0.0", "@types/quill": "^1.3.10", - "bootstrap": "^5.1.3", + "bootstrap": "^5.2.3", + "jquery": "^3.6.4", + "ng-multiselect-dropdown": "^0.3.9", "ngx-bootstrap": "^10.2.0", "path-browserify": "^1.0.1", + "popper.js": "^1.16.1", "rxjs": "~7.8.0", "tslib": "^2.3.0", "util": "^0.12.5", diff --git a/frontend/src/app/app-routing.module.ts b/frontend/src/app/app-routing.module.ts index 3e9d7509c4ed7828d202a586fb023141b720f569..0e8d6f5c21328ff3495b2a2fd6d0a7fc8031ad4c 100644 --- a/frontend/src/app/app-routing.module.ts +++ b/frontend/src/app/app-routing.module.ts @@ -1,21 +1,15 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { PracticumsComponent } from "./practicums/practicums.component"; import { ManualsComponent } from "./manuals/manuals.component"; -import {ExtraComponent} from "./extra/extra.component"; -import {ExamsComponent} from "./exams/exams.component"; -import {AssessmentsComponent} from "./assessments/assessments.component"; -import {HomeworksComponent} from "./homeworks/homeworks.component"; +import {UsersComponent} from "./users/users.component"; +import {ExercisesComponent} from "./exercises/exercises.component"; + const routes: Routes = [ { path: '', redirectTo: '/manuals', pathMatch: 'full'}, { path: 'manuals', component: ManualsComponent}, - { path: 'practicums', component: PracticumsComponent}, - { path: 'homeworks', component: HomeworksComponent}, - { path: 'assessments', component: AssessmentsComponent}, - { path: 'exams', component: ExamsComponent}, - { path: 'extra', component: ExtraComponent} - + { path: 'exercises', component: ExercisesComponent}, + { path: 'users', component: UsersComponent}, ]; @NgModule({ diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 1e8a9a1c3a8d78801d3262baa5f2b07690addd13..8cee7bf0abb1e1658ce69b2d62f4576bbd168985 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -11,11 +11,6 @@ import { NavbarComponent } from './navbar/navbar.component'; import {TabsModule} from "ngx-bootstrap/tabs"; import { ManualsComponent } from './manuals/manuals.component'; import {AccordionModule} from "ngx-bootstrap/accordion"; -import { PracticumsComponent } from './practicums/practicums.component'; -import { HomeworksComponent } from './homeworks/homeworks.component'; -import { AssessmentsComponent } from './assessments/assessments.component'; -import { ExamsComponent } from './exams/exams.component'; -import { ExtraComponent } from './extra/extra.component'; import {FormsModule, ReactiveFormsModule} from "@angular/forms"; import { TextDocEditorComponent } from './text-doc-editor/text-doc-editor.component'; import { DocumentListComponent } from './document-list/document-list.component'; @@ -26,6 +21,10 @@ import {TypeaheadModule} from "ngx-bootstrap/typeahead"; import { ModalModule } from 'ngx-bootstrap/modal'; import { FileUploadModalComponent } from './modals/file-upload-modal/file-upload-modal.component'; import { BsModalService } from 'ngx-bootstrap/modal'; +import { UsersComponent } from './users/users.component'; +import {MatSelectModule} from "@angular/material/select"; +import {NgMultiSelectDropDownModule} from "ng-multiselect-dropdown"; +import { ExercisesComponent } from './exercises/exercises.component'; @NgModule({ declarations: [ @@ -33,15 +32,12 @@ import { BsModalService } from 'ngx-bootstrap/modal'; MenuComponent, NavbarComponent, ManualsComponent, - PracticumsComponent, - HomeworksComponent, - AssessmentsComponent, - ExamsComponent, - ExtraComponent, TextDocEditorComponent, DocumentListComponent, DocumentToolbarComponent, FileUploadModalComponent, + UsersComponent, + ExercisesComponent, ], imports: [ BrowserModule, @@ -57,6 +53,8 @@ import { BsModalService } from 'ngx-bootstrap/modal'; BsDropdownModule, TypeaheadModule, ModalModule.forRoot(), + MatSelectModule, + NgMultiSelectDropDownModule.forRoot(), ], providers: [ BsModalService diff --git a/frontend/src/app/assessments/assessments.component.html b/frontend/src/app/assessments/assessments.component.html deleted file mode 100644 index 9f98bd92a06778864b01fa7cd763ef793a025c0c..0000000000000000000000000000000000000000 --- a/frontend/src/app/assessments/assessments.component.html +++ /dev/null @@ -1,4 +0,0 @@ - - -<app-document-toolbar [filterTextSearch]="true" [filterYearSelect]="true" [filterWeekSelect]="true" [filterTypeTab]="true"></app-document-toolbar> -<app-document-list [documents]=""></app-document-list> diff --git a/frontend/src/app/assessments/assessments.component.spec.ts b/frontend/src/app/assessments/assessments.component.spec.ts deleted file mode 100644 index 6ff36bb1fcb547395dc2de22f386a068922f1419..0000000000000000000000000000000000000000 --- a/frontend/src/app/assessments/assessments.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AssessmentsComponent } from './assessments.component'; - -describe('AssessmentsComponent', () => { - let component: AssessmentsComponent; - let fixture: ComponentFixture<AssessmentsComponent>; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ AssessmentsComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(AssessmentsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/assessments/assessments.component.ts b/frontend/src/app/assessments/assessments.component.ts deleted file mode 100644 index 7380e8e3db610d5da7b9aa80a1c6d8746dca41b4..0000000000000000000000000000000000000000 --- a/frontend/src/app/assessments/assessments.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-assessments', - templateUrl: './assessments.component.html', - styleUrls: ['./assessments.component.scss'] -}) -export class AssessmentsComponent { - -} diff --git a/frontend/src/app/document-toolbar/document-toolbar.component.html b/frontend/src/app/document-toolbar/document-toolbar.component.html index 6530b6326be59ec69ccd6268b93320e48e06fb9e..91a83967b8b92aa387bca0d70e0c7bd5d4d69a90 100644 --- a/frontend/src/app/document-toolbar/document-toolbar.component.html +++ b/frontend/src/app/document-toolbar/document-toolbar.component.html @@ -1,5 +1,5 @@ <div class="tool-bar-container"> - <div *ngIf="filterYearSelect" [ngClass]="{'filter-left-margin': filterYearSelect}" class="year-select" > + <div *ngIf="filterYearSelect" [ngClass]="{'filter-left-margin': filterYearSelect}" class="year-select"> <div class="btn-group" dropdown> <button dropdownToggle type="button" class="btn btn-primary dropdown-toggle" aria-controls="dropdown-animated"> @@ -27,7 +27,7 @@ </div> </div> - <div *ngIf="filterWeekSelect" [ngClass]="{'filter-left-margin': filterWeekSelect}" class="week-select" > + <div *ngIf="filterWeekSelect" [ngClass]="{'filter-left-margin': filterWeekSelect}" class="week-select"> <div class="btn-group" dropdown> <button dropdownToggle type="button" class="btn btn-primary dropdown-toggle" aria-controls="dropdown-animated"> @@ -42,19 +42,21 @@ </div> </div> - <div *ngIf="filterTypeTab" [ngClass]="{'filter-left-margin': filterTypeTab}" class="type-select"> - <tabset type="pills"> - <tab heading="Ãœlesanded"></tab> - <tab heading="Näidislahendused"></tab> - <tab heading="Automaatkontrollid"></tab> - </tabset> + + <div *ngIf="filterLabelSelect" [ngClass]="{'filter-left-margin': filterLabelSelect}" class="label-select"> + <ng-multiselect-dropdown + [placeholder]="'Vali märksõnad'" + [settings]="dropdownSettings" + [data]="dropdownList" + [(ngModel)]="selectedItems" + ></ng-multiselect-dropdown> </div> + + <div class="filter-left-margin"> <button class="btn btn-primary upload-btn" (click)="openFileUploadModal()"> <i class="fa-solid fa-upload"></i> </button> </div> </div> - - diff --git a/frontend/src/app/document-toolbar/document-toolbar.component.scss b/frontend/src/app/document-toolbar/document-toolbar.component.scss index ed472003427f8aef9c65d48eb4354ebd659c8b98..8c66fa124b1ed38afd2d402bedb1daf591d5c2a0 100644 --- a/frontend/src/app/document-toolbar/document-toolbar.component.scss +++ b/frontend/src/app/document-toolbar/document-toolbar.component.scss @@ -62,37 +62,6 @@ button { } -/* Type tabs */ -.type-select { - display: flex; - -} - -::ng-deep .type-select .nav-item { - margin-right: 0.2rem; - -} - -::ng-deep .nav-pills .nav-link.active, -::ng-deep .nav-pills .show > .nav-link { - color: $text-color; - background-color: rgb(147, 218, 232); - - &:hover { - box-shadow: $hover-effect; - transition: $hover-effect-transition; - } -} - -::ng-deep .type-select .nav-link:not(.active) { - background-color: $main-background-color; - color: $text-color; - &:hover { - box-shadow: $hover-effect; - transition: $hover-effect-transition; - } -} - /* Text search */ .doc-text-search { @@ -126,3 +95,18 @@ button { .week-select { } + + +/* Label select */ +.label-select { + background-color: white; + border-radius: 0.3rem; + &:hover { + box-shadow: $hover-effect; + transition: $hover-effect-transition; + } +} +:host ::ng-deep .multiselect-dropdown .dropdown-btn { + border: unset !important; + padding: 6px 24px 6px 12px !important; +} diff --git a/frontend/src/app/document-toolbar/document-toolbar.component.ts b/frontend/src/app/document-toolbar/document-toolbar.component.ts index 4595ea8c4d608daca1934e08695d0adbf2b159fb..e0e89c906d140c92d80457609f3d0696e66df483 100644 --- a/frontend/src/app/document-toolbar/document-toolbar.component.ts +++ b/frontend/src/app/document-toolbar/document-toolbar.component.ts @@ -1,6 +1,7 @@ -import {Component, Input} from '@angular/core'; +import {AfterViewInit, Component, ElementRef, Input, OnInit} from '@angular/core'; import {BsDropdownConfig} from "ngx-bootstrap/dropdown"; import {FileUploadModalComponent} from "../modals/file-upload-modal/file-upload-modal.component"; +import {FormBuilder, FormControl, FormGroup} from "@angular/forms"; import {BsModalService} from "ngx-bootstrap/modal"; @@ -10,7 +11,7 @@ import {BsModalService} from "ngx-bootstrap/modal"; styleUrls: ['./document-toolbar.component.scss'], providers: [{ provide: BsDropdownConfig, useValue: { isAnimated: true, autoClose: true } }], }) -export class DocumentToolbarComponent { +export class DocumentToolbarComponent implements OnInit{ @Input() filterYearSelect?: boolean; @Input() @@ -18,7 +19,11 @@ export class DocumentToolbarComponent { @Input() filterWeekSelect?: boolean; @Input() - filterTypeTab?: boolean; + filterLabelSelect?: boolean; + + dropdownList: any[] = []; + selectedItems: any = []; + dropdownSettings: any = {}; selected?: string; states: string[] = [ @@ -34,8 +39,32 @@ export class DocumentToolbarComponent { 'Georgia' ]; - constructor(private modalService: BsModalService) { + constructor(private modalService: BsModalService, + private formBuilder: FormBuilder) { + + } + ngOnInit() { + this.dropdownList = [ + { item_id: 1, item_text: 'Mumbai' }, + { item_id: 2, item_text: 'Bangaluru' }, + { item_id: 3, item_text: 'Pune' }, + { item_id: 4, item_text: 'Navsari' }, + { item_id: 5, item_text: 'New Delhi' } + ]; + this.selectedItems = [ + { item_id: 3, item_text: 'Pune' }, + { item_id: 4, item_text: 'Navsari' } + ]; + this.dropdownSettings = { + singleSelection: false, + idField: 'item_id', + textField: 'item_text', + selectAllText: 'Select All', + unSelectAllText: 'UnSelect All', + itemsShowLimit: 3, + allowSearchFilter: true + }; } diff --git a/frontend/src/app/document-toolbar/ng-multiselect-dropdown.theme.scss b/frontend/src/app/document-toolbar/ng-multiselect-dropdown.theme.scss new file mode 100644 index 0000000000000000000000000000000000000000..51ac03612a36ddced4324afbd3a576626e982a4f --- /dev/null +++ b/frontend/src/app/document-toolbar/ng-multiselect-dropdown.theme.scss @@ -0,0 +1,227 @@ +@import 'src/assets/scss/_variables.scss'; + +$base-color: #337ab7; +$disable-background-color: #eceeef; +.multiselect-dropdown { + position: relative; + width: 100%; + font-size: inherit; + font-family: inherit; + .dropdown-btn { + display: inline-block; + border: 1px solid #adadad; + width: 100%; + padding: 6px 12px; + margin-bottom: 0; + font-weight: normal; + line-height: 1.52857143; + text-align: left; + vertical-align: middle; + cursor: pointer; + background-image: none; + border-radius: 4px; + + .selected-item { + border: 1px solid $text-color !important; + margin-right: 4px; + background: $text-color !important; + padding: 0px 5px; + color: #fff; + border-radius: 2px; + float: left; + a { + text-decoration: none; + } + } + .selected-item:hover { + box-shadow: unset !important; + } + .dropdown-down { + display: inline-block; + top: 10px; + width: 0; + height: 0; + border-top: 10px solid #adadad; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + } + .dropdown-up { + display: inline-block; + width: 0; + height: 0; + border-bottom: 10px solid #adadad; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + } + } + .disabled { + & > span { + background-color: $disable-background-color; + } + } +} + +.dropdown-list { + position: absolute; + padding-top: 6px; + width: 100%; + z-index: 9999; + border: 1px solid #ccc; + border-radius: 3px; + background: #fff; + margin-top: 10px; + box-shadow: 0px 1px 5px #959595; + ul { + padding: 0px; + list-style: none; + overflow: auto; + margin: 0px; + } + li { + padding: 6px 10px; + cursor: pointer; + text-align: left; + } + .filter-textbox { + border-bottom: 1px solid #ccc; + position: relative; + padding: 10px; + input { + border: 0px; + width: 100%; + padding: 0px 0px 0px 26px; + } + input:focus { + outline: none; + } + } +} + +.multiselect-item-checkbox input[type='checkbox'] { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.multiselect-item-checkbox input[type='checkbox']:focus + div:before, +.multiselect-item-checkbox input[type='checkbox']:hover + div:before { + border-color: $text-color !important; + background-color: #f2f2f2; +} + +.multiselect-item-checkbox input[type='checkbox']:active + div:before { + transition-duration: 0s; +} + +.multiselect-item-checkbox input[type='checkbox'] + div { + position: relative; + padding-left: 2em; + vertical-align: middle; + user-select: none; + cursor: pointer; + margin: 0px; + color: #000; +} + +.multiselect-item-checkbox input[type='checkbox'] + div:before { + box-sizing: content-box; + content: ''; + color: $text-color !important; + position: absolute; + top: 50%; + left: 0; + width: 14px; + height: 14px; + margin-top: -9px; + border: 2px solid $text-color !important; + text-align: center; + transition: all 0.4s ease; +} + +.multiselect-item-checkbox input[type='checkbox'] + div:after { + box-sizing: content-box; + content: ''; + background-color: $text-color !important; + position: absolute; + top: 50%; + left: 4px; + width: 10px; + height: 10px; + margin-top: -5px; + transform: scale(0); + transform-origin: 50%; + transition: transform 200ms ease-out; +} + +.multiselect-item-checkbox input[type='checkbox']:disabled + div:before { + border-color: #cccccc; +} + +.multiselect-item-checkbox + input[type='checkbox']:disabled:focus + + div:before + .multiselect-item-checkbox + input[type='checkbox']:disabled:hover + + div:before { + background-color: inherit; +} + +.multiselect-item-checkbox + input[type='checkbox']:disabled:checked + + div:before { + background-color: #cccccc; +} + +.multiselect-item-checkbox input[type='checkbox'] + div:after { + background-color: transparent; + top: 50%; + left: 4px; + width: 8px; + height: 3px; + margin-top: -4px; + border-style: solid; + border-color: #ffffff; + border-width: 0 0 3px 3px; + border-image: none; + transform: rotate(-45deg) scale(0); +} + +.multiselect-item-checkbox input[type='checkbox']:checked + div:after { + content: ''; + transform: rotate(-45deg) scale(1); + transition: transform 200ms ease-out; +} + +.multiselect-item-checkbox input[type='checkbox']:checked + div:before { + animation: borderscale 200ms ease-in; + background: $text-color !important; +} + +.multiselect-item-checkbox input[type='checkbox']:checked + div:after { + transform: rotate(-45deg) scale(1); +} + +@keyframes borderscale { + 50% { + box-shadow: 0 0 0 2px $text-color !important; + } +} + +span.selected-item { + margin-bottom: unset !important; +} + +span.dropdown-multiselect__caret { + right: -4px !important; + line-height: 13px !important; + &::before { + + border-width: 4.5px 4.5px 0 !important; + border-color: black transparent !important; + } +} diff --git a/frontend/src/app/exams/exams.component.html b/frontend/src/app/exams/exams.component.html deleted file mode 100644 index 9f98bd92a06778864b01fa7cd763ef793a025c0c..0000000000000000000000000000000000000000 --- a/frontend/src/app/exams/exams.component.html +++ /dev/null @@ -1,4 +0,0 @@ - - -<app-document-toolbar [filterTextSearch]="true" [filterYearSelect]="true" [filterWeekSelect]="true" [filterTypeTab]="true"></app-document-toolbar> -<app-document-list [documents]=""></app-document-list> diff --git a/frontend/src/app/exams/exams.component.ts b/frontend/src/app/exams/exams.component.ts deleted file mode 100644 index e883d4749f48a02ecfe5bbcf778678a50aa9c3b2..0000000000000000000000000000000000000000 --- a/frontend/src/app/exams/exams.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-exams', - templateUrl: './exams.component.html', - styleUrls: ['./exams.component.scss'] -}) -export class ExamsComponent { - -} diff --git a/frontend/src/app/exercises/exercises.component.html b/frontend/src/app/exercises/exercises.component.html new file mode 100644 index 0000000000000000000000000000000000000000..6e6e13813b5a12b2b23f6af5a9619b206a344f88 --- /dev/null +++ b/frontend/src/app/exercises/exercises.component.html @@ -0,0 +1,3 @@ + +<app-document-toolbar [filterTextSearch]="true" [filterYearSelect]="true" [filterWeekSelect]="true" [filterLabelSelect]="true"></app-document-toolbar> +<app-document-list [documents]="allExercises"></app-document-list> diff --git a/frontend/src/app/assessments/assessments.component.scss b/frontend/src/app/exercises/exercises.component.scss similarity index 100% rename from frontend/src/app/assessments/assessments.component.scss rename to frontend/src/app/exercises/exercises.component.scss diff --git a/frontend/src/app/extra/extra.component.spec.ts b/frontend/src/app/exercises/exercises.component.spec.ts similarity index 53% rename from frontend/src/app/extra/extra.component.spec.ts rename to frontend/src/app/exercises/exercises.component.spec.ts index 3c746092c2d4b99833ef3c227dff1c89467074c6..d5b766f4353daea7daaa7aae6e2ff6b1a9e528aa 100644 --- a/frontend/src/app/extra/extra.component.spec.ts +++ b/frontend/src/app/exercises/exercises.component.spec.ts @@ -1,18 +1,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { ExtraComponent } from './extra.component'; +import { ExercisesComponent } from './exercises.component'; -describe('ExtraComponent', () => { - let component: ExtraComponent; - let fixture: ComponentFixture<ExtraComponent>; +describe('ExercisesComponent', () => { + let component: ExercisesComponent; + let fixture: ComponentFixture<ExercisesComponent>; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ExtraComponent ] + declarations: [ ExercisesComponent ] }) .compileComponents(); - fixture = TestBed.createComponent(ExtraComponent); + fixture = TestBed.createComponent(ExercisesComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/frontend/src/app/exercises/exercises.component.ts b/frontend/src/app/exercises/exercises.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..6e2a2b3c198556fa64682472296546a0fd05aedc --- /dev/null +++ b/frontend/src/app/exercises/exercises.component.ts @@ -0,0 +1,17 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-exercises', + templateUrl: './exercises.component.html', + styleUrls: ['./exercises.component.scss'] +}) +export class ExercisesComponent { + public allExercises?: any[]; + + getAllExercises() { + this.allExercises = [ + "", + "" + ] + } +} diff --git a/frontend/src/app/extra/extra.component.html b/frontend/src/app/extra/extra.component.html deleted file mode 100644 index 4a432c14f99606d768c7919ddea03231424df10e..0000000000000000000000000000000000000000 --- a/frontend/src/app/extra/extra.component.html +++ /dev/null @@ -1,4 +0,0 @@ - - -<app-document-toolbar [filterTextSearch]="true" [filterYearSelect]="true" [filterTypeTab]="true" [filterWeekSelect]="true"></app-document-toolbar> -<app-document-list [documents]=""></app-document-list> diff --git a/frontend/src/app/extra/extra.component.scss b/frontend/src/app/extra/extra.component.scss deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/frontend/src/app/extra/extra.component.ts b/frontend/src/app/extra/extra.component.ts deleted file mode 100644 index 481a9e67a372ed466c00f976d140e6dcd031c38f..0000000000000000000000000000000000000000 --- a/frontend/src/app/extra/extra.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-extra', - templateUrl: './extra.component.html', - styleUrls: ['./extra.component.scss'] -}) -export class ExtraComponent { - -} diff --git a/frontend/src/app/homeworks/homeworks.component.html b/frontend/src/app/homeworks/homeworks.component.html deleted file mode 100644 index 0967909fa95954888e5dae75f6bb8771d87676b9..0000000000000000000000000000000000000000 --- a/frontend/src/app/homeworks/homeworks.component.html +++ /dev/null @@ -1,4 +0,0 @@ - - -<app-document-toolbar [filterTextSearch]="true" [filterYearSelect]="true" [filterWeekSelect]="true" [filterTypeTab]="true"></app-document-toolbar> -<app-document-list [documents]="allHomeworksList"></app-document-list> diff --git a/frontend/src/app/homeworks/homeworks.component.scss b/frontend/src/app/homeworks/homeworks.component.scss deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/frontend/src/app/homeworks/homeworks.component.spec.ts b/frontend/src/app/homeworks/homeworks.component.spec.ts deleted file mode 100644 index 916968f1c3cbaacfe348cc2ae2072f8c33fa92b4..0000000000000000000000000000000000000000 --- a/frontend/src/app/homeworks/homeworks.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { HomeworksComponent } from './homeworks.component'; - -describe('HomeworksComponent', () => { - let component: HomeworksComponent; - let fixture: ComponentFixture<HomeworksComponent>; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ HomeworksComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(HomeworksComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/homeworks/homeworks.component.ts b/frontend/src/app/homeworks/homeworks.component.ts deleted file mode 100644 index cd84baf7e9aa6e86b6391fac886db2159a97517d..0000000000000000000000000000000000000000 --- a/frontend/src/app/homeworks/homeworks.component.ts +++ /dev/null @@ -1,1644 +0,0 @@ -import {Component, Output} from '@angular/core'; - -@Component({ - selector: 'app-homeworks', - templateUrl: './homeworks.component.html', - styleUrls: ['./homeworks.component.scss'] -}) -export class HomeworksComponent { - @Output() - allHomeworksList: any = [ - { - name: "9. nädala kodutööd", - text: `<p style='margin-top:0cm;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm;line-height:115%;font-size:35px;font-family:"Arial",sans-serif;'>9. nädala koduülesanded</p> -<h1 style='margin-top:20.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm;line-height:115%;font-size:27px;font-family:"Arial",sans-serif;font-weight:normal;'>Ülesanne 1. Retseptid</h1> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Miina tegi suures koguses maasikamoosi, kuid ikka on tal üle nii maasikaid kui ka suhkrut. Ta otsib välja magustoitude retseptid ning lisab nende koostisosad faili nimega <strong>retseptid.txt</strong> nii, et igal real on vastava retsepti koostisosad komaga eraldatud.</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Kirjutada programm, mis</p> -<ol start="1" style="margin-bottom:0cm;margin-top:0cm;" type="1"> - <li style='margin-top:12.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>loeb funtksioonis failist_järjendisse failist retseptid kahemõõtmelisse järjendisse;</li> - <li style='margin-top:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>väljastab nende retseptide koostisosad, mis kasutavad nii <strong>suhkrut</strong> kui ka <strong>maasikaid</strong>.</li> -</ol> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Näide programmi tööst</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Näiteks retseptid.txt sisu on</p> -<table style="width: 4.5e+2pt;border-collapse:collapse;border:none;"> - <tbody> - <tr> - <td style="width: 451.45pt;border: 1pt solid black;padding: 5pt;vertical-align: top;"> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;'>muna,suhkur,jahu,kohupiim,vahukoor,maasikad</p> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;'>küpsised,või,toorjuust,hapukoor,jahu,suhkur,muna</p> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;'>banaanid,maasikad,apelsinimahl,suhkur,maitsestamata jogurt</p> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;'>või,suhkur,tume šokolaad,muna,jahu</p> - </td> - </tr> - </tbody> -</table> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Programmi töö:</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>>>> %Run 2.3a.py</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Retseptid, milleks on vaja maasikaid ja suhkrut:</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>['muna', 'suhkur', 'jahu', 'kohupiim', 'vahukoor', 'maasikad']</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>['banaanid', 'maasikad', 'apelsinimahl', 'suhkur', 'maitsestamata jogurt']</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> </p> -<h1 style='margin-top:20.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm;line-height:115%;font-size:27px;font-family:"Arial",sans-serif;font-weight:normal;'>Ülesanne 2. Bingo reeglite kontrollimine</h1> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Koostada programm, mis loeb failist kahemõõtmelisse järjendisse bingonumbrid.</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Näide failist bingo.txt:</p> -<table style="width: 4.5e+2pt;border-collapse:collapse;border:none;"> - <tbody> - <tr> - <td style="width: 451.45pt;border: 1pt solid black;padding: 5pt;vertical-align: top;"> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;border:none;'>1 30 34 55 75</p> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;border:none;'>10 16 40 50 67</p> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;border:none;'>5 20 38 48 61</p> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;border:none;'>4 26 43 49 70</p> - <p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:normal;font-size:15px;font-family:"Arial",sans-serif;margin:0cm;border:none;'>15 17 33 51 66</p> - </td> - </tr> - </tbody> -</table> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Koostada funktsioon failist_järjendisse, mis saab argumendiks failinime ja tagastab kahemõõtmelise järjendi bingoväljaku arvudega (täisarvu tüüpi).</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Näide funktsiooni failist_järjendisse tööst eelneva näidisfailiga bingo.txt:</p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'><span style="font-size:13px;line-height:115%;">>>> failist_järjendisse("bingo.txt")</span></p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'><span style="font-size:13px;line-height:115%;">[[1, 30, 34, 55, 75], [10, 16, 40, 50, 67], [5, 20, 38, 48, 61], [4, 26, 43, 49, 70], [15, 17, 33, 51, 66]]</span></p> -<p style='margin-top:10.0pt;margin-right:0cm;margin-bottom:10.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Koostada funktsioon on_bingo_tabel, mis võtab argumendiks 5 x 5 maatriksi, milles iga element on täisarv lõigust 1 - 75, ning tagastab tõeväärtuse vastavalt sellele, kas arvud selles tabelis on veergudesse jaotatud vastavalt Bingo Loto reeglitele.</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Et tegu oleks korrektse Bingo Loto mänguväljaga, peavad vasakpoolseimas veerus olevad arvud kuuluma lõiku 1 - 15, järgmises veerus olevad arvud lõiku 16 - 30 ja nii edasi, kuni viimases veerus on ainult arvud lõigust 61 - 75.</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Lihtsuse mõttes võib siin ülesandes eeldada, et kõik arvud on antud tabelis unikaalsed ehk ükski arv ei esine tabelis rohkem kui üks kord. Huvi korral proovige kontrollida ka arvude unikaalsust, et ei peetaks korrektseks tabelit, mis on muidu reeglitele vastav, aga milles on kaks ühesugust arvu. Kui olete oma programmile lisanud unikaalsuse kontrolli, siis peab funktsiooni nimeks olema on_bingo_tabel_extra.</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Näited funktsiooni eraldi rakendamisest</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> </p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>>>> on_bingo_tabel([[1, 30, 34, 55, 75],</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> [10, 16, 40, 50, 67],</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> [5, 20, 38, 48, 61],</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> [4, 26, 43, 49, 70],</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> [15, 17, 33, 51, 66]])</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>True</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>>>> on_bingo_tabel([[1, 30, 34, 55, 76],</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> [10, 16, 40, 50, 67],</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> [5, 20, 38, 48, 61],</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> [4, 26, 43, 49, 70],</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'> [15, 17, 33, 51, 66]])</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>False</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Lahendamisel võite vajadusel inspiratsiooni ammutada abistavast<a href="http://www.uttv.ee/naita?id=25545"><span style="color:windowtext;text-decoration:none;"> </span></a><a href="http://www.uttv.ee/naita?id=25545"><span style="color:#1155CC;">videost</span></a>.</p> -<p style='margin-top:12.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;'>Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi<a href="http://progtugi.cs.ut.ee/#/ts/58ee3ea52854d5eb164bb57f/"><span style="color:windowtext;text-decoration:none;"> </span></a><a href="http://progtugi.cs.ut.ee/#/ts/58ee3ea52854d5eb164bb57f/"><span style="color:#1155CC;">murelahendajast</span></a>.</p>` - }, - { - name: "Ãœlesannete loomine", - text: ` <style type="text/css"> - html { font-family:Calibri, Arial, Helvetica, sans-serif; font-size:11pt; background-color:white } - a.comment-indicator:hover + div.comment { background:#ffd; position:absolute; display:block; border:1px solid black; padding:0.5em } - a.comment-indicator { background:red; display:inline-block; border:1px solid black; width:0.5em; height:0.5em } - div.comment { display:none } - table { border-collapse:collapse; page-break-after:always } - .gridlines td { border:1px dotted black } - .gridlines th { border:1px dotted black } - .b { text-align:center } - .e { text-align:center } - .f { text-align:right } - .inlineStr { text-align:left } - .n { text-align:right } - .s { text-align:left } - td.style0 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; color:#000000; font-family:'Arial'; font-size:10.0pt; background-color:white } - th.style0 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; color:#000000; font-family:'Arial'; font-size:10.0pt; background-color:white } - td.style1 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; font-weight:bold; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - th.style1 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; font-weight:bold; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - td.style2 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; font-weight:bold; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - th.style2 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; font-weight:bold; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - td.style3 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - th.style3 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - td.style4 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; text-decoration:underline; color:#0000FF; font-family:'Calibri'; font-size:10pt; background-color:white } - th.style4 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; text-decoration:underline; color:#0000FF; font-family:'Calibri'; font-size:10pt; background-color:white } - td.style5 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; text-decoration:underline; color:#000000; font-family:'Calibri'; font-size:10pt; background-color:white } - th.style5 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; text-decoration:underline; color:#000000; font-family:'Calibri'; font-size:10pt; background-color:white } - td.style6 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - th.style6 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - td.style7 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; font-weight:bold; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - th.style7 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; font-weight:bold; color:#000000; font-family:'Arial'; font-size:10pt; background-color:white } - td.style8 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; color:#000000; font-family:'Arial'; font-size:11.0pt; background-color:white } - th.style8 { vertical-align:bottom; border-bottom:none #000000; border-top:none #000000; border-left:none #000000; border-right:none #000000; color:#000000; font-family:'Arial'; font-size:11.0pt; background-color:white } - table.sheet0 col.col0 { width:62.35555484pt } - table.sheet0 col.col1 { width:107.76666543pt } - table.sheet0 col.col2 { width:58.28888822pt } - table.sheet0 col.col3 { width:168.08888696pt } - table.sheet0 col.col4 { width:50.83333275pt } - table.sheet0 col.col5 { width:67.777777pt } - table.sheet0 col.col6 { width:42pt } - table.sheet0 col.col7 { width:42.69999951pt } - table.sheet0 col.col8 { width:67.777777pt } - table.sheet0 col.col9 { width:58.96666599pt } - table.sheet0 col.col10 { width:42pt } - table.sheet0 col.col11 { width:42pt } - table.sheet0 col.col12 { width:42pt } - table.sheet0 col.col13 { width:42pt } - table.sheet0 col.col14 { width:42pt } - table.sheet0 col.col15 { width:42pt } - table.sheet0 col.col16 { width:42pt } - table.sheet0 col.col17 { width:42pt } - table.sheet0 col.col18 { width:42pt } - table.sheet0 col.col19 { width:42pt } - table.sheet0 col.col20 { width:42pt } - table.sheet0 col.col21 { width:42pt } - table.sheet0 col.col22 { width:42pt } - table.sheet0 col.col23 { width:42pt } - table.sheet0 col.col24 { width:42pt } - table.sheet0 col.col25 { width:42pt } - table.sheet0 col.col26 { width:42pt } - table.sheet0 col.col27 { width:42pt } - table.sheet0 col.col28 { width:42pt } - table.sheet0 tr { height:15.75pt } - </style> - </head> - - <body> -<style> -@page { margin-left: 0.7in; margin-right: 0.7in; margin-top: 0.75in; margin-bottom: 0.75in; } -body { margin-left: 0.7in; margin-right: 0.7in; margin-top: 0.75in; margin-bottom: 0.75in; } -</style> - <table border="0" cellpadding="0" cellspacing="0" id="sheet0" class="sheet0 gridlines"> - <col class="col0"> - <col class="col1"> - <col class="col2"> - <col class="col3"> - <col class="col4"> - <col class="col5"> - <col class="col6"> - <col class="col7"> - <col class="col8"> - <col class="col9"> - <col class="col10"> - <col class="col11"> - <col class="col12"> - <col class="col13"> - <col class="col14"> - <col class="col15"> - <col class="col16"> - <col class="col17"> - <col class="col18"> - <col class="col19"> - <col class="col20"> - <col class="col21"> - <col class="col22"> - <col class="col23"> - <col class="col24"> - <col class="col25"> - <col class="col26"> - <col class="col27"> - <col class="col28"> - <tbody> - <tr class="row0"> - <td class="column0 style1 s">Nädal</td> - <td class="column1 style1 s">Teema</td> - <td class="column2 style1 s">Tüüp</td> - <td class="column3 style1 s">Vana ülesanne</td> - <td class="column4 style1 s">Kas uuendame?</td> - <td class="column5 style1 s">Uue ülesande nimi</td> - <td class="column6 style1 s">Link</td> - <td class="column7 style1 s">Tekst?</td> - <td class="column8 style1 s">Automaatkontroll</td> - <td class="column9 style1 s">Vestlusagent (murelahendaja)</td> - <td class="column10 style1 s">Valmis?</td> - <td class="column11 style1 s">Kommentaar</td> - <td class="column12 style2 null"></td> - <td class="column13 style2 null"></td> - <td class="column14 style2 null"></td> - <td class="column15 style2 null"></td> - <td class="column16 style2 null"></td> - <td class="column17 style2 null"></td> - <td class="column18 style2 null"></td> - <td class="column19 style2 null"></td> - <td class="column20 style2 null"></td> - <td class="column21 style2 null"></td> - <td class="column22 style2 null"></td> - <td class="column23 style2 null"></td> - <td class="column24 style2 null"></td> - <td class="column25 style2 null"></td> - <td class="column26 style2 null"></td> - <td class="column27 style2 null"></td> - <td class="column28 style2 null"></td> - </tr> - <tr class="row1"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">1. Poiste ja tüdrukute arv</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row2"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">2. Taksohinnad</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row3"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">3. Sünnikuupäev isikukoodist </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row4"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">Vabatahtlik lisaülesanne. Värvid </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row5"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">1. Kuude nimed </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row6"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">2. Isikukoodi osad </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row7"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">3. Kirjete töötlemine </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row8"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">4. Sõne arvuks </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row9"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">5. Isikukoodi kontroll </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row10"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">6. Ridade ümberjärjestamine </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row11"> - <td class="column0 style3 s">7. nädal</td> - <td class="column1 style3 s">Järjend</td> - <td class="column2 style3 s">Lisaülesanne</td> - <td class="column3 style3 s">3. lisaülesanne - Veiderdav tekst</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row12"> - <td class="column0 style3 s">8. nädal</td> - <td class="column1 style3 s">Järjend II</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">1. Bingo!</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6 style4 s"><a href="https://courses.cs.ut.ee/2022/programmeerimine/fall/Main/Kodu8" title="">https://courses.cs.ut.ee/2022/programmeerimine/fall/Main/Kodu8</a></td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row13"> - <td class="column0 style3 s">8. nädal</td> - <td class="column1 style3 s">Järjend II</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">2. Filmide nimekiri</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6 style4 s"><a href="https://courses.cs.ut.ee/2022/programmeerimine/fall/Main/Kodu8" title="">https://courses.cs.ut.ee/2022/programmeerimine/fall/Main/Kodu8</a></td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row14"> - <td class="column0 style3 s">8. nädal</td> - <td class="column1 style3 s">Järjend II</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">3. Juku filmiandmebaas</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6 style4 s"><a href="https://courses.cs.ut.ee/2022/programmeerimine/fall/Main/Kodu8" title="">https://courses.cs.ut.ee/2022/programmeerimine/fall/Main/Kodu8</a></td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row15"> - <td class="column0 style3 s">8. nädal</td> - <td class="column1 style3 s">Järjend II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">1. Absoluutväärtuste list</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row16"> - <td class="column0 style3 s">8. nädal</td> - <td class="column1 style3 s">Järjend II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">2. Lihtne krüptimine</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row17"> - <td class="column0 style3 s">8. nädal</td> - <td class="column1 style3 s">Järjend II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">3. Erinevad sõnad</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row18"> - <td class="column0 style3 s">8. nädal</td> - <td class="column1 style3 s">Järjend II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">4. Järjestuse kontroll</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row19"> - <td class="column0 style3 s">8. nädal</td> - <td class="column1 style3 s">Järjend II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">5. Sõnastik koos autokorrektoriga</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row20"> - <td class="column0 style3 s">9. nädal</td> - <td class="column1 style3 s">Kahekordne tsükkel. Failitöötlus</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">1. Andmete silumine</td> - <td class="column4 style3 s">Jah</td> - <td class="column5 style3 s">1. Retseptid </td> - <td class="column6 style5 s"><a href="https://courses.cs.ut.ee/2022/programmeerimine/Main/Kodu9" title="">https://courses.cs.ut.ee/2022/programmeerimine/Main/Kodu9</a></td> - <td class="column7 style3 s">Tauno</td> - <td class="column8 style3 s">Reimo</td> - <td class="column9 style3 s">Maike</td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row21"> - <td class="column0 style3 s">9. nädal</td> - <td class="column1 style3 s">Kahekordne tsükkel. Failitöötlus</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">2. minu_shuffle</td> - <td class="column4 style3 s">Jah</td> - <td class="column5 style3 s">2. Bingo reeglite kontrollimine</td> - <td class="column6 style5 s"><a href="https://courses.cs.ut.ee/2022/programmeerimine/Main/Kodu9" title="">https://courses.cs.ut.ee/2022/programmeerimine/Main/Kodu9</a></td> - <td class="column7 style3 s">Tauno</td> - <td class="column8 style3 s">Reimo</td> - <td class="column9 style3 s">Maike</td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row22"> - <td class="column0 style3 s">9. nädal</td> - <td class="column1 style3 s">Kahekordne tsükkel. Failitöötlus</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">1. Sõnapikkuste analüüs </td> - <td class="column4 style3 s">Jah</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row23"> - <td class="column0 style3 s">9. nädal</td> - <td class="column1 style3 s">Kahekordne tsükkel. Failitöötlus</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">2. Listi elementide järjestamine </td> - <td class="column4 style3 s">Jah</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row24"> - <td class="column0 style3 s">9. nädal</td> - <td class="column1 style3 s">Kahekordne tsükkel. Failitöötlus</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">3. Oma split</td> - <td class="column4 style3 s">Jah</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row25"> - <td class="column0 style3 s">9. nädal</td> - <td class="column1 style3 s">Kahekordne tsükkel. Failitöötlus</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">4. Kauplusejärjekord </td> - <td class="column4 style3 s">Jah</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row26"> - <td class="column0 style3 s">9. nädal</td> - <td class="column1 style3 s">Kahekordne tsükkel. Failitöötlus</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">5. Järjestikused naturaalarvud </td> - <td class="column4 style3 s">Jah</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row27"> - <td class="column0 style3 s">9. nädal</td> - <td class="column1 style3 s">Kahekordne tsükkel. Failitöötlus</td> - <td class="column2 style3 s">Lisaülesanne</td> - <td class="column3 style3 s">4. lisaülesanne - Sõnade arvamine</td> - <td class="column4 style3 null"></td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row28"> - <td class="column0 style3 s">10. nädal</td> - <td class="column1 style3 s">Andmestruktuurid</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">1. Teksti analüüs </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row29"> - <td class="column0 style3 s">10. nädal</td> - <td class="column1 style3 s">Andmestruktuurid</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">2. Trips-traps-trull </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row30"> - <td class="column0 style3 s">10. nädal</td> - <td class="column1 style3 s">Andmestruktuurid</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">0. Järjend hulgaks (soojendusülesanne) </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row31"> - <td class="column0 style3 s">10. nädal</td> - <td class="column1 style3 s">Andmestruktuurid</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">1. Hulkade otsekorrutis </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row32"> - <td class="column0 style3 s">10. nädal</td> - <td class="column1 style3 s">Andmestruktuurid</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">2. Sugupuu </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row33"> - <td class="column0 style3 s">10. nädal</td> - <td class="column1 style3 s">Andmestruktuurid</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">3. Pikslimaatriks </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row34"> - <td class="column0 style3 s">11. nädal</td> - <td class="column1 style3 s">Andmestruktuurid II</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">1. Lapsed ja vanemad</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row35"> - <td class="column0 style3 s">11. nädal</td> - <td class="column1 style3 s">Andmestruktuurid II</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">2. Maatriksi transponeerimine kõrvaldiagonaali järgi</td> - <td class="column4 style3 s">Jah</td> - <td class="column5 style3 s">2. Noolemängu punktid</td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row36"> - <td class="column0 style3 s">11. nädal</td> - <td class="column1 style3 s">Andmestruktuurid II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">1. Valuutad </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row37"> - <td class="column0 style3 s">11. nädal</td> - <td class="column1 style3 s">Andmestruktuurid II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">2. Kontaktid </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row38"> - <td class="column0 style3 s">11. nädal</td> - <td class="column1 style3 s">Andmestruktuurid II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">3. Lennud (raskem ülesanne) </td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row39"> - <td class="column0 style3 s">11. nädal</td> - <td class="column1 style3 s">Andmestruktuurid II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">-</td> - <td class="column4 style3 s">Jah</td> - <td class="column5 style3 s">2. Maatriksi transponeerimine kõrvaldiagonaali järgi</td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row40"> - <td class="column0 style3 s">11. nädal</td> - <td class="column1 style3 s">Andmestruktuurid II</td> - <td class="column2 style3 s">Harjutus</td> - <td class="column3 style3 s">-</td> - <td class="column4 style3 s">Jah</td> - <td class="column5 style3 null"></td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row41"> - <td class="column0 style3 s">11. nädal</td> - <td class="column1 style3 s">Andmestruktuurid II</td> - <td class="column2 style3 s">Lisaülesanne</td> - <td class="column3 style3 s">5. lisaülesanne - Ristmik</td> - <td class="column4 style3 s">Jah</td> - <td class="column5 style3 s">??</td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row42"> - <td class="column0 style3 s">15. nädal</td> - <td class="column1 style3 s">OOP</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">1. Garaaž</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row43"> - <td class="column0 style3 s">15. nädal</td> - <td class="column1 style3 s">OOP</td> - <td class="column2 style3 s">Kodutöö</td> - <td class="column3 style3 s">2. Plaatide laenutus</td> - <td class="column4 style3 s">Ei</td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row44"> - <td class="column0"> </td> - <td class="column1"> </td> - <td class="column2"> </td> - <td class="column3"> </td> - <td class="column4 style6 null"></td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row45"> - <td class="column0"> </td> - <td class="column1"> </td> - <td class="column2"> </td> - <td class="column3"> </td> - <td class="column4 style6 null"></td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr> - <tr class="row46"> - <td class="column0"> </td> - <td class="column1"> </td> - <td class="column2"> </td> - <td class="column3"> </td> - <td class="column4 style6 null"></td> - <td class="column5"> </td> - <td class="column6"> </td> - <td class="column7"> </td> - <td class="column8"> </td> - <td class="column9"> </td> - <td class="column10"> </td> - <td class="column11"> </td> - <td class="column12"> </td> - <td class="column13"> </td> - <td class="column14"> </td> - <td class="column15"> </td> - <td class="column16"> </td> - <td class="column17"> </td> - <td class="column18"> </td> - <td class="column19"> </td> - <td class="column20"> </td> - <td class="column21"> </td> - <td class="column22"> </td> - <td class="column23"> </td> - <td class="column24"> </td> - <td class="column25"> </td> - <td class="column26"> </td> - <td class="column27"> </td> - <td class="column28"> </td> - </tr>` - } - ]; - -} diff --git a/frontend/src/app/navbar/navbar.component.html b/frontend/src/app/navbar/navbar.component.html index ea10d99e9722cf83d5b03058a0878fee2a67e12c..8d0c68713896e398e7a6875d9820725b06d4f559 100644 --- a/frontend/src/app/navbar/navbar.component.html +++ b/frontend/src/app/navbar/navbar.component.html @@ -1,8 +1,5 @@ <div class="navbar"> <a class="nav-link nav-link-fade-up" [ngClass]="{'underline' : isActive(MANUALS)}" routerLink="/manuals">Juhendid</a> - <a class="nav-link nav-link-fade-up" [ngClass]="{'underline' : isActive(PRACTICUMS)}" routerLink="/practicums">Praktikumid</a> - <a class="nav-link nav-link-fade-up" [ngClass]="{'underline' : isActive(HOMEWORKS)}" routerLink="/homeworks">Kodutööd</a> - <a class="nav-link nav-link-fade-up" [ngClass]="{'underline' : isActive(ASSESSMENTS)}" routerLink="/assessments">Kontrolltööd</a> - <a class="nav-link nav-link-fade-up" [ngClass]="{'underline' : isActive(EXAMS)}" routerLink="/exams">Eksamid</a> - <a class="nav-link nav-link-fade-up" [ngClass]="{'underline' : isActive(EXTRA)}" routerLink="/extra">Lisaülesanded</a> + <a class="nav-link nav-link-fade-up" [ngClass]="{'underline' : isActive(EXERCISES)}" routerLink="/exercises">Ãœlesanded</a> + <a class="nav-link nav-link-fade-up" [ngClass]="{'underline' : isActive(USERS)}" routerLink="/users">Kasutajad</a> </div> diff --git a/frontend/src/app/navbar/navbar.component.scss b/frontend/src/app/navbar/navbar.component.scss index 80218887e05901f5b2fa454944ee7b36ca191ff3..f240d6f0ad151e395785fd14d3edeeac70df2769 100644 --- a/frontend/src/app/navbar/navbar.component.scss +++ b/frontend/src/app/navbar/navbar.component.scss @@ -8,6 +8,7 @@ body { .navbar { border-bottom: 0.1rem solid #BBBBBB; + justify-content: flex-start; .nav-link { font-weight: bold; diff --git a/frontend/src/app/navbar/navbar.component.ts b/frontend/src/app/navbar/navbar.component.ts index 4ec0b930b2118eb4223c5b4b28c90ce7f0f7c7bb..20f55ad90e4fad255b701d3b4538efc876de53fb 100644 --- a/frontend/src/app/navbar/navbar.component.ts +++ b/frontend/src/app/navbar/navbar.component.ts @@ -11,11 +11,9 @@ export class NavbarComponent { } MANUALS: string = '/manuals'; - PRACTICUMS: string = '/practicums'; - HOMEWORKS: string = '/homeworks'; - ASSESSMENTS: string = '/assessment'; - EXAMS: string = '/exams'; - EXTRA: string = '/extra'; + EXERCISES: string = '/exercises'; + USERS: string = '/users'; + isActive(activeRoute: string) { return this.router.url.includes(activeRoute); diff --git a/frontend/src/app/practicums/practicums.component.html b/frontend/src/app/practicums/practicums.component.html deleted file mode 100644 index d9e9aa223c3509408476597044c16288df437a23..0000000000000000000000000000000000000000 --- a/frontend/src/app/practicums/practicums.component.html +++ /dev/null @@ -1,4 +0,0 @@ - - -<app-document-toolbar [filterTextSearch]="true" [filterYearSelect]="true" [filterTypeTab]="true" [filterWeekSelect]="true"></app-document-toolbar> -<app-document-list [documents]="allPracticums"></app-document-list> diff --git a/frontend/src/app/practicums/practicums.component.scss b/frontend/src/app/practicums/practicums.component.scss deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/frontend/src/app/practicums/practicums.component.spec.ts b/frontend/src/app/practicums/practicums.component.spec.ts deleted file mode 100644 index 6df4bfd6a6ddfb0128b2af0268be60a83bf5d104..0000000000000000000000000000000000000000 --- a/frontend/src/app/practicums/practicums.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PracticumsComponent } from './practicums.component'; - -describe('PracticumsComponent', () => { - let component: PracticumsComponent; - let fixture: ComponentFixture<PracticumsComponent>; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ PracticumsComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(PracticumsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/practicums/practicums.component.ts b/frontend/src/app/practicums/practicums.component.ts deleted file mode 100644 index 0065829342da234c18143d085f6b0457870729ce..0000000000000000000000000000000000000000 --- a/frontend/src/app/practicums/practicums.component.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-practicums', - templateUrl: './practicums.component.html', - styleUrls: ['./practicums.component.scss'] -}) -export class PracticumsComponent { - public allPracticums?: any[]; - - - - getAllPracticums() { - this.allPracticums = [ - "", - "" - ] - } -} diff --git a/frontend/src/app/text-doc-editor/text-doc-editor.component.html b/frontend/src/app/text-doc-editor/text-doc-editor.component.html index 804d6ea9490128b7e034796bce712784f51f7ece..a670654633f93c48a69bffd31da32137fe1af28d 100644 --- a/frontend/src/app/text-doc-editor/text-doc-editor.component.html +++ b/frontend/src/app/text-doc-editor/text-doc-editor.component.html @@ -1,7 +1,19 @@ <div class="document-editor-container"> - <div class="btn-group"> - <button class="btn btn-primary save-btn">Salvesta <i class="fa-solid fa-floppy-disk"></i></button> - <button class="btn btn-primary delete-btn">Kustuta <i class="fa-solid fa-trash"></i></button> + + <div class=" btn-container"> + <div class="type-select"> + <tabset type="pills"> + <tab heading="Ãœlesanne"></tab> + <tab heading="Näidislahendus"></tab> + <tab heading="Automaatkontroll"></tab> + </tabset> + </div> + + <div> + <button class="btn btn-primary save-btn">Salvesta <i class="fa-solid fa-floppy-disk"></i></button> + <button class="btn btn-primary delete-btn">Kustuta <i class="fa-solid fa-trash"></i></button> + </div> + </div> diff --git a/frontend/src/app/text-doc-editor/text-doc-editor.component.scss b/frontend/src/app/text-doc-editor/text-doc-editor.component.scss index f2bc9c2a1919290f264cfc84e280fc8dd5cb33d6..5c6484fde66ba4aadbc68af95137b756521950e7 100644 --- a/frontend/src/app/text-doc-editor/text-doc-editor.component.scss +++ b/frontend/src/app/text-doc-editor/text-doc-editor.component.scss @@ -3,10 +3,11 @@ .document-editor-container { display: flex; flex-direction: column; - align-items: flex-end; - .btn-group { - padding: 0 0 1rem 1rem; + .btn-container { + display: flex; + flex-direction: row; + padding: 0 0 1rem; border-radius: 20px; i { @@ -49,3 +50,35 @@ height: 100%; } } + + +/* Type tabs */ +.type-select { + display: flex; + flex: 1; +} + +::ng-deep .type-select .nav-item { + margin-right: 0.2rem; +} + +::ng-deep .nav-pills .nav-link.active, +::ng-deep .nav-pills .show > .nav-link { + color: $text-color; + background-color: rgb(147, 218, 232); + + &:hover { + box-shadow: $hover-effect; + transition: $hover-effect-transition; + } +} + +::ng-deep .type-select .nav-link:not(.active) { + background-color: $main-background-color; + color: $text-color; + + &:hover { + box-shadow: $hover-effect; + transition: $hover-effect-transition; + } +} diff --git a/frontend/src/app/users/users.component.html b/frontend/src/app/users/users.component.html new file mode 100644 index 0000000000000000000000000000000000000000..065c5c6ed7e5f531971846915d8df1bd79599dc2 --- /dev/null +++ b/frontend/src/app/users/users.component.html @@ -0,0 +1 @@ +<p>users works!</p> diff --git a/frontend/src/app/exams/exams.component.scss b/frontend/src/app/users/users.component.scss similarity index 100% rename from frontend/src/app/exams/exams.component.scss rename to frontend/src/app/users/users.component.scss diff --git a/frontend/src/app/exams/exams.component.spec.ts b/frontend/src/app/users/users.component.spec.ts similarity index 55% rename from frontend/src/app/exams/exams.component.spec.ts rename to frontend/src/app/users/users.component.spec.ts index 8dedebccd2c34171ff10fb7f62e4e52895c972d9..80f23cdb5097c991f40979b1895c8f820c0b9f49 100644 --- a/frontend/src/app/exams/exams.component.spec.ts +++ b/frontend/src/app/users/users.component.spec.ts @@ -1,18 +1,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { ExamsComponent } from './exams.component'; +import { UsersComponent } from './users.component'; -describe('ExamsComponent', () => { - let component: ExamsComponent; - let fixture: ComponentFixture<ExamsComponent>; +describe('UsersComponent', () => { + let component: UsersComponent; + let fixture: ComponentFixture<UsersComponent>; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ExamsComponent ] + declarations: [ UsersComponent ] }) .compileComponents(); - fixture = TestBed.createComponent(ExamsComponent); + fixture = TestBed.createComponent(UsersComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/frontend/src/app/users/users.component.ts b/frontend/src/app/users/users.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..5f7ae7df1ebe7d0c38cd50a950f06fb4f12492cf --- /dev/null +++ b/frontend/src/app/users/users.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-users', + templateUrl: './users.component.html', + styleUrls: ['./users.component.scss'] +}) +export class UsersComponent { + +} diff --git a/frontend/src/index.html b/frontend/src/index.html index ec824ea5ec90e3deebb4fb270f7de7574fcdb52f..5f4dd844ecf1a26dd9b6b200c22388f10ce07800 100644 --- a/frontend/src/index.html +++ b/frontend/src/index.html @@ -7,8 +7,11 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"> <link rel="icon" type="image/x-icon" href="favicon.ico"> - <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css" rel="stylesheet" type='text/css'></head> -<body> + <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css" rel="stylesheet" type='text/css'> <link rel="preconnect" href="https://fonts.gstatic.com"> + <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> +</head> +<body class="mat-typography"> <app-root></app-root> </body> </html> diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index 6562dd0a180d267b6eb7b09103a9494cb341ca9d..69ff4a11761d961fa2f99fb6fbc8cbd0fb61c912 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -24,3 +24,12 @@ footer { padding: 6px; text-align: center; } + +html, body { + height: 100%; +} + +body { + margin: 0; + font-family: Roboto, "Helvetica Neue", sans-serif; +}