@valtimo/components 5.10.0 → 5.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +89 -11
- package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.mjs +6 -3
- package/esm2020/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.mjs +295 -0
- package/esm2020/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.mjs +147 -0
- package/esm2020/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.formio.mjs +43 -0
- package/esm2020/lib/components/form-io/form-io.component.mjs +8 -13
- package/esm2020/lib/components/form-io/form-io.module.mjs +26 -5
- package/esm2020/lib/components/list/list.component.mjs +5 -5
- package/esm2020/lib/components/search-fields/search-fields.component.mjs +88 -0
- package/esm2020/lib/components/search-fields/search-fields.module.mjs +68 -0
- package/esm2020/lib/components/view-content/type-converters/dateTypeConverter.mjs +2 -2
- package/esm2020/lib/components/view-content/view-content.service.mjs +11 -1
- package/esm2020/lib/models/documenten-api-metadata.model.mjs +1 -1
- package/esm2020/lib/models/form-io.model.mjs +1 -1
- package/esm2020/lib/services/valtimo-modal.service.mjs +9 -2
- package/esm2020/public_api.mjs +5 -1
- package/fesm2015/valtimo-components.mjs +996 -277
- package/fesm2015/valtimo-components.mjs.map +1 -1
- package/fesm2020/valtimo-components.mjs +991 -275
- package/fesm2020/valtimo-components.mjs.map +1 -1
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +34 -5
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -1
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.d.ts +1 -1
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.d.ts.map +1 -1
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts +105 -0
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts.map +1 -0
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.d.ts +61 -0
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.d.ts.map +1 -0
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.formio.d.ts +4 -0
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.formio.d.ts.map +1 -0
- package/lib/components/form-io/form-io.component.d.ts +2 -4
- package/lib/components/form-io/form-io.component.d.ts.map +1 -1
- package/lib/components/form-io/form-io.module.d.ts +11 -9
- package/lib/components/form-io/form-io.module.d.ts.map +1 -1
- package/lib/components/search-fields/search-fields.component.d.ts +26 -0
- package/lib/components/search-fields/search-fields.component.d.ts.map +1 -0
- package/lib/components/search-fields/search-fields.module.d.ts +13 -0
- package/lib/components/search-fields/search-fields.module.d.ts.map +1 -0
- package/lib/components/view-content/type-converters/dateTypeConverter.d.ts.map +1 -1
- package/lib/components/view-content/view-content.service.d.ts +1 -0
- package/lib/components/view-content/view-content.service.d.ts.map +1 -1
- package/lib/models/documenten-api-metadata.model.d.ts +2 -1
- package/lib/models/documenten-api-metadata.model.d.ts.map +1 -1
- package/lib/models/form-io.model.d.ts +3 -0
- package/lib/models/form-io.model.d.ts.map +1 -1
- package/lib/services/valtimo-modal.service.d.ts +3 -0
- package/lib/services/valtimo-modal.service.d.ts.map +1 -1
- package/package.json +2 -2
- package/public_api.d.ts +4 -0
- package/public_api.d.ts.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, Input, Directive, EventEmitter, Output, ViewContainerRef, ViewChild, NgModule, Pipe, HostListener, ViewChildren } from '@angular/core';
|
|
3
|
-
import { Subject, from, switchMap, map,
|
|
3
|
+
import { Subject, BehaviorSubject, from, switchMap, map, Observable, combineLatest, fromEvent, Subscription, timer, take as take$1, of, filter as filter$1, startWith } from 'rxjs';
|
|
4
4
|
import * as i3 from '@angular/forms';
|
|
5
5
|
import { Validators, FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
6
6
|
import moment from 'moment';
|
|
@@ -11,7 +11,7 @@ import * as i1$2 from 'keycloak-angular';
|
|
|
11
11
|
import * as i1$3 from '@valtimo/config';
|
|
12
12
|
import { HttpLoaderFactory } from '@valtimo/config';
|
|
13
13
|
import * as i1$4 from '@valtimo/user-interface';
|
|
14
|
-
import { ParagraphModule, ModalModule as ModalModule$1, TitleModule, ButtonModule, FormModule, InputModule, SelectModule, DatePickerModule } from '@valtimo/user-interface';
|
|
14
|
+
import { ParagraphModule, ModalModule as ModalModule$1, TitleModule, ButtonModule, FormModule, InputModule, SelectModule, DatePickerModule, InputLabelModule } from '@valtimo/user-interface';
|
|
15
15
|
import * as i1$5 from '@angular/router';
|
|
16
16
|
import { RouterModule, NavigationEnd, PRIMARY_OUTLET, NavigationStart } from '@angular/router';
|
|
17
17
|
import * as i2 from '@valtimo/document';
|
|
@@ -25,7 +25,7 @@ import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
|
25
25
|
import * as i1$9 from '@angular/common/http';
|
|
26
26
|
import { HttpClient } from '@angular/common/http';
|
|
27
27
|
import * as i5 from '@valtimo/context';
|
|
28
|
-
import { map as map$1, debounceTime, take, filter, switchMap as switchMap$1 } from 'rxjs/operators';
|
|
28
|
+
import { map as map$1, debounceTime, take, filter, switchMap as switchMap$1, tap } from 'rxjs/operators';
|
|
29
29
|
import * as i2$1 from '@angular/platform-browser';
|
|
30
30
|
import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
|
|
31
31
|
import heatmap from 'heatmap.js-fixed/build/heatmap.js';
|
|
@@ -243,13 +243,20 @@ class TimelineItemImpl {
|
|
|
243
243
|
class ValtimoModalService {
|
|
244
244
|
constructor() {
|
|
245
245
|
this._scrollToTop$ = new Subject();
|
|
246
|
+
this._documentDefinitionName$ = new BehaviorSubject('');
|
|
246
247
|
}
|
|
247
248
|
get scrollToTop$() {
|
|
248
249
|
return this._scrollToTop$.asObservable();
|
|
249
250
|
}
|
|
251
|
+
get documentDefinitionName$() {
|
|
252
|
+
return this._documentDefinitionName$.asObservable();
|
|
253
|
+
}
|
|
250
254
|
scrollToTop() {
|
|
251
255
|
this._scrollToTop$.next(null);
|
|
252
256
|
}
|
|
257
|
+
setDocumentDefinitionName(documentDefinitionName) {
|
|
258
|
+
this._documentDefinitionName$.next(documentDefinitionName);
|
|
259
|
+
}
|
|
253
260
|
}
|
|
254
261
|
ValtimoModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ValtimoModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
255
262
|
ValtimoModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ValtimoModalService, providedIn: 'root' });
|
|
@@ -1896,7 +1903,7 @@ class DateTypeConverter {
|
|
|
1896
1903
|
if (!value) {
|
|
1897
1904
|
return '-';
|
|
1898
1905
|
}
|
|
1899
|
-
return moment(value).format('DD-MM-YYYY, hh:mm A');
|
|
1906
|
+
return moment(value).format(definition?.format || 'DD-MM-YYYY, hh:mm A');
|
|
1900
1907
|
}
|
|
1901
1908
|
}
|
|
1902
1909
|
|
|
@@ -2028,9 +2035,16 @@ class ViewContentService {
|
|
|
2028
2035
|
TYPE_CONVERTERS.forEach(converter => this.addConverter(converter));
|
|
2029
2036
|
}
|
|
2030
2037
|
get(value, definition) {
|
|
2038
|
+
const separator = ':';
|
|
2031
2039
|
if (!definition.viewType) {
|
|
2032
2040
|
definition.viewType = typeof value;
|
|
2033
2041
|
}
|
|
2042
|
+
if (definition.viewType.includes(separator)) {
|
|
2043
|
+
// Get the substring of the string after the separator (:) and assign it to a new key
|
|
2044
|
+
definition.format = definition.viewType.slice(this.getSeparatorIndex(definition, separator) + 1);
|
|
2045
|
+
// Remove the substring after the separator and the separator from the string and assign it back to the viewType
|
|
2046
|
+
definition.viewType = definition.viewType.slice(0, this.getSeparatorIndex(definition, separator));
|
|
2047
|
+
}
|
|
2034
2048
|
if (typeof this.converters[definition.viewType] !== 'undefined') {
|
|
2035
2049
|
return this.converters[definition.viewType].convert(value, definition);
|
|
2036
2050
|
}
|
|
@@ -2044,6 +2058,9 @@ class ViewContentService {
|
|
|
2044
2058
|
}
|
|
2045
2059
|
this.converters[converter.getTypeString()] = converter;
|
|
2046
2060
|
}
|
|
2061
|
+
getSeparatorIndex(definition, separator) {
|
|
2062
|
+
return definition.viewType.indexOf(separator);
|
|
2063
|
+
}
|
|
2047
2064
|
}
|
|
2048
2065
|
ViewContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewContentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2049
2066
|
ViewContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewContentService, providedIn: 'root' });
|
|
@@ -2237,10 +2254,10 @@ class ListComponent {
|
|
|
2237
2254
|
}
|
|
2238
2255
|
ListComponent.PAGINATION_SIZE = 'PaginationSize';
|
|
2239
2256
|
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListComponent, deps: [{ token: ViewContentService }, { token: i4.NGXLogger }], target: i0.ɵɵFactoryTarget.Component });
|
|
2240
|
-
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ListComponent, selector: "valtimo-list", inputs: { items: "items", fields: "fields", pagination: "pagination", viewMode: "viewMode", isSearchable: "isSearchable", header: "header", actions: "actions", paginationIdentifier: "paginationIdentifier", initialSortState: "initialSortState" }, outputs: { rowClicked: "rowClicked", paginationClicked: "paginationClicked", paginationSet: "paginationSet", search: "search", sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"Search...\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"icon mdi mdi-view-headline view-icon\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"icon mdi mdi-view-module view-icon\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n <ng-container *ngIf=\"listItemField.type === ''\">\n {{ listItemField.value || '-' }}\n </ng-container>\n\n <ng-container\n *ngIf=\"listItemField.type === 'dropdownActions'\"\n [ngTemplateOutlet]=\"dropdownActions\"\n [ngTemplateOutletContext]=\"{listItemField: listItemField, item: item}\"\n ></ng-container>\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i\n class=\"action-icon\"\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n {{ 'list.noResults' | translate }}\n </div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n\n<ng-template #dropdownActions let-listItemField=\"listItemField\" let-item=\"item\">\n <div class=\"dropdown\" *ngIf=\"listItemField?.value.length > 0\">\n <a\n style=\"cursor: pointer\"\n class=\"dropdown-toggle d-block\"\n id=\"dropdownMenu\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"action-icon icon mdi mdi-dots-vertical\"></i>\n </a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu\">\n <a\n (click)=\"action.callback(item)\"\n class=\"dropdown-item p-2\"\n *ngFor=\"let action of listItemField.value\"\n >\n <ng-container *ngIf=\"action.iconClass !== null\">\n <i [ngClass]=\"action.iconClass\"></i>\n </ng-container>\n {{ action?.label || '-' }}\n </a>\n </div>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.table{table-layout:fixed}.table-responsive{overflow-x:visible}.click-able{cursor:pointer}.pagination-holder{border-top:1px solid #dee2e6}.search-holder{border-bottom:1px solid #dee2e6;padding-left:18px;padding-right:18px;height:80px}.switch-view-holder i{font-size:1.8rem;line-height:1.2rem;margin-top:9px}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}.page-count{margin-bottom:1rem}th:first-child,td:first-child{padding-left:25px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:after{font-family:\"Font Awesome 5 Free\";content:\" \\f0dd\";position:absolute;margin:auto 0 auto 5px;opacity:0;transition:all .15s ease}th.sortable.is-being-sorted.ascending:after{transform:rotate(-180deg)}th.sortable:hover:after{opacity:.5}th.sortable.is-being-sorted:after{opacity:1}.action-icon,.view-icon{font-size:16px!important}\n"], components: [{ type: i1$7.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i1.AsyncPipe, "listFilter": ListFilterPipe, "translate": i1$8.TranslatePipe } });
|
|
2257
|
+
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ListComponent, selector: "valtimo-list", inputs: { items: "items", fields: "fields", pagination: "pagination", viewMode: "viewMode", isSearchable: "isSearchable", header: "header", actions: "actions", paginationIdentifier: "paginationIdentifier", initialSortState: "initialSortState" }, outputs: { rowClicked: "rowClicked", paginationClicked: "paginationClicked", paginationSet: "paginationSet", search: "search", sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"{{ 'list.search' | translate }}\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"icon mdi mdi-view-headline view-icon\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"icon mdi mdi-view-module view-icon\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n <ng-container *ngIf=\"listItemField.type === ''\">\n {{ listItemField.value || '-' }}\n </ng-container>\n\n <ng-container\n *ngIf=\"listItemField.type === 'dropdownActions'\"\n [ngTemplateOutlet]=\"dropdownActions\"\n [ngTemplateOutletContext]=\"{listItemField: listItemField, item: item}\"\n ></ng-container>\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i\n class=\"action-icon\"\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n {{ 'list.noResults' | translate }}\n </div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n\n<ng-template #dropdownActions let-listItemField=\"listItemField\" let-item=\"item\">\n <div class=\"dropdown\" *ngIf=\"listItemField?.value.length > 0\">\n <a\n style=\"cursor: pointer\"\n class=\"dropdown-toggle d-block\"\n id=\"dropdownMenu\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"action-icon icon mdi mdi-dots-vertical\"></i>\n </a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu\">\n <a\n (click)=\"action.callback(item)\"\n class=\"dropdown-item p-2\"\n *ngFor=\"let action of listItemField.value\"\n >\n <ng-container *ngIf=\"action.iconClass !== null\">\n <i [ngClass]=\"action.iconClass\"></i>\n </ng-container>\n {{ action?.label || '-' }}\n </a>\n </div>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.table{table-layout:fixed}.table-responsive{overflow-x:visible}.click-able{cursor:pointer}.pagination-holder{border-top:1px solid #dee2e6}.search-holder{border-bottom:1px solid #dee2e6;padding-left:18px;padding-right:18px;height:80px}.switch-view-holder i{font-size:1.8rem;line-height:1.2rem;margin-top:9px}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}.page-count{margin-bottom:1rem}th:first-child,td:first-child{padding-left:25px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:after{font-family:\"Font Awesome 5 Free\";content:\" \\f0dd\";position:absolute;margin:auto 0 auto 5px;opacity:0;transition:all .15s ease}th.sortable.is-being-sorted.ascending:after{transform:rotate(-180deg)}th.sortable:hover:after{opacity:.5}th.sortable.is-being-sorted:after{opacity:1}.action-icon,.view-icon{font-size:16px!important}\n"], components: [{ type: i1$7.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "translate": i1$8.TranslatePipe, "async": i1.AsyncPipe, "listFilter": ListFilterPipe } });
|
|
2241
2258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListComponent, decorators: [{
|
|
2242
2259
|
type: Component,
|
|
2243
|
-
args: [{ selector: 'valtimo-list', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"
|
|
2260
|
+
args: [{ selector: 'valtimo-list', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"{{ 'list.search' | translate }}\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"icon mdi mdi-view-headline view-icon\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"icon mdi mdi-view-module view-icon\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n <ng-container *ngIf=\"listItemField.type === ''\">\n {{ listItemField.value || '-' }}\n </ng-container>\n\n <ng-container\n *ngIf=\"listItemField.type === 'dropdownActions'\"\n [ngTemplateOutlet]=\"dropdownActions\"\n [ngTemplateOutletContext]=\"{listItemField: listItemField, item: item}\"\n ></ng-container>\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i\n class=\"action-icon\"\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n {{ 'list.noResults' | translate }}\n </div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n\n<ng-template #dropdownActions let-listItemField=\"listItemField\" let-item=\"item\">\n <div class=\"dropdown\" *ngIf=\"listItemField?.value.length > 0\">\n <a\n style=\"cursor: pointer\"\n class=\"dropdown-toggle d-block\"\n id=\"dropdownMenu\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"action-icon icon mdi mdi-dots-vertical\"></i>\n </a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu\">\n <a\n (click)=\"action.callback(item)\"\n class=\"dropdown-item p-2\"\n *ngFor=\"let action of listItemField.value\"\n >\n <ng-container *ngIf=\"action.iconClass !== null\">\n <i [ngClass]=\"action.iconClass\"></i>\n </ng-container>\n {{ action?.label || '-' }}\n </a>\n </div>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.table{table-layout:fixed}.table-responsive{overflow-x:visible}.click-able{cursor:pointer}.pagination-holder{border-top:1px solid #dee2e6}.search-holder{border-bottom:1px solid #dee2e6;padding-left:18px;padding-right:18px;height:80px}.switch-view-holder i{font-size:1.8rem;line-height:1.2rem;margin-top:9px}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}.page-count{margin-bottom:1rem}th:first-child,td:first-child{padding-left:25px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:after{font-family:\"Font Awesome 5 Free\";content:\" \\f0dd\";position:absolute;margin:auto 0 auto 5px;opacity:0;transition:all .15s ease}th.sortable.is-being-sorted.ascending:after{transform:rotate(-180deg)}th.sortable:hover:after{opacity:.5}th.sortable.is-being-sorted:after{opacity:1}.action-icon,.view-icon{font-size:16px!important}\n"] }]
|
|
2244
2261
|
}], ctorParameters: function () { return [{ type: ViewContentService }, { type: i4.NGXLogger }]; }, propDecorators: { items: [{
|
|
2245
2262
|
type: Input
|
|
2246
2263
|
}], fields: [{
|
|
@@ -3648,7 +3665,9 @@ class FormioComponent {
|
|
|
3648
3665
|
this.change = new EventEmitter();
|
|
3649
3666
|
this.refreshForm = new EventEmitter();
|
|
3650
3667
|
this.errors = [];
|
|
3651
|
-
this.currentLanguage$ =
|
|
3668
|
+
this.currentLanguage$ = this.translateService
|
|
3669
|
+
.stream('key')
|
|
3670
|
+
.pipe(map$1(() => this.translateService.currentLang));
|
|
3652
3671
|
}
|
|
3653
3672
|
ngOnInit() {
|
|
3654
3673
|
const documentDefinitionName = this.route.snapshot.paramMap.get('documentDefinitionName');
|
|
@@ -3663,7 +3682,6 @@ class FormioComponent {
|
|
|
3663
3682
|
this.stateService.setDocumentId(documentId);
|
|
3664
3683
|
}
|
|
3665
3684
|
this.subscribeFormRefresh();
|
|
3666
|
-
this.openLanguageSubscription();
|
|
3667
3685
|
}
|
|
3668
3686
|
ngOnChanges(changes) {
|
|
3669
3687
|
this.formDefinition = changes.form.currentValue;
|
|
@@ -3677,7 +3695,6 @@ class FormioComponent {
|
|
|
3677
3695
|
ngOnDestroy() {
|
|
3678
3696
|
this.unsubscribeFormRefresh();
|
|
3679
3697
|
this.tokenRefreshTimerSubscription?.unsubscribe();
|
|
3680
|
-
this.languageSubscription?.unsubscribe();
|
|
3681
3698
|
}
|
|
3682
3699
|
reloadForm() {
|
|
3683
3700
|
this.refreshForm.emit({
|
|
@@ -3749,17 +3766,12 @@ class FormioComponent {
|
|
|
3749
3766
|
this.formRefreshSubscription.unsubscribe();
|
|
3750
3767
|
}
|
|
3751
3768
|
}
|
|
3752
|
-
openLanguageSubscription() {
|
|
3753
|
-
this.languageSubscription = this.translateService.stream('key').subscribe(() => {
|
|
3754
|
-
this.currentLanguage$.next(this.translateService.currentLang);
|
|
3755
|
-
});
|
|
3756
|
-
}
|
|
3757
3769
|
}
|
|
3758
3770
|
FormioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormioComponent, deps: [{ token: i1$6.UserProviderService }, { token: i4.NGXLogger }, { token: FormIoStateService }, { token: i1$5.ActivatedRoute }, { token: i1$8.TranslateService }, { token: ValtimoModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3759
|
-
FormioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FormioComponent, selector: "valtimo-form-io", inputs: { form: "form", options: "options", submission: "submission", formRefresh$: "formRefresh$" }, outputs: { submit: "submit", change: "change" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n <formio\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [refresh]=\"refreshForm\"\n [options]=\"options\"\n [language]=\"currentLanguage
|
|
3771
|
+
FormioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FormioComponent, selector: "valtimo-form-io", inputs: { form: "form", options: "options", submission: "submission", formRefresh$: "formRefresh$" }, outputs: { submit: "submit", change: "change" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n <formio\n *ngIf=\"currentLanguage$ | async as currentLanguage\"\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [refresh]=\"refreshForm\"\n [options]=\"options\"\n [language]=\"currentLanguage\"\n (submit)=\"onSubmit($event)\"\n (ready)=\"formReady($event)\"\n (change)=\"onChange($event)\"\n (nextPage)=\"nextPage()\"\n (prevPage)=\"prevPage()\"\n ></formio>\n</div>\n", styles: [""], components: [{ type: i7.FormioComponent, selector: "formio" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
|
|
3760
3772
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormioComponent, decorators: [{
|
|
3761
3773
|
type: Component,
|
|
3762
|
-
args: [{ selector: 'valtimo-form-io', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n <formio\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [refresh]=\"refreshForm\"\n [options]=\"options\"\n [language]=\"currentLanguage
|
|
3774
|
+
args: [{ selector: 'valtimo-form-io', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n <formio\n *ngIf=\"currentLanguage$ | async as currentLanguage\"\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [refresh]=\"refreshForm\"\n [options]=\"options\"\n [language]=\"currentLanguage\"\n (submit)=\"onSubmit($event)\"\n (ready)=\"formReady($event)\"\n (change)=\"onChange($event)\"\n (nextPage)=\"nextPage()\"\n (prevPage)=\"prevPage()\"\n ></formio>\n</div>\n", styles: [""] }]
|
|
3763
3775
|
}], ctorParameters: function () { return [{ type: i1$6.UserProviderService }, { type: i4.NGXLogger }, { type: FormIoStateService }, { type: i1$5.ActivatedRoute }, { type: i1$8.TranslateService }, { type: ValtimoModalService }]; }, propDecorators: { form: [{
|
|
3764
3776
|
type: Input
|
|
3765
3777
|
}], options: [{
|
|
@@ -4331,45 +4343,192 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
4331
4343
|
* See the License for the specific language governing permissions and
|
|
4332
4344
|
* limitations under the License.
|
|
4333
4345
|
*/
|
|
4334
|
-
class
|
|
4346
|
+
class DocumentenApiMetadataModalComponent {
|
|
4347
|
+
constructor(modalService, translateService, route, documentService, keycloakService, valtimoModalService) {
|
|
4348
|
+
this.modalService = modalService;
|
|
4349
|
+
this.translateService = translateService;
|
|
4350
|
+
this.route = route;
|
|
4351
|
+
this.documentService = documentService;
|
|
4352
|
+
this.keycloakService = keycloakService;
|
|
4353
|
+
this.valtimoModalService = valtimoModalService;
|
|
4354
|
+
this.documentTitle = '';
|
|
4355
|
+
this.metadata = new EventEmitter();
|
|
4356
|
+
this.CONFIDENTIALITY_LEVELS = [
|
|
4357
|
+
'openbaar',
|
|
4358
|
+
'beperkt_openbaar',
|
|
4359
|
+
'intern',
|
|
4360
|
+
'zaakvertrouwelijk',
|
|
4361
|
+
'vertrouwelijk',
|
|
4362
|
+
'confidentieel',
|
|
4363
|
+
'geheim',
|
|
4364
|
+
'zeer_geheim',
|
|
4365
|
+
];
|
|
4366
|
+
this.confidentialityLevelItems$ = this.translateService
|
|
4367
|
+
.stream('key')
|
|
4368
|
+
.pipe(map(() => this.CONFIDENTIALITY_LEVELS.map(confidentialityLevel => ({
|
|
4369
|
+
id: confidentialityLevel,
|
|
4370
|
+
text: this.translateService.instant(`document.${confidentialityLevel}`),
|
|
4371
|
+
}))));
|
|
4372
|
+
this.ADDITONAL_DOCUMENT_DATE_OPTIONS = [
|
|
4373
|
+
{
|
|
4374
|
+
value: 'neither',
|
|
4375
|
+
translationKey: 'document.noAdditionalDate',
|
|
4376
|
+
},
|
|
4377
|
+
{
|
|
4378
|
+
value: 'sent',
|
|
4379
|
+
translationKey: 'document.sendDate',
|
|
4380
|
+
},
|
|
4381
|
+
{
|
|
4382
|
+
value: 'received',
|
|
4383
|
+
translationKey: 'document.receiptDate',
|
|
4384
|
+
},
|
|
4385
|
+
];
|
|
4386
|
+
this.clearStatusSelection$ = new Subject();
|
|
4387
|
+
this.additionalDocumentDate$ = new BehaviorSubject('neither');
|
|
4388
|
+
this.STATUSES = [
|
|
4389
|
+
'in_bewerking',
|
|
4390
|
+
'ter_vaststelling',
|
|
4391
|
+
'definitief',
|
|
4392
|
+
'gearchiveerd',
|
|
4393
|
+
];
|
|
4394
|
+
this.RECEIPT_STATUSES = ['definitief', 'gearchiveerd'];
|
|
4395
|
+
this.formData$ = new BehaviorSubject(null);
|
|
4396
|
+
this.statusItems$ = combineLatest([
|
|
4397
|
+
this.additionalDocumentDate$,
|
|
4398
|
+
this.translateService.stream('key'),
|
|
4399
|
+
]).pipe(tap(([additionalDocumentDate]) => {
|
|
4400
|
+
this.formData$.pipe(take$1(1)).subscribe(formData => {
|
|
4401
|
+
if (additionalDocumentDate === 'received' &&
|
|
4402
|
+
(formData.status === 'in_bewerking' || formData.status === 'ter_vaststelling')) {
|
|
4403
|
+
this.clearStatusSelection$.next(null);
|
|
4404
|
+
}
|
|
4405
|
+
});
|
|
4406
|
+
}), map(([additionalDocumentDate]) => (additionalDocumentDate === 'received' ? this.RECEIPT_STATUSES : this.STATUSES).map(status => ({
|
|
4407
|
+
id: status,
|
|
4408
|
+
text: this.translateService.instant(`document.${status}`),
|
|
4409
|
+
}))));
|
|
4410
|
+
this.LANGUAGES = ['nld', 'eng', 'deu'];
|
|
4411
|
+
this.languageItems$ = this.translateService.stream('key').pipe(map(() => this.LANGUAGES.map(language => ({
|
|
4412
|
+
id: language,
|
|
4413
|
+
text: this.translateService.instant(`document.${language}`),
|
|
4414
|
+
}))));
|
|
4415
|
+
this.documentTypeItems$ = combineLatest([
|
|
4416
|
+
this.route?.params || of(null),
|
|
4417
|
+
this.route?.firstChild?.params || of(null),
|
|
4418
|
+
this.valtimoModalService.documentDefinitionName$,
|
|
4419
|
+
]).pipe(filter$1(([params, firstChildParams, documentDefinitionName]) => !!(params?.documentDefinitionName ||
|
|
4420
|
+
firstChildParams?.documentDefinitionName ||
|
|
4421
|
+
documentDefinitionName)), switchMap(([params, firstChildParams, documentDefinitionName]) => this.documentService.getDocumentTypes(params?.documentDefinitionName ||
|
|
4422
|
+
firstChildParams?.documentDefinitionName ||
|
|
4423
|
+
documentDefinitionName)), map(documentTypes => documentTypes.map(type => ({ id: type.url, text: type.name }))));
|
|
4424
|
+
this.showForm$ = this.modalService.modalVisible$;
|
|
4425
|
+
this.valid$ = new BehaviorSubject(false);
|
|
4426
|
+
this.userEmail$ = from(this.keycloakService.loadUserProfile()).pipe(map(userProfile => userProfile?.email || ''));
|
|
4427
|
+
}
|
|
4428
|
+
ngOnInit() {
|
|
4429
|
+
this.openShowSubscription();
|
|
4430
|
+
this.openHideSubscription();
|
|
4431
|
+
}
|
|
4432
|
+
ngOnDestroy() {
|
|
4433
|
+
this.showSubscription?.unsubscribe();
|
|
4434
|
+
this.hideSubscription?.unsubscribe();
|
|
4435
|
+
}
|
|
4436
|
+
hide() {
|
|
4437
|
+
this.formData$.next(null);
|
|
4438
|
+
this.valid$.next(false);
|
|
4439
|
+
this.additionalDocumentDate$.next('neither');
|
|
4440
|
+
this.modalService.closeModal();
|
|
4441
|
+
}
|
|
4442
|
+
cancel() {
|
|
4443
|
+
this.hide();
|
|
4444
|
+
}
|
|
4445
|
+
save() {
|
|
4446
|
+
combineLatest([this.valid$, this.formData$])
|
|
4447
|
+
.pipe(take$1(1))
|
|
4448
|
+
.subscribe(([valid, formData]) => {
|
|
4449
|
+
if (valid) {
|
|
4450
|
+
this.metadata.emit(formData);
|
|
4451
|
+
}
|
|
4452
|
+
});
|
|
4453
|
+
}
|
|
4454
|
+
formValueChange(data) {
|
|
4455
|
+
this.formData$.next(data);
|
|
4456
|
+
this.setValid(data);
|
|
4457
|
+
}
|
|
4458
|
+
setAdditionalDate(value) {
|
|
4459
|
+
this.additionalDocumentDate$.next(value);
|
|
4460
|
+
}
|
|
4461
|
+
setValid(data) {
|
|
4462
|
+
this.valid$.next(!!(data.filename &&
|
|
4463
|
+
data.title &&
|
|
4464
|
+
data.author &&
|
|
4465
|
+
data.creationDate &&
|
|
4466
|
+
data.status &&
|
|
4467
|
+
data.language &&
|
|
4468
|
+
data.informatieobjecttype));
|
|
4469
|
+
}
|
|
4470
|
+
openShowSubscription() {
|
|
4471
|
+
this.showSubscription = this.show$.subscribe(() => {
|
|
4472
|
+
this.modalService.openModal(this.documentenApiMetadataModal);
|
|
4473
|
+
});
|
|
4474
|
+
}
|
|
4475
|
+
openHideSubscription() {
|
|
4476
|
+
this.hideSubscription = this.hide$.subscribe(() => {
|
|
4477
|
+
this.hide();
|
|
4478
|
+
});
|
|
4479
|
+
}
|
|
4335
4480
|
}
|
|
4336
|
-
|
|
4337
|
-
FormIoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormIoModule, declarations: [FormioComponent, FormioBuilderComponent, FormIoUploaderComponent], imports: [CommonModule,
|
|
4338
|
-
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4481
|
+
DocumentenApiMetadataModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiMetadataModalComponent, deps: [{ token: i1$4.ModalService }, { token: i1$8.TranslateService }, { token: i1$5.ActivatedRoute }, { token: i2.DocumentService }, { token: i1$2.KeycloakService }, { token: ValtimoModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4482
|
+
DocumentenApiMetadataModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: { show$: "show$", hide$: "hide$", disabled$: "disabled$", file$: "file$", documentTitle: "documentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", disableFilename: "disableFilename", author: "author", disableAuthor: "disableAuthor", status: "status", disableStatus: "disableStatus", language: "language", disableLanguage: "disableLanguage", documentType: "documentType", disableDocumentType: "disableDocumentType", description: "description", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel" }, outputs: { metadata: "metadata" }, viewQueries: [{ propertyName: "documentenApiMetadataModal", first: true, predicate: ["documentenApiMetadataModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #documentenApiMetadataModal\n (closeEvent)=\"hide()\"\n *ngIf=\"{file: file$ | async, disabled: disabled$ | async, valid: valid$ | async} as obs\"\n>\n <div role=\"header\">\n <div class=\"edit-configuration-title\">\n <v-title [center]=\"true\" [fullWidth]=\"true\" [margin]=\"false\" type=\"h2\">{{\n 'document.fillInMetadata' | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">{{\n 'document.cancel' | translate\n }}</v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"upload\"\n type=\"success\"\n >{{ 'document.upload' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"additionalDocumentDate$ | async as additionalDate\"\n >\n <v-input\n [defaultValue]=\"filename || obs.file?.name\"\n [disabled]=\"obs.disabled || disableFilename\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.filename' | translate\"\n [tooltip]=\"'document.filenameTooltip' | translate\"\n name=\"filename\"\n >\n </v-input>\n <v-input\n [defaultValue]=\"documentTitle\"\n [disabled]=\"obs.disabled || disableDocumentTitle\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.inputTitle' | translate\"\n [tooltip]=\"'document.inputTitleTooltip' | translate\"\n [widthPx]=\"400\"\n name=\"title\"\n >\n </v-input>\n <v-input\n [defaultValue]=\"author || (userEmail$ | async)\"\n [disabled]=\"obs.disabled || disableAuthor\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.author' | translate\"\n [tooltip]=\"'document.authorTooltip' | translate\"\n [widthPx]=\"300\"\n name=\"author\"\n >\n </v-input>\n <v-select\n *ngIf=\"languageItems$ | async as languageItems\"\n [defaultSelectionId]=\"language || languageItems[0].id\"\n [disabled]=\"obs.disabled || disableLanguage\"\n [items]=\"languageItems\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.language' | translate\"\n [tooltip]=\"'document.languageTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"language\"\n ></v-select>\n <ng-container *ngIf=\"{documentTypeItems: documentTypeItems$ | async} as obs\">\n <v-select\n [defaultSelectionId]=\"documentType\"\n [disabled]=\"obs.disabled || disableDocumentType\"\n [items]=\"obs.documentTypeItems\"\n [loading]=\"!obs.documentTypeItems\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.informatieobjecttype' | translate\"\n [tooltip]=\"'document.informatieobjecttypeTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"informatieobjecttype\"\n ></v-select>\n </ng-container>\n <v-date-picker\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.creationDate' | translate\"\n [tooltip]=\"'document.creationDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"creationDate\"\n ></v-date-picker>\n <ng-container\n *ngTemplateOutlet=\"additionalDatePicker; context: {additionalDate: additionalDate}\"\n ></ng-container>\n <v-date-picker\n *ngIf=\"additionalDate === 'received'\"\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [title]=\"'document.receiptDate' | translate\"\n [tooltip]=\"'document.receiptDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"receiptDate\"\n ></v-date-picker>\n <v-date-picker\n *ngIf=\"additionalDate === 'sent'\"\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [title]=\"'document.sendDate' | translate\"\n [tooltip]=\"'document.sendDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"sendDate\"\n ></v-date-picker>\n <v-select\n [defaultSelectionId]=\"status\"\n [disabled]=\"obs.disabled || disableStatus\"\n [items]=\"statusItems$ | async\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.status' | translate\"\n [tooltip]=\"'document.statusTooltip' | translate\"\n [widthInPx]=\"200\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n name=\"status\"\n ></v-select>\n <v-input\n [defaultValue]=\"description\"\n [disabled]=\"obs.disabled || disableDescription\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [title]=\"'document.inputDescription' | translate\"\n [tooltip]=\"'document.inputDescriptionTooltip' | translate\"\n name=\"description\"\n >\n </v-input>\n <v-select\n [defaultSelectionId]=\"confidentialityLevel\"\n [disabled]=\"obs.disabled || disableConfidentialityLevel\"\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [title]=\"'document.confidentialityLevel' | translate\"\n [tooltip]=\"'document.confidentialityLevelTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n ></v-select>\n </v-form>\n </ng-container>\n</ng-template>\n\n<ng-template #additionalDatePicker let-additionalDate=\"additionalDate\">\n <v-input-label\n [title]=\"'document.additionalDate' | translate\"\n [name]=\"'additionalDate'\"\n [tooltip]=\"'document.additionalDateTooltip' | translate\"\n [required]=\"true\"\n >\n </v-input-label>\n <div class=\"col-12 col-sm-8 col-lg-6 form-check mt-1 additional-date\">\n <label\n class=\"custom-control custom-radio custom-control-inline\"\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n (click)=\"setAdditionalDate(option.value)\"\n >\n <input\n class=\"custom-control-input\"\n type=\"radio\"\n name=\"radio-inline\"\n [checked]=\"additionalDate === option.value\"\n /><span class=\"custom-control-label\">{{ option.translationKey | translate }}</span>\n </label>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons{display:flex;flex-direction:row;width:100%;justify-content:space-between}.additional-date{padding:0;width:100%;max-width:100%;margin:0;margin-block-end:var(--v-input-margin)}.additional-date .custom-control{margin-bottom:0}\n"], components: [{ type: i1$4.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { type: i1$4.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { type: i1$4.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { type: i1$4.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { type: i1$4.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel"], outputs: ["valueChange"] }, { type: i1$4.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "clearable", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder"], outputs: ["selectedChange", "clear"] }, { type: i1$4.DatePickerComponent, selector: "v-date-picker", inputs: ["name", "title", "titleTranslationKey", "widthPx", "fullWidth", "margin", "disabled", "tooltip", "required", "defaultDate", "defaultDateIsToday", "smallLabel"], outputs: ["valueChange"] }, { type: i1$4.InputLabelComponent, selector: "v-input-label", inputs: ["name", "title", "titleTranslationKey", "tooltip", "required", "largeMargin", "small"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe, "translate": i1$8.TranslatePipe } });
|
|
4483
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiMetadataModalComponent, decorators: [{
|
|
4484
|
+
type: Component,
|
|
4485
|
+
args: [{ selector: 'valtimo-documenten-api-metadata-modal', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #documentenApiMetadataModal\n (closeEvent)=\"hide()\"\n *ngIf=\"{file: file$ | async, disabled: disabled$ | async, valid: valid$ | async} as obs\"\n>\n <div role=\"header\">\n <div class=\"edit-configuration-title\">\n <v-title [center]=\"true\" [fullWidth]=\"true\" [margin]=\"false\" type=\"h2\">{{\n 'document.fillInMetadata' | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">{{\n 'document.cancel' | translate\n }}</v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"upload\"\n type=\"success\"\n >{{ 'document.upload' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"additionalDocumentDate$ | async as additionalDate\"\n >\n <v-input\n [defaultValue]=\"filename || obs.file?.name\"\n [disabled]=\"obs.disabled || disableFilename\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.filename' | translate\"\n [tooltip]=\"'document.filenameTooltip' | translate\"\n name=\"filename\"\n >\n </v-input>\n <v-input\n [defaultValue]=\"documentTitle\"\n [disabled]=\"obs.disabled || disableDocumentTitle\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.inputTitle' | translate\"\n [tooltip]=\"'document.inputTitleTooltip' | translate\"\n [widthPx]=\"400\"\n name=\"title\"\n >\n </v-input>\n <v-input\n [defaultValue]=\"author || (userEmail$ | async)\"\n [disabled]=\"obs.disabled || disableAuthor\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.author' | translate\"\n [tooltip]=\"'document.authorTooltip' | translate\"\n [widthPx]=\"300\"\n name=\"author\"\n >\n </v-input>\n <v-select\n *ngIf=\"languageItems$ | async as languageItems\"\n [defaultSelectionId]=\"language || languageItems[0].id\"\n [disabled]=\"obs.disabled || disableLanguage\"\n [items]=\"languageItems\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.language' | translate\"\n [tooltip]=\"'document.languageTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"language\"\n ></v-select>\n <ng-container *ngIf=\"{documentTypeItems: documentTypeItems$ | async} as obs\">\n <v-select\n [defaultSelectionId]=\"documentType\"\n [disabled]=\"obs.disabled || disableDocumentType\"\n [items]=\"obs.documentTypeItems\"\n [loading]=\"!obs.documentTypeItems\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.informatieobjecttype' | translate\"\n [tooltip]=\"'document.informatieobjecttypeTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"informatieobjecttype\"\n ></v-select>\n </ng-container>\n <v-date-picker\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.creationDate' | translate\"\n [tooltip]=\"'document.creationDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"creationDate\"\n ></v-date-picker>\n <ng-container\n *ngTemplateOutlet=\"additionalDatePicker; context: {additionalDate: additionalDate}\"\n ></ng-container>\n <v-date-picker\n *ngIf=\"additionalDate === 'received'\"\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [title]=\"'document.receiptDate' | translate\"\n [tooltip]=\"'document.receiptDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"receiptDate\"\n ></v-date-picker>\n <v-date-picker\n *ngIf=\"additionalDate === 'sent'\"\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [title]=\"'document.sendDate' | translate\"\n [tooltip]=\"'document.sendDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"sendDate\"\n ></v-date-picker>\n <v-select\n [defaultSelectionId]=\"status\"\n [disabled]=\"obs.disabled || disableStatus\"\n [items]=\"statusItems$ | async\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.status' | translate\"\n [tooltip]=\"'document.statusTooltip' | translate\"\n [widthInPx]=\"200\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n name=\"status\"\n ></v-select>\n <v-input\n [defaultValue]=\"description\"\n [disabled]=\"obs.disabled || disableDescription\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [title]=\"'document.inputDescription' | translate\"\n [tooltip]=\"'document.inputDescriptionTooltip' | translate\"\n name=\"description\"\n >\n </v-input>\n <v-select\n [defaultSelectionId]=\"confidentialityLevel\"\n [disabled]=\"obs.disabled || disableConfidentialityLevel\"\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [title]=\"'document.confidentialityLevel' | translate\"\n [tooltip]=\"'document.confidentialityLevelTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n ></v-select>\n </v-form>\n </ng-container>\n</ng-template>\n\n<ng-template #additionalDatePicker let-additionalDate=\"additionalDate\">\n <v-input-label\n [title]=\"'document.additionalDate' | translate\"\n [name]=\"'additionalDate'\"\n [tooltip]=\"'document.additionalDateTooltip' | translate\"\n [required]=\"true\"\n >\n </v-input-label>\n <div class=\"col-12 col-sm-8 col-lg-6 form-check mt-1 additional-date\">\n <label\n class=\"custom-control custom-radio custom-control-inline\"\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n (click)=\"setAdditionalDate(option.value)\"\n >\n <input\n class=\"custom-control-input\"\n type=\"radio\"\n name=\"radio-inline\"\n [checked]=\"additionalDate === option.value\"\n /><span class=\"custom-control-label\">{{ option.translationKey | translate }}</span>\n </label>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons{display:flex;flex-direction:row;width:100%;justify-content:space-between}.additional-date{padding:0;width:100%;max-width:100%;margin:0;margin-block-end:var(--v-input-margin)}.additional-date .custom-control{margin-bottom:0}\n"] }]
|
|
4486
|
+
}], ctorParameters: function () { return [{ type: i1$4.ModalService }, { type: i1$8.TranslateService }, { type: i1$5.ActivatedRoute }, { type: i2.DocumentService }, { type: i1$2.KeycloakService }, { type: ValtimoModalService }]; }, propDecorators: { documentenApiMetadataModal: [{
|
|
4487
|
+
type: ViewChild,
|
|
4488
|
+
args: ['documentenApiMetadataModal']
|
|
4489
|
+
}], show$: [{
|
|
4490
|
+
type: Input
|
|
4491
|
+
}], hide$: [{
|
|
4492
|
+
type: Input
|
|
4493
|
+
}], disabled$: [{
|
|
4494
|
+
type: Input
|
|
4495
|
+
}], file$: [{
|
|
4496
|
+
type: Input
|
|
4497
|
+
}], documentTitle: [{
|
|
4498
|
+
type: Input
|
|
4499
|
+
}], disableDocumentTitle: [{
|
|
4500
|
+
type: Input
|
|
4501
|
+
}], filename: [{
|
|
4502
|
+
type: Input
|
|
4503
|
+
}], disableFilename: [{
|
|
4504
|
+
type: Input
|
|
4505
|
+
}], author: [{
|
|
4506
|
+
type: Input
|
|
4507
|
+
}], disableAuthor: [{
|
|
4508
|
+
type: Input
|
|
4509
|
+
}], status: [{
|
|
4510
|
+
type: Input
|
|
4511
|
+
}], disableStatus: [{
|
|
4512
|
+
type: Input
|
|
4513
|
+
}], language: [{
|
|
4514
|
+
type: Input
|
|
4515
|
+
}], disableLanguage: [{
|
|
4516
|
+
type: Input
|
|
4517
|
+
}], documentType: [{
|
|
4518
|
+
type: Input
|
|
4519
|
+
}], disableDocumentType: [{
|
|
4520
|
+
type: Input
|
|
4521
|
+
}], description: [{
|
|
4522
|
+
type: Input
|
|
4523
|
+
}], disableDescription: [{
|
|
4524
|
+
type: Input
|
|
4525
|
+
}], confidentialityLevel: [{
|
|
4526
|
+
type: Input
|
|
4527
|
+
}], disableConfidentialityLevel: [{
|
|
4528
|
+
type: Input
|
|
4529
|
+
}], metadata: [{
|
|
4530
|
+
type: Output
|
|
4531
|
+
}] } });
|
|
4373
4532
|
|
|
4374
4533
|
/*
|
|
4375
4534
|
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
@@ -4386,54 +4545,121 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
4386
4545
|
* See the License for the specific language governing permissions and
|
|
4387
4546
|
* limitations under the License.
|
|
4388
4547
|
*/
|
|
4389
|
-
class
|
|
4390
|
-
constructor(modalService) {
|
|
4548
|
+
class DocumentenApiUploaderComponent {
|
|
4549
|
+
constructor(uploadProviderService, stateService, domService, downloadService, modalService, userProviderService, route) {
|
|
4550
|
+
this.uploadProviderService = uploadProviderService;
|
|
4551
|
+
this.stateService = stateService;
|
|
4552
|
+
this.domService = domService;
|
|
4553
|
+
this.downloadService = downloadService;
|
|
4391
4554
|
this.modalService = modalService;
|
|
4392
|
-
this.
|
|
4393
|
-
this.
|
|
4394
|
-
this.
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
this.
|
|
4555
|
+
this.userProviderService = userProviderService;
|
|
4556
|
+
this.route = route;
|
|
4557
|
+
this.valueChange = new EventEmitter();
|
|
4558
|
+
this.uploading$ = new BehaviorSubject(false);
|
|
4559
|
+
this.fileToBeUploaded$ = new BehaviorSubject(null);
|
|
4560
|
+
this.modalDisabled$ = new BehaviorSubject(false);
|
|
4561
|
+
this.showModal$ = new Subject();
|
|
4562
|
+
this.hideModal$ = new Subject();
|
|
4563
|
+
this.uploadProcessLinked$ = combineLatest([
|
|
4564
|
+
this.route?.params || of(null),
|
|
4565
|
+
this.route?.firstChild?.params || of(null),
|
|
4566
|
+
this.modalService.documentDefinitionName$,
|
|
4567
|
+
]).pipe(filter(([params, firstChildParams, documentDefinitionName]) => !!(params?.documentDefinitionName ||
|
|
4568
|
+
firstChildParams?.documentDefinitionName ||
|
|
4569
|
+
documentDefinitionName)), switchMap(([params, firstChildParams, documentDefinitionName]) => this.uploadProviderService.checkUploadProcessLink(params?.documentDefinitionName ||
|
|
4570
|
+
firstChildParams?.documentDefinitionName ||
|
|
4571
|
+
documentDefinitionName)), startWith('loading'));
|
|
4572
|
+
this.isAdmin$ = this.userProviderService
|
|
4573
|
+
.getUserSubject()
|
|
4574
|
+
.pipe(map$1(userIdentity => userIdentity?.roles.includes('ROLE_ADMIN')));
|
|
4575
|
+
this._value = [];
|
|
4398
4576
|
}
|
|
4399
|
-
|
|
4400
|
-
|
|
4577
|
+
get value() {
|
|
4578
|
+
return this._value;
|
|
4401
4579
|
}
|
|
4402
|
-
|
|
4403
|
-
|
|
4580
|
+
set value(value) {
|
|
4581
|
+
if (Array.isArray(value)) {
|
|
4582
|
+
this._value = value;
|
|
4583
|
+
}
|
|
4404
4584
|
}
|
|
4405
|
-
|
|
4406
|
-
|
|
4585
|
+
fileSelected(file) {
|
|
4586
|
+
this.fileToBeUploaded$.next(file);
|
|
4587
|
+
this.showModal$.next(null);
|
|
4407
4588
|
}
|
|
4408
|
-
|
|
4409
|
-
this.
|
|
4589
|
+
deleteFile(id) {
|
|
4590
|
+
this.domService.toggleSubmitButton(true);
|
|
4591
|
+
this._value = this._value.filter((file) => file?.id ? file?.id !== id : true);
|
|
4592
|
+
this.valueChange.emit(this._value);
|
|
4410
4593
|
}
|
|
4411
|
-
|
|
4412
|
-
this.
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4594
|
+
metadataSet(metadata) {
|
|
4595
|
+
this.uploading$.next(true);
|
|
4596
|
+
this.hideModal$.next(null);
|
|
4597
|
+
this.domService.toggleSubmitButton(true);
|
|
4598
|
+
this.fileToBeUploaded$
|
|
4599
|
+
.pipe(take(1), switchMap(file => this.uploadProviderService.uploadTempFileWithMetadata(file, metadata)), tap(result => {
|
|
4600
|
+
this.domService.toggleSubmitButton(false);
|
|
4601
|
+
this.uploading$.next(false);
|
|
4602
|
+
this._value.push(result);
|
|
4603
|
+
this.valueChange.emit(this._value);
|
|
4604
|
+
}))
|
|
4605
|
+
.subscribe();
|
|
4417
4606
|
}
|
|
4418
4607
|
}
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type:
|
|
4608
|
+
DocumentenApiUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiUploaderComponent, deps: [{ token: i1$a.UploadProviderService }, { token: FormIoStateService }, { token: FormIoDomService }, { token: i1$a.DownloadService }, { token: ValtimoModalService }, { token: i1$6.UserProviderService }, { token: i1$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
4609
|
+
DocumentenApiUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DocumentenApiUploaderComponent, selector: "valtimo-documenten-api-formio-uploader", inputs: { disabled: "disabled", title: "title", hideTitle: "hideTitle", subtitle: "subtitle", maxFileSize: "maxFileSize", hideMaxFileSize: "hideMaxFileSize", camera: "camera", documentTitle: "documentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", disableFilename: "disableFilename", author: "author", disableAuthor: "disableAuthor", status: "status", disableStatus: "disableStatus", language: "language", disableLanguage: "disableLanguage", documentType: "documentType", disableDocumentType: "disableDocumentType", description: "description", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [author]=\"author\"\n [confidentialityLevel]=\"confidentialityLevel\"\n [description]=\"description\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [documentTitle]=\"documentTitle\"\n [documentType]=\"documentType\"\n [file$]=\"fileToBeUploaded$\"\n [filename]=\"filename\"\n [hide$]=\"hideModal$\"\n [language]=\"language\"\n [show$]=\"showModal$\"\n [status]=\"status\"\n></valtimo-documenten-api-metadata-modal>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n"], components: [{ type: DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["show$", "hide$", "disabled$", "file$", "documentTitle", "disableDocumentTitle", "filename", "disableFilename", "author", "disableAuthor", "status", "disableStatus", "language", "disableLanguage", "documentType", "disableDocumentType", "description", "disableDescription", "confidentialityLevel", "disableConfidentialityLevel"], outputs: ["metadata"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe, "filesize": FileSizePipe } });
|
|
4610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiUploaderComponent, decorators: [{
|
|
4422
4611
|
type: Component,
|
|
4423
|
-
args: [{ selector: 'valtimo-
|
|
4424
|
-
}], ctorParameters: function () { return [{ type: ValtimoModalService }]; }, propDecorators: {
|
|
4612
|
+
args: [{ selector: 'valtimo-documenten-api-formio-uploader', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [author]=\"author\"\n [confidentialityLevel]=\"confidentialityLevel\"\n [description]=\"description\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [documentTitle]=\"documentTitle\"\n [documentType]=\"documentType\"\n [file$]=\"fileToBeUploaded$\"\n [filename]=\"filename\"\n [hide$]=\"hideModal$\"\n [language]=\"language\"\n [show$]=\"showModal$\"\n [status]=\"status\"\n></valtimo-documenten-api-metadata-modal>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n"] }]
|
|
4613
|
+
}], ctorParameters: function () { return [{ type: i1$a.UploadProviderService }, { type: FormIoStateService }, { type: FormIoDomService }, { type: i1$a.DownloadService }, { type: ValtimoModalService }, { type: i1$6.UserProviderService }, { type: i1$5.ActivatedRoute }]; }, propDecorators: { disabled: [{
|
|
4425
4614
|
type: Input
|
|
4426
4615
|
}], title: [{
|
|
4427
4616
|
type: Input
|
|
4617
|
+
}], hideTitle: [{
|
|
4618
|
+
type: Input
|
|
4428
4619
|
}], subtitle: [{
|
|
4429
4620
|
type: Input
|
|
4430
|
-
}],
|
|
4621
|
+
}], maxFileSize: [{
|
|
4431
4622
|
type: Input
|
|
4432
|
-
}],
|
|
4623
|
+
}], hideMaxFileSize: [{
|
|
4624
|
+
type: Input
|
|
4625
|
+
}], camera: [{
|
|
4626
|
+
type: Input
|
|
4627
|
+
}], documentTitle: [{
|
|
4628
|
+
type: Input
|
|
4629
|
+
}], disableDocumentTitle: [{
|
|
4630
|
+
type: Input
|
|
4631
|
+
}], filename: [{
|
|
4632
|
+
type: Input
|
|
4633
|
+
}], disableFilename: [{
|
|
4634
|
+
type: Input
|
|
4635
|
+
}], author: [{
|
|
4636
|
+
type: Input
|
|
4637
|
+
}], disableAuthor: [{
|
|
4638
|
+
type: Input
|
|
4639
|
+
}], status: [{
|
|
4640
|
+
type: Input
|
|
4641
|
+
}], disableStatus: [{
|
|
4642
|
+
type: Input
|
|
4643
|
+
}], language: [{
|
|
4644
|
+
type: Input
|
|
4645
|
+
}], disableLanguage: [{
|
|
4646
|
+
type: Input
|
|
4647
|
+
}], documentType: [{
|
|
4648
|
+
type: Input
|
|
4649
|
+
}], disableDocumentType: [{
|
|
4650
|
+
type: Input
|
|
4651
|
+
}], description: [{
|
|
4652
|
+
type: Input
|
|
4653
|
+
}], disableDescription: [{
|
|
4654
|
+
type: Input
|
|
4655
|
+
}], confidentialityLevel: [{
|
|
4656
|
+
type: Input
|
|
4657
|
+
}], disableConfidentialityLevel: [{
|
|
4658
|
+
type: Input
|
|
4659
|
+
}], valueChange: [{
|
|
4660
|
+
type: Output
|
|
4661
|
+
}], value: [{
|
|
4433
4662
|
type: Input
|
|
4434
|
-
}], scrollModal: [{
|
|
4435
|
-
type: ViewChild,
|
|
4436
|
-
args: ['scrollModal']
|
|
4437
4663
|
}] } });
|
|
4438
4664
|
|
|
4439
4665
|
/*
|
|
@@ -4451,11 +4677,213 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
4451
4677
|
* See the License for the specific language governing permissions and
|
|
4452
4678
|
* limitations under the License.
|
|
4453
4679
|
*/
|
|
4454
|
-
class
|
|
4680
|
+
class DocumentenApiMetadataModalModule {
|
|
4455
4681
|
}
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4682
|
+
DocumentenApiMetadataModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiMetadataModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4683
|
+
DocumentenApiMetadataModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiMetadataModalModule, declarations: [DocumentenApiMetadataModalComponent], imports: [CommonModule,
|
|
4684
|
+
TranslateModule,
|
|
4685
|
+
ModalModule$1,
|
|
4686
|
+
TitleModule,
|
|
4687
|
+
ButtonModule,
|
|
4688
|
+
TranslateModule,
|
|
4689
|
+
FormModule,
|
|
4690
|
+
InputModule,
|
|
4691
|
+
SelectModule,
|
|
4692
|
+
DatePickerModule,
|
|
4693
|
+
InputLabelModule], exports: [DocumentenApiMetadataModalComponent] });
|
|
4694
|
+
DocumentenApiMetadataModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiMetadataModalModule, imports: [[
|
|
4695
|
+
CommonModule,
|
|
4696
|
+
TranslateModule,
|
|
4697
|
+
ModalModule$1,
|
|
4698
|
+
TitleModule,
|
|
4699
|
+
ButtonModule,
|
|
4700
|
+
TranslateModule,
|
|
4701
|
+
FormModule,
|
|
4702
|
+
InputModule,
|
|
4703
|
+
SelectModule,
|
|
4704
|
+
DatePickerModule,
|
|
4705
|
+
InputLabelModule,
|
|
4706
|
+
]] });
|
|
4707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiMetadataModalModule, decorators: [{
|
|
4708
|
+
type: NgModule,
|
|
4709
|
+
args: [{
|
|
4710
|
+
declarations: [DocumentenApiMetadataModalComponent],
|
|
4711
|
+
exports: [DocumentenApiMetadataModalComponent],
|
|
4712
|
+
imports: [
|
|
4713
|
+
CommonModule,
|
|
4714
|
+
TranslateModule,
|
|
4715
|
+
ModalModule$1,
|
|
4716
|
+
TitleModule,
|
|
4717
|
+
ButtonModule,
|
|
4718
|
+
TranslateModule,
|
|
4719
|
+
FormModule,
|
|
4720
|
+
InputModule,
|
|
4721
|
+
SelectModule,
|
|
4722
|
+
DatePickerModule,
|
|
4723
|
+
InputLabelModule,
|
|
4724
|
+
],
|
|
4725
|
+
}]
|
|
4726
|
+
}] });
|
|
4727
|
+
|
|
4728
|
+
/*
|
|
4729
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
4730
|
+
*
|
|
4731
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4732
|
+
* you may not use this file except in compliance with the License.
|
|
4733
|
+
* You may obtain a copy of the License at
|
|
4734
|
+
*
|
|
4735
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4736
|
+
*
|
|
4737
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4738
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4739
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4740
|
+
* See the License for the specific language governing permissions and
|
|
4741
|
+
* limitations under the License.
|
|
4742
|
+
*/
|
|
4743
|
+
class FormIoModule {
|
|
4744
|
+
}
|
|
4745
|
+
FormIoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormIoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4746
|
+
FormIoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormIoModule, declarations: [FormioComponent,
|
|
4747
|
+
FormioBuilderComponent,
|
|
4748
|
+
FormIoUploaderComponent,
|
|
4749
|
+
DocumentenApiUploaderComponent], imports: [CommonModule,
|
|
4750
|
+
FormioModule,
|
|
4751
|
+
DropzoneModule,
|
|
4752
|
+
TranslateModule,
|
|
4753
|
+
DocumentModule,
|
|
4754
|
+
FileSizeModule,
|
|
4755
|
+
ResourceModule,
|
|
4756
|
+
RouterModule,
|
|
4757
|
+
DocumentenApiMetadataModalModule], exports: [FormioComponent,
|
|
4758
|
+
FormioBuilderComponent,
|
|
4759
|
+
FormIoUploaderComponent,
|
|
4760
|
+
DocumentenApiUploaderComponent] });
|
|
4761
|
+
FormIoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormIoModule, providers: [FormIoDomService, { provide: FormioAppConfig, useValue: AppConfig }], imports: [[
|
|
4762
|
+
CommonModule,
|
|
4763
|
+
FormioModule,
|
|
4764
|
+
DropzoneModule,
|
|
4765
|
+
TranslateModule,
|
|
4766
|
+
DocumentModule,
|
|
4767
|
+
FileSizeModule,
|
|
4768
|
+
ResourceModule,
|
|
4769
|
+
RouterModule,
|
|
4770
|
+
DocumentenApiMetadataModalModule,
|
|
4771
|
+
]] });
|
|
4772
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormIoModule, decorators: [{
|
|
4773
|
+
type: NgModule,
|
|
4774
|
+
args: [{
|
|
4775
|
+
imports: [
|
|
4776
|
+
CommonModule,
|
|
4777
|
+
FormioModule,
|
|
4778
|
+
DropzoneModule,
|
|
4779
|
+
TranslateModule,
|
|
4780
|
+
DocumentModule,
|
|
4781
|
+
FileSizeModule,
|
|
4782
|
+
ResourceModule,
|
|
4783
|
+
RouterModule,
|
|
4784
|
+
DocumentenApiMetadataModalModule,
|
|
4785
|
+
],
|
|
4786
|
+
declarations: [
|
|
4787
|
+
FormioComponent,
|
|
4788
|
+
FormioBuilderComponent,
|
|
4789
|
+
FormIoUploaderComponent,
|
|
4790
|
+
DocumentenApiUploaderComponent,
|
|
4791
|
+
],
|
|
4792
|
+
exports: [
|
|
4793
|
+
FormioComponent,
|
|
4794
|
+
FormioBuilderComponent,
|
|
4795
|
+
FormIoUploaderComponent,
|
|
4796
|
+
DocumentenApiUploaderComponent,
|
|
4797
|
+
],
|
|
4798
|
+
providers: [FormIoDomService, { provide: FormioAppConfig, useValue: AppConfig }],
|
|
4799
|
+
}]
|
|
4800
|
+
}] });
|
|
4801
|
+
|
|
4802
|
+
/*
|
|
4803
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
4804
|
+
*
|
|
4805
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4806
|
+
* you may not use this file except in compliance with the License.
|
|
4807
|
+
* You may obtain a copy of the License at
|
|
4808
|
+
*
|
|
4809
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4810
|
+
*
|
|
4811
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4812
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4813
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4814
|
+
* See the License for the specific language governing permissions and
|
|
4815
|
+
* limitations under the License.
|
|
4816
|
+
*/
|
|
4817
|
+
class ModalComponent {
|
|
4818
|
+
constructor(modalService) {
|
|
4819
|
+
this.modalService = modalService;
|
|
4820
|
+
this.title = '';
|
|
4821
|
+
this.subtitle = '';
|
|
4822
|
+
this.showFooter = false;
|
|
4823
|
+
}
|
|
4824
|
+
ngOnInit() {
|
|
4825
|
+
this.openScrollSubscription();
|
|
4826
|
+
}
|
|
4827
|
+
ngAfterViewInit() {
|
|
4828
|
+
$(`#${this.elementId}`).modal({ show: false });
|
|
4829
|
+
}
|
|
4830
|
+
show() {
|
|
4831
|
+
$(`#${this.elementId}`).modal('show');
|
|
4832
|
+
}
|
|
4833
|
+
hide() {
|
|
4834
|
+
$(`#${this.elementId}`).modal('hide');
|
|
4835
|
+
}
|
|
4836
|
+
ngOnDestroy() {
|
|
4837
|
+
this.scrollSubscription.unsubscribe();
|
|
4838
|
+
}
|
|
4839
|
+
openScrollSubscription() {
|
|
4840
|
+
this.scrollSubscription = this.modalService.scrollToTop$.subscribe(() => {
|
|
4841
|
+
const element = this.scrollModal.nativeElement;
|
|
4842
|
+
if (element)
|
|
4843
|
+
element.scrollTo(0, 0);
|
|
4844
|
+
});
|
|
4845
|
+
}
|
|
4846
|
+
}
|
|
4847
|
+
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: ValtimoModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4848
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "valtimo-modal", inputs: { elementId: "elementId", title: "title", subtitle: "subtitle", templateBelowSubtitle: "templateBelowSubtitle", showFooter: "showFooter" }, viewQueries: [{ propertyName: "scrollModal", first: true, predicate: ["scrollModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"modal fade custom-width\" [id]=\"elementId\" role=\"dialog\" aria-modal=\"true\" #scrollModal>\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header modal-header-colored colored-header-grey\">\n <div class=\"modal-title\">\n <h4 class=\"title-text mb-2\">{{ title }}</h4>\n <h5 class=\"subtitle-text\">{{ subtitle }}</h5>\n <ng-container *ngIf=\"templateBelowSubtitle\">\n <ng-container *ngTemplateOutlet=\"templateBelowSubtitle\"></ng-container>\n </ng-container>\n </div>\n <div class=\"text-right\">\n <img src=\"assets/modal/header-image.png\" class=\"modal-header-image\" />\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[body]\"></ng-content>\n </div>\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.colored-header-grey{background-color:#f3f4f7}.title-text{color:#585555}.subtitle-text{color:#959595}.modal-header-image{height:auto;width:50%}.modal-header{padding-bottom:.66rem;border-bottom:1px solid #c5c6c9}@media (min-width: 768px){.close{position:relative;left:25px;padding:0!important;margin-top:-20px!important}.close span{color:#fff}.modal-content{overflow:visible}}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
4849
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, decorators: [{
|
|
4850
|
+
type: Component,
|
|
4851
|
+
args: [{ selector: 'valtimo-modal', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"modal fade custom-width\" [id]=\"elementId\" role=\"dialog\" aria-modal=\"true\" #scrollModal>\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header modal-header-colored colored-header-grey\">\n <div class=\"modal-title\">\n <h4 class=\"title-text mb-2\">{{ title }}</h4>\n <h5 class=\"subtitle-text\">{{ subtitle }}</h5>\n <ng-container *ngIf=\"templateBelowSubtitle\">\n <ng-container *ngTemplateOutlet=\"templateBelowSubtitle\"></ng-container>\n </ng-container>\n </div>\n <div class=\"text-right\">\n <img src=\"assets/modal/header-image.png\" class=\"modal-header-image\" />\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[body]\"></ng-content>\n </div>\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.colored-header-grey{background-color:#f3f4f7}.title-text{color:#585555}.subtitle-text{color:#959595}.modal-header-image{height:auto;width:50%}.modal-header{padding-bottom:.66rem;border-bottom:1px solid #c5c6c9}@media (min-width: 768px){.close{position:relative;left:25px;padding:0!important;margin-top:-20px!important}.close span{color:#fff}.modal-content{overflow:visible}}\n"] }]
|
|
4852
|
+
}], ctorParameters: function () { return [{ type: ValtimoModalService }]; }, propDecorators: { elementId: [{
|
|
4853
|
+
type: Input
|
|
4854
|
+
}], title: [{
|
|
4855
|
+
type: Input
|
|
4856
|
+
}], subtitle: [{
|
|
4857
|
+
type: Input
|
|
4858
|
+
}], templateBelowSubtitle: [{
|
|
4859
|
+
type: Input
|
|
4860
|
+
}], showFooter: [{
|
|
4861
|
+
type: Input
|
|
4862
|
+
}], scrollModal: [{
|
|
4863
|
+
type: ViewChild,
|
|
4864
|
+
args: ['scrollModal']
|
|
4865
|
+
}] } });
|
|
4866
|
+
|
|
4867
|
+
/*
|
|
4868
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
4869
|
+
*
|
|
4870
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4871
|
+
* you may not use this file except in compliance with the License.
|
|
4872
|
+
* You may obtain a copy of the License at
|
|
4873
|
+
*
|
|
4874
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4875
|
+
*
|
|
4876
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4877
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4878
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4879
|
+
* See the License for the specific language governing permissions and
|
|
4880
|
+
* limitations under the License.
|
|
4881
|
+
*/
|
|
4882
|
+
class ModalModule {
|
|
4883
|
+
}
|
|
4884
|
+
ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4885
|
+
ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, declarations: [ModalComponent], imports: [CommonModule], exports: [ModalComponent] });
|
|
4886
|
+
ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, imports: [[CommonModule]] });
|
|
4459
4887
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, decorators: [{
|
|
4460
4888
|
type: NgModule,
|
|
4461
4889
|
args: [{
|
|
@@ -4887,7 +5315,7 @@ const formIoUploaderEditForm = () => ({
|
|
|
4887
5315
|
* limitations under the License.
|
|
4888
5316
|
*/
|
|
4889
5317
|
const customUploaderType = 'valtimo-file';
|
|
4890
|
-
const COMPONENT_OPTIONS = {
|
|
5318
|
+
const COMPONENT_OPTIONS$1 = {
|
|
4891
5319
|
type: customUploaderType,
|
|
4892
5320
|
selector: 'valtimo-form-io-uploader',
|
|
4893
5321
|
title: 'Valtimo File Upload',
|
|
@@ -4898,7 +5326,7 @@ const COMPONENT_OPTIONS = {
|
|
|
4898
5326
|
editForm: formIoUploaderEditForm,
|
|
4899
5327
|
};
|
|
4900
5328
|
function registerFormioUploadComponent(injector) {
|
|
4901
|
-
const originalUploadComponent = createCustomFormioComponent(COMPONENT_OPTIONS);
|
|
5329
|
+
const originalUploadComponent = createCustomFormioComponent(COMPONENT_OPTIONS$1);
|
|
4902
5330
|
// override setValue function to allow for setting an array value
|
|
4903
5331
|
class UploaderComponent extends originalUploadComponent {
|
|
4904
5332
|
setValue(value) {
|
|
@@ -4906,8 +5334,8 @@ function registerFormioUploadComponent(injector) {
|
|
|
4906
5334
|
return true;
|
|
4907
5335
|
}
|
|
4908
5336
|
}
|
|
4909
|
-
if (!customElements.get(COMPONENT_OPTIONS.selector)) {
|
|
4910
|
-
registerCustomFormioComponentWithClass(COMPONENT_OPTIONS, FormIoUploaderComponent, UploaderComponent, injector);
|
|
5337
|
+
if (!customElements.get(COMPONENT_OPTIONS$1.selector)) {
|
|
5338
|
+
registerCustomFormioComponentWithClass(COMPONENT_OPTIONS$1, FormIoUploaderComponent, UploaderComponent, injector);
|
|
4911
5339
|
}
|
|
4912
5340
|
}
|
|
4913
5341
|
|
|
@@ -4926,67 +5354,402 @@ function registerFormioUploadComponent(injector) {
|
|
|
4926
5354
|
* See the License for the specific language governing permissions and
|
|
4927
5355
|
* limitations under the License.
|
|
4928
5356
|
*/
|
|
4929
|
-
const
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4949
|
-
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
}
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
'
|
|
5357
|
+
const documentenApiUploaderEditForm = () => ({
|
|
5358
|
+
components: [
|
|
5359
|
+
{ key: 'type', type: 'hidden' },
|
|
5360
|
+
{
|
|
5361
|
+
type: 'textfield',
|
|
5362
|
+
input: true,
|
|
5363
|
+
key: 'label',
|
|
5364
|
+
label: 'Label',
|
|
5365
|
+
placeholder: 'Label',
|
|
5366
|
+
validate: {
|
|
5367
|
+
required: true,
|
|
5368
|
+
},
|
|
5369
|
+
},
|
|
5370
|
+
{
|
|
5371
|
+
type: 'textfield',
|
|
5372
|
+
input: true,
|
|
5373
|
+
key: 'key',
|
|
5374
|
+
label: 'Property Name',
|
|
5375
|
+
placeholder: 'Property Name',
|
|
5376
|
+
tooltip: 'The name of this field in the API endpoint.',
|
|
5377
|
+
validate: {
|
|
5378
|
+
required: true,
|
|
5379
|
+
},
|
|
5380
|
+
},
|
|
5381
|
+
{
|
|
5382
|
+
type: 'textfield',
|
|
5383
|
+
input: true,
|
|
5384
|
+
key: 'customOptions.title',
|
|
5385
|
+
label: 'Title',
|
|
5386
|
+
placeholder: 'Title',
|
|
5387
|
+
tooltip: 'Leave empty to use the default title',
|
|
5388
|
+
validate: {
|
|
5389
|
+
required: false,
|
|
5390
|
+
},
|
|
5391
|
+
},
|
|
5392
|
+
{
|
|
5393
|
+
type: 'checkbox',
|
|
5394
|
+
input: true,
|
|
5395
|
+
inputType: 'checkbox',
|
|
5396
|
+
key: 'customOptions.hideTitle',
|
|
5397
|
+
label: 'Hide title',
|
|
5398
|
+
validate: {
|
|
5399
|
+
required: false,
|
|
5400
|
+
},
|
|
5401
|
+
},
|
|
5402
|
+
{
|
|
5403
|
+
type: 'textfield',
|
|
5404
|
+
input: true,
|
|
5405
|
+
key: 'customOptions.subtitle',
|
|
5406
|
+
label: 'Subtitle',
|
|
5407
|
+
placeholder: 'Title',
|
|
5408
|
+
tooltip: 'Leave empty to hide subtitle',
|
|
5409
|
+
validate: {
|
|
5410
|
+
required: false,
|
|
5411
|
+
},
|
|
5412
|
+
},
|
|
5413
|
+
{
|
|
5414
|
+
type: 'number',
|
|
5415
|
+
input: true,
|
|
5416
|
+
key: 'customOptions.maxFileSize',
|
|
5417
|
+
label: 'Maximum file size',
|
|
5418
|
+
placeholder: 'Maximum file size',
|
|
5419
|
+
defaultValue: 5,
|
|
5420
|
+
validate: {
|
|
5421
|
+
required: true,
|
|
5422
|
+
},
|
|
5423
|
+
},
|
|
5424
|
+
{
|
|
5425
|
+
type: 'checkbox',
|
|
5426
|
+
input: true,
|
|
5427
|
+
inputType: 'checkbox',
|
|
5428
|
+
key: 'customOptions.hideMaxFileSize',
|
|
5429
|
+
label: 'Hide maximum file size',
|
|
5430
|
+
validate: {
|
|
5431
|
+
required: false,
|
|
5432
|
+
},
|
|
5433
|
+
},
|
|
5434
|
+
{
|
|
5435
|
+
type: 'checkbox',
|
|
5436
|
+
input: true,
|
|
5437
|
+
inputType: 'checkbox',
|
|
5438
|
+
key: 'customOptions.camera',
|
|
5439
|
+
label: 'Allow camera uploads',
|
|
5440
|
+
validate: {
|
|
5441
|
+
required: false,
|
|
5442
|
+
},
|
|
5443
|
+
},
|
|
5444
|
+
{
|
|
5445
|
+
type: 'textfield',
|
|
5446
|
+
input: true,
|
|
5447
|
+
key: 'customOptions.documentTitle',
|
|
5448
|
+
label: 'Default document title',
|
|
5449
|
+
tooltip: 'Leave empty to let the user input their own title',
|
|
5450
|
+
validate: {
|
|
5451
|
+
required: false,
|
|
5452
|
+
},
|
|
5453
|
+
},
|
|
5454
|
+
{
|
|
5455
|
+
type: 'checkbox',
|
|
5456
|
+
input: true,
|
|
5457
|
+
inputType: 'checkbox',
|
|
5458
|
+
key: 'customOptions.disableDocumentTitle',
|
|
5459
|
+
label: 'Disable document title input',
|
|
5460
|
+
validate: {
|
|
5461
|
+
required: false,
|
|
5462
|
+
},
|
|
5463
|
+
},
|
|
5464
|
+
{
|
|
5465
|
+
type: 'textfield',
|
|
5466
|
+
input: true,
|
|
5467
|
+
key: 'customOptions.filename',
|
|
5468
|
+
label: 'Default filename',
|
|
5469
|
+
tooltip: 'Leave empty to let the user input their own filename',
|
|
5470
|
+
validate: {
|
|
5471
|
+
required: false,
|
|
5472
|
+
},
|
|
5473
|
+
},
|
|
5474
|
+
{
|
|
5475
|
+
type: 'checkbox',
|
|
5476
|
+
input: true,
|
|
5477
|
+
inputType: 'checkbox',
|
|
5478
|
+
key: 'customOptions.disableFilename',
|
|
5479
|
+
label: 'Disable filename input',
|
|
5480
|
+
validate: {
|
|
5481
|
+
required: false,
|
|
5482
|
+
},
|
|
5483
|
+
},
|
|
5484
|
+
{
|
|
5485
|
+
type: 'textfield',
|
|
5486
|
+
input: true,
|
|
5487
|
+
key: 'customOptions.author',
|
|
5488
|
+
label: 'Default author',
|
|
5489
|
+
tooltip: 'Leave empty to let the user input their own author',
|
|
5490
|
+
validate: {
|
|
5491
|
+
required: false,
|
|
5492
|
+
},
|
|
5493
|
+
},
|
|
5494
|
+
{
|
|
5495
|
+
type: 'checkbox',
|
|
5496
|
+
input: true,
|
|
5497
|
+
inputType: 'checkbox',
|
|
5498
|
+
key: 'customOptions.disableAuthor',
|
|
5499
|
+
label: 'Disable author input',
|
|
5500
|
+
validate: {
|
|
5501
|
+
required: false,
|
|
5502
|
+
},
|
|
5503
|
+
},
|
|
5504
|
+
{
|
|
5505
|
+
type: 'select',
|
|
5506
|
+
label: 'Default status',
|
|
5507
|
+
key: 'customOptions.status',
|
|
5508
|
+
placeholder: 'Select a default status',
|
|
5509
|
+
data: {
|
|
5510
|
+
values: [
|
|
5511
|
+
{ value: 'in_bewerking', label: 'In editing' },
|
|
5512
|
+
{ value: 'ter_vaststelling', label: 'To be confirmed' },
|
|
5513
|
+
{ value: 'definitief', label: 'Definitive' },
|
|
5514
|
+
{ value: 'gearchiveerd', label: 'Archived' },
|
|
5515
|
+
],
|
|
5516
|
+
},
|
|
5517
|
+
dataSrc: 'values',
|
|
5518
|
+
input: true,
|
|
5519
|
+
validate: {
|
|
5520
|
+
required: false,
|
|
5521
|
+
},
|
|
5522
|
+
},
|
|
5523
|
+
{
|
|
5524
|
+
type: 'checkbox',
|
|
5525
|
+
input: true,
|
|
5526
|
+
inputType: 'checkbox',
|
|
5527
|
+
key: 'customOptions.disableStatus',
|
|
5528
|
+
label: 'Disable status input',
|
|
5529
|
+
validate: {
|
|
5530
|
+
required: false,
|
|
5531
|
+
},
|
|
5532
|
+
},
|
|
5533
|
+
{
|
|
5534
|
+
type: 'select',
|
|
5535
|
+
label: 'Default language',
|
|
5536
|
+
key: 'customOptions.language',
|
|
5537
|
+
placeholder: 'Select a default language',
|
|
5538
|
+
data: {
|
|
5539
|
+
values: [
|
|
5540
|
+
{ value: 'nld', label: 'Dutch' },
|
|
5541
|
+
{ value: 'eng', label: 'English' },
|
|
5542
|
+
{ value: 'deu', label: 'German' },
|
|
5543
|
+
],
|
|
5544
|
+
},
|
|
5545
|
+
dataSrc: 'values',
|
|
5546
|
+
input: true,
|
|
5547
|
+
validate: {
|
|
5548
|
+
required: false,
|
|
5549
|
+
},
|
|
5550
|
+
},
|
|
5551
|
+
{
|
|
5552
|
+
type: 'checkbox',
|
|
5553
|
+
input: true,
|
|
5554
|
+
inputType: 'checkbox',
|
|
5555
|
+
key: 'customOptions.disableLanguage',
|
|
5556
|
+
label: 'Disable language input',
|
|
5557
|
+
validate: {
|
|
5558
|
+
required: false,
|
|
5559
|
+
},
|
|
5560
|
+
},
|
|
5561
|
+
{
|
|
5562
|
+
type: 'textfield',
|
|
5563
|
+
input: true,
|
|
5564
|
+
key: 'customOptions.documentType',
|
|
5565
|
+
label: 'Default document type url',
|
|
5566
|
+
tooltip: 'Must match the document type url exactly. Leave empty to let the user input their own document type',
|
|
5567
|
+
validate: {
|
|
5568
|
+
required: false,
|
|
5569
|
+
},
|
|
5570
|
+
},
|
|
5571
|
+
{
|
|
5572
|
+
type: 'checkbox',
|
|
5573
|
+
input: true,
|
|
5574
|
+
inputType: 'checkbox',
|
|
5575
|
+
key: 'customOptions.disableDocumentType',
|
|
5576
|
+
label: 'Disable document type input',
|
|
5577
|
+
validate: {
|
|
5578
|
+
required: false,
|
|
5579
|
+
},
|
|
5580
|
+
},
|
|
5581
|
+
{
|
|
5582
|
+
type: 'textfield',
|
|
5583
|
+
input: true,
|
|
5584
|
+
key: 'customOptions.description',
|
|
5585
|
+
label: 'Default description',
|
|
5586
|
+
tooltip: 'Leave empty to let the user input their own description',
|
|
5587
|
+
validate: {
|
|
5588
|
+
required: false,
|
|
5589
|
+
},
|
|
5590
|
+
},
|
|
5591
|
+
{
|
|
5592
|
+
type: 'checkbox',
|
|
5593
|
+
input: true,
|
|
5594
|
+
inputType: 'checkbox',
|
|
5595
|
+
key: 'customOptions.disableDescription',
|
|
5596
|
+
label: 'Disable description input',
|
|
5597
|
+
validate: {
|
|
5598
|
+
required: false,
|
|
5599
|
+
},
|
|
5600
|
+
},
|
|
5601
|
+
{
|
|
5602
|
+
type: 'select',
|
|
5603
|
+
label: 'Default confidentiality level',
|
|
5604
|
+
key: 'customOptions.confidentialityLevel',
|
|
5605
|
+
placeholder: 'Select a default confidentiality level',
|
|
5606
|
+
data: {
|
|
5607
|
+
values: [
|
|
5608
|
+
{ value: 'openbaar', label: 'Public' },
|
|
5609
|
+
{ value: 'beperkt_openbaar', label: 'Restricted public' },
|
|
5610
|
+
{ value: 'intern', label: 'Internal' },
|
|
5611
|
+
{ value: 'zaakvertrouwelijk', label: 'Case confidential' },
|
|
5612
|
+
{ value: 'vertrouwelijk', label: 'Private' },
|
|
5613
|
+
{ value: 'confidentieel', label: 'Confidential' },
|
|
5614
|
+
{ value: 'geheim', label: 'Secret' },
|
|
5615
|
+
{ value: 'zeer_geheim', label: 'Very secret' },
|
|
5616
|
+
],
|
|
5617
|
+
},
|
|
5618
|
+
dataSrc: 'values',
|
|
5619
|
+
input: true,
|
|
5620
|
+
validate: {
|
|
5621
|
+
required: false,
|
|
5622
|
+
},
|
|
5623
|
+
},
|
|
5624
|
+
{
|
|
5625
|
+
type: 'checkbox',
|
|
5626
|
+
input: true,
|
|
5627
|
+
inputType: 'checkbox',
|
|
5628
|
+
key: 'customOptions.disableConfidentialityLevel',
|
|
5629
|
+
label: 'Disable confidentiality level input',
|
|
5630
|
+
validate: {
|
|
5631
|
+
required: false,
|
|
5632
|
+
},
|
|
5633
|
+
},
|
|
5634
|
+
],
|
|
5635
|
+
});
|
|
5636
|
+
|
|
5637
|
+
/*
|
|
5638
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
5639
|
+
*
|
|
5640
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5641
|
+
* you may not use this file except in compliance with the License.
|
|
5642
|
+
* You may obtain a copy of the License at
|
|
5643
|
+
*
|
|
5644
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
5645
|
+
*
|
|
5646
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5647
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
5648
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5649
|
+
* See the License for the specific language governing permissions and
|
|
5650
|
+
* limitations under the License.
|
|
5651
|
+
*/
|
|
5652
|
+
const customDocumentApiUploaderType = 'documenten-api-file';
|
|
5653
|
+
const COMPONENT_OPTIONS = {
|
|
5654
|
+
type: customDocumentApiUploaderType,
|
|
5655
|
+
selector: 'documenten-api-form-io-uploader',
|
|
5656
|
+
title: 'Documenten API File Upload',
|
|
5657
|
+
group: 'advanced',
|
|
5658
|
+
icon: 'upload',
|
|
5659
|
+
// set empty value to force formio to accept arrays as valid input value for this field type
|
|
5660
|
+
emptyValue: [],
|
|
5661
|
+
editForm: documentenApiUploaderEditForm,
|
|
5662
|
+
};
|
|
5663
|
+
function registerDocumentenApiFormioUploadComponent(injector) {
|
|
5664
|
+
const originalUploadComponent = createCustomFormioComponent(COMPONENT_OPTIONS);
|
|
5665
|
+
// override setValue function to allow for setting an array value
|
|
5666
|
+
class UploaderComponent extends originalUploadComponent {
|
|
5667
|
+
setValue(value) {
|
|
5668
|
+
this._customAngularElement.value = value;
|
|
5669
|
+
return true;
|
|
5670
|
+
}
|
|
5671
|
+
}
|
|
5672
|
+
if (!customElements.get(COMPONENT_OPTIONS.selector)) {
|
|
5673
|
+
registerCustomFormioComponentWithClass(COMPONENT_OPTIONS, DocumentenApiUploaderComponent, UploaderComponent, injector);
|
|
5674
|
+
}
|
|
5675
|
+
}
|
|
5676
|
+
|
|
5677
|
+
/*
|
|
5678
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
5679
|
+
*
|
|
5680
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5681
|
+
* you may not use this file except in compliance with the License.
|
|
5682
|
+
* You may obtain a copy of the License at
|
|
5683
|
+
*
|
|
5684
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
5685
|
+
*
|
|
5686
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5687
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
5688
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5689
|
+
* See the License for the specific language governing permissions and
|
|
5690
|
+
* limitations under the License.
|
|
5691
|
+
*/
|
|
5692
|
+
const SelectComponent = Components.components.select;
|
|
5693
|
+
function registerFormioFileSelectorComponent(injector) {
|
|
5694
|
+
const documentService = injector.get(DocumentService);
|
|
5695
|
+
const stateService = injector.get(FormIoStateService);
|
|
5696
|
+
const unavailableMessage = {
|
|
5697
|
+
label: 'could not retrieve documents',
|
|
5698
|
+
value: null,
|
|
5699
|
+
};
|
|
5700
|
+
function getDocumentResources(documentId) {
|
|
5701
|
+
if (!documentId) {
|
|
5702
|
+
return new Promise(resolve => {
|
|
5703
|
+
resolve([unavailableMessage]);
|
|
5704
|
+
});
|
|
5705
|
+
}
|
|
5706
|
+
return documentService
|
|
5707
|
+
.getDocument(documentId)
|
|
5708
|
+
.toPromise()
|
|
5709
|
+
.then(document => document.relatedFiles.map(relatedFile => ({
|
|
5710
|
+
label: relatedFile.fileName,
|
|
5711
|
+
value: relatedFile.fileId,
|
|
5712
|
+
})))
|
|
5713
|
+
.catch(() => new Promise(resolve => {
|
|
5714
|
+
resolve([unavailableMessage]);
|
|
5715
|
+
}));
|
|
5716
|
+
}
|
|
5717
|
+
class ResourceSelectorComponent extends SelectComponent {
|
|
5718
|
+
static schema(...extend) {
|
|
5719
|
+
return SelectComponent.schema({
|
|
5720
|
+
type: 'resource-selector',
|
|
5721
|
+
label: 'Resource selector',
|
|
5722
|
+
key: 'resource-selector',
|
|
5723
|
+
dataSrc: 'custom',
|
|
5724
|
+
dataType: 'string',
|
|
5725
|
+
valueProperty: 'value',
|
|
5726
|
+
asyncValues: true,
|
|
5727
|
+
data: {
|
|
5728
|
+
custom: 'values = instance.getResources()',
|
|
5729
|
+
},
|
|
5730
|
+
...extend,
|
|
5731
|
+
});
|
|
5732
|
+
}
|
|
5733
|
+
getResources() {
|
|
5734
|
+
return stateService.documentId$
|
|
5735
|
+
.pipe(take(1))
|
|
5736
|
+
.toPromise()
|
|
5737
|
+
.then(documentId => getDocumentResources(documentId));
|
|
5738
|
+
}
|
|
5739
|
+
static get builderInfo() {
|
|
5740
|
+
return {
|
|
5741
|
+
title: 'Document picker',
|
|
5742
|
+
icon: 'th-list',
|
|
5743
|
+
group: 'basic',
|
|
5744
|
+
documentation: '/userguide/#textfield',
|
|
5745
|
+
weight: 0,
|
|
5746
|
+
schema: ResourceSelectorComponent.schema(),
|
|
5747
|
+
};
|
|
5748
|
+
}
|
|
5749
|
+
}
|
|
5750
|
+
Formio.use({
|
|
5751
|
+
components: {
|
|
5752
|
+
'resource-selector': ResourceSelectorComponent,
|
|
4990
5753
|
},
|
|
4991
5754
|
});
|
|
4992
5755
|
}
|
|
@@ -5173,115 +5936,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
5173
5936
|
* See the License for the specific language governing permissions and
|
|
5174
5937
|
* limitations under the License.
|
|
5175
5938
|
*/
|
|
5176
|
-
class
|
|
5177
|
-
constructor(
|
|
5178
|
-
this.
|
|
5179
|
-
this.
|
|
5180
|
-
this.
|
|
5181
|
-
this.
|
|
5182
|
-
this.
|
|
5183
|
-
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
'intern',
|
|
5187
|
-
'zaakvertrouwelijk',
|
|
5188
|
-
'vertrouwelijk',
|
|
5189
|
-
'confidentieel',
|
|
5190
|
-
'geheim',
|
|
5191
|
-
'zeer_geheim',
|
|
5192
|
-
];
|
|
5193
|
-
this.confidentialityLevelItems$ = this.translateService
|
|
5194
|
-
.stream('key')
|
|
5195
|
-
.pipe(map(() => this.CONFIDENTIALITY_LEVELS.map(confidentialityLevel => ({
|
|
5196
|
-
id: confidentialityLevel,
|
|
5197
|
-
text: this.translateService.instant(`document.${confidentialityLevel}`),
|
|
5198
|
-
}))));
|
|
5199
|
-
this.STATUSES = [
|
|
5200
|
-
'in_bewerking',
|
|
5201
|
-
'ter_vaststelling',
|
|
5202
|
-
'definitief',
|
|
5203
|
-
'gearchiveerd',
|
|
5204
|
-
];
|
|
5205
|
-
this.statusItems$ = this.translateService.stream('key').pipe(map(() => this.STATUSES.map(status => ({
|
|
5206
|
-
id: status,
|
|
5207
|
-
text: this.translateService.instant(`document.${status}`),
|
|
5208
|
-
}))));
|
|
5209
|
-
this.LANGUAGES = ['nld', 'eng', 'deu'];
|
|
5210
|
-
this.languageItems$ = this.translateService.stream('key').pipe(map(() => this.LANGUAGES.map(language => ({
|
|
5211
|
-
id: language,
|
|
5212
|
-
text: this.translateService.instant(`document.${language}`),
|
|
5213
|
-
}))));
|
|
5214
|
-
this.documentTypeItems$ = this.route.params.pipe(switchMap(params => this.documentService.getDocumentTypes(params.documentDefinitionName)), map(documentTypes => documentTypes.map(type => ({ id: type.url, text: type.name }))));
|
|
5215
|
-
this.showForm$ = this.modalService.modalVisible$;
|
|
5216
|
-
this.valid$ = new BehaviorSubject(false);
|
|
5217
|
-
this.formData$ = new BehaviorSubject(null);
|
|
5939
|
+
class SearchFieldsComponent {
|
|
5940
|
+
constructor() {
|
|
5941
|
+
this.searchFields$ = new BehaviorSubject([]);
|
|
5942
|
+
this.values$ = new BehaviorSubject({});
|
|
5943
|
+
this.valueChange = new EventEmitter();
|
|
5944
|
+
this.doSearch = new EventEmitter();
|
|
5945
|
+
this.expanded$ = new BehaviorSubject(false);
|
|
5946
|
+
}
|
|
5947
|
+
set searchFields(fields) {
|
|
5948
|
+
this.searchFields$.next(fields);
|
|
5218
5949
|
}
|
|
5219
5950
|
ngOnInit() {
|
|
5220
|
-
this.
|
|
5221
|
-
this.openHideSubscription();
|
|
5951
|
+
this.openValuesSubscription();
|
|
5222
5952
|
}
|
|
5223
5953
|
ngOnDestroy() {
|
|
5224
|
-
this.
|
|
5225
|
-
this.hideSubscription?.unsubscribe();
|
|
5226
|
-
}
|
|
5227
|
-
hide() {
|
|
5228
|
-
this.formData$.next(null);
|
|
5229
|
-
this.valid$.next(false);
|
|
5230
|
-
this.modalService.closeModal();
|
|
5954
|
+
this.valuesSubscription?.unsubscribe();
|
|
5231
5955
|
}
|
|
5232
|
-
|
|
5233
|
-
this.
|
|
5234
|
-
|
|
5235
|
-
save() {
|
|
5236
|
-
combineLatest([this.valid$, this.formData$])
|
|
5237
|
-
.pipe(take$1(1))
|
|
5238
|
-
.subscribe(([valid, formData]) => {
|
|
5239
|
-
if (valid) {
|
|
5240
|
-
this.metadata.emit(formData);
|
|
5241
|
-
}
|
|
5956
|
+
singleValueChange(searchFieldKey, value) {
|
|
5957
|
+
this.values$.pipe(take$1(1)).subscribe(values => {
|
|
5958
|
+
this.values$.next({ ...values, [searchFieldKey]: value });
|
|
5242
5959
|
});
|
|
5243
5960
|
}
|
|
5244
|
-
|
|
5245
|
-
this.
|
|
5246
|
-
|
|
5247
|
-
|
|
5248
|
-
setValid(data) {
|
|
5249
|
-
this.valid$.next(!!(data.filename &&
|
|
5250
|
-
data.title &&
|
|
5251
|
-
data.author &&
|
|
5252
|
-
data.creationDate &&
|
|
5253
|
-
data.status &&
|
|
5254
|
-
data.language &&
|
|
5255
|
-
data.informatieobjecttype));
|
|
5961
|
+
multipleValueChange(searchFieldKey, value) {
|
|
5962
|
+
this.values$.pipe(take$1(1)).subscribe(values => {
|
|
5963
|
+
this.values$.next({ ...values, [searchFieldKey]: { start: value.start, end: value.end } });
|
|
5964
|
+
});
|
|
5256
5965
|
}
|
|
5257
|
-
|
|
5258
|
-
this.
|
|
5259
|
-
this.
|
|
5966
|
+
toggleExpanded() {
|
|
5967
|
+
this.expanded$.pipe(take$1(1)).subscribe(expanded => {
|
|
5968
|
+
this.expanded$.next(!expanded);
|
|
5260
5969
|
});
|
|
5261
5970
|
}
|
|
5262
|
-
|
|
5263
|
-
this.
|
|
5264
|
-
|
|
5971
|
+
search() {
|
|
5972
|
+
this.doSearch.emit();
|
|
5973
|
+
}
|
|
5974
|
+
openValuesSubscription() {
|
|
5975
|
+
this.valuesSubscription = combineLatest([this.searchFields$, this.values$]).subscribe(([searchFields, values]) => {
|
|
5976
|
+
const valuesKeys = Object.keys(values);
|
|
5977
|
+
const searchFieldsCopy = [...(searchFields || [])];
|
|
5978
|
+
valuesKeys.forEach(valueKey => {
|
|
5979
|
+
const correspondingSearchFieldIndex = searchFieldsCopy.findIndex(searchField => searchField.key === valueKey);
|
|
5980
|
+
if (correspondingSearchFieldIndex !== -1) {
|
|
5981
|
+
searchFieldsCopy[correspondingSearchFieldIndex].value = values[valueKey];
|
|
5982
|
+
}
|
|
5983
|
+
});
|
|
5984
|
+
console.log(searchFieldsCopy);
|
|
5985
|
+
this.valueChange.emit(searchFieldsCopy);
|
|
5265
5986
|
});
|
|
5266
5987
|
}
|
|
5267
5988
|
}
|
|
5268
|
-
|
|
5269
|
-
DocumentenApiMetadataModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: { show$: "show$", hide$: "hide$", disabled$: "disabled$", file$: "file$" }, outputs: { metadata: "metadata" }, viewQueries: [{ propertyName: "documentenApiMetadataModal", first: true, predicate: ["documentenApiMetadataModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #documentenApiMetadataModal\n (closeEvent)=\"hide()\"\n *ngIf=\"{file: file$ | async, disabled: disabled$ | async, valid: valid$ | async} as obs\"\n>\n <div role=\"header\">\n <div class=\"edit-configuration-title\">\n <v-title [center]=\"true\" [fullWidth]=\"true\" [margin]=\"false\" type=\"h2\">{{\n 'document.fillInMetadata' | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">{{\n 'document.cancel' | translate\n }}</v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"upload\"\n type=\"success\"\n >{{ 'document.upload' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n [defaultValue]=\"obs.file?.name\"\n [disabled]=\"obs.disabled\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.filename' | translate\"\n [tooltip]=\"'document.filenameTooltip' | translate\"\n name=\"filename\"\n >\n </v-input>\n <v-input\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.inputTitle' | translate\"\n [tooltip]=\"'document.inputTitleTooltip' | translate\"\n [widthPx]=\"400\"\n name=\"title\"\n >\n </v-input>\n <v-input\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.author' | translate\"\n [tooltip]=\"'document.authorTooltip' | translate\"\n [widthPx]=\"300\"\n name=\"author\"\n >\n </v-input>\n <v-select\n [disabled]=\"obs.disabled\"\n [items]=\"statusItems$ | async\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.status' | translate\"\n [tooltip]=\"'document.statusTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"status\"\n ></v-select>\n <v-select\n *ngIf=\"languageItems$ | async as languageItems\"\n [defaultSelection]=\"languageItems[0]\"\n [disabled]=\"obs.disabled\"\n [items]=\"languageItems\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.language' | translate\"\n [tooltip]=\"'document.languageTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"language\"\n ></v-select>\n <ng-container *ngIf=\"{documentTypeItems: documentTypeItems$ | async} as obs\">\n <v-select\n [disabled]=\"obs.disabled\"\n [items]=\"obs.documentTypeItems\"\n [loading]=\"!obs.documentTypeItems\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.informatieobjecttype' | translate\"\n [tooltip]=\"'document.informatieobjecttypeTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"informatieobjecttype\"\n ></v-select>\n </ng-container>\n <v-date-picker\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.creationDate' | translate\"\n [tooltip]=\"'document.creationDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"creationDate\"\n ></v-date-picker>\n <v-date-picker\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [title]=\"'document.receiptDate' | translate\"\n [tooltip]=\"'document.receiptDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"receiptDate\"\n ></v-date-picker>\n <v-date-picker\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [title]=\"'document.sendDate' | translate\"\n [tooltip]=\"'document.sendDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"sendDate\"\n ></v-date-picker>\n <v-input\n [disabled]=\"obs.disabled\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [title]=\"'document.inputDescription' | translate\"\n [tooltip]=\"'document.inputDescriptionTooltip' | translate\"\n name=\"description\"\n >\n </v-input>\n <v-select\n [disabled]=\"obs.disabled\"\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [title]=\"'document.confidentialityLevel' | translate\"\n [tooltip]=\"'document.confidentialityLevelTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n ></v-select>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons{display:flex;flex-direction:row;width:100%;justify-content:space-between}\n"], components: [{ type: i1$4.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { type: i1$4.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { type: i1$4.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { type: i1$4.FormComponent, selector: "v-form", outputs: ["valueChange"] }, { type: i1$4.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox"], outputs: ["valueChange"] }, { type: i1$4.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "clearable", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder"], outputs: ["selectedChange", "clear"] }, { type: i1$4.DatePickerComponent, selector: "v-date-picker", inputs: ["name", "title", "titleTranslationKey", "widthPx", "fullWidth", "margin", "disabled", "tooltip", "required", "defaultDate", "defaultDateIsToday"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe, "translate": i1$8.TranslatePipe } });
|
|
5270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type:
|
|
5989
|
+
SearchFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SearchFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5990
|
+
SearchFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SearchFieldsComponent, selector: "valtimo-search-fields", inputs: { loading: "loading", searchFields: "searchFields" }, outputs: { valueChange: "valueChange", doSearch: "doSearch" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"search fields\">\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngTemplateOutlet=\"searchFieldsTemplate\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingTemplate>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #searchFieldsTemplate>\n <valtimo-widget>\n <div class=\"row p-3\" [ngClass]=\"{'row--hidden': (expanded$ | async) === false}\">\n <ng-container *ngFor=\"let searchField of searchFields$ | async; let i = index\">\n <div class=\"col-4\">\n <ng-container\n *ngTemplateOutlet=\"searchFieldTemplate; context: {searchField: searchField}\"\n ></ng-container>\n </div>\n <div class=\"w-100\" *ngIf=\"(i + 1) % 3 === 0\"></div>\n </ng-container>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ng-container *ngTemplateOutlet=\"buttonsTemplate\"></ng-container>\n </div>\n </div>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #searchFieldTemplate let-searchField=\"searchField\">\n <ng-container\n *ngIf=\"{\n tooltipKey: 'searchFieldsTooltips.' + searchField.key,\n tooltip: 'searchFieldsTooltips.' + searchField.key | translate\n } as vars\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateText;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateNumber;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateDate;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateNumberRange;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateDateRange;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateText\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <v-input\n *ngIf=\"searchField.datatype === 'text' && searchField.fieldtype === 'single'\"\n [name]=\"searchField.key\"\n [title]=\"'searchFields.' + searchField.key | translate\"\n [fullWidth]=\"true\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n (valueChange)=\"singleValueChange(searchField.key, $event)\"\n [smallLabel]=\"true\"\n >\n </v-input>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateNumber\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <v-input\n *ngIf=\"searchField.datatype === 'number' && searchField.fieldtype === 'single'\"\n [name]=\"searchField.key\"\n [title]=\"'searchFields.' + searchField.key | translate\"\n [fullWidth]=\"true\"\n (valueChange)=\"singleValueChange(searchField.key, $event)\"\n type=\"number\"\n [hideNumberSpinBox]=\"true\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n [smallLabel]=\"true\"\n >\n </v-input>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateDate\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <v-date-picker\n *ngIf=\"searchField.datatype === 'date' && searchField.fieldtype === 'single'\"\n [title]=\"'searchFields.' + searchField.key | translate\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n [name]=\"searchField.key\"\n fullWidth=\"true\"\n (valueChange)=\"singleValueChange(searchField.key, $event)\"\n [smallLabel]=\"true\"\n ></v-date-picker>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateNumberRange\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <ng-container *ngIf=\"searchField.datatype === 'number' && searchField.fieldtype === 'range'\">\n <v-input-label\n [title]=\"'searchFields.' + searchField.key | translate\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n [small]=\"true\"\n ></v-input-label>\n <v-form\n (valueChange)=\"multipleValueChange(searchField.key, $event)\"\n className=\"multiple-search-fields\"\n >\n <v-input name=\"start\" [fullWidth]=\"true\" type=\"number\" [hideNumberSpinBox]=\"true\"> </v-input>\n <ng-container *ngTemplateOutlet=\"toText\"></ng-container>\n <v-input name=\"end\" [fullWidth]=\"true\" type=\"number\" [hideNumberSpinBox]=\"true\"> </v-input>\n </v-form>\n </ng-container>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateDateRange\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <ng-container *ngIf=\"searchField.datatype === 'date' && searchField.fieldtype === 'range'\">\n <v-input-label\n [title]=\"'searchFields.' + searchField.key | translate\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n [small]=\"true\"\n ></v-input-label>\n <v-form\n (valueChange)=\"multipleValueChange(searchField.key, $event)\"\n className=\"multiple-search-fields\"\n >\n <v-date-picker name=\"start\" fullWidth=\"true\"></v-date-picker>\n <ng-container *ngTemplateOutlet=\"toText\"></ng-container>\n <v-date-picker name=\"end\" fullWidth=\"true\"></v-date-picker>\n </v-form>\n </ng-container>\n</ng-template>\n\n<ng-template #toText>\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n</ng-template>\n\n<ng-template #buttonsTemplate>\n <div class=\"buttons-container p-3\" *ngIf=\"{expanded: expanded$ | async} as obs\">\n <v-button\n (clickEvent)=\"toggleExpanded()\"\n [disabled]=\"loading\"\n type=\"secondary\"\n [mdiIcon]=\"obs.expanded ? 'chevron-up' : 'chevron-down'\"\n >{{\n obs.expanded\n ? ('searchFields.collapseButtonText' | translate)\n : ('searchFields.expandButtonText' | translate)\n }}</v-button\n >\n <div class=\"right-buttons\">\n <v-button\n (clickEvent)=\"search()\"\n [disabled]=\"loading\"\n type=\"danger\"\n *ngIf=\"obs.expanded\"\n mdiIcon=\"close\"\n >{{ 'searchFields.clearButtonText' | translate }}</v-button\n >\n <v-button\n (clickEvent)=\"search()\"\n [disabled]=\"loading\"\n type=\"primary\"\n *ngIf=\"obs.expanded\"\n mdiIcon=\"magnify\"\n >{{ 'searchFields.searchButtonText' | translate }}</v-button\n >\n </div>\n </div>\n</ng-template>\n", styles: [".w-100{height:15px}.w-100:last-child{display:none}::ng-deep .multiple-search-fields{display:flex!important;flex-direction:row!important;align-items:center}.to-text{margin-inline-start:8px;margin-inline-end:8px}.buttons-container{width:100%;display:flex;flex-direction:row;justify-content:space-between}.right-buttons{display:flex;flex-direction:row}.right-buttons v-button:last-child{margin-left:8px}.row--hidden{display:none}\n"], components: [{ type: SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { type: WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { type: i1$4.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel"], outputs: ["valueChange"] }, { type: i1$4.DatePickerComponent, selector: "v-date-picker", inputs: ["name", "title", "titleTranslationKey", "widthPx", "fullWidth", "margin", "disabled", "tooltip", "required", "defaultDate", "defaultDateIsToday", "smallLabel"], outputs: ["valueChange"] }, { type: i1$4.InputLabelComponent, selector: "v-input-label", inputs: ["name", "title", "titleTranslationKey", "tooltip", "required", "largeMargin", "small"] }, { type: i1$4.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { type: i1$4.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { type: i1$4.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe, "translate": i1$8.TranslatePipe } });
|
|
5991
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SearchFieldsComponent, decorators: [{
|
|
5271
5992
|
type: Component,
|
|
5272
|
-
args: [{ selector: 'valtimo-
|
|
5273
|
-
}],
|
|
5274
|
-
type: ViewChild,
|
|
5275
|
-
args: ['documentenApiMetadataModal']
|
|
5276
|
-
}], show$: [{
|
|
5277
|
-
type: Input
|
|
5278
|
-
}], hide$: [{
|
|
5993
|
+
args: [{ selector: 'valtimo-search-fields', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"search fields\">\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngTemplateOutlet=\"searchFieldsTemplate\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingTemplate>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #searchFieldsTemplate>\n <valtimo-widget>\n <div class=\"row p-3\" [ngClass]=\"{'row--hidden': (expanded$ | async) === false}\">\n <ng-container *ngFor=\"let searchField of searchFields$ | async; let i = index\">\n <div class=\"col-4\">\n <ng-container\n *ngTemplateOutlet=\"searchFieldTemplate; context: {searchField: searchField}\"\n ></ng-container>\n </div>\n <div class=\"w-100\" *ngIf=\"(i + 1) % 3 === 0\"></div>\n </ng-container>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ng-container *ngTemplateOutlet=\"buttonsTemplate\"></ng-container>\n </div>\n </div>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #searchFieldTemplate let-searchField=\"searchField\">\n <ng-container\n *ngIf=\"{\n tooltipKey: 'searchFieldsTooltips.' + searchField.key,\n tooltip: 'searchFieldsTooltips.' + searchField.key | translate\n } as vars\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateText;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateNumber;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateDate;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateNumberRange;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n searchFieldTemplateDateRange;\n context: {searchField: searchField, tooltipKey: vars.tooltipKey, tooltip: vars.tooltip}\n \"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateText\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <v-input\n *ngIf=\"searchField.datatype === 'text' && searchField.fieldtype === 'single'\"\n [name]=\"searchField.key\"\n [title]=\"'searchFields.' + searchField.key | translate\"\n [fullWidth]=\"true\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n (valueChange)=\"singleValueChange(searchField.key, $event)\"\n [smallLabel]=\"true\"\n >\n </v-input>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateNumber\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <v-input\n *ngIf=\"searchField.datatype === 'number' && searchField.fieldtype === 'single'\"\n [name]=\"searchField.key\"\n [title]=\"'searchFields.' + searchField.key | translate\"\n [fullWidth]=\"true\"\n (valueChange)=\"singleValueChange(searchField.key, $event)\"\n type=\"number\"\n [hideNumberSpinBox]=\"true\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n [smallLabel]=\"true\"\n >\n </v-input>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateDate\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <v-date-picker\n *ngIf=\"searchField.datatype === 'date' && searchField.fieldtype === 'single'\"\n [title]=\"'searchFields.' + searchField.key | translate\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n [name]=\"searchField.key\"\n fullWidth=\"true\"\n (valueChange)=\"singleValueChange(searchField.key, $event)\"\n [smallLabel]=\"true\"\n ></v-date-picker>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateNumberRange\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <ng-container *ngIf=\"searchField.datatype === 'number' && searchField.fieldtype === 'range'\">\n <v-input-label\n [title]=\"'searchFields.' + searchField.key | translate\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n [small]=\"true\"\n ></v-input-label>\n <v-form\n (valueChange)=\"multipleValueChange(searchField.key, $event)\"\n className=\"multiple-search-fields\"\n >\n <v-input name=\"start\" [fullWidth]=\"true\" type=\"number\" [hideNumberSpinBox]=\"true\"> </v-input>\n <ng-container *ngTemplateOutlet=\"toText\"></ng-container>\n <v-input name=\"end\" [fullWidth]=\"true\" type=\"number\" [hideNumberSpinBox]=\"true\"> </v-input>\n </v-form>\n </ng-container>\n</ng-template>\n\n<ng-template\n #searchFieldTemplateDateRange\n let-searchField=\"searchField\"\n let-tooltip=\"tooltip\"\n let-tooltipKey=\"tooltipKey\"\n>\n <ng-container *ngIf=\"searchField.datatype === 'date' && searchField.fieldtype === 'range'\">\n <v-input-label\n [title]=\"'searchFields.' + searchField.key | translate\"\n [tooltip]=\"tooltip !== tooltipKey && tooltip\"\n [small]=\"true\"\n ></v-input-label>\n <v-form\n (valueChange)=\"multipleValueChange(searchField.key, $event)\"\n className=\"multiple-search-fields\"\n >\n <v-date-picker name=\"start\" fullWidth=\"true\"></v-date-picker>\n <ng-container *ngTemplateOutlet=\"toText\"></ng-container>\n <v-date-picker name=\"end\" fullWidth=\"true\"></v-date-picker>\n </v-form>\n </ng-container>\n</ng-template>\n\n<ng-template #toText>\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n</ng-template>\n\n<ng-template #buttonsTemplate>\n <div class=\"buttons-container p-3\" *ngIf=\"{expanded: expanded$ | async} as obs\">\n <v-button\n (clickEvent)=\"toggleExpanded()\"\n [disabled]=\"loading\"\n type=\"secondary\"\n [mdiIcon]=\"obs.expanded ? 'chevron-up' : 'chevron-down'\"\n >{{\n obs.expanded\n ? ('searchFields.collapseButtonText' | translate)\n : ('searchFields.expandButtonText' | translate)\n }}</v-button\n >\n <div class=\"right-buttons\">\n <v-button\n (clickEvent)=\"search()\"\n [disabled]=\"loading\"\n type=\"danger\"\n *ngIf=\"obs.expanded\"\n mdiIcon=\"close\"\n >{{ 'searchFields.clearButtonText' | translate }}</v-button\n >\n <v-button\n (clickEvent)=\"search()\"\n [disabled]=\"loading\"\n type=\"primary\"\n *ngIf=\"obs.expanded\"\n mdiIcon=\"magnify\"\n >{{ 'searchFields.searchButtonText' | translate }}</v-button\n >\n </div>\n </div>\n</ng-template>\n", styles: [".w-100{height:15px}.w-100:last-child{display:none}::ng-deep .multiple-search-fields{display:flex!important;flex-direction:row!important;align-items:center}.to-text{margin-inline-start:8px;margin-inline-end:8px}.buttons-container{width:100%;display:flex;flex-direction:row;justify-content:space-between}.right-buttons{display:flex;flex-direction:row}.right-buttons v-button:last-child{margin-left:8px}.row--hidden{display:none}\n"] }]
|
|
5994
|
+
}], propDecorators: { loading: [{
|
|
5279
5995
|
type: Input
|
|
5280
|
-
}],
|
|
5996
|
+
}], searchFields: [{
|
|
5281
5997
|
type: Input
|
|
5282
|
-
}],
|
|
5283
|
-
type:
|
|
5284
|
-
}],
|
|
5998
|
+
}], valueChange: [{
|
|
5999
|
+
type: Output
|
|
6000
|
+
}], doSearch: [{
|
|
5285
6001
|
type: Output
|
|
5286
6002
|
}] } });
|
|
5287
6003
|
|
|
@@ -5300,48 +6016,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
5300
6016
|
* See the License for the specific language governing permissions and
|
|
5301
6017
|
* limitations under the License.
|
|
5302
6018
|
*/
|
|
5303
|
-
class
|
|
6019
|
+
class SearchFieldsModule {
|
|
5304
6020
|
}
|
|
5305
|
-
|
|
5306
|
-
|
|
6021
|
+
SearchFieldsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SearchFieldsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6022
|
+
SearchFieldsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SearchFieldsModule, declarations: [SearchFieldsComponent], imports: [CommonModule,
|
|
6023
|
+
SpinnerModule,
|
|
6024
|
+
WidgetModule,
|
|
5307
6025
|
TranslateModule,
|
|
5308
|
-
ModalModule$1,
|
|
5309
|
-
TitleModule,
|
|
5310
|
-
ButtonModule,
|
|
5311
|
-
TranslateModule,
|
|
5312
|
-
FormModule,
|
|
5313
6026
|
InputModule,
|
|
5314
|
-
|
|
5315
|
-
DatePickerModule
|
|
5316
|
-
|
|
6027
|
+
FormModule,
|
|
6028
|
+
DatePickerModule,
|
|
6029
|
+
InputLabelModule,
|
|
6030
|
+
ParagraphModule,
|
|
6031
|
+
ButtonModule], exports: [SearchFieldsComponent] });
|
|
6032
|
+
SearchFieldsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SearchFieldsModule, imports: [[
|
|
5317
6033
|
CommonModule,
|
|
6034
|
+
SpinnerModule,
|
|
6035
|
+
WidgetModule,
|
|
5318
6036
|
TranslateModule,
|
|
5319
|
-
ModalModule$1,
|
|
5320
|
-
TitleModule,
|
|
5321
|
-
ButtonModule,
|
|
5322
|
-
TranslateModule,
|
|
5323
|
-
FormModule,
|
|
5324
6037
|
InputModule,
|
|
5325
|
-
|
|
6038
|
+
FormModule,
|
|
5326
6039
|
DatePickerModule,
|
|
6040
|
+
InputLabelModule,
|
|
6041
|
+
ParagraphModule,
|
|
6042
|
+
ButtonModule,
|
|
5327
6043
|
]] });
|
|
5328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type:
|
|
6044
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SearchFieldsModule, decorators: [{
|
|
5329
6045
|
type: NgModule,
|
|
5330
6046
|
args: [{
|
|
5331
|
-
declarations: [
|
|
5332
|
-
exports: [DocumentenApiMetadataModalComponent],
|
|
6047
|
+
declarations: [SearchFieldsComponent],
|
|
5333
6048
|
imports: [
|
|
5334
6049
|
CommonModule,
|
|
6050
|
+
SpinnerModule,
|
|
6051
|
+
WidgetModule,
|
|
5335
6052
|
TranslateModule,
|
|
5336
|
-
ModalModule$1,
|
|
5337
|
-
TitleModule,
|
|
5338
|
-
ButtonModule,
|
|
5339
|
-
TranslateModule,
|
|
5340
|
-
FormModule,
|
|
5341
6053
|
InputModule,
|
|
5342
|
-
|
|
6054
|
+
FormModule,
|
|
5343
6055
|
DatePickerModule,
|
|
6056
|
+
InputLabelModule,
|
|
6057
|
+
ParagraphModule,
|
|
6058
|
+
ButtonModule,
|
|
5344
6059
|
],
|
|
6060
|
+
exports: [SearchFieldsComponent],
|
|
5345
6061
|
}]
|
|
5346
6062
|
}] });
|
|
5347
6063
|
|
|
@@ -5365,5 +6081,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
5365
6081
|
* Generated bundle index. Do not edit.
|
|
5366
6082
|
*/
|
|
5367
6083
|
|
|
5368
|
-
export { Alert, AlertComponent, AlertModule, AlertService, AlertType, AlertsOptionsImpl, BpmnJsDiagramComponent, BpmnJsDiagramModule, BreadcrumbNavigationComponent, BreadcrumbNavigationModule, CamundaFormComponent, CamundaFormModule, CardComponent, CardModule, ComponentsModule, DataListComponent, DataListModule, DocumentenApiMetadataModalComponent, DocumentenApiMetadataModalModule, DropzoneComponent, DropzoneModule, FieldAutoFocusDirective, FieldAutoFocusModule, FileSizeModule, FileSizePipe, FilterSidebarComponent, FilterSidebarModule, FormIoModule, FormIoStateService, FormIoUploaderComponent, FormioBuilderComponent, FormioComponent, FormioOptionsImpl, LeftSidebarComponent, LeftSidebarModule, ListComponent, ListFilterPipe, ListModule, MenuComponent, MenuModule, MenuRoutingModule, MenuService, ModalComponent, ModalModule, MultiselectDropdownComponent, MultiselectDropdownModule, PageHeaderComponent, PageHeaderModule, PageTitleComponent, PageTitleModule, ProgressBarComponent, ProgressBarModule, RightSidebarComponent, RightSidebarModule, SearchableDropdownComponent, SearchableDropdownModule, SearchableDropdownSelectComponent, SearchableDropdownSelectModule, SpinnerComponent, SpinnerModule, TimelineComponent, TimelineItemImpl, TimelineModule, TopbarComponent, TopbarModule, UploaderComponent, UploaderDragDropDirective, UploaderModule, ValtimoModalService, ViewContentService, WebcamComponent, WebcamModule, WidgetComponent, WidgetModule, customUploaderType, menuInitializer, registerFormioFileSelectorComponent, registerFormioUploadComponent };
|
|
6084
|
+
export { Alert, AlertComponent, AlertModule, AlertService, AlertType, AlertsOptionsImpl, BpmnJsDiagramComponent, BpmnJsDiagramModule, BreadcrumbNavigationComponent, BreadcrumbNavigationModule, CamundaFormComponent, CamundaFormModule, CardComponent, CardModule, ComponentsModule, DataListComponent, DataListModule, DocumentenApiMetadataModalComponent, DocumentenApiMetadataModalModule, DocumentenApiUploaderComponent, DropzoneComponent, DropzoneModule, FieldAutoFocusDirective, FieldAutoFocusModule, FileSizeModule, FileSizePipe, FilterSidebarComponent, FilterSidebarModule, FormIoModule, FormIoStateService, FormIoUploaderComponent, FormioBuilderComponent, FormioComponent, FormioOptionsImpl, LeftSidebarComponent, LeftSidebarModule, ListComponent, ListFilterPipe, ListModule, MenuComponent, MenuModule, MenuRoutingModule, MenuService, ModalComponent, ModalModule, MultiselectDropdownComponent, MultiselectDropdownModule, PageHeaderComponent, PageHeaderModule, PageTitleComponent, PageTitleModule, ProgressBarComponent, ProgressBarModule, RightSidebarComponent, RightSidebarModule, SearchFieldsComponent, SearchFieldsModule, SearchableDropdownComponent, SearchableDropdownModule, SearchableDropdownSelectComponent, SearchableDropdownSelectModule, SpinnerComponent, SpinnerModule, TimelineComponent, TimelineItemImpl, TimelineModule, TopbarComponent, TopbarModule, UploaderComponent, UploaderDragDropDirective, UploaderModule, ValtimoModalService, ViewContentService, WebcamComponent, WebcamModule, WidgetComponent, WidgetModule, customDocumentApiUploaderType, customUploaderType, menuInitializer, registerDocumentenApiFormioUploadComponent, registerFormioFileSelectorComponent, registerFormioUploadComponent };
|
|
5369
6085
|
//# sourceMappingURL=valtimo-components.mjs.map
|