commit
e1d4a4152a
144
client/README.md
144
client/README.md
@ -23,73 +23,77 @@ Language files can be found in `/src/assets/i18n`.
|
|||||||
|
|
||||||
OpenSlides uses the following software or parts of them:
|
OpenSlides uses the following software or parts of them:
|
||||||
|
|
||||||
- [@angular/animations@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/animations@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/cdk-experimental@9.2.0](https://github.com/angular/components), License: MIT
|
- [@angular/cdk-experimental@10.0.2](https://github.com/angular/components), License: MIT
|
||||||
- [@angular/cdk@9.2.0](https://github.com/angular/components), License: MIT
|
- [@angular/cdk@10.0.2](https://github.com/angular/components), License: MIT
|
||||||
- [@angular/common@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/common@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/compiler@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/compiler@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/core@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/core@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/forms@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/forms@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/material-moment-adapter@9.2.0](https://github.com/angular/components), License: MIT
|
- [@angular/material-moment-adapter@10.1.3](https://github.com/angular/components), License: MIT
|
||||||
- [@angular/material@9.2.0](https://github.com/angular/components), License: MIT
|
- [@angular/material@10.0.2](https://github.com/angular/components), License: MIT
|
||||||
- [@angular/platform-browser-dynamic@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/platform-browser-dynamic@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/platform-browser@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/platform-browser@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/router@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/router@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/service-worker@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular/service-worker@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@ngx-pwa/local-storage@9.0.3](https://github.com/cyrilletuzi/angular-async-local-storage), License: MIT
|
- [@ngx-pwa/local-storage@10.0.1](https://github.com/cyrilletuzi/angular-async-local-storage), License: MIT
|
||||||
- [@ngx-translate/core@12.1.2](https://github.com/ngx-translate/core), License: MIT
|
- [@ngx-translate/core@13.0.0](https://github.com/ngx-translate/core), License: MIT
|
||||||
- [@ngx-translate/http-loader@4.0.0](https://github.com/ngx-translate/http-loader), License: MIT
|
- [@ngx-translate/http-loader@6.0.0](https://github.com/ngx-translate/http-loader), License: MIT
|
||||||
- [@pebula/ngrid-material@2.0.0-rc.1](undefined), License: MIT
|
- [@pebula/ngrid-material@2.0.0](undefined), License: MIT
|
||||||
- [@pebula/ngrid@2.0.0-rc.1](https://github.com/shlomiassaf/ngrid), License: MIT
|
- [@pebula/ngrid@2.0.0](https://github.com/shlomiassaf/ngrid), License: MIT
|
||||||
- [@pebula/utils@1.0.2](undefined), License: MIT
|
- [@pebula/utils@1.0.2](undefined), License: MIT
|
||||||
- [@tinymce/tinymce-angular@3.5.0](https://github.com/tinymce/tinymce-angular), License: Apache-2.0
|
- [@tinymce/tinymce-angular@4.1.0](https://github.com/tinymce/tinymce-angular), License: Apache-2.0
|
||||||
- [acorn@7.1.1](https://github.com/acornjs/acorn), License: MIT
|
- [@videojs/http-streaming@1.13.3](https://github.com/videojs/http-streaming), License: Apache-2.0
|
||||||
- [chart.js@2.9.3](https://github.com/chartjs/Chart.js), License: MIT
|
- [acorn@8.0.1](https://github.com/acornjs/acorn), License: MIT
|
||||||
- [core-js@3.6.4](https://github.com/zloirock/core-js), License: MIT
|
- [chart.js@2.9.3](https://github.com/chartjs/Chart.js), License: MIT
|
||||||
- [css-element-queries@1.2.3](https://github.com/marcj/css-element-queries), License: MIT
|
- [core-js@3.6.5](https://github.com/zloirock/core-js), License: MIT
|
||||||
- [exceljs@3.8.2](https://github.com/exceljs/exceljs), License: MIT
|
- [css-element-queries@1.2.3](https://github.com/marcj/css-element-queries), License: MIT
|
||||||
- [file-saver@2.0.2](https://github.com/eligrey/FileSaver.js), License: MIT
|
- [exceljs@4.1.1](https://github.com/exceljs/exceljs), License: MIT
|
||||||
- [lz4js@0.2.0](https://github.com/Benzinga/lz4js), License: ISC
|
- [file-saver@2.0.2](https://github.com/eligrey/FileSaver.js), License: MIT
|
||||||
- [material-icon-font@0.1.0](https://github.com//petergng/svgFontCreator), License: ISC
|
- [jszip@3.5.0](https://github.com/Stuk/jszip), License: (MIT OR GPL-3.0)
|
||||||
- [moment@2.24.0](https://github.com/moment/moment), License: MIT
|
- [lz4js@0.2.0](https://github.com/Benzinga/lz4js), License: ISC
|
||||||
- [ng2-charts@2.3.0](https://github.com/valor-software/ng2-charts), License: ISC
|
- [material-icon-font@0.1.0](https://github.com//petergng/svgFontCreator), License: ISC
|
||||||
- [ng2-pdf-viewer@6.1.2](git+https://vadimdez@github.com/VadimDez/ng2-pdf-viewer), License: MIT
|
- [moment@2.27.0](https://github.com/moment/moment), License: MIT
|
||||||
- [ngx-file-drop@8.0.8](https://github.com/georgipeltekov/ngx-file-drop), License: MIT
|
- [ng2-charts@2.4.0](https://github.com/valor-software/ng2-charts), License: ISC
|
||||||
- [ngx-mat-select-search@2.1.2](https://github.com/bithost-gmbh/ngx-mat-select-search), License: MIT
|
- [ng2-pdf-viewer@6.3.2](git+https://vadimdez@github.com/VadimDez/ng2-pdf-viewer), License: MIT
|
||||||
- [ngx-material-timepicker@5.5.1](https://github.com/Agranom/ngx-material-timepicker), License: MIT
|
- [ngx-device-detector@2.0.0](undefined), License: MIT*
|
||||||
- [ngx-papaparse@4.0.4](https://github.com/alberthaff/ngx-papaparse), License: MIT
|
- [ngx-file-drop@9.0.1](https://github.com/georgipeltekov/ngx-file-drop), License: MIT
|
||||||
- [pdfmake@0.1.65](https://github.com/bpampuch/pdfmake), License: MIT
|
- [ngx-mat-select-search@3.0.3](https://github.com/bithost-gmbh/ngx-mat-select-search), License: MIT
|
||||||
- [po2json@1.0.0-beta-2](https://github.com/mikeedwards/po2json), License: LGPL-2.0-or-later
|
- [ngx-material-timepicker@5.5.3](https://github.com/Agranom/ngx-material-timepicker), License: MIT
|
||||||
- [rxjs@6.5.4](https://github.com/reactivex/rxjs), License: Apache-2.0
|
- [ngx-papaparse@4.0.4](https://github.com/alberthaff/ngx-papaparse), License: MIT
|
||||||
- [tinymce@5.2.1](https://github.com/tinymce/tinymce-dist), License: LGPL-2.1
|
- [pdfmake@0.1.68](https://github.com/bpampuch/pdfmake), License: MIT
|
||||||
- [tslib@1.11.1](https://github.com/Microsoft/tslib), License: Apache-2.0
|
- [po2json@1.0.0-beta-2](https://github.com/mikeedwards/po2json), License: LGPL-2.0-or-later
|
||||||
- [zone.js@0.10.3](https://github.com/angular/angular), License: MIT
|
- [rxjs@6.6.2](https://github.com/reactivex/rxjs), License: Apache-2.0
|
||||||
- [@angular-devkit/build-angular@0.901.0](https://github.com/angular/angular-cli), License: MIT
|
- [tinymce@5.4.2](https://github.com/tinymce/tinymce-dist), License: LGPL-2.1
|
||||||
- [@angular-devkit/schematics@9.1.0](https://github.com/angular/angular-cli), License: MIT
|
- [tslib@1.13.0](https://github.com/Microsoft/tslib), License: 0BSD
|
||||||
- [@angular/cli@9.1.0](https://github.com/angular/angular-cli), License: MIT
|
- [video.js@7.8.4](https://github.com/videojs/video.js), License: Apache-2.0
|
||||||
- [@angular/compiler-cli@9.1.0](https://github.com/angular/angular), License: MIT
|
- [zone.js@0.10.3](https://github.com/angular/angular), License: MIT
|
||||||
- [@angular/language-service@9.1.0](https://github.com/angular/angular), License: MIT
|
- [@angular-devkit/build-angular@0.1000.8](https://github.com/angular/angular-cli), License: MIT
|
||||||
- [@biesbjerg/ngx-translate-extract@6.0.3](https://github.com/biesbjerg/ngx-translate-extract), License: MIT
|
- [@angular-devkit/schematics@10.0.8](https://github.com/angular/angular-cli), License: MIT
|
||||||
- [@compodoc/compodoc@1.1.11](https://github.com/compodoc/compodoc), License: MIT
|
- [@angular/cli@10.0.8](https://github.com/angular/angular-cli), License: MIT
|
||||||
- [@schematics/angular@9.1.0](https://github.com/angular/angular-cli), License: MIT
|
- [@angular/compiler-cli@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@types/jasmine@3.5.10](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT
|
- [@angular/language-service@10.0.14](https://github.com/angular/angular), License: MIT
|
||||||
- [@types/jasminewd2@2.0.8](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT
|
- [@biesbjerg/ngx-translate-extract-marker@1.0.0](https://github.com/biesbjerg/ngx-translate-extract-marker), License: MIT
|
||||||
- [@types/node@13.9.8](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT
|
- [@biesbjerg/ngx-translate-extract@7.0.2](https://github.com/biesbjerg/ngx-translate-extract), License: MIT
|
||||||
- [@types/yargs@15.0.4](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT
|
- [@compodoc/compodoc@1.1.11](https://github.com/compodoc/compodoc), License: MIT
|
||||||
- [codelyzer@5.2.2](https://github.com/mgechev/codelyzer), License: MIT
|
- [@schematics/angular@10.0.8](https://github.com/angular/angular-cli), License: MIT
|
||||||
- [husky@4.2.3](https://github.com/typicode/husky), License: MIT
|
- [@types/jasmine@3.5.14](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT
|
||||||
- [jasmine-core@3.5.0](https://github.com/jasmine/jasmine), License: MIT
|
- [@types/jasminewd2@2.0.8](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT
|
||||||
- [jasmine-spec-reporter@5.0.1](https://github.com/bcaudan/jasmine-spec-reporter), License: Apache-2.0
|
- [@types/yargs@15.0.5](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT
|
||||||
- [karma-chrome-launcher@3.1.0](https://github.com/karma-runner/karma-chrome-launcher), License: MIT
|
- [codelyzer@6.0.0](https://github.com/mgechev/codelyzer), License: MIT
|
||||||
- [karma-coverage-istanbul-reporter@2.1.1](https://github.com/mattlewis92/karma-coverage-istanbul-reporter), License: MIT
|
- [husky@4.2.5](https://github.com/typicode/husky), License: MIT
|
||||||
- [karma-jasmine-html-reporter@1.5.3](https://github.com/dfederm/karma-jasmine-html-reporter), License: MIT
|
- [jasmine-core@3.6.0](https://github.com/jasmine/jasmine), License: MIT
|
||||||
- [karma-jasmine@3.1.1](https://github.com/karma-runner/karma-jasmine), License: MIT
|
- [jasmine-spec-reporter@5.0.2](https://github.com/bcaudan/jasmine-spec-reporter), License: Apache-2.0
|
||||||
- [karma@4.4.1](https://github.com/karma-runner/karma), License: MIT
|
- [karma-chrome-launcher@3.1.0](https://github.com/karma-runner/karma-chrome-launcher), License: MIT
|
||||||
- [npm-license-crawler@0.2.1](https://github.com/mwittig/npm-license-crawler), License: BSD-3-Clause
|
- [karma-coverage-istanbul-reporter@3.0.3](https://github.com/mattlewis92/karma-coverage-istanbul-reporter), License: MIT
|
||||||
- [prettier@2.0.2](https://github.com/prettier/prettier), License: MIT
|
- [karma-jasmine-html-reporter@1.5.4](https://github.com/dfederm/karma-jasmine-html-reporter), License: MIT
|
||||||
- [protractor@5.4.3](https://github.com/angular/protractor), License: MIT
|
- [karma-jasmine@4.0.1](https://github.com/karma-runner/karma-jasmine), License: MIT
|
||||||
- [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill), License: MIT
|
- [karma@5.1.1](https://github.com/karma-runner/karma), License: MIT
|
||||||
- [ts-node@8.8.1](https://github.com/TypeStrong/ts-node), License: MIT
|
- [npm-license-crawler@0.2.1](https://github.com/mwittig/npm-license-crawler), License: BSD-3-Clause
|
||||||
- [tslint@6.1.0](https://github.com/palantir/tslint), License: Apache-2.0
|
- [prettier@2.1.1](https://github.com/prettier/prettier), License: MIT
|
||||||
- [tsutils@3.17.1](https://github.com/ajafff/tsutils), License: MIT
|
- [protractor@7.0.0](https://github.com/angular/protractor), License: MIT
|
||||||
- [typescript@3.8.3](https://github.com/Microsoft/TypeScript), License: Apache-2.0
|
- [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill), License: MIT
|
||||||
|
- [ts-node@9.0.0](https://github.com/TypeStrong/ts-node), License: MIT
|
||||||
|
- [tslint@6.1.3](https://github.com/palantir/tslint), License: Apache-2.0
|
||||||
|
- [tsutils@3.17.1](https://github.com/ajafff/tsutils), License: MIT
|
||||||
|
- [typescript@3.9.7](https://github.com/Microsoft/TypeScript), License: Apache-2.0
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"builder": "@angular-devkit/build-angular:browser",
|
"builder": "@angular-devkit/build-angular:browser",
|
||||||
"options": {
|
"options": {
|
||||||
"outputPath": "static",
|
"outputPath": "../server/openslides/static",
|
||||||
"index": "src/index.html",
|
"index": "src/index.html",
|
||||||
"main": "src/main.ts",
|
"main": "src/main.ts",
|
||||||
"polyfills": "src/polyfills.ts",
|
"polyfills": "src/polyfills.ts",
|
||||||
@ -30,6 +30,11 @@
|
|||||||
"glob": "**/*",
|
"glob": "**/*",
|
||||||
"input": "node_modules/tinymce",
|
"input": "node_modules/tinymce",
|
||||||
"output": "/tinymce/"
|
"output": "/tinymce/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"glob": "pdf.worker.min.js",
|
||||||
|
"input": "node_modules/pdfjs-dist/build/",
|
||||||
|
"output": "/assets/js/"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"styles": ["src/styles.scss"],
|
"styles": ["src/styles.scss"],
|
||||||
|
@ -6,12 +6,12 @@ RUN useradd -m openslides
|
|||||||
RUN chown -R openslides /build/app
|
RUN chown -R openslides /build/app
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
RUN npm install -g @angular/cli@^9
|
RUN npm install -g @angular/cli@^10
|
||||||
RUN ng config -g cli.warnings.versionMismatch false
|
RUN ng config -g cli.warnings.versionMismatch false
|
||||||
|
|
||||||
USER openslides
|
USER openslides
|
||||||
COPY package.json .
|
COPY package.json .
|
||||||
RUN npm install
|
RUN npm ci
|
||||||
COPY browserslist *.json ./
|
COPY browserslist *.json ./
|
||||||
COPY src ./src
|
COPY src ./src
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
18525
client/package-lock.json
generated
Normal file
18525
client/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@
|
|||||||
"start": "ng serve --proxy-config proxy.conf.json --host=0.0.0.0",
|
"start": "ng serve --proxy-config proxy.conf.json --host=0.0.0.0",
|
||||||
"start-es5": "ng serve --proxy-config proxy.conf.json --host=0.0.0.0 --configuration es5",
|
"start-es5": "ng serve --proxy-config proxy.conf.json --host=0.0.0.0 --configuration es5",
|
||||||
"build": "ng build --prod",
|
"build": "ng build --prod",
|
||||||
"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points",
|
"postinstall": "ngcc",
|
||||||
"build-debug": "ng build",
|
"build-debug": "ng build",
|
||||||
"test": "ng test",
|
"test": "ng test",
|
||||||
"test-silently": "npm run test -- --watch=false --no-progress --browsers=ChromeHeadlessNoSandbox",
|
"test-silently": "npm run test -- --watch=false --no-progress --browsers=ChromeHeadlessNoSandbox",
|
||||||
@ -32,82 +32,82 @@
|
|||||||
"cleanup-win": "npm run prettify-write & npm run lint-write"
|
"cleanup-win": "npm run prettify-write & npm run lint-write"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "~9.1.0",
|
"@angular/animations": "~10.0.14",
|
||||||
"@angular/cdk": "~9.2.0",
|
"@angular/cdk": "~10.0.0",
|
||||||
"@angular/cdk-experimental": "~9.2.0",
|
"@angular/cdk-experimental": "~10.0.0",
|
||||||
"@angular/common": "~9.1.0",
|
"@angular/common": "~10.0.14",
|
||||||
"@angular/compiler": "~9.1.0",
|
"@angular/compiler": "~10.0.14",
|
||||||
"@angular/core": "~9.1.0",
|
"@angular/core": "~10.0.14",
|
||||||
"@angular/forms": "~9.1.0",
|
"@angular/forms": "~10.0.14",
|
||||||
"@angular/material": "~9.2.0",
|
"@angular/material": "~10.0.0",
|
||||||
"@angular/material-moment-adapter": "~9.2.0",
|
"@angular/material-moment-adapter": "~10.1.3",
|
||||||
"@angular/platform-browser": "~9.1.0",
|
"@angular/platform-browser": "~10.0.14",
|
||||||
"@angular/platform-browser-dynamic": "~9.1.0",
|
"@angular/platform-browser-dynamic": "~10.0.14",
|
||||||
"@angular/router": "~9.1.0",
|
"@angular/router": "~10.0.14",
|
||||||
"@angular/service-worker": "~9.1.0",
|
"@angular/service-worker": "~10.0.14",
|
||||||
"@ngx-pwa/local-storage": "~9.0.2",
|
"@ngx-pwa/local-storage": "~10.0.1",
|
||||||
"@ngx-translate/core": "~12.1.2",
|
"@ngx-translate/core": "~13.0.0",
|
||||||
"@ngx-translate/http-loader": "^4.0.0",
|
"@ngx-translate/http-loader": "^6.0.0",
|
||||||
"@pebula/ngrid": "2.0.0-rc.1",
|
"@pebula/ngrid": "2.0.0",
|
||||||
"@pebula/ngrid-material": "2.0.0-rc.1",
|
"@pebula/ngrid-material": "2.0.0",
|
||||||
"@pebula/utils": "1.0.2",
|
"@pebula/utils": "1.0.2",
|
||||||
"@tinymce/tinymce-angular": "^4.1.0",
|
"@tinymce/tinymce-angular": "^4.1.0",
|
||||||
"@videojs/http-streaming": "^1.13.3",
|
"@videojs/http-streaming": "^1.13.3",
|
||||||
"acorn": "^7.1.0",
|
"acorn": "^8.0.1",
|
||||||
"chart.js": "^2.9.2",
|
"chart.js": "^2.9.3",
|
||||||
"core-js": "^3.6.4",
|
"core-js": "^3.6.5",
|
||||||
"css-element-queries": "^1.2.3",
|
"css-element-queries": "^1.2.3",
|
||||||
"exceljs": "1.15.0",
|
"exceljs": "4.1.1",
|
||||||
"file-saver": "^2.0.2",
|
"file-saver": "^2.0.2",
|
||||||
"jszip": "^3.5.0",
|
"jszip": "^3.5.0",
|
||||||
"lz4js": "^0.2.0",
|
"lz4js": "^0.2.0",
|
||||||
"material-icon-font": "git+https://github.com/petergng/materialIconFont.git",
|
"material-icon-font": "git+https://github.com/petergng/materialIconFont.git",
|
||||||
"moment": "^2.24.0",
|
"moment": "^2.27.0",
|
||||||
"ng2-charts": "^2.3.0",
|
"ng2-charts": "^2.4.0",
|
||||||
"ng2-pdf-viewer": "^6.1.2",
|
"ng2-pdf-viewer": "6.3.2",
|
||||||
"ngx-device-detector": "^1.4.4",
|
"ngx-device-detector": "^2.0.0",
|
||||||
"ngx-file-drop": "^9.0.1",
|
"ngx-file-drop": "^9.0.1",
|
||||||
"ngx-mat-select-search": "^2.1.2",
|
"ngx-mat-select-search": "^3.0.3",
|
||||||
"ngx-material-timepicker": "^5.5.1",
|
"ngx-material-timepicker": "^5.5.3",
|
||||||
"ngx-papaparse": "^4.0.2",
|
"ngx-papaparse": "^4.0.4",
|
||||||
"pdfmake": "^0.1.63",
|
"pdfmake": "^0.1.68",
|
||||||
"po2json": "^1.0.0-beta-2",
|
"po2json": "^1.0.0-beta-2",
|
||||||
"rxjs": "^6.5.4",
|
"rxjs": "^6.6.2",
|
||||||
"tinymce": "5.4.1",
|
"tinymce": "5.4.2",
|
||||||
"tslib": "^1.10.0",
|
"tslib": "^1.10.0",
|
||||||
"video.js": "^7.7.6",
|
"video.js": "^7.8.4",
|
||||||
"zone.js": "~0.10.2"
|
"zone.js": "~0.10.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "~0.901.9",
|
"@angular-devkit/build-angular": "~0.1000.8",
|
||||||
"@angular-devkit/schematics": "^9.0.6",
|
"@angular-devkit/schematics": "^10.0.8",
|
||||||
"@angular/cli": "~9.1.0",
|
"@angular/cli": "~10.0.8",
|
||||||
"@angular/compiler-cli": "~9.1.0",
|
"@angular/compiler-cli": "~10.0.14",
|
||||||
"@angular/language-service": "~9.1.0",
|
"@angular/language-service": "~10.0.14",
|
||||||
"@biesbjerg/ngx-translate-extract": "^6.0.3",
|
"@biesbjerg/ngx-translate-extract": "^7.0.2",
|
||||||
"@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
|
"@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
|
||||||
"@compodoc/compodoc": "^1.1.8",
|
"@compodoc/compodoc": "^1.1.8",
|
||||||
"@schematics/angular": "^9.0.6",
|
"@schematics/angular": "^10.0.8",
|
||||||
"@types/jasmine": "^3.3.9",
|
"@types/jasmine": "^3.5.14",
|
||||||
"@types/jasminewd2": "^2.0.6",
|
"@types/jasminewd2": "^2.0.6",
|
||||||
"@types/node": "^13.9.8",
|
"@types/node": "^14.6.2",
|
||||||
"@types/yargs": "^15.0.4",
|
"@types/yargs": "^15.0.4",
|
||||||
"codelyzer": "^5.1.2",
|
"codelyzer": "^6.0.0",
|
||||||
"husky": "^4.2.3",
|
"husky": "^4.2.3",
|
||||||
"jasmine-core": "~3.5.0",
|
"jasmine-core": "~3.6.0",
|
||||||
"jasmine-spec-reporter": "~5.0.1",
|
"jasmine-spec-reporter": "~5.0.1",
|
||||||
"karma": "^4.4.1",
|
"karma": "^5.1.1",
|
||||||
"karma-chrome-launcher": "~3.1.0",
|
"karma-chrome-launcher": "~3.1.0",
|
||||||
"karma-coverage-istanbul-reporter": "^2.0.5",
|
"karma-coverage-istanbul-reporter": "^3.0.3",
|
||||||
"karma-jasmine": "~3.1.1",
|
"karma-jasmine": "~4.0.1",
|
||||||
"karma-jasmine-html-reporter": "^1.4.0",
|
"karma-jasmine-html-reporter": "^1.4.0",
|
||||||
"npm-license-crawler": "^0.2.1",
|
"npm-license-crawler": "^0.2.1",
|
||||||
"prettier": "~2.0.5",
|
"prettier": "^2.1.1",
|
||||||
"protractor": "^5.4.3",
|
"protractor": "^7.0.0",
|
||||||
"resize-observer-polyfill": "^1.5.1",
|
"resize-observer-polyfill": "^1.5.1",
|
||||||
"ts-node": "~8.8.1",
|
"ts-node": "~9.0.0",
|
||||||
"tslint": "~6.1.0",
|
"tslint": "~6.1.3",
|
||||||
"tsutils": "3.17.1",
|
"tsutils": "3.17.1",
|
||||||
"typescript": "~3.8.3"
|
"typescript": "~3.9.7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,10 +31,11 @@ export function isBaseIsAgendaItemAndListOfSpeakersContentObjectRepository(
|
|||||||
* multi-inheritance by implementing both inherit classes again...
|
* multi-inheritance by implementing both inherit classes again...
|
||||||
*/
|
*/
|
||||||
export abstract class BaseIsAgendaItemAndListOfSpeakersContentObjectRepository<
|
export abstract class BaseIsAgendaItemAndListOfSpeakersContentObjectRepository<
|
||||||
V extends BaseProjectableViewModel & BaseViewModelWithAgendaItem & BaseViewModelWithListOfSpeakers & T,
|
V extends BaseProjectableViewModel & BaseViewModelWithAgendaItem & BaseViewModelWithListOfSpeakers & T,
|
||||||
M extends BaseModel,
|
M extends BaseModel,
|
||||||
T extends TitleInformationWithAgendaItem
|
T extends TitleInformationWithAgendaItem
|
||||||
> extends BaseRepository<V, M, T>
|
>
|
||||||
|
extends BaseRepository<V, M, T>
|
||||||
implements
|
implements
|
||||||
IBaseIsAgendaItemContentObjectRepository<V, M, T>,
|
IBaseIsAgendaItemContentObjectRepository<V, M, T>,
|
||||||
IBaseIsListOfSpeakersContentObjectRepository<V, M, T> {
|
IBaseIsListOfSpeakersContentObjectRepository<V, M, T> {
|
||||||
|
@ -38,10 +38,12 @@ export interface IBaseIsAgendaItemContentObjectRepository<
|
|||||||
* The base repository for objects with an agenda item.
|
* The base repository for objects with an agenda item.
|
||||||
*/
|
*/
|
||||||
export abstract class BaseIsAgendaItemContentObjectRepository<
|
export abstract class BaseIsAgendaItemContentObjectRepository<
|
||||||
V extends BaseViewModelWithAgendaItem & T,
|
V extends BaseViewModelWithAgendaItem & T,
|
||||||
M extends BaseModel,
|
M extends BaseModel,
|
||||||
T extends TitleInformationWithAgendaItem
|
T extends TitleInformationWithAgendaItem
|
||||||
> extends BaseRepository<V, M, T> implements IBaseIsAgendaItemContentObjectRepository<V, M, T> {
|
>
|
||||||
|
extends BaseRepository<V, M, T>
|
||||||
|
implements IBaseIsAgendaItemContentObjectRepository<V, M, T> {
|
||||||
public constructor(
|
public constructor(
|
||||||
DS: DataStoreService,
|
DS: DataStoreService,
|
||||||
dataSend: DataSendService,
|
dataSend: DataSendService,
|
||||||
|
@ -35,10 +35,12 @@ export interface IBaseIsListOfSpeakersContentObjectRepository<
|
|||||||
* The base repository for objects with a list of speakers.
|
* The base repository for objects with a list of speakers.
|
||||||
*/
|
*/
|
||||||
export abstract class BaseIsListOfSpeakersContentObjectRepository<
|
export abstract class BaseIsListOfSpeakersContentObjectRepository<
|
||||||
V extends BaseViewModelWithListOfSpeakers & T,
|
V extends BaseViewModelWithListOfSpeakers & T,
|
||||||
M extends BaseModel,
|
M extends BaseModel,
|
||||||
T extends TitleInformation
|
T extends TitleInformation
|
||||||
> extends BaseRepository<V, M, T> implements IBaseIsListOfSpeakersContentObjectRepository<V, M, T> {
|
>
|
||||||
|
extends BaseRepository<V, M, T>
|
||||||
|
implements IBaseIsListOfSpeakersContentObjectRepository<V, M, T> {
|
||||||
public constructor(
|
public constructor(
|
||||||
DS: DataStoreService,
|
DS: DataStoreService,
|
||||||
dataSend: DataSendService,
|
dataSend: DataSendService,
|
||||||
|
@ -18,7 +18,7 @@ import { Observable } from 'rxjs';
|
|||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
|
|
||||||
import { MediafileRepositoryService } from 'app/core/repositories/mediafiles/mediafile-repository.service';
|
import { MediafileRepositoryService } from 'app/core/repositories/mediafiles/mediafile-repository.service';
|
||||||
import { BaseFormControlComponent } from 'app/shared/models/base/base-form-control';
|
import { BaseFormControlComponentDirective } from 'app/shared/models/base/base-form-control';
|
||||||
import { mediumDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { mediumDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { ViewMediafile } from 'app/site/mediafiles/models/view-mediafile';
|
import { ViewMediafile } from 'app/site/mediafiles/models/view-mediafile';
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ import { ViewMediafile } from 'app/site/mediafiles/models/view-mediafile';
|
|||||||
providers: [{ provide: MatFormFieldControl, useExisting: AttachmentControlComponent }],
|
providers: [{ provide: MatFormFieldControl, useExisting: AttachmentControlComponent }],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class AttachmentControlComponent extends BaseFormControlComponent<ViewMediafile[]> implements OnInit {
|
export class AttachmentControlComponent extends BaseFormControlComponentDirective<ViewMediafile[]> implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Output for an error handler
|
* Output for an error handler
|
||||||
*/
|
*/
|
||||||
|
@ -6,7 +6,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
import { ChartOptions } from 'chart.js';
|
import { ChartOptions } from 'chart.js';
|
||||||
import { Label } from 'ng2-charts';
|
import { Label } from 'ng2-charts';
|
||||||
|
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The different supported chart-types.
|
* The different supported chart-types.
|
||||||
@ -41,7 +41,7 @@ export type ChartData = ChartDate[];
|
|||||||
styleUrls: ['./charts.component.scss'],
|
styleUrls: ['./charts.component.scss'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class ChartsComponent extends BaseViewComponent {
|
export class ChartsComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* The type of the chart.
|
* The type of the chart.
|
||||||
*/
|
*/
|
||||||
|
@ -5,7 +5,7 @@ import { Title } from '@angular/platform-browser';
|
|||||||
|
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'os-check-input',
|
selector: 'os-check-input',
|
||||||
@ -13,7 +13,7 @@ import { BaseViewComponent } from 'app/site/base/base-view';
|
|||||||
styleUrls: ['./check-input.component.scss'],
|
styleUrls: ['./check-input.component.scss'],
|
||||||
providers: [{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => CheckInputComponent) }]
|
providers: [{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => CheckInputComponent) }]
|
||||||
})
|
})
|
||||||
export class CheckInputComponent extends BaseViewComponent implements OnInit, ControlValueAccessor {
|
export class CheckInputComponent extends BaseViewComponentDirective implements OnInit, ControlValueAccessor {
|
||||||
/**
|
/**
|
||||||
* Type of the used input.
|
* Type of the used input.
|
||||||
*/
|
*/
|
||||||
|
@ -12,7 +12,7 @@ import { OperatorService } from 'app/core/core-services/operator.service';
|
|||||||
import { Deferred } from 'app/core/promises/deferred';
|
import { Deferred } from 'app/core/promises/deferred';
|
||||||
import { UserRepositoryService } from 'app/core/repositories/users/user-repository.service';
|
import { UserRepositoryService } from 'app/core/repositories/users/user-repository.service';
|
||||||
import { ConfigService } from 'app/core/ui-services/config.service';
|
import { ConfigService } from 'app/core/ui-services/config.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { CurrentListOfSpeakersService } from 'app/site/projector/services/current-list-of-speakers.service';
|
import { CurrentListOfSpeakersService } from 'app/site/projector/services/current-list-of-speakers.service';
|
||||||
|
|
||||||
declare var JitsiMeetExternalAPI: any;
|
declare var JitsiMeetExternalAPI: any;
|
||||||
@ -75,7 +75,7 @@ enum ConferenceState {
|
|||||||
],
|
],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class JitsiComponent extends BaseViewComponent implements OnInit, OnDestroy {
|
export class JitsiComponent extends BaseViewComponentDirective implements OnInit, OnDestroy {
|
||||||
public enableJitsi: boolean;
|
public enableJitsi: boolean;
|
||||||
|
|
||||||
private autoconnect: boolean;
|
private autoconnect: boolean;
|
||||||
|
@ -8,7 +8,7 @@ import { environment } from 'environments/environment';
|
|||||||
|
|
||||||
import { HttpService } from 'app/core/core-services/http.service';
|
import { HttpService } from 'app/core/core-services/http.service';
|
||||||
import { LoginDataService } from 'app/core/ui-services/login-data.service';
|
import { LoginDataService } from 'app/core/ui-services/login-data.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Characterize a plugin. This data is retrieved from the server
|
* Characterize a plugin. This data is retrieved from the server
|
||||||
@ -69,7 +69,7 @@ interface VersionResponse {
|
|||||||
templateUrl: './legal-notice-content.component.html',
|
templateUrl: './legal-notice-content.component.html',
|
||||||
styleUrls: ['./legal-notice-content.component.scss']
|
styleUrls: ['./legal-notice-content.component.scss']
|
||||||
})
|
})
|
||||||
export class LegalNoticeContentComponent extends BaseViewComponent implements OnInit {
|
export class LegalNoticeContentComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Decides, whether the component can be edited at all.
|
* Decides, whether the component can be edited at all.
|
||||||
* Defaults to `false`.
|
* Defaults to `false`.
|
||||||
|
@ -24,7 +24,7 @@ import { PromptService } from 'app/core/ui-services/prompt.service';
|
|||||||
import { ViewportService } from 'app/core/ui-services/viewport.service';
|
import { ViewportService } from 'app/core/ui-services/viewport.service';
|
||||||
import { ViewListOfSpeakers } from 'app/site/agenda/models/view-list-of-speakers';
|
import { ViewListOfSpeakers } from 'app/site/agenda/models/view-list-of-speakers';
|
||||||
import { SpeakerState, ViewSpeaker } from 'app/site/agenda/models/view-speaker';
|
import { SpeakerState, ViewSpeaker } from 'app/site/agenda/models/view-speaker';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewUser } from 'app/site/users/models/view-user';
|
import { ViewUser } from 'app/site/users/models/view-user';
|
||||||
import { Selectable } from '../selectable';
|
import { Selectable } from '../selectable';
|
||||||
import { SortingListComponent } from '../sorting-list/sorting-list.component';
|
import { SortingListComponent } from '../sorting-list/sorting-list.component';
|
||||||
@ -35,7 +35,7 @@ import { SortingListComponent } from '../sorting-list/sorting-list.component';
|
|||||||
styleUrls: ['./list-of-speakers-content.component.scss'],
|
styleUrls: ['./list-of-speakers-content.component.scss'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class ListOfSpeakersContentComponent extends BaseViewComponent implements OnInit {
|
export class ListOfSpeakersContentComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
@ViewChild(SortingListComponent)
|
@ViewChild(SortingListComponent)
|
||||||
public listElement: SortingListComponent;
|
public listElement: SortingListComponent;
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import { Title } from '@angular/platform-browser';
|
|||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { LoginDataService } from 'app/core/ui-services/login-data.service';
|
import { LoginDataService } from 'app/core/ui-services/login-data.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shared component to hold the content of the Privacy Policy.
|
* Shared component to hold the content of the Privacy Policy.
|
||||||
@ -17,7 +17,7 @@ import { BaseViewComponent } from 'app/site/base/base-view';
|
|||||||
templateUrl: './privacy-policy-content.component.html',
|
templateUrl: './privacy-policy-content.component.html',
|
||||||
styleUrls: ['./privacy-policy-content.component.scss']
|
styleUrls: ['./privacy-policy-content.component.scss']
|
||||||
})
|
})
|
||||||
export class PrivacyPolicyContentComponent extends BaseViewComponent implements OnInit {
|
export class PrivacyPolicyContentComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Decides, whether the component can be edited at all.
|
* Decides, whether the component can be edited at all.
|
||||||
* Defaults to `false`.
|
* Defaults to `false`.
|
||||||
|
@ -18,7 +18,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { auditTime } from 'rxjs/operators';
|
import { auditTime } from 'rxjs/operators';
|
||||||
|
|
||||||
import { BaseFormControlComponent } from 'app/shared/models/base/base-form-control';
|
import { BaseFormControlComponentDirective } from 'app/shared/models/base/base-form-control';
|
||||||
import { ParentErrorStateMatcher } from 'app/shared/parent-error-state-matcher';
|
import { ParentErrorStateMatcher } from 'app/shared/parent-error-state-matcher';
|
||||||
import { Selectable } from '../selectable';
|
import { Selectable } from '../selectable';
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ import { Selectable } from '../selectable';
|
|||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class SearchValueSelectorComponent extends BaseFormControlComponent<Selectable[]> {
|
export class SearchValueSelectorComponent extends BaseFormControlComponentDirective<Selectable[]> {
|
||||||
@ViewChild('chipPlaceholder', { static: false })
|
@ViewChild('chipPlaceholder', { static: false })
|
||||||
public chipPlaceholder: ElementRef<HTMLElement>;
|
public chipPlaceholder: ElementRef<HTMLElement>;
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import { ConfigService } from 'app/core/ui-services/config.service';
|
|||||||
import { LoginDataService } from 'app/core/ui-services/login-data.service';
|
import { LoginDataService } from 'app/core/ui-services/login-data.service';
|
||||||
import { OverlayService } from 'app/core/ui-services/overlay.service';
|
import { OverlayService } from 'app/core/ui-services/overlay.service';
|
||||||
import { DEFAULT_AUTH_TYPE } from 'app/shared/models/users/user';
|
import { DEFAULT_AUTH_TYPE } from 'app/shared/models/users/user';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewUser } from 'app/site/users/models/view-user';
|
import { ViewUser } from 'app/site/users/models/view-user';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -19,7 +19,7 @@ import { ViewUser } from 'app/site/users/models/view-user';
|
|||||||
templateUrl: './user-menu.component.html',
|
templateUrl: './user-menu.component.html',
|
||||||
styleUrls: ['./user-menu.component.scss']
|
styleUrls: ['./user-menu.component.scss']
|
||||||
})
|
})
|
||||||
export class UserMenuComponent extends BaseViewComponent implements OnInit {
|
export class UserMenuComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
public isLoggedIn: boolean;
|
public isLoggedIn: boolean;
|
||||||
|
|
||||||
public user: ViewUser;
|
public user: ViewUser;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { FocusMonitor } from '@angular/cdk/a11y';
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
||||||
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
||||||
import { ElementRef, HostBinding, Input, OnDestroy, Optional, Self } from '@angular/core';
|
import { Directive, ElementRef, HostBinding, Input, OnDestroy, Optional, Self } from '@angular/core';
|
||||||
import { ControlValueAccessor, FormBuilder, FormControl, FormGroup, NgControl } from '@angular/forms';
|
import { ControlValueAccessor, FormBuilder, FormControl, FormGroup, NgControl } from '@angular/forms';
|
||||||
import { MatFormFieldControl } from '@angular/material/form-field';
|
import { MatFormFieldControl } from '@angular/material/form-field';
|
||||||
|
|
||||||
@ -21,11 +21,13 @@ import { Subject, Subscription } from 'rxjs';
|
|||||||
* })
|
* })
|
||||||
* ```
|
* ```
|
||||||
*/
|
*/
|
||||||
export abstract class BaseFormControlComponent<T> extends MatFormFieldControl<T>
|
@Directive()
|
||||||
|
export abstract class BaseFormControlComponentDirective<T>
|
||||||
|
extends MatFormFieldControl<T>
|
||||||
implements OnDestroy, ControlValueAccessor {
|
implements OnDestroy, ControlValueAccessor {
|
||||||
public static nextId = 0;
|
public static nextId = 0;
|
||||||
|
|
||||||
@HostBinding() public id = `base-form-control-${BaseFormControlComponent.nextId++}`;
|
@HostBinding() public id = `base-form-control-${BaseFormControlComponentDirective.nextId++}`;
|
||||||
|
|
||||||
@HostBinding('class.floating') public get shouldLabelFloat(): boolean {
|
@HostBinding('class.floating') public get shouldLabelFloat(): boolean {
|
||||||
return this.focused || !this.empty;
|
return this.focused || !this.empty;
|
||||||
|
@ -9,7 +9,8 @@ export function isBaseModelWithAgendaItemAndListOfSpeakers(obj: any): obj is Bas
|
|||||||
/**
|
/**
|
||||||
* A base model with an agenda item and a list of speakers.
|
* A base model with an agenda item and a list of speakers.
|
||||||
*/
|
*/
|
||||||
export abstract class BaseModelWithAgendaItemAndListOfSpeakers<T = object> extends BaseModel<T>
|
export abstract class BaseModelWithAgendaItemAndListOfSpeakers<T = object>
|
||||||
|
extends BaseModel<T>
|
||||||
implements BaseModelWithAgendaItem<T>, BaseModelWithListOfSpeakers<T> {
|
implements BaseModelWithAgendaItem<T>, BaseModelWithListOfSpeakers<T> {
|
||||||
public agenda_item_id: number;
|
public agenda_item_id: number;
|
||||||
public list_of_speakers_id: number;
|
public list_of_speakers_id: number;
|
||||||
|
@ -10,7 +10,7 @@ import { ListOfSpeakersRepositoryService } from 'app/core/repositories/agenda/li
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { ViewportService } from 'app/core/ui-services/viewport.service';
|
import { ViewportService } from 'app/core/ui-services/viewport.service';
|
||||||
import { ListOfSpeakersContentComponent } from 'app/shared/components/list-of-speakers-content/list-of-speakers-content.component';
|
import { ListOfSpeakersContentComponent } from 'app/shared/components/list-of-speakers-content/list-of-speakers-content.component';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ProjectorElementBuildDeskriptor } from 'app/site/base/projectable';
|
import { ProjectorElementBuildDeskriptor } from 'app/site/base/projectable';
|
||||||
import { ViewProjector } from 'app/site/projector/models/view-projector';
|
import { ViewProjector } from 'app/site/projector/models/view-projector';
|
||||||
import { CurrentListOfSpeakersSlideService } from 'app/site/projector/services/current-list-of-speakers-slide.service';
|
import { CurrentListOfSpeakersSlideService } from 'app/site/projector/services/current-list-of-speakers-slide.service';
|
||||||
@ -25,9 +25,10 @@ import { ViewListOfSpeakers } from '../../models/view-list-of-speakers';
|
|||||||
templateUrl: './list-of-speakers.component.html',
|
templateUrl: './list-of-speakers.component.html',
|
||||||
styleUrls: ['./list-of-speakers.component.scss']
|
styleUrls: ['./list-of-speakers.component.scss']
|
||||||
})
|
})
|
||||||
export class ListOfSpeakersComponent extends BaseViewComponent implements OnInit {
|
export class ListOfSpeakersComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
@ViewChild('content')
|
@ViewChild('content')
|
||||||
private listOfSpeakersContentComponent: ListOfSpeakersContentComponent;
|
private listOfSpeakersContentComponent: ListOfSpeakersContentComponent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if the user is viewing the current list if speakers
|
* Determine if the user is viewing the current list if speakers
|
||||||
*/
|
*/
|
||||||
|
@ -10,7 +10,8 @@ export interface ItemTitleInformation {
|
|||||||
title_information: object;
|
title_information: object;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ViewItem extends BaseViewModelWithContentObject<Item, BaseViewModelWithAgendaItem>
|
export class ViewItem
|
||||||
|
extends BaseViewModelWithContentObject<Item, BaseViewModelWithAgendaItem>
|
||||||
implements ItemTitleInformation {
|
implements ItemTitleInformation {
|
||||||
public static COLLECTIONSTRING = Item.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = Item.COLLECTIONSTRING;
|
||||||
protected _collectionString = Item.COLLECTIONSTRING;
|
protected _collectionString = Item.COLLECTIONSTRING;
|
||||||
|
@ -15,7 +15,8 @@ export interface ListOfSpeakersTitleInformation {
|
|||||||
/**
|
/**
|
||||||
* TODO: Resolve potential circular dependencies with {@link BaseViewModelWithListOfSpeakers}.
|
* TODO: Resolve potential circular dependencies with {@link BaseViewModelWithListOfSpeakers}.
|
||||||
*/
|
*/
|
||||||
export class ViewListOfSpeakers extends BaseViewModelWithContentObject<ListOfSpeakers, BaseViewModelWithListOfSpeakers>
|
export class ViewListOfSpeakers
|
||||||
|
extends BaseViewModelWithContentObject<ListOfSpeakers, BaseViewModelWithListOfSpeakers>
|
||||||
implements ListOfSpeakersTitleInformation, Projectable {
|
implements ListOfSpeakersTitleInformation, Projectable {
|
||||||
public static COLLECTIONSTRING = ListOfSpeakers.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = ListOfSpeakers.COLLECTIONSTRING;
|
||||||
protected _collectionString = ListOfSpeakers.COLLECTIONSTRING;
|
protected _collectionString = ListOfSpeakers.COLLECTIONSTRING;
|
||||||
|
@ -16,7 +16,7 @@ import { UserRepositoryService } from 'app/core/repositories/users/user-reposito
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { Assignment } from 'app/shared/models/assignments/assignment';
|
import { Assignment } from 'app/shared/models/assignments/assignment';
|
||||||
import { ViewItem } from 'app/site/agenda/models/view-item';
|
import { ViewItem } from 'app/site/agenda/models/view-item';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMediafile } from 'app/site/mediafiles/models/view-mediafile';
|
import { ViewMediafile } from 'app/site/mediafiles/models/view-mediafile';
|
||||||
import { LocalPermissionsService } from 'app/site/motions/services/local-permissions.service';
|
import { LocalPermissionsService } from 'app/site/motions/services/local-permissions.service';
|
||||||
import { ViewTag } from 'app/site/tags/models/view-tag';
|
import { ViewTag } from 'app/site/tags/models/view-tag';
|
||||||
@ -36,7 +36,7 @@ import { ViewAssignmentRelatedUser } from '../../models/view-assignment-related-
|
|||||||
templateUrl: './assignment-detail.component.html',
|
templateUrl: './assignment-detail.component.html',
|
||||||
styleUrls: ['./assignment-detail.component.scss']
|
styleUrls: ['./assignment-detail.component.scss']
|
||||||
})
|
})
|
||||||
export class AssignmentDetailComponent extends BaseViewComponent implements OnInit {
|
export class AssignmentDetailComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Determines if the assignment is new
|
* Determines if the assignment is new
|
||||||
*/
|
*/
|
||||||
|
@ -32,7 +32,8 @@ export const AssignmentPollPercentBaseVerbose = {
|
|||||||
disabled: _('Disabled (no percents)')
|
disabled: _('Disabled (no percents)')
|
||||||
};
|
};
|
||||||
|
|
||||||
export class ViewAssignmentPoll extends ViewBasePoll<AssignmentPoll, AssignmentPollMethod, AssignmentPollPercentBase>
|
export class ViewAssignmentPoll
|
||||||
|
extends ViewBasePoll<AssignmentPoll, AssignmentPollMethod, AssignmentPollPercentBase>
|
||||||
implements AssignmentPollTitleInformation {
|
implements AssignmentPollTitleInformation {
|
||||||
public static COLLECTIONSTRING = AssignmentPoll.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = AssignmentPoll.COLLECTIONSTRING;
|
||||||
protected _collectionString = AssignmentPoll.COLLECTIONSTRING;
|
protected _collectionString = AssignmentPoll.COLLECTIONSTRING;
|
||||||
|
@ -37,7 +37,8 @@ export const AssignmentPhases: { name: string; value: number; display_name: stri
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
export class ViewAssignment extends BaseViewModelWithAgendaItemAndListOfSpeakers<Assignment>
|
export class ViewAssignment
|
||||||
|
extends BaseViewModelWithAgendaItemAndListOfSpeakers<Assignment>
|
||||||
implements AssignmentTitleInformation {
|
implements AssignmentTitleInformation {
|
||||||
public static COLLECTIONSTRING = Assignment.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = Assignment.COLLECTIONSTRING;
|
||||||
protected _collectionString = Assignment.COLLECTIONSTRING;
|
protected _collectionString = Assignment.COLLECTIONSTRING;
|
||||||
|
@ -14,7 +14,7 @@ import { ConfigService } from 'app/core/ui-services/config.service';
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { VoteValue } from 'app/shared/models/poll/base-vote';
|
import { VoteValue } from 'app/shared/models/poll/base-vote';
|
||||||
import { ViewAssignmentPoll } from 'app/site/assignments/models/view-assignment-poll';
|
import { ViewAssignmentPoll } from 'app/site/assignments/models/view-assignment-poll';
|
||||||
import { BasePollDetailComponent } from 'app/site/polls/components/base-poll-detail.component';
|
import { BasePollDetailComponentDirective } from 'app/site/polls/components/base-poll-detail.component';
|
||||||
import { AssignmentPollDialogService } from '../../services/assignment-poll-dialog.service';
|
import { AssignmentPollDialogService } from '../../services/assignment-poll-dialog.service';
|
||||||
import { AssignmentPollService } from '../../services/assignment-poll.service';
|
import { AssignmentPollService } from '../../services/assignment-poll.service';
|
||||||
|
|
||||||
@ -24,7 +24,10 @@ import { AssignmentPollService } from '../../services/assignment-poll.service';
|
|||||||
styleUrls: ['./assignment-poll-detail.component.scss'],
|
styleUrls: ['./assignment-poll-detail.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class AssignmentPollDetailComponent extends BasePollDetailComponent<ViewAssignmentPoll, AssignmentPollService> {
|
export class AssignmentPollDetailComponent extends BasePollDetailComponentDirective<
|
||||||
|
ViewAssignmentPoll,
|
||||||
|
AssignmentPollService
|
||||||
|
> {
|
||||||
public columnDefinitionSingleVotes: PblColumnDefinition[];
|
public columnDefinitionSingleVotes: PblColumnDefinition[];
|
||||||
|
|
||||||
public filterProps = ['user.getFullName'];
|
public filterProps = ['user.getFullName'];
|
||||||
|
@ -30,7 +30,8 @@ type OptionsObject = { user_id: number; user: ViewUser }[];
|
|||||||
templateUrl: './assignment-poll-dialog.component.html',
|
templateUrl: './assignment-poll-dialog.component.html',
|
||||||
styleUrls: ['./assignment-poll-dialog.component.scss']
|
styleUrls: ['./assignment-poll-dialog.component.scss']
|
||||||
})
|
})
|
||||||
export class AssignmentPollDialogComponent extends BasePollDialogComponent<ViewAssignmentPoll, AssignmentPollService>
|
export class AssignmentPollDialogComponent
|
||||||
|
extends BasePollDialogComponent<ViewAssignmentPoll, AssignmentPollService>
|
||||||
implements OnInit {
|
implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The summary values that will have fields in the dialog
|
* The summary values that will have fields in the dialog
|
||||||
|
@ -16,7 +16,7 @@ import { AssignmentPollMethod } from 'app/shared/models/assignments/assignment-p
|
|||||||
import { PollType } from 'app/shared/models/poll/base-poll';
|
import { PollType } from 'app/shared/models/poll/base-poll';
|
||||||
import { VoteValue } from 'app/shared/models/poll/base-vote';
|
import { VoteValue } from 'app/shared/models/poll/base-vote';
|
||||||
import { ViewAssignmentPoll } from 'app/site/assignments/models/view-assignment-poll';
|
import { ViewAssignmentPoll } from 'app/site/assignments/models/view-assignment-poll';
|
||||||
import { BasePollVoteComponent } from 'app/site/polls/components/base-poll-vote.component';
|
import { BasePollVoteComponentDirective } from 'app/site/polls/components/base-poll-vote.component';
|
||||||
|
|
||||||
// TODO: Duplicate
|
// TODO: Duplicate
|
||||||
interface VoteActions {
|
interface VoteActions {
|
||||||
@ -32,7 +32,7 @@ interface VoteActions {
|
|||||||
styleUrls: ['./assignment-poll-vote.component.scss'],
|
styleUrls: ['./assignment-poll-vote.component.scss'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class AssignmentPollVoteComponent extends BasePollVoteComponent<ViewAssignmentPoll> implements OnInit {
|
export class AssignmentPollVoteComponent extends BasePollVoteComponentDirective<ViewAssignmentPoll> implements OnInit {
|
||||||
public AssignmentPollMethod = AssignmentPollMethod;
|
public AssignmentPollMethod = AssignmentPollMethod;
|
||||||
public PollType = PollType;
|
public PollType = PollType;
|
||||||
public voteActions: VoteActions[] = [];
|
public voteActions: VoteActions[] = [];
|
||||||
|
@ -24,7 +24,8 @@ import { AssignmentPollService } from '../../services/assignment-poll.service';
|
|||||||
templateUrl: './assignment-poll.component.html',
|
templateUrl: './assignment-poll.component.html',
|
||||||
styleUrls: ['./assignment-poll.component.scss']
|
styleUrls: ['./assignment-poll.component.scss']
|
||||||
})
|
})
|
||||||
export class AssignmentPollComponent extends BasePollComponent<ViewAssignmentPoll, AssignmentPollService>
|
export class AssignmentPollComponent
|
||||||
|
extends BasePollComponent<ViewAssignmentPoll, AssignmentPollService>
|
||||||
implements OnInit {
|
implements OnInit {
|
||||||
@Input()
|
@Input()
|
||||||
public set poll(value: ViewAssignmentPoll) {
|
public set poll(value: ViewAssignmentPoll) {
|
||||||
|
@ -11,10 +11,11 @@ import { auditTime, distinctUntilChanged } from 'rxjs/operators';
|
|||||||
import { BaseImportService, NewEntry, ValueLabelCombination } from 'app/core/ui-services/base-import.service';
|
import { BaseImportService, NewEntry, ValueLabelCombination } from 'app/core/ui-services/base-import.service';
|
||||||
import { BaseModel } from 'app/shared/models/base/base-model';
|
import { BaseModel } from 'app/shared/models/base/base-model';
|
||||||
import { getLongPreview, getShortPreview } from 'app/shared/utils/previewStrings';
|
import { getLongPreview, getShortPreview } from 'app/shared/utils/previewStrings';
|
||||||
import { BaseViewComponent } from './base-view';
|
import { BaseViewComponentDirective } from './base-view';
|
||||||
|
|
||||||
@Directive()
|
@Directive()
|
||||||
export abstract class BaseImportListComponentDirective<M extends BaseModel> extends BaseViewComponent
|
export abstract class BaseImportListComponentDirective<M extends BaseModel>
|
||||||
|
extends BaseViewComponentDirective
|
||||||
implements OnInit {
|
implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The data source for a table. Requires to be initialised with a BaseViewModel
|
* The data source for a table. Requires to be initialised with a BaseViewModel
|
||||||
|
@ -6,10 +6,12 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
import { PblColumnDefinition, PblDataSource } from '@pebula/ngrid';
|
import { PblColumnDefinition, PblDataSource } from '@pebula/ngrid';
|
||||||
|
|
||||||
import { StorageService } from 'app/core/core-services/storage.service';
|
import { StorageService } from 'app/core/core-services/storage.service';
|
||||||
import { BaseViewComponent } from './base-view';
|
import { BaseViewComponentDirective } from './base-view';
|
||||||
import { BaseViewModel } from './base-view-model';
|
import { BaseViewModel } from './base-view-model';
|
||||||
|
|
||||||
export abstract class BaseListViewComponent<V extends BaseViewModel> extends BaseViewComponent implements OnDestroy {
|
export abstract class BaseListViewComponent<V extends BaseViewModel>
|
||||||
|
extends BaseViewComponentDirective
|
||||||
|
implements OnDestroy {
|
||||||
/**
|
/**
|
||||||
* The source of the table data, will be filled by an event emitter
|
* The source of the table data, will be filled by an event emitter
|
||||||
*/
|
*/
|
||||||
|
@ -7,7 +7,8 @@ import { Projectable, ProjectorElementBuildDeskriptor } from './projectable';
|
|||||||
/**
|
/**
|
||||||
* Base view class for projectable models.
|
* Base view class for projectable models.
|
||||||
*/
|
*/
|
||||||
export abstract class BaseProjectableViewModel<M extends BaseModel = any> extends BaseViewModel<M>
|
export abstract class BaseProjectableViewModel<M extends BaseModel = any>
|
||||||
|
extends BaseViewModel<M>
|
||||||
implements Projectable {
|
implements Projectable {
|
||||||
public abstract getSlide(configService?: ConfigService): ProjectorElementBuildDeskriptor;
|
public abstract getSlide(configService?: ConfigService): ProjectorElementBuildDeskriptor;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { OnDestroy } from '@angular/core';
|
import { Directive, OnDestroy } from '@angular/core';
|
||||||
import { MatSnackBar, MatSnackBarRef, SimpleSnackBar } from '@angular/material/snack-bar';
|
import { MatSnackBar, MatSnackBarRef, SimpleSnackBar } from '@angular/material/snack-bar';
|
||||||
import { Title } from '@angular/platform-browser';
|
import { Title } from '@angular/platform-browser';
|
||||||
|
|
||||||
@ -12,7 +12,8 @@ import { BaseComponent } from '../../base.component';
|
|||||||
* with the error. The error is dismissed, if the component is destroyed, so if the
|
* with the error. The error is dismissed, if the component is destroyed, so if the
|
||||||
* view is leaved.
|
* view is leaved.
|
||||||
*/
|
*/
|
||||||
export abstract class BaseViewComponent extends BaseComponent implements OnDestroy {
|
@Directive()
|
||||||
|
export abstract class BaseViewComponentDirective extends BaseComponent implements OnDestroy {
|
||||||
/**
|
/**
|
||||||
* A reference to the current error snack bar.
|
* A reference to the current error snack bar.
|
||||||
*/
|
*/
|
||||||
|
@ -9,7 +9,7 @@ import { PromptService } from 'app/core/ui-services/prompt.service';
|
|||||||
import { SortingTreeComponent } from 'app/shared/components/sorting-tree/sorting-tree.component';
|
import { SortingTreeComponent } from 'app/shared/components/sorting-tree/sorting-tree.component';
|
||||||
import { Identifiable } from 'app/shared/models/base/identifiable';
|
import { Identifiable } from 'app/shared/models/base/identifiable';
|
||||||
import { CanComponentDeactivate } from 'app/shared/utils/watch-for-changes.guard';
|
import { CanComponentDeactivate } from 'app/shared/utils/watch-for-changes.guard';
|
||||||
import { BaseViewComponent } from './base-view';
|
import { BaseViewComponentDirective } from './base-view';
|
||||||
import { BaseViewModel } from './base-view-model';
|
import { BaseViewModel } from './base-view-model';
|
||||||
|
|
||||||
export interface SortTreeFilterOption extends Identifiable {
|
export interface SortTreeFilterOption extends Identifiable {
|
||||||
@ -22,7 +22,8 @@ export interface SortTreeFilterOption extends Identifiable {
|
|||||||
* Abstract Sort view for hierarchic item trees
|
* Abstract Sort view for hierarchic item trees
|
||||||
*/
|
*/
|
||||||
@Directive()
|
@Directive()
|
||||||
export abstract class SortTreeViewComponentDirective<V extends BaseViewModel> extends BaseViewComponent
|
export abstract class SortTreeViewComponentDirective<V extends BaseViewModel>
|
||||||
|
extends BaseViewComponentDirective
|
||||||
implements CanComponentDeactivate {
|
implements CanComponentDeactivate {
|
||||||
/**
|
/**
|
||||||
* Reference to the view child
|
* Reference to the view child
|
||||||
|
@ -11,7 +11,7 @@ import { DetailNavigable, isDetailNavigable } from 'app/shared/models/base/detai
|
|||||||
import { ProjectorElement } from 'app/shared/models/core/projector';
|
import { ProjectorElement } from 'app/shared/models/core/projector';
|
||||||
import { ViewListOfSpeakers } from 'app/site/agenda/models/view-list-of-speakers';
|
import { ViewListOfSpeakers } from 'app/site/agenda/models/view-list-of-speakers';
|
||||||
import { BaseProjectableViewModel } from 'app/site/base/base-projectable-view-model';
|
import { BaseProjectableViewModel } from 'app/site/base/base-projectable-view-model';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewProjector } from 'app/site/projector/models/view-projector';
|
import { ViewProjector } from 'app/site/projector/models/view-projector';
|
||||||
import { CurrentListOfSpeakersService } from 'app/site/projector/services/current-list-of-speakers.service';
|
import { CurrentListOfSpeakersService } from 'app/site/projector/services/current-list-of-speakers.service';
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ import { CurrentListOfSpeakersService } from 'app/site/projector/services/curren
|
|||||||
templateUrl: './cinema.component.html',
|
templateUrl: './cinema.component.html',
|
||||||
styleUrls: ['./cinema.component.scss']
|
styleUrls: ['./cinema.component.scss']
|
||||||
})
|
})
|
||||||
export class CinemaComponent extends BaseViewComponent implements OnInit {
|
export class CinemaComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
public listOfSpeakers: ViewListOfSpeakers;
|
public listOfSpeakers: ViewListOfSpeakers;
|
||||||
public projector: ViewProjector;
|
public projector: ViewProjector;
|
||||||
private currentProjectorElement: ProjectorElement;
|
private currentProjectorElement: ProjectorElement;
|
||||||
|
@ -5,7 +5,7 @@ import { Title } from '@angular/platform-browser';
|
|||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
|
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { BaseViewModel } from 'app/site/base/base-view-model';
|
import { BaseViewModel } from 'app/site/base/base-view-model';
|
||||||
import { ViewBasePoll } from 'app/site/polls/models/view-base-poll';
|
import { ViewBasePoll } from 'app/site/polls/models/view-base-poll';
|
||||||
import { PollListObservableService } from 'app/site/polls/services/poll-list-observable.service';
|
import { PollListObservableService } from 'app/site/polls/services/poll-list-observable.service';
|
||||||
@ -15,7 +15,7 @@ import { PollListObservableService } from 'app/site/polls/services/poll-list-obs
|
|||||||
templateUrl: './poll-collection.component.html',
|
templateUrl: './poll-collection.component.html',
|
||||||
styleUrls: ['./poll-collection.component.scss']
|
styleUrls: ['./poll-collection.component.scss']
|
||||||
})
|
})
|
||||||
export class PollCollectionComponent extends BaseViewComponent implements OnInit {
|
export class PollCollectionComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
public polls: ViewBasePoll[];
|
public polls: ViewBasePoll[];
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
|
@ -9,13 +9,13 @@ import { OpenSlidesService } from 'app/core/core-services/openslides.service';
|
|||||||
import { OperatorService, Permission } from 'app/core/core-services/operator.service';
|
import { OperatorService, Permission } from 'app/core/core-services/operator.service';
|
||||||
import { ConfigRepositoryService } from 'app/core/repositories/config/config-repository.service';
|
import { ConfigRepositoryService } from 'app/core/repositories/config/config-repository.service';
|
||||||
import { UpdateService } from 'app/core/ui-services/update.service';
|
import { UpdateService } from 'app/core/ui-services/update.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'os-legal-notice',
|
selector: 'os-legal-notice',
|
||||||
templateUrl: './legal-notice.component.html'
|
templateUrl: './legal-notice.component.html'
|
||||||
})
|
})
|
||||||
export class LegalNoticeComponent extends BaseViewComponent implements OnInit {
|
export class LegalNoticeComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Whether this component is in editing-mode.
|
* Whether this component is in editing-mode.
|
||||||
*/
|
*/
|
||||||
|
@ -6,14 +6,14 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { OperatorService, Permission } from 'app/core/core-services/operator.service';
|
import { OperatorService, Permission } from 'app/core/core-services/operator.service';
|
||||||
import { ConfigRepositoryService } from 'app/core/repositories/config/config-repository.service';
|
import { ConfigRepositoryService } from 'app/core/repositories/config/config-repository.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'os-privacy-policy',
|
selector: 'os-privacy-policy',
|
||||||
templateUrl: './privacy-policy.component.html',
|
templateUrl: './privacy-policy.component.html',
|
||||||
styleUrls: ['./privacy-policy.component.scss']
|
styleUrls: ['./privacy-policy.component.scss']
|
||||||
})
|
})
|
||||||
export class PrivacyPolicyComponent extends BaseViewComponent implements OnInit {
|
export class PrivacyPolicyComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Whether the component is in editing-mode.
|
* Whether the component is in editing-mode.
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@ import { TranslateService } from '@ngx-translate/core'; // showcase
|
|||||||
import { OperatorService, Permission } from 'app/core/core-services/operator.service';
|
import { OperatorService, Permission } from 'app/core/core-services/operator.service';
|
||||||
import { ConfigRepositoryService } from 'app/core/repositories/config/config-repository.service';
|
import { ConfigRepositoryService } from 'app/core/repositories/config/config-repository.service';
|
||||||
import { ConfigService } from 'app/core/ui-services/config.service';
|
import { ConfigService } from 'app/core/ui-services/config.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface describes the keys for the fields at start-component.
|
* Interface describes the keys for the fields at start-component.
|
||||||
@ -26,7 +26,7 @@ interface IStartContent {
|
|||||||
templateUrl: './start.component.html',
|
templateUrl: './start.component.html',
|
||||||
styleUrls: ['./start.component.scss']
|
styleUrls: ['./start.component.scss']
|
||||||
})
|
})
|
||||||
export class StartComponent extends BaseViewComponent implements OnInit {
|
export class StartComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Whether the user is editing the content.
|
* Whether the user is editing the content.
|
||||||
*/
|
*/
|
||||||
|
@ -12,7 +12,7 @@ import {
|
|||||||
} from 'app/core/repositories/agenda/list-of-speakers-repository.service';
|
} from 'app/core/repositories/agenda/list-of-speakers-repository.service';
|
||||||
import { DurationService } from 'app/core/ui-services/duration.service';
|
import { DurationService } from 'app/core/ui-services/duration.service';
|
||||||
import { ViewSpeaker } from 'app/site/agenda/models/view-speaker';
|
import { ViewSpeaker } from 'app/site/agenda/models/view-speaker';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'os-user-statistics',
|
selector: 'os-user-statistics',
|
||||||
@ -21,7 +21,7 @@ import { BaseViewComponent } from 'app/site/base/base-view';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class UserStatisticsComponent extends BaseViewComponent {
|
export class UserStatisticsComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* Returns the total duration for a whole assembly.
|
* Returns the total duration for a whole assembly.
|
||||||
*/
|
*/
|
||||||
|
@ -20,7 +20,7 @@ import { isDetailNavigable } from 'app/shared/models/base/detail-navigable';
|
|||||||
import { History } from 'app/shared/models/core/history';
|
import { History } from 'app/shared/models/core/history';
|
||||||
import { Motion } from 'app/shared/models/motions/motion';
|
import { Motion } from 'app/shared/models/motions/motion';
|
||||||
import { langToLocale } from 'app/shared/utils/lang-to-locale';
|
import { langToLocale } from 'app/shared/utils/lang-to-locale';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { BaseViewModel } from 'app/site/base/base-view-model';
|
import { BaseViewModel } from 'app/site/base/base-view-model';
|
||||||
import { ViewUser } from 'app/site/users/models/view-user';
|
import { ViewUser } from 'app/site/users/models/view-user';
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ import { ViewUser } from 'app/site/users/models/view-user';
|
|||||||
templateUrl: './history-list.component.html',
|
templateUrl: './history-list.component.html',
|
||||||
styleUrls: ['./history-list.component.scss']
|
styleUrls: ['./history-list.component.scss']
|
||||||
})
|
})
|
||||||
export class HistoryListComponent extends BaseViewComponent implements OnInit {
|
export class HistoryListComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Subject determine when the custom timestamp subject changes
|
* Subject determine when the custom timestamp subject changes
|
||||||
*/
|
*/
|
||||||
|
@ -14,7 +14,7 @@ import { LoginDataService } from 'app/core/ui-services/login-data.service';
|
|||||||
import { OverlayService } from 'app/core/ui-services/overlay.service';
|
import { OverlayService } from 'app/core/ui-services/overlay.service';
|
||||||
import { UserAuthType } from 'app/shared/models/users/user';
|
import { UserAuthType } from 'app/shared/models/users/user';
|
||||||
import { ParentErrorStateMatcher } from 'app/shared/parent-error-state-matcher';
|
import { ParentErrorStateMatcher } from 'app/shared/parent-error-state-matcher';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { BrowserSupportService } from '../../services/browser-support.service';
|
import { BrowserSupportService } from '../../services/browser-support.service';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -27,7 +27,7 @@ import { BrowserSupportService } from '../../services/browser-support.service';
|
|||||||
templateUrl: './login-mask.component.html',
|
templateUrl: './login-mask.component.html',
|
||||||
styleUrls: ['./login-mask.component.scss']
|
styleUrls: ['./login-mask.component.scss']
|
||||||
})
|
})
|
||||||
export class LoginMaskComponent extends BaseViewComponent implements OnInit, OnDestroy {
|
export class LoginMaskComponent extends BaseViewComponentDirective implements OnInit, OnDestroy {
|
||||||
/**
|
/**
|
||||||
* Show or hide password and change the indicator accordingly
|
* Show or hide password and change the indicator accordingly
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
import { environment } from 'environments/environment';
|
import { environment } from 'environments/environment';
|
||||||
|
|
||||||
import { HttpService } from 'app/core/core-services/http.service';
|
import { HttpService } from 'app/core/core-services/http.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reset password component.
|
* Reset password component.
|
||||||
@ -19,7 +19,7 @@ import { BaseViewComponent } from 'app/site/base/base-view';
|
|||||||
templateUrl: './reset-password.component.html',
|
templateUrl: './reset-password.component.html',
|
||||||
styleUrls: ['../../assets/reset-password-pages.scss']
|
styleUrls: ['../../assets/reset-password-pages.scss']
|
||||||
})
|
})
|
||||||
export class ResetPasswordComponent extends BaseViewComponent implements OnInit {
|
export class ResetPasswordComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* THis form holds one control for the email.
|
* THis form holds one control for the email.
|
||||||
*/
|
*/
|
||||||
|
@ -2,8 +2,6 @@ import { CommonModule } from '@angular/common';
|
|||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
|
|
||||||
import { DeviceDetectorModule } from 'ngx-device-detector';
|
|
||||||
|
|
||||||
import { LoginLegalNoticeComponent } from './components/login-legal-notice/login-legal-notice.component';
|
import { LoginLegalNoticeComponent } from './components/login-legal-notice/login-legal-notice.component';
|
||||||
import { LoginMaskComponent } from './components/login-mask/login-mask.component';
|
import { LoginMaskComponent } from './components/login-mask/login-mask.component';
|
||||||
import { LoginPrivacyPolicyComponent } from './components/login-privacy-policy/login-privacy-policy.component';
|
import { LoginPrivacyPolicyComponent } from './components/login-privacy-policy/login-privacy-policy.component';
|
||||||
@ -14,7 +12,7 @@ import { SharedModule } from '../../shared/shared.module';
|
|||||||
import { UnsupportedBrowserComponent } from './components/unsupported-browser/unsupported-browser.component';
|
import { UnsupportedBrowserComponent } from './components/unsupported-browser/unsupported-browser.component';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [CommonModule, RouterModule, SharedModule, DeviceDetectorModule],
|
imports: [CommonModule, RouterModule, SharedModule],
|
||||||
declarations: [
|
declarations: [
|
||||||
LoginWrapperComponent,
|
LoginWrapperComponent,
|
||||||
ResetPasswordComponent,
|
ResetPasswordComponent,
|
||||||
|
@ -7,7 +7,7 @@ import { ActivatedRoute } from '@angular/router';
|
|||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { MediafileRepositoryService } from 'app/core/repositories/mediafiles/mediafile-repository.service';
|
import { MediafileRepositoryService } from 'app/core/repositories/mediafiles/mediafile-repository.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle file uploads from user
|
* Handle file uploads from user
|
||||||
@ -17,7 +17,7 @@ import { BaseViewComponent } from 'app/site/base/base-view';
|
|||||||
templateUrl: './media-upload.component.html',
|
templateUrl: './media-upload.component.html',
|
||||||
styleUrls: ['./media-upload.component.scss']
|
styleUrls: ['./media-upload.component.scss']
|
||||||
})
|
})
|
||||||
export class MediaUploadComponent extends BaseViewComponent implements OnInit {
|
export class MediaUploadComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Determine if uploading should happen parallel or synchronously.
|
* Determine if uploading should happen parallel or synchronously.
|
||||||
* Synchronous uploading might be necessary if we see that stuff breaks
|
* Synchronous uploading might be necessary if we see that stuff breaks
|
||||||
|
@ -26,7 +26,8 @@ export interface MediafileTitleInformation {
|
|||||||
title: string;
|
title: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ViewMediafile extends BaseViewModelWithListOfSpeakers<Mediafile>
|
export class ViewMediafile
|
||||||
|
extends BaseViewModelWithListOfSpeakers<Mediafile>
|
||||||
implements MediafileTitleInformation, Searchable {
|
implements MediafileTitleInformation, Searchable {
|
||||||
public static COLLECTIONSTRING = Mediafile.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = Mediafile.COLLECTIONSTRING;
|
||||||
protected _collectionString = Mediafile.COLLECTIONSTRING;
|
protected _collectionString = Mediafile.COLLECTIONSTRING;
|
||||||
|
@ -14,7 +14,8 @@ export interface MotionBlockTitleInformation extends TitleInformationWithAgendaI
|
|||||||
* ViewModel for motion blocks.
|
* ViewModel for motion blocks.
|
||||||
* @ignore
|
* @ignore
|
||||||
*/
|
*/
|
||||||
export class ViewMotionBlock extends BaseViewModelWithAgendaItemAndListOfSpeakers
|
export class ViewMotionBlock
|
||||||
|
extends BaseViewModelWithAgendaItemAndListOfSpeakers
|
||||||
implements MotionBlockTitleInformation, Searchable {
|
implements MotionBlockTitleInformation, Searchable {
|
||||||
public static COLLECTIONSTRING = MotionBlock.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = MotionBlock.COLLECTIONSTRING;
|
||||||
protected _collectionString = MotionBlock.COLLECTIONSTRING;
|
protected _collectionString = MotionBlock.COLLECTIONSTRING;
|
||||||
|
@ -12,7 +12,8 @@ export type MotionChangeRecommendationTitleInformation = object;
|
|||||||
* Provides "safe" access to variables and functions in {@link MotionChangeRecommendation}
|
* Provides "safe" access to variables and functions in {@link MotionChangeRecommendation}
|
||||||
* @ignore
|
* @ignore
|
||||||
*/
|
*/
|
||||||
export class ViewMotionChangeRecommendation extends BaseViewModel<MotionChangeRecommendation>
|
export class ViewMotionChangeRecommendation
|
||||||
|
extends BaseViewModel<MotionChangeRecommendation>
|
||||||
implements MotionChangeRecommendationTitleInformation, ViewUnifiedChange {
|
implements MotionChangeRecommendationTitleInformation, ViewUnifiedChange {
|
||||||
public static COLLECTIONSTRING = MotionChangeRecommendation.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = MotionChangeRecommendation.COLLECTIONSTRING;
|
||||||
protected _collectionString = MotionChangeRecommendation.COLLECTIONSTRING;
|
protected _collectionString = MotionChangeRecommendation.COLLECTIONSTRING;
|
||||||
|
@ -13,7 +13,8 @@ export interface MotionCommentSectionTitleInformation {
|
|||||||
* Provides "safe" access to variables and functions in {@link MotionCommentSection}
|
* Provides "safe" access to variables and functions in {@link MotionCommentSection}
|
||||||
* @ignore
|
* @ignore
|
||||||
*/
|
*/
|
||||||
export class ViewMotionCommentSection extends BaseViewModel<MotionCommentSection>
|
export class ViewMotionCommentSection
|
||||||
|
extends BaseViewModel<MotionCommentSection>
|
||||||
implements MotionCommentSectionTitleInformation {
|
implements MotionCommentSectionTitleInformation {
|
||||||
public static COLLECTIONSTRING = MotionCommentSection.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = MotionCommentSection.COLLECTIONSTRING;
|
||||||
protected _collectionString = MotionCommentSection.COLLECTIONSTRING;
|
protected _collectionString = MotionCommentSection.COLLECTIONSTRING;
|
||||||
|
@ -23,7 +23,8 @@ export const MotionPollPercentBaseVerbose = {
|
|||||||
disabled: 'Disabled (no percents)'
|
disabled: 'Disabled (no percents)'
|
||||||
};
|
};
|
||||||
|
|
||||||
export class ViewMotionPoll extends ViewBasePoll<MotionPoll, MotionPollMethod, PercentBase>
|
export class ViewMotionPoll
|
||||||
|
extends ViewBasePoll<MotionPoll, MotionPollMethod, PercentBase>
|
||||||
implements MotionPollTitleInformation {
|
implements MotionPollTitleInformation {
|
||||||
public static COLLECTIONSTRING = MotionPoll.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = MotionPoll.COLLECTIONSTRING;
|
||||||
protected _collectionString = MotionPoll.COLLECTIONSTRING;
|
protected _collectionString = MotionPoll.COLLECTIONSTRING;
|
||||||
|
@ -35,7 +35,8 @@ export interface MotionTitleInformation extends TitleInformationWithAgendaItem {
|
|||||||
* Provides "safe" access to variables and functions in {@link Motion}
|
* Provides "safe" access to variables and functions in {@link Motion}
|
||||||
* @ignore
|
* @ignore
|
||||||
*/
|
*/
|
||||||
export class ViewMotion extends BaseViewModelWithAgendaItemAndListOfSpeakers<Motion>
|
export class ViewMotion
|
||||||
|
extends BaseViewModelWithAgendaItemAndListOfSpeakers<Motion>
|
||||||
implements MotionTitleInformation, Searchable {
|
implements MotionTitleInformation, Searchable {
|
||||||
public get motion(): Motion {
|
public get motion(): Motion {
|
||||||
return this._model;
|
return this._model;
|
||||||
|
@ -14,7 +14,8 @@ export interface StatuteParagraphTitleInformation {
|
|||||||
* Provides "safe" access to variables and functions in {@link StatuteParagraph}
|
* Provides "safe" access to variables and functions in {@link StatuteParagraph}
|
||||||
* @ignore
|
* @ignore
|
||||||
*/
|
*/
|
||||||
export class ViewStatuteParagraph extends BaseViewModel<StatuteParagraph>
|
export class ViewStatuteParagraph
|
||||||
|
extends BaseViewModel<StatuteParagraph>
|
||||||
implements StatuteParagraphTitleInformation, Searchable {
|
implements StatuteParagraphTitleInformation, Searchable {
|
||||||
public static COLLECTIONSTRING = StatuteParagraph.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = StatuteParagraph.COLLECTIONSTRING;
|
||||||
protected _collectionString = StatuteParagraph.COLLECTIONSTRING;
|
protected _collectionString = StatuteParagraph.COLLECTIONSTRING;
|
||||||
|
@ -9,7 +9,7 @@ import { CategoryRepositoryService } from 'app/core/repositories/motions/categor
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { SortingTreeComponent } from 'app/shared/components/sorting-tree/sorting-tree.component';
|
import { SortingTreeComponent } from 'app/shared/components/sorting-tree/sorting-tree.component';
|
||||||
import { CanComponentDeactivate } from 'app/shared/utils/watch-for-changes.guard';
|
import { CanComponentDeactivate } from 'app/shared/utils/watch-for-changes.guard';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewCategory } from 'app/site/motions/models/view-category';
|
import { ViewCategory } from 'app/site/motions/models/view-category';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -20,7 +20,7 @@ import { ViewCategory } from 'app/site/motions/models/view-category';
|
|||||||
templateUrl: './categories-sort.component.html',
|
templateUrl: './categories-sort.component.html',
|
||||||
styleUrls: ['./categories-sort.component.scss']
|
styleUrls: ['./categories-sort.component.scss']
|
||||||
})
|
})
|
||||||
export class CategoriesSortComponent extends BaseViewComponent implements CanComponentDeactivate {
|
export class CategoriesSortComponent extends BaseViewComponentDirective implements CanComponentDeactivate {
|
||||||
/**
|
/**
|
||||||
* Reference to the sorting tree.
|
* Reference to the sorting tree.
|
||||||
*/
|
*/
|
||||||
|
@ -13,7 +13,7 @@ import { CategoryRepositoryService } from 'app/core/repositories/motions/categor
|
|||||||
import { MotionRepositoryService } from 'app/core/repositories/motions/motion-repository.service';
|
import { MotionRepositoryService } from 'app/core/repositories/motions/motion-repository.service';
|
||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewCategory } from 'app/site/motions/models/view-category';
|
import { ViewCategory } from 'app/site/motions/models/view-category';
|
||||||
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ import { ViewMotion } from 'app/site/motions/models/view-motion';
|
|||||||
templateUrl: './category-detail.component.html',
|
templateUrl: './category-detail.component.html',
|
||||||
styleUrls: ['./category-detail.component.scss']
|
styleUrls: ['./category-detail.component.scss']
|
||||||
})
|
})
|
||||||
export class CategoryDetailComponent extends BaseViewComponent implements OnInit {
|
export class CategoryDetailComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The one selected category
|
* The one selected category
|
||||||
*/
|
*/
|
||||||
|
@ -12,7 +12,7 @@ import { ChoiceService } from 'app/core/ui-services/choice.service';
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { SortingListComponent } from 'app/shared/components/sorting-list/sorting-list.component';
|
import { SortingListComponent } from 'app/shared/components/sorting-list/sorting-list.component';
|
||||||
import { CanComponentDeactivate } from 'app/shared/utils/watch-for-changes.guard';
|
import { CanComponentDeactivate } from 'app/shared/utils/watch-for-changes.guard';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewCategory } from 'app/site/motions/models/view-category';
|
import { ViewCategory } from 'app/site/motions/models/view-category';
|
||||||
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ import { ViewMotion } from 'app/site/motions/models/view-motion';
|
|||||||
templateUrl: './category-motions-sort.component.html',
|
templateUrl: './category-motions-sort.component.html',
|
||||||
styleUrls: ['./category-motions-sort.component.scss']
|
styleUrls: ['./category-motions-sort.component.scss']
|
||||||
})
|
})
|
||||||
export class CategoryMotionsSortComponent extends BaseViewComponent implements OnInit, CanComponentDeactivate {
|
export class CategoryMotionsSortComponent extends BaseViewComponentDirective implements OnInit, CanComponentDeactivate {
|
||||||
/**
|
/**
|
||||||
* The current category. Determined by the route
|
* The current category. Determined by the route
|
||||||
*/
|
*/
|
||||||
|
@ -12,7 +12,7 @@ import { GroupRepositoryService } from 'app/core/repositories/users/group-reposi
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { MotionCommentSection } from 'app/shared/models/motions/motion-comment-section';
|
import { MotionCommentSection } from 'app/shared/models/motions/motion-comment-section';
|
||||||
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMotionCommentSection } from 'app/site/motions/models/view-motion-comment-section';
|
import { ViewMotionCommentSection } from 'app/site/motions/models/view-motion-comment-section';
|
||||||
import { ViewGroup } from 'app/site/users/models/view-group';
|
import { ViewGroup } from 'app/site/users/models/view-group';
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ import { ViewGroup } from 'app/site/users/models/view-group';
|
|||||||
templateUrl: './motion-comment-section-list.component.html',
|
templateUrl: './motion-comment-section-list.component.html',
|
||||||
styleUrls: ['./motion-comment-section-list.component.scss']
|
styleUrls: ['./motion-comment-section-list.component.scss']
|
||||||
})
|
})
|
||||||
export class MotionCommentSectionListComponent extends BaseViewComponent implements OnInit {
|
export class MotionCommentSectionListComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
@ViewChild('motionCommentDialog', { static: true })
|
@ViewChild('motionCommentDialog', { static: true })
|
||||||
private motionCommentDialog: TemplateRef<string>;
|
private motionCommentDialog: TemplateRef<string>;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import { Title } from '@angular/platform-browser';
|
|||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { MotionCommentSectionRepositoryService } from 'app/core/repositories/motions/motion-comment-section-repository.service';
|
import { MotionCommentSectionRepositoryService } from 'app/core/repositories/motions/motion-comment-section-repository.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMotionCommentSection } from 'app/site/motions/models/view-motion-comment-section';
|
import { ViewMotionCommentSection } from 'app/site/motions/models/view-motion-comment-section';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,7 +16,7 @@ import { ViewMotionCommentSection } from 'app/site/motions/models/view-motion-co
|
|||||||
templateUrl: './motion-comment-section-sort.component.html',
|
templateUrl: './motion-comment-section-sort.component.html',
|
||||||
styleUrls: ['./motion-comment-section-sort.component.scss']
|
styleUrls: ['./motion-comment-section-sort.component.scss']
|
||||||
})
|
})
|
||||||
export class MotionCommentSectionSortComponent extends BaseViewComponent implements OnInit {
|
export class MotionCommentSectionSortComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Holds the models
|
* Holds the models
|
||||||
*/
|
*/
|
||||||
|
@ -9,7 +9,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
import { MotionRepositoryService, ParagraphToChoose } from 'app/core/repositories/motions/motion-repository.service';
|
import { MotionRepositoryService, ParagraphToChoose } from 'app/core/repositories/motions/motion-repository.service';
|
||||||
import { ConfigService } from 'app/core/ui-services/config.service';
|
import { ConfigService } from 'app/core/ui-services/config.service';
|
||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { CreateMotion } from 'app/site/motions/models/create-motion';
|
import { CreateMotion } from 'app/site/motions/models/create-motion';
|
||||||
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ import { ViewMotion } from 'app/site/motions/models/view-motion';
|
|||||||
styleUrls: ['./amendment-create-wizard.component.scss'],
|
styleUrls: ['./amendment-create-wizard.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class AmendmentCreateWizardComponent extends BaseViewComponent implements OnInit {
|
export class AmendmentCreateWizardComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The motion to be amended
|
* The motion to be amended
|
||||||
*/
|
*/
|
||||||
|
@ -10,7 +10,7 @@ import { ViewModelStoreService } from 'app/core/core-services/view-model-store.s
|
|||||||
import { MotionRepositoryService } from 'app/core/repositories/motions/motion-repository.service';
|
import { MotionRepositoryService } from 'app/core/repositories/motions/motion-repository.service';
|
||||||
import { UserRepositoryService } from 'app/core/repositories/users/user-repository.service';
|
import { UserRepositoryService } from 'app/core/repositories/users/user-repository.service';
|
||||||
import { Selectable } from 'app/shared/components/selectable';
|
import { Selectable } from 'app/shared/components/selectable';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
||||||
import { LocalPermissionsService } from 'app/site/motions/services/local-permissions.service';
|
import { LocalPermissionsService } from 'app/site/motions/services/local-permissions.service';
|
||||||
import { ViewUser } from 'app/site/users/models/view-user';
|
import { ViewUser } from 'app/site/users/models/view-user';
|
||||||
@ -23,7 +23,7 @@ import { ViewUser } from 'app/site/users/models/view-user';
|
|||||||
templateUrl: './manage-submitters.component.html',
|
templateUrl: './manage-submitters.component.html',
|
||||||
styleUrls: ['./manage-submitters.component.scss']
|
styleUrls: ['./manage-submitters.component.scss']
|
||||||
})
|
})
|
||||||
export class ManageSubmittersComponent extends BaseViewComponent {
|
export class ManageSubmittersComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* The motion, which the personal note belong to.
|
* The motion, which the personal note belong to.
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { ChangeRecommendationRepositoryService } from 'app/core/repositories/motions/change-recommendation-repository.service';
|
import { ChangeRecommendationRepositoryService } from 'app/core/repositories/motions/change-recommendation-repository.service';
|
||||||
import { LineRange, ModificationType } from 'app/core/ui-services/diff.service';
|
import { LineRange, ModificationType } from 'app/core/ui-services/diff.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMotionChangeRecommendation } from 'app/site/motions/models/view-motion-change-recommendation';
|
import { ViewMotionChangeRecommendation } from 'app/site/motions/models/view-motion-change-recommendation';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -45,7 +45,7 @@ export interface MotionChangeRecommendationDialogComponentData {
|
|||||||
templateUrl: './motion-change-recommendation-dialog.component.html',
|
templateUrl: './motion-change-recommendation-dialog.component.html',
|
||||||
styleUrls: ['./motion-change-recommendation-dialog.component.scss']
|
styleUrls: ['./motion-change-recommendation-dialog.component.scss']
|
||||||
})
|
})
|
||||||
export class MotionChangeRecommendationDialogComponent extends BaseViewComponent {
|
export class MotionChangeRecommendationDialogComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* Determine if the change recommendation is edited
|
* Determine if the change recommendation is edited
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
import { OperatorService } from 'app/core/core-services/operator.service';
|
import { OperatorService } from 'app/core/core-services/operator.service';
|
||||||
import { MotionCommentSectionRepositoryService } from 'app/core/repositories/motions/motion-comment-section-repository.service';
|
import { MotionCommentSectionRepositoryService } from 'app/core/repositories/motions/motion-comment-section-repository.service';
|
||||||
import { MotionComment } from 'app/shared/models/motions/motion';
|
import { MotionComment } from 'app/shared/models/motions/motion';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
||||||
import { ViewMotionCommentSection } from 'app/site/motions/models/view-motion-comment-section';
|
import { ViewMotionCommentSection } from 'app/site/motions/models/view-motion-comment-section';
|
||||||
import { MotionPdfExportService } from 'app/site/motions/services/motion-pdf-export.service';
|
import { MotionPdfExportService } from 'app/site/motions/services/motion-pdf-export.service';
|
||||||
@ -21,7 +21,7 @@ import { MotionPdfExportService } from 'app/site/motions/services/motion-pdf-exp
|
|||||||
templateUrl: './motion-comments.component.html',
|
templateUrl: './motion-comments.component.html',
|
||||||
styleUrls: ['./motion-comments.component.scss']
|
styleUrls: ['./motion-comments.component.scss']
|
||||||
})
|
})
|
||||||
export class MotionCommentsComponent extends BaseViewComponent implements OnInit {
|
export class MotionCommentsComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* An array of all sections the operator can see.
|
* An array of all sections the operator can see.
|
||||||
*/
|
*/
|
||||||
|
@ -14,7 +14,7 @@ import { PromptService } from 'app/core/ui-services/prompt.service';
|
|||||||
import { ViewUnifiedChange, ViewUnifiedChangeType } from 'app/shared/models/motions/view-unified-change';
|
import { ViewUnifiedChange, ViewUnifiedChangeType } from 'app/shared/models/motions/view-unified-change';
|
||||||
import { mediumDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { mediumDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { getRecommendationTypeName } from 'app/shared/utils/recommendation-type-names';
|
import { getRecommendationTypeName } from 'app/shared/utils/recommendation-type-names';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
||||||
import { ViewMotionChangeRecommendation } from 'app/site/motions/models/view-motion-change-recommendation';
|
import { ViewMotionChangeRecommendation } from 'app/site/motions/models/view-motion-change-recommendation';
|
||||||
import { LineNumberingMode } from 'app/site/motions/motions.constants';
|
import { LineNumberingMode } from 'app/site/motions/motions.constants';
|
||||||
@ -57,7 +57,7 @@ import { ViewMotionAmendedParagraph } from '../../../../models/view-motion-amend
|
|||||||
styleUrls: ['./motion-detail-diff.component.scss'],
|
styleUrls: ['./motion-detail-diff.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class MotionDetailDiffComponent extends BaseViewComponent implements AfterViewInit {
|
export class MotionDetailDiffComponent extends BaseViewComponentDirective implements AfterViewInit {
|
||||||
/**
|
/**
|
||||||
* Get the {@link getRecommendationTypeName}-Function from Utils
|
* Get the {@link getRecommendationTypeName}-Function from Utils
|
||||||
*/
|
*/
|
||||||
|
@ -40,7 +40,7 @@ import { Mediafile } from 'app/shared/models/mediafiles/mediafile';
|
|||||||
import { Motion } from 'app/shared/models/motions/motion';
|
import { Motion } from 'app/shared/models/motions/motion';
|
||||||
import { ViewUnifiedChange } from 'app/shared/models/motions/view-unified-change';
|
import { ViewUnifiedChange } from 'app/shared/models/motions/view-unified-change';
|
||||||
import { infoDialogSettings, mediumDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { infoDialogSettings, mediumDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { CreateMotion } from 'app/site/motions/models/create-motion';
|
import { CreateMotion } from 'app/site/motions/models/create-motion';
|
||||||
import { ViewCategory } from 'app/site/motions/models/view-category';
|
import { ViewCategory } from 'app/site/motions/models/view-category';
|
||||||
import { ViewCreateMotion } from 'app/site/motions/models/view-create-motion';
|
import { ViewCreateMotion } from 'app/site/motions/models/view-create-motion';
|
||||||
@ -87,7 +87,7 @@ import {
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class MotionDetailComponent extends BaseViewComponent implements OnInit, OnDestroy {
|
export class MotionDetailComponent extends BaseViewComponentDirective implements OnInit, OnDestroy {
|
||||||
/**
|
/**
|
||||||
* Motion content. Can be a new version
|
* Motion content. Can be a new version
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { ChangeRecommendationRepositoryService } from 'app/core/repositories/motions/change-recommendation-repository.service';
|
import { ChangeRecommendationRepositoryService } from 'app/core/repositories/motions/change-recommendation-repository.service';
|
||||||
import { ModificationType } from 'app/core/ui-services/diff.service';
|
import { ModificationType } from 'app/core/ui-services/diff.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMotionChangeRecommendation } from 'app/site/motions/models/view-motion-change-recommendation';
|
import { ViewMotionChangeRecommendation } from 'app/site/motions/models/view-motion-change-recommendation';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,7 +43,7 @@ export interface MotionTitleChangeRecommendationDialogComponentData {
|
|||||||
styleUrls: ['./motion-title-change-recommendation-dialog.component.scss'],
|
styleUrls: ['./motion-title-change-recommendation-dialog.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class MotionTitleChangeRecommendationDialogComponent extends BaseViewComponent {
|
export class MotionTitleChangeRecommendationDialogComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* Determine if the change recommendation is edited
|
* Determine if the change recommendation is edited
|
||||||
*/
|
*/
|
||||||
|
@ -7,7 +7,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { PersonalNoteService } from 'app/core/ui-services/personal-note.service';
|
import { PersonalNoteService } from 'app/core/ui-services/personal-note.service';
|
||||||
import { PersonalNoteContent } from 'app/shared/models/users/personal-note';
|
import { PersonalNoteContent } from 'app/shared/models/users/personal-note';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
||||||
import { MotionPdfExportService } from 'app/site/motions/services/motion-pdf-export.service';
|
import { MotionPdfExportService } from 'app/site/motions/services/motion-pdf-export.service';
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ import { MotionPdfExportService } from 'app/site/motions/services/motion-pdf-exp
|
|||||||
templateUrl: './personal-note.component.html',
|
templateUrl: './personal-note.component.html',
|
||||||
styleUrls: ['./personal-note.component.scss']
|
styleUrls: ['./personal-note.component.scss']
|
||||||
})
|
})
|
||||||
export class PersonalNoteComponent extends BaseViewComponent {
|
export class PersonalNoteComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* The motion, which the personal note belong to.
|
* The motion, which the personal note belong to.
|
||||||
*/
|
*/
|
||||||
|
@ -16,7 +16,7 @@ import { ViewMotion } from 'app/site/motions/models/view-motion';
|
|||||||
import { ViewMotionPoll } from 'app/site/motions/models/view-motion-poll';
|
import { ViewMotionPoll } from 'app/site/motions/models/view-motion-poll';
|
||||||
import { MotionPollDialogService } from 'app/site/motions/services/motion-poll-dialog.service';
|
import { MotionPollDialogService } from 'app/site/motions/services/motion-poll-dialog.service';
|
||||||
import { MotionPollService } from 'app/site/motions/services/motion-poll.service';
|
import { MotionPollService } from 'app/site/motions/services/motion-poll.service';
|
||||||
import { BasePollDetailComponent } from 'app/site/polls/components/base-poll-detail.component';
|
import { BasePollDetailComponentDirective } from 'app/site/polls/components/base-poll-detail.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'os-motion-poll-detail',
|
selector: 'os-motion-poll-detail',
|
||||||
@ -25,7 +25,7 @@ import { BasePollDetailComponent } from 'app/site/polls/components/base-poll-det
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class MotionPollDetailComponent extends BasePollDetailComponent<ViewMotionPoll, MotionPollService> {
|
export class MotionPollDetailComponent extends BasePollDetailComponentDirective<ViewMotionPoll, MotionPollService> {
|
||||||
public motion: ViewMotion;
|
public motion: ViewMotion;
|
||||||
public columnDefinition: PblColumnDefinition[] = [
|
public columnDefinition: PblColumnDefinition[] = [
|
||||||
{
|
{
|
||||||
|
@ -18,7 +18,8 @@ import { PercentBaseVerbose } from 'app/site/polls/models/view-base-poll';
|
|||||||
templateUrl: './motion-poll-dialog.component.html',
|
templateUrl: './motion-poll-dialog.component.html',
|
||||||
styleUrls: ['./motion-poll-dialog.component.scss']
|
styleUrls: ['./motion-poll-dialog.component.scss']
|
||||||
})
|
})
|
||||||
export class MotionPollDialogComponent extends BasePollDialogComponent<ViewMotionPoll, MotionPollService>
|
export class MotionPollDialogComponent
|
||||||
|
extends BasePollDialogComponent<ViewMotionPoll, MotionPollService>
|
||||||
implements OnInit {
|
implements OnInit {
|
||||||
public PercentBaseVerbose = PercentBaseVerbose;
|
public PercentBaseVerbose = PercentBaseVerbose;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import { PromptService } from 'app/core/ui-services/prompt.service';
|
|||||||
import { VotingService } from 'app/core/ui-services/voting.service';
|
import { VotingService } from 'app/core/ui-services/voting.service';
|
||||||
import { VoteValue } from 'app/shared/models/poll/base-vote';
|
import { VoteValue } from 'app/shared/models/poll/base-vote';
|
||||||
import { ViewMotionPoll } from 'app/site/motions/models/view-motion-poll';
|
import { ViewMotionPoll } from 'app/site/motions/models/view-motion-poll';
|
||||||
import { BasePollVoteComponent } from 'app/site/polls/components/base-poll-vote.component';
|
import { BasePollVoteComponentDirective } from 'app/site/polls/components/base-poll-vote.component';
|
||||||
|
|
||||||
interface VoteOption {
|
interface VoteOption {
|
||||||
vote?: VoteValue;
|
vote?: VoteValue;
|
||||||
@ -25,7 +25,7 @@ interface VoteOption {
|
|||||||
styleUrls: ['./motion-poll-vote.component.scss'],
|
styleUrls: ['./motion-poll-vote.component.scss'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class MotionPollVoteComponent extends BasePollVoteComponent<ViewMotionPoll> {
|
export class MotionPollVoteComponent extends BasePollVoteComponentDirective<ViewMotionPoll> {
|
||||||
public currentVote: VoteOption = {};
|
public currentVote: VoteOption = {};
|
||||||
public voteOptions: VoteOption[] = [
|
public voteOptions: VoteOption[] = [
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,7 @@ import { WorkflowRepositoryService } from 'app/core/repositories/motions/workflo
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { MergeAmendment, Restriction, State } from 'app/shared/models/motions/state';
|
import { MergeAmendment, Restriction, State } from 'app/shared/models/motions/state';
|
||||||
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewState } from 'app/site/motions/models/view-state';
|
import { ViewState } from 'app/site/motions/models/view-state';
|
||||||
import { ViewWorkflow } from 'app/site/motions/models/view-workflow';
|
import { ViewWorkflow } from 'app/site/motions/models/view-workflow';
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ interface RestrictionShape {
|
|||||||
styleUrls: ['./workflow-detail.component.scss'],
|
styleUrls: ['./workflow-detail.component.scss'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class WorkflowDetailComponent extends BaseViewComponent implements OnInit {
|
export class WorkflowDetailComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Reference to the workflow dialog
|
* Reference to the workflow dialog
|
||||||
*/
|
*/
|
||||||
|
@ -10,7 +10,7 @@ import { MotionBlockRepositoryService } from 'app/core/repositories/motions/moti
|
|||||||
import { TagRepositoryService } from 'app/core/repositories/tags/tag-repository.service';
|
import { TagRepositoryService } from 'app/core/repositories/tags/tag-repository.service';
|
||||||
import { ConfigService } from 'app/core/ui-services/config.service';
|
import { ConfigService } from 'app/core/ui-services/config.service';
|
||||||
import { largeDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { largeDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewCategory } from 'app/site/motions/models/view-category';
|
import { ViewCategory } from 'app/site/motions/models/view-category';
|
||||||
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
import { ViewMotion } from 'app/site/motions/models/view-motion';
|
||||||
import { ViewMotionBlock } from 'app/site/motions/models/view-motion-block';
|
import { ViewMotionBlock } from 'app/site/motions/models/view-motion-block';
|
||||||
@ -24,7 +24,7 @@ import { MotionExportDialogComponent } from '../motion-export-dialog/motion-expo
|
|||||||
templateUrl: './motion-multiselect-actions.component.html',
|
templateUrl: './motion-multiselect-actions.component.html',
|
||||||
styleUrls: ['./motion-multiselect-actions.component.scss']
|
styleUrls: ['./motion-multiselect-actions.component.scss']
|
||||||
})
|
})
|
||||||
export class MotionMultiselectActionsComponent extends BaseViewComponent implements OnInit {
|
export class MotionMultiselectActionsComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The list of the selected motions.
|
* The list of the selected motions.
|
||||||
*/
|
*/
|
||||||
|
@ -10,7 +10,7 @@ import { StatuteParagraphRepositoryService } from 'app/core/repositories/motions
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { StatuteParagraph } from 'app/shared/models/motions/statute-paragraph';
|
import { StatuteParagraph } from 'app/shared/models/motions/statute-paragraph';
|
||||||
import { largeDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { largeDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewStatuteParagraph } from 'app/site/motions/models/view-statute-paragraph';
|
import { ViewStatuteParagraph } from 'app/site/motions/models/view-statute-paragraph';
|
||||||
import { StatuteCsvExportService } from 'app/site/motions/services/statute-csv-export.service';
|
import { StatuteCsvExportService } from 'app/site/motions/services/statute-csv-export.service';
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ import { StatuteCsvExportService } from 'app/site/motions/services/statute-csv-e
|
|||||||
templateUrl: './statute-paragraph-list.component.html',
|
templateUrl: './statute-paragraph-list.component.html',
|
||||||
styleUrls: ['./statute-paragraph-list.component.scss']
|
styleUrls: ['./statute-paragraph-list.component.scss']
|
||||||
})
|
})
|
||||||
export class StatuteParagraphListComponent extends BaseViewComponent implements OnInit {
|
export class StatuteParagraphListComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
@ViewChild('statuteParagraphDialog', { static: true })
|
@ViewChild('statuteParagraphDialog', { static: true })
|
||||||
private statuteParagraphDialog: TemplateRef<string>;
|
private statuteParagraphDialog: TemplateRef<string>;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { OnInit } from '@angular/core';
|
import { Directive, OnInit } from '@angular/core';
|
||||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||||
import { Title } from '@angular/platform-browser';
|
import { Title } from '@angular/platform-browser';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
@ -15,7 +15,7 @@ import { BasePollDialogService } from 'app/core/ui-services/base-poll-dialog.ser
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { ChartData } from 'app/shared/components/charts/charts.component';
|
import { ChartData } from 'app/shared/components/charts/charts.component';
|
||||||
import { BaseVote } from 'app/shared/models/poll/base-vote';
|
import { BaseVote } from 'app/shared/models/poll/base-vote';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewGroup } from 'app/site/users/models/view-group';
|
import { ViewGroup } from 'app/site/users/models/view-group';
|
||||||
import { ViewUser } from 'app/site/users/models/view-user';
|
import { ViewUser } from 'app/site/users/models/view-user';
|
||||||
import { BasePollRepositoryService } from '../services/base-poll-repository.service';
|
import { BasePollRepositoryService } from '../services/base-poll-repository.service';
|
||||||
@ -27,7 +27,9 @@ export interface BaseVoteData {
|
|||||||
user?: ViewUser;
|
user?: ViewUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
export abstract class BasePollDetailComponent<V extends ViewBasePoll, S extends PollService> extends BaseViewComponent
|
@Directive()
|
||||||
|
export abstract class BasePollDetailComponentDirective<V extends ViewBasePoll, S extends PollService>
|
||||||
|
extends BaseViewComponentDirective
|
||||||
implements OnInit {
|
implements OnInit {
|
||||||
/**
|
/**
|
||||||
* All the groups of users.
|
* All the groups of users.
|
||||||
|
@ -7,7 +7,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { VOTE_UNDOCUMENTED } from 'app/shared/models/poll/base-poll';
|
import { VOTE_UNDOCUMENTED } from 'app/shared/models/poll/base-poll';
|
||||||
import { OneOfValidator } from 'app/shared/validators/one-of-validator';
|
import { OneOfValidator } from 'app/shared/validators/one-of-validator';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { PollFormComponent } from './poll-form/poll-form.component';
|
import { PollFormComponent } from './poll-form/poll-form.component';
|
||||||
import { PollService } from '../services/poll.service';
|
import { PollService } from '../services/poll.service';
|
||||||
import { ViewBasePoll } from '../models/view-base-poll';
|
import { ViewBasePoll } from '../models/view-base-poll';
|
||||||
@ -15,7 +15,10 @@ import { ViewBasePoll } from '../models/view-base-poll';
|
|||||||
/**
|
/**
|
||||||
* A dialog for updating the values of a poll.
|
* A dialog for updating the values of a poll.
|
||||||
*/
|
*/
|
||||||
export abstract class BasePollDialogComponent<T extends ViewBasePoll, S extends PollService> extends BaseViewComponent {
|
export abstract class BasePollDialogComponent<
|
||||||
|
T extends ViewBasePoll,
|
||||||
|
S extends PollService
|
||||||
|
> extends BaseViewComponentDirective {
|
||||||
public publishImmediately: boolean;
|
public publishImmediately: boolean;
|
||||||
|
|
||||||
protected pollForm: PollFormComponent<T, S>;
|
protected pollForm: PollFormComponent<T, S>;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Input } from '@angular/core';
|
import { Directive, Input } from '@angular/core';
|
||||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||||
import { Title } from '@angular/platform-browser';
|
import { Title } from '@angular/platform-browser';
|
||||||
|
|
||||||
@ -6,11 +6,12 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { OperatorService } from 'app/core/core-services/operator.service';
|
import { OperatorService } from 'app/core/core-services/operator.service';
|
||||||
import { VotingError } from 'app/core/ui-services/voting.service';
|
import { VotingError } from 'app/core/ui-services/voting.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewUser } from 'app/site/users/models/view-user';
|
import { ViewUser } from 'app/site/users/models/view-user';
|
||||||
import { ViewBasePoll } from '../models/view-base-poll';
|
import { ViewBasePoll } from '../models/view-base-poll';
|
||||||
|
|
||||||
export abstract class BasePollVoteComponent<V extends ViewBasePoll> extends BaseViewComponent {
|
@Directive()
|
||||||
|
export abstract class BasePollVoteComponentDirective<V extends ViewBasePoll> extends BaseViewComponentDirective {
|
||||||
@Input()
|
@Input()
|
||||||
public poll: V;
|
public poll: V;
|
||||||
|
|
||||||
|
@ -9,12 +9,15 @@ import { BasePollDialogService } from 'app/core/ui-services/base-poll-dialog.ser
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { ChartData } from 'app/shared/components/charts/charts.component';
|
import { ChartData } from 'app/shared/components/charts/charts.component';
|
||||||
import { PollState, PollType } from 'app/shared/models/poll/base-poll';
|
import { PollState, PollType } from 'app/shared/models/poll/base-poll';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { BasePollRepositoryService } from '../services/base-poll-repository.service';
|
import { BasePollRepositoryService } from '../services/base-poll-repository.service';
|
||||||
import { PollService } from '../services/poll.service';
|
import { PollService } from '../services/poll.service';
|
||||||
import { ViewBasePoll } from '../models/view-base-poll';
|
import { ViewBasePoll } from '../models/view-base-poll';
|
||||||
|
|
||||||
export abstract class BasePollComponent<V extends ViewBasePoll, S extends PollService> extends BaseViewComponent {
|
export abstract class BasePollComponent<
|
||||||
|
V extends ViewBasePoll,
|
||||||
|
S extends PollService
|
||||||
|
> extends BaseViewComponentDirective {
|
||||||
public stateChangePending = false;
|
public stateChangePending = false;
|
||||||
|
|
||||||
public chartDataSubject: BehaviorSubject<ChartData> = new BehaviorSubject([]);
|
public chartDataSubject: BehaviorSubject<ChartData> = new BehaviorSubject([]);
|
||||||
|
@ -15,7 +15,7 @@ import { PercentBase } from 'app/shared/models/poll/base-poll';
|
|||||||
import { PollType } from 'app/shared/models/poll/base-poll';
|
import { PollType } from 'app/shared/models/poll/base-poll';
|
||||||
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { ViewAssignmentPoll } from 'app/site/assignments/models/view-assignment-poll';
|
import { ViewAssignmentPoll } from 'app/site/assignments/models/view-assignment-poll';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import {
|
import {
|
||||||
MajorityMethodVerbose,
|
MajorityMethodVerbose,
|
||||||
PollClassType,
|
PollClassType,
|
||||||
@ -31,7 +31,8 @@ import { PollService } from '../../services/poll.service';
|
|||||||
templateUrl: './poll-form.component.html',
|
templateUrl: './poll-form.component.html',
|
||||||
styleUrls: ['./poll-form.component.scss']
|
styleUrls: ['./poll-form.component.scss']
|
||||||
})
|
})
|
||||||
export class PollFormComponent<T extends ViewBasePoll, S extends PollService> extends BaseViewComponent
|
export class PollFormComponent<T extends ViewBasePoll, S extends PollService>
|
||||||
|
extends BaseViewComponentDirective
|
||||||
implements OnInit {
|
implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The form-group for the meta-info.
|
* The form-group for the meta-info.
|
||||||
|
@ -6,7 +6,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
|
|
||||||
import { UserRepositoryService } from 'app/core/repositories/users/user-repository.service';
|
import { UserRepositoryService } from 'app/core/repositories/users/user-repository.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewBasePoll } from 'app/site/polls/models/view-base-poll';
|
import { ViewBasePoll } from 'app/site/polls/models/view-base-poll';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -14,7 +14,7 @@ import { ViewBasePoll } from 'app/site/polls/models/view-base-poll';
|
|||||||
templateUrl: './poll-progress.component.html',
|
templateUrl: './poll-progress.component.html',
|
||||||
styleUrls: ['./poll-progress.component.scss']
|
styleUrls: ['./poll-progress.component.scss']
|
||||||
})
|
})
|
||||||
export class PollProgressComponent extends BaseViewComponent implements OnInit {
|
export class PollProgressComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
@Input()
|
@Input()
|
||||||
public poll: ViewBasePoll;
|
public poll: ViewBasePoll;
|
||||||
public max: number;
|
public max: number;
|
||||||
|
@ -10,7 +10,7 @@ import { ConfigService } from 'app/core/ui-services/config.service';
|
|||||||
import { ProjectionDialogService } from 'app/core/ui-services/projection-dialog.service';
|
import { ProjectionDialogService } from 'app/core/ui-services/projection-dialog.service';
|
||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { Projector } from 'app/shared/models/core/projector';
|
import { Projector } from 'app/shared/models/core/projector';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewCountdown } from '../../models/view-countdown';
|
import { ViewCountdown } from '../../models/view-countdown';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -21,7 +21,7 @@ import { ViewCountdown } from '../../models/view-countdown';
|
|||||||
templateUrl: './countdown-controls.component.html',
|
templateUrl: './countdown-controls.component.html',
|
||||||
styleUrls: ['./countdown-controls.component.scss']
|
styleUrls: ['./countdown-controls.component.scss']
|
||||||
})
|
})
|
||||||
export class CountdownControlsComponent extends BaseViewComponent {
|
export class CountdownControlsComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* Countdown as input
|
* Countdown as input
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { ConfigService } from 'app/core/ui-services/config.service';
|
import { ConfigService } from 'app/core/ui-services/config.service';
|
||||||
import { DurationService } from 'app/core/ui-services/duration.service';
|
import { DurationService } from 'app/core/ui-services/duration.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Countdown data for the form
|
* Countdown data for the form
|
||||||
@ -28,7 +28,7 @@ export interface CountdownData {
|
|||||||
templateUrl: './countdown-dialog.component.html',
|
templateUrl: './countdown-dialog.component.html',
|
||||||
styleUrls: ['./countdown-dialog.component.scss']
|
styleUrls: ['./countdown-dialog.component.scss']
|
||||||
})
|
})
|
||||||
export class CountdownDialogComponent extends BaseViewComponent implements OnInit {
|
export class CountdownDialogComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The form data
|
* The form data
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@ import { ProjectorMessageRepositoryService } from 'app/core/repositories/project
|
|||||||
import { ProjectionDialogService } from 'app/core/ui-services/projection-dialog.service';
|
import { ProjectionDialogService } from 'app/core/ui-services/projection-dialog.service';
|
||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { Projector } from 'app/shared/models/core/projector';
|
import { Projector } from 'app/shared/models/core/projector';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewProjectorMessage } from '../../models/view-projector-message';
|
import { ViewProjectorMessage } from '../../models/view-projector-message';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -20,7 +20,7 @@ import { ViewProjectorMessage } from '../../models/view-projector-message';
|
|||||||
templateUrl: './message-controls.component.html',
|
templateUrl: './message-controls.component.html',
|
||||||
styleUrls: ['./message-controls.component.scss']
|
styleUrls: ['./message-controls.component.scss']
|
||||||
})
|
})
|
||||||
export class MessageControlsComponent extends BaseViewComponent implements OnInit {
|
export class MessageControlsComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Input slot for the projector message model
|
* Input slot for the projector message model
|
||||||
*/
|
*/
|
||||||
|
@ -6,7 +6,7 @@ import { Title } from '@angular/platform-browser';
|
|||||||
|
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine what to send
|
* Determine what to send
|
||||||
@ -23,7 +23,7 @@ export interface MessageData {
|
|||||||
templateUrl: './message-dialog.component.html',
|
templateUrl: './message-dialog.component.html',
|
||||||
styleUrls: ['./message-dialog.component.scss']
|
styleUrls: ['./message-dialog.component.scss']
|
||||||
})
|
})
|
||||||
export class MessageDialogComponent extends BaseViewComponent implements OnInit {
|
export class MessageDialogComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The form data
|
* The form data
|
||||||
*/
|
*/
|
||||||
|
@ -7,7 +7,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
import { ProjectorService } from 'app/core/core-services/projector.service';
|
import { ProjectorService } from 'app/core/core-services/projector.service';
|
||||||
import { MediafileRepositoryService } from 'app/core/repositories/mediafiles/mediafile-repository.service';
|
import { MediafileRepositoryService } from 'app/core/repositories/mediafiles/mediafile-repository.service';
|
||||||
import { Mediafile } from 'app/shared/models/mediafiles/mediafile';
|
import { Mediafile } from 'app/shared/models/mediafiles/mediafile';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { MediafileProjectorElement } from 'app/site/mediafiles/models/mediafile-projector-element';
|
import { MediafileProjectorElement } from 'app/site/mediafiles/models/mediafile-projector-element';
|
||||||
import { ViewMediafile } from 'app/site/mediafiles/models/view-mediafile';
|
import { ViewMediafile } from 'app/site/mediafiles/models/view-mediafile';
|
||||||
import { SlideManager } from 'app/slides/services/slide-manager.service';
|
import { SlideManager } from 'app/slides/services/slide-manager.service';
|
||||||
@ -21,7 +21,7 @@ import { ViewProjector } from '../../models/view-projector';
|
|||||||
templateUrl: './presentation-control.component.html',
|
templateUrl: './presentation-control.component.html',
|
||||||
styleUrls: ['./presentation-control.component.scss']
|
styleUrls: ['./presentation-control.component.scss']
|
||||||
})
|
})
|
||||||
export class PresentationControlComponent extends BaseViewComponent {
|
export class PresentationControlComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* The projector.
|
* The projector.
|
||||||
*/
|
*/
|
||||||
|
@ -23,7 +23,7 @@ import { Countdown } from 'app/shared/models/core/countdown';
|
|||||||
import { ProjectorElement } from 'app/shared/models/core/projector';
|
import { ProjectorElement } from 'app/shared/models/core/projector';
|
||||||
import { ProjectorMessage } from 'app/shared/models/core/projector-message';
|
import { ProjectorMessage } from 'app/shared/models/core/projector-message';
|
||||||
import { infoDialogSettings, largeDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { infoDialogSettings, largeDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { Projectable } from 'app/site/base/projectable';
|
import { Projectable } from 'app/site/base/projectable';
|
||||||
import { ViewCountdown } from 'app/site/projector/models/view-countdown';
|
import { ViewCountdown } from 'app/site/projector/models/view-countdown';
|
||||||
import { ViewProjectorMessage } from 'app/site/projector/models/view-projector-message';
|
import { ViewProjectorMessage } from 'app/site/projector/models/view-projector-message';
|
||||||
@ -44,7 +44,7 @@ import { ViewProjector } from '../../models/view-projector';
|
|||||||
styleUrls: ['./projector-detail.component.scss'],
|
styleUrls: ['./projector-detail.component.scss'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class ProjectorDetailComponent extends BaseViewComponent implements OnInit {
|
export class ProjectorDetailComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The projector to show.
|
* The projector to show.
|
||||||
*/
|
*/
|
||||||
|
@ -19,7 +19,7 @@ import { ProjectionDefaultRepositoryService } from 'app/core/repositories/projec
|
|||||||
import { ProjectorRepositoryService } from 'app/core/repositories/projector/projector-repository.service';
|
import { ProjectorRepositoryService } from 'app/core/repositories/projector/projector-repository.service';
|
||||||
import { ProjectorComponent } from 'app/shared/components/projector/projector.component';
|
import { ProjectorComponent } from 'app/shared/components/projector/projector.component';
|
||||||
import { Projector } from 'app/shared/models/core/projector';
|
import { Projector } from 'app/shared/models/core/projector';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ClockSlideService } from '../../services/clock-slide.service';
|
import { ClockSlideService } from '../../services/clock-slide.service';
|
||||||
import { ViewProjectionDefault } from '../../models/view-projection-default';
|
import { ViewProjectionDefault } from '../../models/view-projection-default';
|
||||||
import { ViewProjector } from '../../models/view-projector';
|
import { ViewProjector } from '../../models/view-projector';
|
||||||
@ -35,7 +35,7 @@ import { ViewProjector } from '../../models/view-projector';
|
|||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class ProjectorEditDialogComponent extends BaseViewComponent implements OnInit {
|
export class ProjectorEditDialogComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* import the projector as view child, to determine when to update
|
* import the projector as view child, to determine when to update
|
||||||
* the preview.
|
* the preview.
|
||||||
|
@ -9,7 +9,7 @@ import { OperatorService, Permission } from 'app/core/core-services/operator.ser
|
|||||||
import { ProjectorRepositoryService } from 'app/core/repositories/projector/projector-repository.service';
|
import { ProjectorRepositoryService } from 'app/core/repositories/projector/projector-repository.service';
|
||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { largeDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { largeDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ProjectorEditDialogComponent } from '../projector-edit-dialog/projector-edit-dialog.component';
|
import { ProjectorEditDialogComponent } from '../projector-edit-dialog/projector-edit-dialog.component';
|
||||||
import { ViewProjector } from '../../models/view-projector';
|
import { ViewProjector } from '../../models/view-projector';
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ import { ViewProjector } from '../../models/view-projector';
|
|||||||
styleUrls: ['./projector-list-entry.component.scss'],
|
styleUrls: ['./projector-list-entry.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class ProjectorListEntryComponent extends BaseViewComponent implements OnInit {
|
export class ProjectorListEntryComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* The projector shown by this entry.
|
* The projector shown by this entry.
|
||||||
*/
|
*/
|
||||||
|
@ -20,7 +20,7 @@ import { OperatorService, Permission } from 'app/core/core-services/operator.ser
|
|||||||
import { ProjectorRepositoryService } from 'app/core/repositories/projector/projector-repository.service';
|
import { ProjectorRepositoryService } from 'app/core/repositories/projector/projector-repository.service';
|
||||||
import { Projector } from 'app/shared/models/core/projector';
|
import { Projector } from 'app/shared/models/core/projector';
|
||||||
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewProjector } from '../../models/view-projector';
|
import { ViewProjector } from '../../models/view-projector';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -33,7 +33,7 @@ import { ViewProjector } from '../../models/view-projector';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class ProjectorListComponent extends BaseViewComponent implements OnInit, AfterViewInit, OnDestroy {
|
export class ProjectorListComponent extends BaseViewComponentDirective implements OnInit, AfterViewInit, OnDestroy {
|
||||||
/**
|
/**
|
||||||
* The create form.
|
* The create form.
|
||||||
*/
|
*/
|
||||||
|
@ -5,7 +5,8 @@ export interface ProjectionDefaultTitleInformation {
|
|||||||
display_name: string;
|
display_name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ViewProjectionDefault extends BaseViewModel<ProjectionDefault>
|
export class ViewProjectionDefault
|
||||||
|
extends BaseViewModel<ProjectionDefault>
|
||||||
implements ProjectionDefaultTitleInformation {
|
implements ProjectionDefaultTitleInformation {
|
||||||
public static COLLECTIONSTRING = ProjectionDefault.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = ProjectionDefault.COLLECTIONSTRING;
|
||||||
protected _collectionString = ProjectionDefault.COLLECTIONSTRING;
|
protected _collectionString = ProjectionDefault.COLLECTIONSTRING;
|
||||||
|
@ -5,7 +5,8 @@ import { ProjectorElementBuildDeskriptor } from 'app/site/base/projectable';
|
|||||||
|
|
||||||
export type ProjectorMessageTitleInformation = object;
|
export type ProjectorMessageTitleInformation = object;
|
||||||
|
|
||||||
export class ViewProjectorMessage extends BaseProjectableViewModel<ProjectorMessage>
|
export class ViewProjectorMessage
|
||||||
|
extends BaseProjectableViewModel<ProjectorMessage>
|
||||||
implements ProjectorMessageTitleInformation {
|
implements ProjectorMessageTitleInformation {
|
||||||
public static COLLECTIONSTRING = ProjectorMessage.COLLECTIONSTRING;
|
public static COLLECTIONSTRING = ProjectorMessage.COLLECTIONSTRING;
|
||||||
protected _collectionString = ProjectorMessage.COLLECTIONSTRING;
|
protected _collectionString = ProjectorMessage.COLLECTIONSTRING;
|
||||||
|
@ -14,7 +14,7 @@ import { PromptService } from 'app/core/ui-services/prompt.service';
|
|||||||
import { ItemVisibilityChoices } from 'app/shared/models/agenda/item';
|
import { ItemVisibilityChoices } from 'app/shared/models/agenda/item';
|
||||||
import { Topic } from 'app/shared/models/topics/topic';
|
import { Topic } from 'app/shared/models/topics/topic';
|
||||||
import { ViewItem } from 'app/site/agenda/models/view-item';
|
import { ViewItem } from 'app/site/agenda/models/view-item';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { CreateTopic } from '../../models/create-topic';
|
import { CreateTopic } from '../../models/create-topic';
|
||||||
import { ViewTopic } from '../../models/view-topic';
|
import { ViewTopic } from '../../models/view-topic';
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ import { ViewTopic } from '../../models/view-topic';
|
|||||||
templateUrl: './topic-detail.component.html',
|
templateUrl: './topic-detail.component.html',
|
||||||
styleUrls: ['./topic-detail.component.scss']
|
styleUrls: ['./topic-detail.component.scss']
|
||||||
})
|
})
|
||||||
export class TopicDetailComponent extends BaseViewComponent {
|
export class TopicDetailComponent extends BaseViewComponentDirective {
|
||||||
/**
|
/**
|
||||||
* Determine if the topic is in edit mode
|
* Determine if the topic is in edit mode
|
||||||
*/
|
*/
|
||||||
|
@ -12,7 +12,7 @@ import { AppPermissions, GroupRepositoryService } from 'app/core/repositories/us
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { Group } from 'app/shared/models/users/group';
|
import { Group } from 'app/shared/models/users/group';
|
||||||
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
import { infoDialogSettings } from 'app/shared/utils/dialog-settings';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewGroup } from '../../models/view-group';
|
import { ViewGroup } from '../../models/view-group';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,7 +23,7 @@ import { ViewGroup } from '../../models/view-group';
|
|||||||
templateUrl: './group-list.component.html',
|
templateUrl: './group-list.component.html',
|
||||||
styleUrls: ['./group-list.component.scss']
|
styleUrls: ['./group-list.component.scss']
|
||||||
})
|
})
|
||||||
export class GroupListComponent extends BaseViewComponent implements OnInit {
|
export class GroupListComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Holds all Groups
|
* Holds all Groups
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { OperatorService, Permission } from 'app/core/core-services/operator.service';
|
import { OperatorService, Permission } from 'app/core/core-services/operator.service';
|
||||||
import { UserRepositoryService } from 'app/core/repositories/users/user-repository.service';
|
import { UserRepositoryService } from 'app/core/repositories/users/user-repository.service';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { ViewUser } from '../../models/view-user';
|
import { ViewUser } from '../../models/view-user';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -19,7 +19,7 @@ import { ViewUser } from '../../models/view-user';
|
|||||||
templateUrl: './password.component.html',
|
templateUrl: './password.component.html',
|
||||||
styleUrls: ['./password.component.scss']
|
styleUrls: ['./password.component.scss']
|
||||||
})
|
})
|
||||||
export class PasswordComponent extends BaseViewComponent implements OnInit {
|
export class PasswordComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* the user that is currently worked own
|
* the user that is currently worked own
|
||||||
*/
|
*/
|
||||||
|
@ -15,7 +15,7 @@ import { ConfigService } from 'app/core/ui-services/config.service';
|
|||||||
import { PromptService } from 'app/core/ui-services/prompt.service';
|
import { PromptService } from 'app/core/ui-services/prompt.service';
|
||||||
import { genders } from 'app/shared/models/users/user';
|
import { genders } from 'app/shared/models/users/user';
|
||||||
import { OneOfValidator } from 'app/shared/validators/one-of-validator';
|
import { OneOfValidator } from 'app/shared/validators/one-of-validator';
|
||||||
import { BaseViewComponent } from 'app/site/base/base-view';
|
import { BaseViewComponentDirective } from 'app/site/base/base-view';
|
||||||
import { PollService } from 'app/site/polls/services/poll.service';
|
import { PollService } from 'app/site/polls/services/poll.service';
|
||||||
import { UserPdfExportService } from '../../services/user-pdf-export.service';
|
import { UserPdfExportService } from '../../services/user-pdf-export.service';
|
||||||
import { ViewGroup } from '../../models/view-group';
|
import { ViewGroup } from '../../models/view-group';
|
||||||
@ -35,7 +35,7 @@ interface UserBackends {
|
|||||||
templateUrl: './user-detail.component.html',
|
templateUrl: './user-detail.component.html',
|
||||||
styleUrls: ['./user-detail.component.scss']
|
styleUrls: ['./user-detail.component.scss']
|
||||||
})
|
})
|
||||||
export class UserDetailComponent extends BaseViewComponent implements OnInit {
|
export class UserDetailComponent extends BaseViewComponentDirective implements OnInit {
|
||||||
/**
|
/**
|
||||||
* Info form object
|
* Info form object
|
||||||
*/
|
*/
|
||||||
|
@ -13,7 +13,8 @@ import { CommonListOfSpeakersSlideData } from './common-list-of-speakers-slide-d
|
|||||||
templateUrl: './common-list-of-speakers-slide.component.html',
|
templateUrl: './common-list-of-speakers-slide.component.html',
|
||||||
styleUrls: ['./common-list-of-speakers-slide.component.scss']
|
styleUrls: ['./common-list-of-speakers-slide.component.scss']
|
||||||
})
|
})
|
||||||
export class CommonListOfSpeakersSlideComponent extends BaseSlideComponentDirective<CommonListOfSpeakersSlideData>
|
export class CommonListOfSpeakersSlideComponent
|
||||||
|
extends BaseSlideComponentDirective<CommonListOfSpeakersSlideData>
|
||||||
implements OnInit {
|
implements OnInit {
|
||||||
@Input()
|
@Input()
|
||||||
public set data(value: SlideData<CommonListOfSpeakersSlideData, ProjectorElement>) {
|
public set data(value: SlideData<CommonListOfSpeakersSlideData, ProjectorElement>) {
|
||||||
|
@ -2,7 +2,7 @@ import { Component } from '@angular/core';
|
|||||||
|
|
||||||
import { PollState } from 'app/shared/models/poll/base-poll';
|
import { PollState } from 'app/shared/models/poll/base-poll';
|
||||||
import { AssignmentPollService } from 'app/site/assignments/modules/assignment-poll/services/assignment-poll.service';
|
import { AssignmentPollService } from 'app/site/assignments/modules/assignment-poll/services/assignment-poll.service';
|
||||||
import { BasePollSlideComponent } from 'app/slides/polls/base-poll-slide.component';
|
import { BasePollSlideComponentDirective } from 'app/slides/polls/base-poll-slide.component';
|
||||||
import { AssignmentPollSlideData } from './assignment-poll-slide-data';
|
import { AssignmentPollSlideData } from './assignment-poll-slide-data';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -10,7 +10,7 @@ import { AssignmentPollSlideData } from './assignment-poll-slide-data';
|
|||||||
templateUrl: './assignment-poll-slide.component.html',
|
templateUrl: './assignment-poll-slide.component.html',
|
||||||
styleUrls: ['./assignment-poll-slide.component.scss']
|
styleUrls: ['./assignment-poll-slide.component.scss']
|
||||||
})
|
})
|
||||||
export class AssignmentPollSlideComponent extends BasePollSlideComponent<
|
export class AssignmentPollSlideComponent extends BasePollSlideComponentDirective<
|
||||||
AssignmentPollSlideData,
|
AssignmentPollSlideData,
|
||||||
AssignmentPollService
|
AssignmentPollService
|
||||||
> {
|
> {
|
||||||
|
@ -19,7 +19,8 @@ export interface IBaseScaleScrollSlideComponent<T extends object> extends BaseSl
|
|||||||
* that the slide itself (and not the slide container) will take care of this.
|
* that the slide itself (and not the slide container) will take care of this.
|
||||||
*/
|
*/
|
||||||
@Directive()
|
@Directive()
|
||||||
export abstract class BaseScaleScrollSlideComponentDirective<T extends object> extends BaseSlideComponentDirective<T>
|
export abstract class BaseScaleScrollSlideComponentDirective<T extends object>
|
||||||
|
extends BaseSlideComponentDirective<T>
|
||||||
implements IBaseScaleScrollSlideComponent<T> {
|
implements IBaseScaleScrollSlideComponent<T> {
|
||||||
@Input()
|
@Input()
|
||||||
public scroll: number;
|
public scroll: number;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Input } from '@angular/core';
|
import { Directive, Input } from '@angular/core';
|
||||||
|
|
||||||
import { SlideData } from 'app/core/core-services/projector-data.service';
|
import { SlideData } from 'app/core/core-services/projector-data.service';
|
||||||
import { ProjectorElement } from 'app/shared/models/core/projector';
|
import { ProjectorElement } from 'app/shared/models/core/projector';
|
||||||
@ -8,6 +8,7 @@ import { ViewProjector } from 'app/site/projector/models/view-projector';
|
|||||||
* Every slide has to extends this base class. It forces the slides
|
* Every slide has to extends this base class. It forces the slides
|
||||||
* to have an input for the slidedata.
|
* to have an input for the slidedata.
|
||||||
*/
|
*/
|
||||||
|
@Directive()
|
||||||
export abstract class BaseSlideComponentDirective<T extends object, P extends ProjectorElement = ProjectorElement> {
|
export abstract class BaseSlideComponentDirective<T extends object, P extends ProjectorElement = ProjectorElement> {
|
||||||
/**
|
/**
|
||||||
* Each slide must take slide data.
|
* Each slide must take slide data.
|
||||||
|
@ -32,5 +32,6 @@ export class MediafileSlideComponent extends BaseSlideComponentDirective<
|
|||||||
|
|
||||||
public constructor() {
|
public constructor() {
|
||||||
super();
|
super();
|
||||||
|
(window as any).pdfWorkerSrc = '/assets/js/pdf.worker.min.js';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
import { Directive } from '@angular/core';
|
||||||
|
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { MotionRepositoryService } from 'app/core/repositories/motions/motion-repository.service';
|
import { MotionRepositoryService } from 'app/core/repositories/motions/motion-repository.service';
|
||||||
@ -15,7 +17,8 @@ export interface ReferencedMotions {
|
|||||||
* Base slide for motions and motion blocks. This Provides the functionality of
|
* Base slide for motions and motion blocks. This Provides the functionality of
|
||||||
* replacing referenced motions (format: `[motion:<id>]`) in strings.
|
* replacing referenced motions (format: `[motion:<id>]`) in strings.
|
||||||
*/
|
*/
|
||||||
export class BaseMotionSlideComponent<T extends object> extends BaseSlideComponentDirective<T> {
|
@Directive()
|
||||||
|
export class BaseMotionSlideComponentDirective<T extends object> extends BaseSlideComponentDirective<T> {
|
||||||
public constructor(protected translate: TranslateService, protected motionRepo: MotionRepositoryService) {
|
public constructor(protected translate: TranslateService, protected motionRepo: MotionRepositoryService) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
|
|
||||||
import { SlideData } from 'app/core/core-services/projector-data.service';
|
import { SlideData } from 'app/core/core-services/projector-data.service';
|
||||||
import { MotionRepositoryService } from 'app/core/repositories/motions/motion-repository.service';
|
import { MotionRepositoryService } from 'app/core/repositories/motions/motion-repository.service';
|
||||||
import { BaseMotionSlideComponent } from '../base/base-motion-slide';
|
import { BaseMotionSlideComponentDirective } from '../base/base-motion-slide';
|
||||||
import { MotionBlockSlideData, MotionBlockSlideMotionRepresentation } from './motion-block-slide-data';
|
import { MotionBlockSlideData, MotionBlockSlideMotionRepresentation } from './motion-block-slide-data';
|
||||||
|
|
||||||
// Layout:
|
// Layout:
|
||||||
@ -27,7 +27,7 @@ const MAX_COLUMNS = 3;
|
|||||||
templateUrl: './motion-block-slide.component.html',
|
templateUrl: './motion-block-slide.component.html',
|
||||||
styleUrls: ['./motion-block-slide.component.scss']
|
styleUrls: ['./motion-block-slide.component.scss']
|
||||||
})
|
})
|
||||||
export class MotionBlockSlideComponent extends BaseMotionSlideComponent<MotionBlockSlideData> {
|
export class MotionBlockSlideComponent extends BaseMotionSlideComponentDirective<MotionBlockSlideData> {
|
||||||
/**
|
/**
|
||||||
* For sorting motion blocks by their displayed title
|
* For sorting motion blocks by their displayed title
|
||||||
*/
|
*/
|
||||||
|
@ -3,7 +3,7 @@ import { Component } from '@angular/core';
|
|||||||
import { PollState } from 'app/shared/models/poll/base-poll';
|
import { PollState } from 'app/shared/models/poll/base-poll';
|
||||||
import { MotionPollService } from 'app/site/motions/services/motion-poll.service';
|
import { MotionPollService } from 'app/site/motions/services/motion-poll.service';
|
||||||
import { PollData, PollTableData } from 'app/site/polls/services/poll.service';
|
import { PollData, PollTableData } from 'app/site/polls/services/poll.service';
|
||||||
import { BasePollSlideComponent } from 'app/slides/polls/base-poll-slide.component';
|
import { BasePollSlideComponentDirective } from 'app/slides/polls/base-poll-slide.component';
|
||||||
import { MotionPollSlideData } from './motion-poll-slide-data';
|
import { MotionPollSlideData } from './motion-poll-slide-data';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -11,7 +11,7 @@ import { MotionPollSlideData } from './motion-poll-slide-data';
|
|||||||
templateUrl: './motion-poll-slide.component.html',
|
templateUrl: './motion-poll-slide.component.html',
|
||||||
styleUrls: ['./motion-poll-slide.component.scss']
|
styleUrls: ['./motion-poll-slide.component.scss']
|
||||||
})
|
})
|
||||||
export class MotionPollSlideComponent extends BasePollSlideComponent<MotionPollSlideData, MotionPollService> {
|
export class MotionPollSlideComponent extends BasePollSlideComponentDirective<MotionPollSlideData, MotionPollService> {
|
||||||
public PollState = PollState;
|
public PollState = PollState;
|
||||||
|
|
||||||
public pollData: PollData;
|
public pollData: PollData;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user