@valtimo/components 12.6.1 → 12.8.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/assets/css/formio-carbon.scss +132 -14
- package/esm2022/lib/components/carbon-list/carbon-list.component.mjs +28 -19
- package/esm2022/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.component.mjs +1 -1
- package/esm2022/lib/components/multi-input/carbon-multi-input.component.mjs +122 -74
- package/esm2022/lib/components/multi-input/carbon-multi-input.module.mjs +25 -3
- package/esm2022/lib/components/multi-input/components/arbitrary-amount-value/arbitrary-amount-value.component.mjs +63 -0
- package/esm2022/lib/components/multi-input/components/arbitrary-amount-value/index.mjs +17 -0
- package/esm2022/lib/components/multi-input/components/index.mjs +23 -0
- package/esm2022/lib/components/multi-input/components/key-dropdown-value/index.mjs +17 -0
- package/esm2022/lib/components/multi-input/components/key-dropdown-value/key-dropdown-value.component.mjs +71 -0
- package/esm2022/lib/components/multi-input/components/key-value/index.mjs +17 -0
- package/esm2022/lib/components/multi-input/components/key-value/key-value.component.mjs +62 -0
- package/esm2022/lib/components/multi-input/components/key-value-path-selector/index.mjs +17 -0
- package/esm2022/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.mjs +82 -0
- package/esm2022/lib/components/multi-input/components/single-value/index.mjs +17 -0
- package/esm2022/lib/components/multi-input/components/single-value/single-value.component.mjs +49 -0
- package/esm2022/lib/components/multi-input/components/value-path-selector-dropdown-value/index.mjs +17 -0
- package/esm2022/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.mjs +92 -0
- package/esm2022/lib/components/multi-input/components/value-path-selector-value/index.mjs +17 -0
- package/esm2022/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.mjs +82 -0
- package/esm2022/lib/components/value-path-selector/index.mjs +17 -0
- package/esm2022/lib/components/value-path-selector/value-path-selector.component.mjs +62 -22
- package/esm2022/lib/models/multi-input.model.mjs +1 -1
- package/esm2022/lib/models/value-path-selector.model.mjs +7 -2
- package/esm2022/lib/services/key-generator.service.mjs +2 -2
- package/esm2022/lib/services/value-path-selector.service.mjs +55 -40
- package/fesm2022/valtimo-components.mjs +1042 -315
- package/fesm2022/valtimo-components.mjs.map +1 -1
- package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -1
- package/lib/components/multi-input/carbon-multi-input.component.d.ts +33 -23
- package/lib/components/multi-input/carbon-multi-input.component.d.ts.map +1 -1
- package/lib/components/multi-input/carbon-multi-input.module.d.ts +8 -1
- package/lib/components/multi-input/carbon-multi-input.module.d.ts.map +1 -1
- package/lib/components/multi-input/components/arbitrary-amount-value/arbitrary-amount-value.component.d.ts +23 -0
- package/lib/components/multi-input/components/arbitrary-amount-value/arbitrary-amount-value.component.d.ts.map +1 -0
- package/lib/components/multi-input/components/arbitrary-amount-value/index.d.ts +2 -0
- package/lib/components/multi-input/components/arbitrary-amount-value/index.d.ts.map +1 -0
- package/lib/components/multi-input/components/index.d.ts +8 -0
- package/lib/components/multi-input/components/index.d.ts.map +1 -0
- package/lib/components/multi-input/components/key-dropdown-value/index.d.ts +2 -0
- package/lib/components/multi-input/components/key-dropdown-value/index.d.ts.map +1 -0
- package/lib/components/multi-input/components/key-dropdown-value/key-dropdown-value.component.d.ts +27 -0
- package/lib/components/multi-input/components/key-dropdown-value/key-dropdown-value.component.d.ts.map +1 -0
- package/lib/components/multi-input/components/key-value/index.d.ts +2 -0
- package/lib/components/multi-input/components/key-value/index.d.ts.map +1 -0
- package/lib/components/multi-input/components/key-value/key-value.component.d.ts +22 -0
- package/lib/components/multi-input/components/key-value/key-value.component.d.ts.map +1 -0
- package/lib/components/multi-input/components/key-value-path-selector/index.d.ts +2 -0
- package/lib/components/multi-input/components/key-value-path-selector/index.d.ts.map +1 -0
- package/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.d.ts +26 -0
- package/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.d.ts.map +1 -0
- package/lib/components/multi-input/components/single-value/index.d.ts +2 -0
- package/lib/components/multi-input/components/single-value/index.d.ts.map +1 -0
- package/lib/components/multi-input/components/single-value/single-value.component.d.ts +16 -0
- package/lib/components/multi-input/components/single-value/single-value.component.d.ts.map +1 -0
- package/lib/components/multi-input/components/value-path-selector-dropdown-value/index.d.ts +2 -0
- package/lib/components/multi-input/components/value-path-selector-dropdown-value/index.d.ts.map +1 -0
- package/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.d.ts +31 -0
- package/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.d.ts.map +1 -0
- package/lib/components/multi-input/components/value-path-selector-value/index.d.ts +2 -0
- package/lib/components/multi-input/components/value-path-selector-value/index.d.ts.map +1 -0
- package/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.d.ts +26 -0
- package/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.d.ts.map +1 -0
- package/lib/components/value-path-selector/index.d.ts +2 -0
- package/lib/components/value-path-selector/index.d.ts.map +1 -0
- package/lib/components/value-path-selector/value-path-selector.component.d.ts +13 -7
- package/lib/components/value-path-selector/value-path-selector.component.d.ts.map +1 -1
- package/lib/models/multi-input.model.d.ts +3 -2
- package/lib/models/multi-input.model.d.ts.map +1 -1
- package/lib/models/value-path-selector.model.d.ts +17 -2
- package/lib/models/value-path-selector.model.d.ts.map +1 -1
- package/lib/services/value-path-selector.service.d.ts +8 -4
- package/lib/services/value-path-selector.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, NgModule, RendererStyleFlags2, Injectable,
|
|
3
|
-
import { combineLatest, map, BehaviorSubject, fromEvent, Subject, Subscription, Observable,
|
|
2
|
+
import { Pipe, NgModule, RendererStyleFlags2, Inject, Injectable, Input, Component, Directive, EventEmitter, Output, ViewContainerRef, ViewChild, HostBinding, ViewEncapsulation, HostListener, inject, InjectionToken, ChangeDetectionStrategy, signal, TemplateRef, ContentChild, ElementRef, forwardRef, ViewChildren, ContentChildren } from '@angular/core';
|
|
3
|
+
import { combineLatest, map, BehaviorSubject, fromEvent, Subject, Subscription, Observable, take as take$1, of, tap as tap$1, interval, switchMap, timer, startWith, filter as filter$1, merge, debounceTime as debounceTime$1, first } from 'rxjs';
|
|
4
4
|
import * as i1 from '@ngx-translate/core';
|
|
5
5
|
import { TranslateModule, TranslateLoader, TranslateService } from '@ngx-translate/core';
|
|
6
6
|
import { take, map as map$1, tap, debounceTime, filter, takeUntil, distinctUntilChanged, switchMap as switchMap$1, delay } from 'rxjs/operators';
|
|
@@ -636,6 +636,11 @@ class TimelineItemImpl {
|
|
|
636
636
|
* See the License for the specific language governing permissions and
|
|
637
637
|
* limitations under the License.
|
|
638
638
|
*/
|
|
639
|
+
var ValuePathType;
|
|
640
|
+
(function (ValuePathType) {
|
|
641
|
+
ValuePathType["FIELD"] = "FIELD";
|
|
642
|
+
ValuePathType["COLLECTION"] = "COLLECTION";
|
|
643
|
+
})(ValuePathType || (ValuePathType = {}));
|
|
639
644
|
var ValuePathSelectorPrefix;
|
|
640
645
|
(function (ValuePathSelectorPrefix) {
|
|
641
646
|
ValuePathSelectorPrefix["DOC"] = "doc";
|
|
@@ -2053,7 +2058,7 @@ class KeyGeneratorService {
|
|
|
2053
2058
|
.toLowerCase()
|
|
2054
2059
|
.replace(/[^a-z0-9-_]+|-[^a-z0-9]+/g, '-')
|
|
2055
2060
|
.replace(/_[-_]+/g, '_')
|
|
2056
|
-
.replace(/^[^a-z]
|
|
2061
|
+
.replace(/^[^a-z]+|[^a-z0-9]+$/g, '');
|
|
2057
2062
|
if (!usedKeys.includes(dashCaseKey)) {
|
|
2058
2063
|
return dashCaseKey;
|
|
2059
2064
|
}
|
|
@@ -2090,32 +2095,6 @@ class ValuePathSelectorService extends BaseApiService {
|
|
|
2090
2095
|
this._subscriptions = new Subscription();
|
|
2091
2096
|
this.openClearCacheSubscription();
|
|
2092
2097
|
}
|
|
2093
|
-
getResolvableKeysPerPrefix(prefixes, documentDefinitionName, version = 'latest') {
|
|
2094
|
-
return of(version).pipe(switchMap(version => {
|
|
2095
|
-
const prefixesWithCache = prefixes.filter(prefix => !!this.getResultFromCache(prefix, documentDefinitionName, version));
|
|
2096
|
-
const resultsFromCache = prefixesWithCache
|
|
2097
|
-
.map(prefix => this.getResultFromCache(prefix, documentDefinitionName, version))
|
|
2098
|
-
.reduce((acc, curr) => [...acc, ...curr], []);
|
|
2099
|
-
const prefixesWithoutCache = prefixes.filter(prefix => !prefixesWithCache.includes(prefix));
|
|
2100
|
-
const httpCall = typeof version !== 'number'
|
|
2101
|
-
? this.httpClient
|
|
2102
|
-
.post(this.getApiUrl(`/management/v1/value-resolver/document-definition/${documentDefinitionName}/keys`), prefixesWithoutCache)
|
|
2103
|
-
.pipe(catchError(() => of([])))
|
|
2104
|
-
: this.httpClient
|
|
2105
|
-
.post(this.getApiUrl(`/management/v1/value-resolver/document-definition/${documentDefinitionName}/version/${version}/keys`), prefixesWithoutCache)
|
|
2106
|
-
.pipe(catchError(() => of([])));
|
|
2107
|
-
return combineLatest([
|
|
2108
|
-
prefixesWithoutCache.length > 0 ? httpCall : of([]),
|
|
2109
|
-
of(resultsFromCache),
|
|
2110
|
-
]);
|
|
2111
|
-
}), tap(([result, resultsFromCache]) => {
|
|
2112
|
-
const combinedResults = [...result, ...resultsFromCache];
|
|
2113
|
-
prefixes.forEach(prefix => {
|
|
2114
|
-
const prefixResults = combinedResults.filter(valuePath => valuePath.includes(prefix));
|
|
2115
|
-
this.cacheResult(prefix, documentDefinitionName, version, prefixResults);
|
|
2116
|
-
});
|
|
2117
|
-
}), map(([result, resultsFromCache]) => [...result, ...resultsFromCache]));
|
|
2118
|
-
}
|
|
2119
2098
|
ngOnDestroy() {
|
|
2120
2099
|
this._subscriptions.unsubscribe();
|
|
2121
2100
|
}
|
|
@@ -2128,26 +2107,67 @@ class ValuePathSelectorService extends BaseApiService {
|
|
|
2128
2107
|
getDocumentDefinitionCache() {
|
|
2129
2108
|
return this._documentDefinitionCache$.asObservable();
|
|
2130
2109
|
}
|
|
2110
|
+
getResolvableKeys(prefixes, documentDefinitionName, type = ValuePathType.FIELD, version = 'latest') {
|
|
2111
|
+
this._prefixes = prefixes;
|
|
2112
|
+
this._documentDefinitionName = documentDefinitionName;
|
|
2113
|
+
this._version = version;
|
|
2114
|
+
const url = typeof version !== 'number'
|
|
2115
|
+
? `/management/v2/value-resolver/document-definition/${documentDefinitionName}/keys`
|
|
2116
|
+
: `/management/v2/value-resolver/document-definition/${documentDefinitionName}/version/${version}/keys`;
|
|
2117
|
+
const prefixesWithoutCache = prefixes.filter((prefix) => !this.getCacheResult(prefix, type));
|
|
2118
|
+
return (prefixesWithoutCache.length > 0
|
|
2119
|
+
? this.httpClient.post(this.getApiUrl(url), {
|
|
2120
|
+
prefixes: prefixesWithoutCache,
|
|
2121
|
+
type,
|
|
2122
|
+
})
|
|
2123
|
+
: of([])).pipe(tap$1((results) => {
|
|
2124
|
+
if (type === ValuePathType.FIELD)
|
|
2125
|
+
this.cacheMapping(results.map((result) => ({ path: result.path })), type);
|
|
2126
|
+
else
|
|
2127
|
+
this.cacheMapping(results.reduce((acc, curr) => [...acc, ...this.mapCollectionItem(curr)], []), type);
|
|
2128
|
+
}), map(() => prefixes.reduce((acc, curr) => [...acc, ...(this.getCacheResult(curr, type) ?? [])], [])));
|
|
2129
|
+
}
|
|
2131
2130
|
openClearCacheSubscription() {
|
|
2132
2131
|
this._subscriptions.add(interval(60 * 1000).subscribe(() => {
|
|
2133
2132
|
this._cache = {};
|
|
2134
2133
|
this._documentDefinitionCache$.next(null);
|
|
2135
2134
|
}));
|
|
2136
2135
|
}
|
|
2137
|
-
|
|
2138
|
-
return this._cache[
|
|
2136
|
+
getCacheResult(prefix, type) {
|
|
2137
|
+
return this._cache[this._documentDefinitionName]?.[this._version]?.[prefix]?.[type];
|
|
2139
2138
|
}
|
|
2140
|
-
|
|
2141
|
-
const
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2139
|
+
mapCollectionItem(item, parentPath) {
|
|
2140
|
+
const fieldChildren = [];
|
|
2141
|
+
const collectionChildren = [];
|
|
2142
|
+
item.children.forEach((child) => {
|
|
2143
|
+
if (child.type === ValuePathType.FIELD)
|
|
2144
|
+
fieldChildren.push(child);
|
|
2145
|
+
else
|
|
2146
|
+
collectionChildren.push(child);
|
|
2147
|
+
});
|
|
2148
|
+
return [
|
|
2149
|
+
{
|
|
2150
|
+
path: `${parentPath ?? ''}${item.path}`,
|
|
2151
|
+
children: fieldChildren.map((child) => child.path),
|
|
2152
|
+
},
|
|
2153
|
+
...collectionChildren.reduce((acc, curr) => [...acc, ...this.mapCollectionItem(curr, `${parentPath ?? ''}${item.path}`)], []),
|
|
2154
|
+
];
|
|
2155
|
+
}
|
|
2156
|
+
cacheMapping(results, type) {
|
|
2157
|
+
if (!results.length)
|
|
2158
|
+
return;
|
|
2159
|
+
const prefixResults = this._prefixes.reduce((acc, curr) => ({
|
|
2160
|
+
...acc,
|
|
2161
|
+
[curr]: {
|
|
2162
|
+
[type]: results.filter((result) => result.path.split(':')[0] === curr),
|
|
2163
|
+
},
|
|
2164
|
+
}), {});
|
|
2165
|
+
const tempCache = {
|
|
2166
|
+
[this._documentDefinitionName]: {
|
|
2167
|
+
[this._version]: prefixResults,
|
|
2146
2168
|
},
|
|
2147
2169
|
};
|
|
2148
|
-
|
|
2149
|
-
this._cache = deepmerge(this._cache, resultCacheObject);
|
|
2150
|
-
}
|
|
2170
|
+
this._cache = deepmerge(this._cache, tempCache);
|
|
2151
2171
|
}
|
|
2152
2172
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorService, deps: [{ token: i1$1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2153
2173
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorService, providedIn: 'root' }); }
|
|
@@ -5485,7 +5505,10 @@ class CarbonListComponent {
|
|
|
5485
5505
|
template: this.booleanTemplate,
|
|
5486
5506
|
});
|
|
5487
5507
|
case ViewType.TAGS: {
|
|
5488
|
-
return
|
|
5508
|
+
return new TableItem({
|
|
5509
|
+
data: this.resolveTagObject(item, field.key),
|
|
5510
|
+
template: this.tagTemplate,
|
|
5511
|
+
});
|
|
5489
5512
|
}
|
|
5490
5513
|
default:
|
|
5491
5514
|
const resolvedObject = this.resolveObject(field, item);
|
|
@@ -5769,26 +5792,32 @@ class CarbonListComponent {
|
|
|
5769
5792
|
filteredItems.splice(index2, 0, itemToInsert);
|
|
5770
5793
|
return filteredItems;
|
|
5771
5794
|
}
|
|
5772
|
-
resolveTagObject(
|
|
5773
|
-
|
|
5774
|
-
|
|
5775
|
-
|
|
5776
|
-
|
|
5777
|
-
|
|
5778
|
-
|
|
5779
|
-
|
|
5780
|
-
|
|
5781
|
-
|
|
5782
|
-
|
|
5783
|
-
|
|
5784
|
-
|
|
5795
|
+
resolveTagObject(item, key) {
|
|
5796
|
+
const object = item[key];
|
|
5797
|
+
if (!object)
|
|
5798
|
+
return null;
|
|
5799
|
+
if (isArray(object) && typeof object[0] !== 'string')
|
|
5800
|
+
return object;
|
|
5801
|
+
if (!isArray(object) && typeof object !== 'string')
|
|
5802
|
+
return [object];
|
|
5803
|
+
if (typeof object === 'string')
|
|
5804
|
+
return [
|
|
5805
|
+
{
|
|
5806
|
+
content: object,
|
|
5807
|
+
type: 'blue',
|
|
5808
|
+
},
|
|
5809
|
+
];
|
|
5810
|
+
return object.map((content) => ({
|
|
5811
|
+
content,
|
|
5812
|
+
type: 'blue',
|
|
5813
|
+
}));
|
|
5785
5814
|
}
|
|
5786
5815
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonListComponent, deps: [{ token: EllipsisPipe }, { token: CarbonListFilterPipe }, { token: i3.IconService }, { token: i4.NGXLogger }, { token: i1.TranslateService }, { token: ViewContentService }, { token: KeyStateService }, { token: CarbonListDragAndDropService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5787
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CarbonListComponent, selector: "valtimo-carbon-list", inputs: { items: "items", fields: "fields", tableTranslations: "tableTranslations", paginatorConfig: "paginatorConfig", pagination: "pagination", loading: "loading", actions: "actions", actionItems: "actionItems", header: "header", hideColumnHeader: "hideColumnHeader", initialSortState: "initialSortState", sortState: "sortState", isSearchable: "isSearchable", enableSingleSelection: "enableSingleSelection", lastColumnTemplate: "lastColumnTemplate", paginationIdentifier: "paginationIdentifier", showSelectionColumn: "showSelectionColumn", striped: "striped", hideToolbar: "hideToolbar", lockedTooltipTranslationKey: "lockedTooltipTranslationKey", movingRowsEnabled: "movingRowsEnabled", dragAndDrop: "dragAndDrop", dragAndDropDisabled: "dragAndDropDisabled" }, outputs: { rowClicked: "rowClicked", paginationClicked: "paginationClicked", paginationSet: "paginationSet", search: "search", sortChanged: "sortChanged", moveRow: "moveRow", itemsReordered: "itemsReordered" }, providers: [CarbonListFilterPipe, CarbonListDragAndDropService], viewQueries: [{ propertyName: "actionsMenuTemplate", first: true, predicate: ["actionsMenuTemplate"], descendants: true }, { propertyName: "actionTemplate", first: true, predicate: ["actionTemplate"], descendants: true }, { propertyName: "booleanTemplate", first: true, predicate: ["booleanTemplate"], descendants: true }, { propertyName: "moveRowsTemplate", first: true, predicate: ["moveRowsTemplate"], descendants: true }, { propertyName: "dragAndDropTemplate", first: true, predicate: ["dragAndDropTemplate"], descendants: true }, { propertyName: "rowDisabled", first: true, predicate: ["rowDisabled"], descendants: true }, { propertyName: "tagTemplate", first: true, predicate: ["tagTemplate"], descendants: true }, { propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true }, { propertyName: "_table", first: true, predicate: Table, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<cds-table-container\n *ngIf=\"{\n sort: sort$ | async,\n model: model$ | async,\n viewInitialized: viewInitialized$ | async,\n } as obs\"\n class=\"valtimo-carbon-list\"\n>\n <cds-table-header *ngIf=\"header\">\n <ng-content select=\"[header]\"></ng-content>\n </cds-table-header>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <cds-table-toolbar\n *ngIf=\"!hideToolbar\"\n class=\"valtimo-carbon-list__toolbar\"\n [model]=\"obs.model\"\n [batchText]=\"batchText$ | async\"\n >\n <cds-table-toolbar-actions>\n <ng-content select=\"[carbonToolbarActions]\"> </ng-content>\n </cds-table-toolbar-actions>\n\n <cds-table-toolbar-content>\n <cds-table-toolbar-search\n *ngIf=\"isSearchable\"\n [expandable]=\"true\"\n [formControl]=\"searchFormControl\"\n ></cds-table-toolbar-search>\n\n <ng-content select=\"[carbonToolbarContent]\"> </ng-content>\n </cds-table-toolbar-content>\n </cds-table-toolbar>\n\n <cds-table\n *ngIf=\"!!obs.sort\"\n [ngClass]=\"{\n 'valtimo-carbon-list__header--hidden': hideColumnHeader,\n 'valtimo-carbon-list--unclickable': !this.rowClicked.observed,\n }\"\n [enableSingleSelect]=\"enableSingleSelect\"\n [model]=\"loading || !obs.viewInitialized ? skeletonModel : obs.model\"\n [showSelectionColumn]=\"showSelectionColumn\"\n [skeleton]=\"loading\"\n [striped]=\"striped\"\n (sort)=\"onSort(obs.model.header[$event])\"\n (rowClick)=\"onRowClick($event)\"\n >\n <tbody cdsTableBody>\n <tr class=\"valtimo-carbon-list__no-results\">\n <td [attr.colspan]=\"obs.model.header.length + (showSelectionColumn ? 1 : 0)\">\n <ng-content></ng-content>\n </td>\n\n <td [attr.colspan]=\"obs.model.header.length + (showSelectionColumn ? 1 : 0)\">\n {{ 'list.noResults' | translate }}\n </td>\n </tr>\n </tbody>\n </cds-table>\n\n <cds-pagination\n *ngIf=\"paginationModel && items?.length\"\n [itemsPerPageOptions]=\"paginatorConfig.itemsPerPageOptions\"\n [model]=\"paginationModel\"\n [showPageInput]=\"paginatorConfig.showPageInput\"\n [skeleton]=\"loading\"\n [translations]=\"paginationTranslations$ | async\"\n (selectPage)=\"onSelectPage($event)\"\n ></cds-pagination>\n</cds-table-container>\n\n<ng-template #actionTemplate let-data=\"data\">\n <i\n class=\"clickable\"\n [ngClass]=\"data.iconClass\"\n (click)=\"$event.stopPropagation(); data.callback(data.item)\"\n ></i>\n</ng-template>\n\n<ng-template #booleanTemplate let-data=\"data\">\n {{ data | translate }}\n</ng-template>\n\n<ng-template #actionsMenuTemplate let-data=\"data\">\n <cds-overflow-menu\n [open]=\"currentOpenActionId === data.item\"\n (openChange)=\"handleActionOpenChange(data.item, $event)\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 50}\"\n placement=\"bottom\"\n (click)=\"$event.stopPropagation()\"\n >\n @for (action of data.actions; track action.label) {\n <cds-overflow-menu-option\n [disabled]=\"action.disabledCallback ? action.disabledCallback(data.item) : false\"\n [type]=\"action.type\"\n (selected)=\"action.callback(data.item)\"\n >\n <i *ngIf=\"!!action.iconClass\" [ngClass]=\"action.iconClass\"></i>\n\n {{ action.label | translate }}\n </cds-overflow-menu-option>\n }\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #rowDisabled let-data=\"data\">\n <div *ngIf=\"data.locked\" class=\"locked\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ lockedTooltipTranslationKey | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n </div>\n</ng-template>\n\n<ng-template #moveRowsTemplate let-data=\"data\">\n <div class=\"valtimo-carbon-list__move-rows\">\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"data.index === 0\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onMoveUpClick($event, data)\"\n >\n <svg cdsIcon=\"arrow--up\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"data.index === data.length - 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onMoveDownClick($event, data)\"\n >\n <svg cdsIcon=\"arrow--down\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #dragAndDropTemplate let-data=\"data\">\n <div class=\"valtimo-carbon-list__draggable\">\n <button\n cdsButton=\"ghost\"\n [disabled]=\"dragAndDropDisabled\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (mousedown)=\"onDragStart($event, data)\"\n >\n <svg cdsIcon=\"draggable\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #tagTemplate let-data=\"data\">\n <ng-container *ngIf=\"!data.tags\">-</ng-container>\n\n <div *ngIf=\"data.tags\" class=\"tag-template\">\n @if (data.tags.length === 0) {\n -\n } @else {\n <cds-tag *ngIf=\"!!data.tags[0].content\" class=\"cds-tag--no-margin\" [type]=\"data.tags[0].type\">\n {{ data.tags[0].ellipsisContent ?? data.tags[0].content }}\n </cds-tag>\n\n <cds-tag\n *ngIf=\"data.tags.length > 1\"\n class=\"cds-tag--no-margin valtimo-carbon-list__expand-tag\"\n type=\"high-contrast\"\n (click)=\"onTagClick($event, data.tags)\"\n >\n {{ data.tags.length - 1 }} <svg cdsIcon=\"add\" size=\"16\"></svg>\n </cds-tag>\n }\n </div>\n</ng-template>\n\n<ng-template #defaultTemplate let-data=\"data\">\n <span>{{ data }}</span>\n</ng-template>\n\n<valtimo-tags-modal\n [open]=\"tagModalOpen$ | async\"\n [tags]=\"tagModalData$ | async\"\n (closeEvent)=\"onCloseEvent()\"\n></valtimo-tags-modal>\n", styles: [".clickable{cursor:pointer}.container-fluid{background-color:var(--cds-layer)}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}th:first-child,td:first-child{padding-left:25px}::ng-deep tr:has(>td .locked){cursor:not-allowed}::ng-deep tr:has(>td .locked) td{color:var(--cds-text-on-color-disabled)}::ng-deep .valtimo-carbon-list__header--hidden thead{display:none}::ng-deep .valtimo-carbon-list--unclickable tr{cursor:default}.valtimo-carbon-list__toolbar:empty{display:none}.valtimo-carbon-list__no-results{cursor:default}.valtimo-carbon-list__no-results td:empty,.valtimo-carbon-list__no-results td:not(:empty)+td{display:none}.valtimo-carbon-list__move-rows,.valtimo-carbon-list__draggable{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.valtimo-carbon-list__move-rows button:not(:last-child),.valtimo-carbon-list__draggable button:not(:last-child){margin-right:8px}.valtimo-carbon-list__expand-tag{cursor:pointer}.valtimo-carbon-list label{margin-bottom:0!important}.valtimo-carbon-list ::ng-deep .tag-template .cds--tag{margin:0}.valtimo-carbon-list ::ng-deep .tag-template .cds--tag svg{fill:var(--cds-background)}.valtimo-carbon-list ::ng-deep .tag-template>*:not(:last-child){margin-right:8px}.valtimo-carbon-list ::ng-deep .cds--tag{white-space:nowrap}.valtimo-carbon-list ::ng-deep .valtimo-carbon-list__draggable .cds--btn--ghost{cursor:move!important}::ng-deep .valtimo-carbon-list__drag-table-row{cursor:move!important}::ng-deep .valtimo-carbon-list__drag-table-row .valtimo-carbon-list__draggable .cds--btn--ghost{outline:0;border-color:var(--cds-button-focus-color, var(--cds-focus, var(--vcds-color-60)));box-shadow:inset 0 0 0 1px var(--cds-button-focus-color, var(--cds-focus, var(--vcds-color-60))),inset 0 0 0 2px var(--cds-background, #f4f4f4)}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.Pagination, selector: "cds-pagination, ibm-pagination", inputs: ["skeleton", "model", "disabled", "pageInputDisabled", "showPageInput", "pagesUnknown", "pageSelectThreshold", "translations", "itemsPerPageOptions"], outputs: ["selectPage"] }, { kind: "component", type: i3.TableToolbar, selector: "cds-table-toolbar, ibm-table-toolbar", inputs: ["model", "batchText", "ariaLabel", "cancelText", "size"], outputs: ["cancel"] }, { kind: "component", type: i3.TableContainer, selector: "cds-table-container, ibm-table-container" }, { kind: "component", type: i3.TableHeader, selector: "cds-table-header, ibm-table-header" }, { kind: "component", type: i3.TableToolbarActions, selector: "cds-table-toolbar-actions, ibm-table-toolbar-actions" }, { kind: "component", type: i3.TableToolbarSearch, selector: "cds-table-toolbar-search, ibm-table-toolbar-search" }, { kind: "component", type: i3.TableToolbarContent, selector: "cds-table-toolbar-content, ibm-table-toolbar-content" }, { kind: "component", type: i3.Table, selector: "cds-table, ibm-table", inputs: ["ariaLabelledby", "ariaDescribedby", "model", "size", "skeleton", "isDataGrid", "sortable", "noBorder", "showSelectionColumn", "enableSingleSelect", "scrollLoadDistance", "expandButtonAriaLabel", "sortDescendingLabel", "sortAscendingLabel", "translations", "striped", "stickyHeader", "footerTemplate", "selectionLabelColumn"], outputs: ["sort", "selectAll", "deselectAll", "selectRow", "deselectRow", "rowClick", "scrollLoad"] }, { kind: "component", type: i3.TableBody, selector: "[cdsTableBody], [ibmTableBody]", inputs: ["model", "enableSingleSelect", "expandButtonAriaLabel", "checkboxRowLabel", "showSelectionColumn", "size", "selectionLabelColumn", "skeleton"], outputs: ["selectRow", "deselectRow", "rowClick"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i3.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i3.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i11.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: CarbonTagsModalComponent, selector: "valtimo-tags-modal", inputs: ["open", "tags"], outputs: ["closeEvent"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5816
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CarbonListComponent, selector: "valtimo-carbon-list", inputs: { items: "items", fields: "fields", tableTranslations: "tableTranslations", paginatorConfig: "paginatorConfig", pagination: "pagination", loading: "loading", actions: "actions", actionItems: "actionItems", header: "header", hideColumnHeader: "hideColumnHeader", initialSortState: "initialSortState", sortState: "sortState", isSearchable: "isSearchable", enableSingleSelection: "enableSingleSelection", lastColumnTemplate: "lastColumnTemplate", paginationIdentifier: "paginationIdentifier", showSelectionColumn: "showSelectionColumn", striped: "striped", hideToolbar: "hideToolbar", lockedTooltipTranslationKey: "lockedTooltipTranslationKey", movingRowsEnabled: "movingRowsEnabled", dragAndDrop: "dragAndDrop", dragAndDropDisabled: "dragAndDropDisabled" }, outputs: { rowClicked: "rowClicked", paginationClicked: "paginationClicked", paginationSet: "paginationSet", search: "search", sortChanged: "sortChanged", moveRow: "moveRow", itemsReordered: "itemsReordered" }, providers: [CarbonListFilterPipe, CarbonListDragAndDropService], viewQueries: [{ propertyName: "actionsMenuTemplate", first: true, predicate: ["actionsMenuTemplate"], descendants: true }, { propertyName: "actionTemplate", first: true, predicate: ["actionTemplate"], descendants: true }, { propertyName: "booleanTemplate", first: true, predicate: ["booleanTemplate"], descendants: true }, { propertyName: "moveRowsTemplate", first: true, predicate: ["moveRowsTemplate"], descendants: true }, { propertyName: "dragAndDropTemplate", first: true, predicate: ["dragAndDropTemplate"], descendants: true }, { propertyName: "rowDisabled", first: true, predicate: ["rowDisabled"], descendants: true }, { propertyName: "tagTemplate", first: true, predicate: ["tagTemplate"], descendants: true }, { propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true }, { propertyName: "_table", first: true, predicate: Table, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<cds-table-container\n *ngIf=\"{\n sort: sort$ | async,\n model: model$ | async,\n viewInitialized: viewInitialized$ | async,\n } as obs\"\n class=\"valtimo-carbon-list\"\n>\n <cds-table-header *ngIf=\"header\">\n <ng-content select=\"[header]\"></ng-content>\n </cds-table-header>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <cds-table-toolbar\n *ngIf=\"!hideToolbar\"\n class=\"valtimo-carbon-list__toolbar\"\n [model]=\"obs.model\"\n [batchText]=\"batchText$ | async\"\n >\n <cds-table-toolbar-actions>\n <ng-content select=\"[carbonToolbarActions]\"> </ng-content>\n </cds-table-toolbar-actions>\n\n <cds-table-toolbar-content>\n <cds-table-toolbar-search\n *ngIf=\"isSearchable\"\n [expandable]=\"true\"\n [formControl]=\"searchFormControl\"\n ></cds-table-toolbar-search>\n\n <ng-content select=\"[carbonToolbarContent]\"> </ng-content>\n </cds-table-toolbar-content>\n </cds-table-toolbar>\n\n <cds-table\n *ngIf=\"!!obs.sort\"\n [ngClass]=\"{\n 'valtimo-carbon-list__header--hidden': hideColumnHeader,\n 'valtimo-carbon-list--unclickable': !this.rowClicked.observed,\n }\"\n [enableSingleSelect]=\"enableSingleSelect\"\n [model]=\"loading || !obs.viewInitialized ? skeletonModel : obs.model\"\n [showSelectionColumn]=\"showSelectionColumn\"\n [skeleton]=\"loading\"\n [striped]=\"striped\"\n (sort)=\"onSort(obs.model.header[$event])\"\n (rowClick)=\"onRowClick($event)\"\n >\n <tbody cdsTableBody>\n <tr class=\"valtimo-carbon-list__no-results\">\n <td [attr.colspan]=\"obs.model.header.length + (showSelectionColumn ? 1 : 0)\">\n <ng-content></ng-content>\n </td>\n\n <td [attr.colspan]=\"obs.model.header.length + (showSelectionColumn ? 1 : 0)\">\n {{ 'list.noResults' | translate }}\n </td>\n </tr>\n </tbody>\n </cds-table>\n\n <cds-pagination\n *ngIf=\"paginationModel && items?.length\"\n [itemsPerPageOptions]=\"paginatorConfig.itemsPerPageOptions\"\n [model]=\"paginationModel\"\n [showPageInput]=\"paginatorConfig.showPageInput\"\n [skeleton]=\"loading\"\n [translations]=\"paginationTranslations$ | async\"\n (selectPage)=\"onSelectPage($event)\"\n ></cds-pagination>\n</cds-table-container>\n\n<ng-template #actionTemplate let-data=\"data\">\n <i\n class=\"clickable\"\n [ngClass]=\"data.iconClass\"\n (click)=\"$event.stopPropagation(); data.callback(data.item)\"\n ></i>\n</ng-template>\n\n<ng-template #booleanTemplate let-data=\"data\">\n {{ data | translate }}\n</ng-template>\n\n<ng-template #actionsMenuTemplate let-data=\"data\">\n <cds-overflow-menu\n [open]=\"currentOpenActionId === data.item\"\n (openChange)=\"handleActionOpenChange(data.item, $event)\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 50}\"\n placement=\"bottom\"\n (click)=\"$event.stopPropagation()\"\n >\n @for (action of data.actions; track action.label) {\n <cds-overflow-menu-option\n [disabled]=\"action.disabledCallback ? action.disabledCallback(data.item) : false\"\n [type]=\"action.type\"\n (selected)=\"action.callback(data.item)\"\n >\n <i *ngIf=\"!!action.iconClass\" [ngClass]=\"action.iconClass\"></i>\n\n {{ action.label | translate }}\n </cds-overflow-menu-option>\n }\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #rowDisabled let-data=\"data\">\n <div *ngIf=\"data.locked\" class=\"locked\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ lockedTooltipTranslationKey | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n </div>\n</ng-template>\n\n<ng-template #moveRowsTemplate let-data=\"data\">\n <div class=\"valtimo-carbon-list__move-rows\">\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"data.index === 0\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onMoveUpClick($event, data)\"\n >\n <svg cdsIcon=\"arrow--up\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"data.index === data.length - 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onMoveDownClick($event, data)\"\n >\n <svg cdsIcon=\"arrow--down\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #dragAndDropTemplate let-data=\"data\">\n <div class=\"valtimo-carbon-list__draggable\">\n <button\n cdsButton=\"ghost\"\n [disabled]=\"dragAndDropDisabled\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (mousedown)=\"onDragStart($event, data)\"\n >\n <svg cdsIcon=\"draggable\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #tagTemplate let-data=\"data\">\n @if (!data) {\n -\n } @else {\n <div class=\"tag-template\">\n @if (data.length === 0) {\n -\n } @else {\n <cds-tag *ngIf=\"!!data[0].content\" class=\"cds-tag--no-margin\" [type]=\"data[0].type\">\n {{ data[0].ellipsisContent ?? data[0].content }}\n </cds-tag>\n\n <cds-tag\n *ngIf=\"data.length > 1\"\n class=\"cds-tag--no-margin valtimo-carbon-list__expand-tag\"\n type=\"high-contrast\"\n (click)=\"onTagClick($event, data)\"\n >\n {{ data.length - 1 }} <svg cdsIcon=\"add\" size=\"16\"></svg>\n </cds-tag>\n }\n </div>\n }\n</ng-template>\n\n<ng-template #defaultTemplate let-data=\"data\">\n <span>{{ data }}</span>\n</ng-template>\n\n<valtimo-tags-modal\n [open]=\"tagModalOpen$ | async\"\n [tags]=\"tagModalData$ | async\"\n (closeEvent)=\"onCloseEvent()\"\n></valtimo-tags-modal>\n", styles: [".clickable{cursor:pointer}.container-fluid{background-color:var(--cds-layer)}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}th:first-child,td:first-child{padding-left:25px}::ng-deep tr:has(>td .locked){cursor:not-allowed}::ng-deep tr:has(>td .locked) td{color:var(--cds-text-on-color-disabled)}::ng-deep .valtimo-carbon-list__header--hidden thead{display:none}::ng-deep .valtimo-carbon-list--unclickable tr{cursor:default}.valtimo-carbon-list__toolbar:empty{display:none}.valtimo-carbon-list__no-results{cursor:default}.valtimo-carbon-list__no-results td:empty,.valtimo-carbon-list__no-results td:not(:empty)+td{display:none}.valtimo-carbon-list__move-rows,.valtimo-carbon-list__draggable{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.valtimo-carbon-list__move-rows button:not(:last-child),.valtimo-carbon-list__draggable button:not(:last-child){margin-right:8px}.valtimo-carbon-list__expand-tag{cursor:pointer}.valtimo-carbon-list label{margin-bottom:0!important}.valtimo-carbon-list ::ng-deep .tag-template .cds--tag{margin:0}.valtimo-carbon-list ::ng-deep .tag-template .cds--tag svg{fill:var(--cds-background)}.valtimo-carbon-list ::ng-deep .tag-template>*:not(:last-child){margin-right:8px}.valtimo-carbon-list ::ng-deep .cds--tag{white-space:nowrap}.valtimo-carbon-list ::ng-deep .valtimo-carbon-list__draggable .cds--btn--ghost{cursor:move!important}::ng-deep .valtimo-carbon-list__drag-table-row{cursor:move!important}::ng-deep .valtimo-carbon-list__drag-table-row .valtimo-carbon-list__draggable .cds--btn--ghost{outline:0;border-color:var(--cds-button-focus-color, var(--cds-focus, var(--vcds-color-60)));box-shadow:inset 0 0 0 1px var(--cds-button-focus-color, var(--cds-focus, var(--vcds-color-60))),inset 0 0 0 2px var(--cds-background, #f4f4f4)}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.Pagination, selector: "cds-pagination, ibm-pagination", inputs: ["skeleton", "model", "disabled", "pageInputDisabled", "showPageInput", "pagesUnknown", "pageSelectThreshold", "translations", "itemsPerPageOptions"], outputs: ["selectPage"] }, { kind: "component", type: i3.TableToolbar, selector: "cds-table-toolbar, ibm-table-toolbar", inputs: ["model", "batchText", "ariaLabel", "cancelText", "size"], outputs: ["cancel"] }, { kind: "component", type: i3.TableContainer, selector: "cds-table-container, ibm-table-container" }, { kind: "component", type: i3.TableHeader, selector: "cds-table-header, ibm-table-header" }, { kind: "component", type: i3.TableToolbarActions, selector: "cds-table-toolbar-actions, ibm-table-toolbar-actions" }, { kind: "component", type: i3.TableToolbarSearch, selector: "cds-table-toolbar-search, ibm-table-toolbar-search" }, { kind: "component", type: i3.TableToolbarContent, selector: "cds-table-toolbar-content, ibm-table-toolbar-content" }, { kind: "component", type: i3.Table, selector: "cds-table, ibm-table", inputs: ["ariaLabelledby", "ariaDescribedby", "model", "size", "skeleton", "isDataGrid", "sortable", "noBorder", "showSelectionColumn", "enableSingleSelect", "scrollLoadDistance", "expandButtonAriaLabel", "sortDescendingLabel", "sortAscendingLabel", "translations", "striped", "stickyHeader", "footerTemplate", "selectionLabelColumn"], outputs: ["sort", "selectAll", "deselectAll", "selectRow", "deselectRow", "rowClick", "scrollLoad"] }, { kind: "component", type: i3.TableBody, selector: "[cdsTableBody], [ibmTableBody]", inputs: ["model", "enableSingleSelect", "expandButtonAriaLabel", "checkboxRowLabel", "showSelectionColumn", "size", "selectionLabelColumn", "skeleton"], outputs: ["selectRow", "deselectRow", "rowClick"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i3.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i3.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i11.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: CarbonTagsModalComponent, selector: "valtimo-tags-modal", inputs: ["open", "tags"], outputs: ["closeEvent"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5788
5817
|
}
|
|
5789
5818
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonListComponent, decorators: [{
|
|
5790
5819
|
type: Component,
|
|
5791
|
-
args: [{ selector: 'valtimo-carbon-list', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CarbonListFilterPipe, CarbonListDragAndDropService], template: "<!--\n ~ Copyright 2015-2024 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<cds-table-container\n *ngIf=\"{\n sort: sort$ | async,\n model: model$ | async,\n viewInitialized: viewInitialized$ | async,\n } as obs\"\n class=\"valtimo-carbon-list\"\n>\n <cds-table-header *ngIf=\"header\">\n <ng-content select=\"[header]\"></ng-content>\n </cds-table-header>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <cds-table-toolbar\n *ngIf=\"!hideToolbar\"\n class=\"valtimo-carbon-list__toolbar\"\n [model]=\"obs.model\"\n [batchText]=\"batchText$ | async\"\n >\n <cds-table-toolbar-actions>\n <ng-content select=\"[carbonToolbarActions]\"> </ng-content>\n </cds-table-toolbar-actions>\n\n <cds-table-toolbar-content>\n <cds-table-toolbar-search\n *ngIf=\"isSearchable\"\n [expandable]=\"true\"\n [formControl]=\"searchFormControl\"\n ></cds-table-toolbar-search>\n\n <ng-content select=\"[carbonToolbarContent]\"> </ng-content>\n </cds-table-toolbar-content>\n </cds-table-toolbar>\n\n <cds-table\n *ngIf=\"!!obs.sort\"\n [ngClass]=\"{\n 'valtimo-carbon-list__header--hidden': hideColumnHeader,\n 'valtimo-carbon-list--unclickable': !this.rowClicked.observed,\n }\"\n [enableSingleSelect]=\"enableSingleSelect\"\n [model]=\"loading || !obs.viewInitialized ? skeletonModel : obs.model\"\n [showSelectionColumn]=\"showSelectionColumn\"\n [skeleton]=\"loading\"\n [striped]=\"striped\"\n (sort)=\"onSort(obs.model.header[$event])\"\n (rowClick)=\"onRowClick($event)\"\n >\n <tbody cdsTableBody>\n <tr class=\"valtimo-carbon-list__no-results\">\n <td [attr.colspan]=\"obs.model.header.length + (showSelectionColumn ? 1 : 0)\">\n <ng-content></ng-content>\n </td>\n\n <td [attr.colspan]=\"obs.model.header.length + (showSelectionColumn ? 1 : 0)\">\n {{ 'list.noResults' | translate }}\n </td>\n </tr>\n </tbody>\n </cds-table>\n\n <cds-pagination\n *ngIf=\"paginationModel && items?.length\"\n [itemsPerPageOptions]=\"paginatorConfig.itemsPerPageOptions\"\n [model]=\"paginationModel\"\n [showPageInput]=\"paginatorConfig.showPageInput\"\n [skeleton]=\"loading\"\n [translations]=\"paginationTranslations$ | async\"\n (selectPage)=\"onSelectPage($event)\"\n ></cds-pagination>\n</cds-table-container>\n\n<ng-template #actionTemplate let-data=\"data\">\n <i\n class=\"clickable\"\n [ngClass]=\"data.iconClass\"\n (click)=\"$event.stopPropagation(); data.callback(data.item)\"\n ></i>\n</ng-template>\n\n<ng-template #booleanTemplate let-data=\"data\">\n {{ data | translate }}\n</ng-template>\n\n<ng-template #actionsMenuTemplate let-data=\"data\">\n <cds-overflow-menu\n [open]=\"currentOpenActionId === data.item\"\n (openChange)=\"handleActionOpenChange(data.item, $event)\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 50}\"\n placement=\"bottom\"\n (click)=\"$event.stopPropagation()\"\n >\n @for (action of data.actions; track action.label) {\n <cds-overflow-menu-option\n [disabled]=\"action.disabledCallback ? action.disabledCallback(data.item) : false\"\n [type]=\"action.type\"\n (selected)=\"action.callback(data.item)\"\n >\n <i *ngIf=\"!!action.iconClass\" [ngClass]=\"action.iconClass\"></i>\n\n {{ action.label | translate }}\n </cds-overflow-menu-option>\n }\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #rowDisabled let-data=\"data\">\n <div *ngIf=\"data.locked\" class=\"locked\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ lockedTooltipTranslationKey | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n </div>\n</ng-template>\n\n<ng-template #moveRowsTemplate let-data=\"data\">\n <div class=\"valtimo-carbon-list__move-rows\">\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"data.index === 0\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onMoveUpClick($event, data)\"\n >\n <svg cdsIcon=\"arrow--up\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"data.index === data.length - 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onMoveDownClick($event, data)\"\n >\n <svg cdsIcon=\"arrow--down\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #dragAndDropTemplate let-data=\"data\">\n <div class=\"valtimo-carbon-list__draggable\">\n <button\n cdsButton=\"ghost\"\n [disabled]=\"dragAndDropDisabled\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (mousedown)=\"onDragStart($event, data)\"\n >\n <svg cdsIcon=\"draggable\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #tagTemplate let-data=\"data\">\n
|
|
5820
|
+
args: [{ selector: 'valtimo-carbon-list', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CarbonListFilterPipe, CarbonListDragAndDropService], template: "<!--\n ~ Copyright 2015-2024 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<cds-table-container\n *ngIf=\"{\n sort: sort$ | async,\n model: model$ | async,\n viewInitialized: viewInitialized$ | async,\n } as obs\"\n class=\"valtimo-carbon-list\"\n>\n <cds-table-header *ngIf=\"header\">\n <ng-content select=\"[header]\"></ng-content>\n </cds-table-header>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <cds-table-toolbar\n *ngIf=\"!hideToolbar\"\n class=\"valtimo-carbon-list__toolbar\"\n [model]=\"obs.model\"\n [batchText]=\"batchText$ | async\"\n >\n <cds-table-toolbar-actions>\n <ng-content select=\"[carbonToolbarActions]\"> </ng-content>\n </cds-table-toolbar-actions>\n\n <cds-table-toolbar-content>\n <cds-table-toolbar-search\n *ngIf=\"isSearchable\"\n [expandable]=\"true\"\n [formControl]=\"searchFormControl\"\n ></cds-table-toolbar-search>\n\n <ng-content select=\"[carbonToolbarContent]\"> </ng-content>\n </cds-table-toolbar-content>\n </cds-table-toolbar>\n\n <cds-table\n *ngIf=\"!!obs.sort\"\n [ngClass]=\"{\n 'valtimo-carbon-list__header--hidden': hideColumnHeader,\n 'valtimo-carbon-list--unclickable': !this.rowClicked.observed,\n }\"\n [enableSingleSelect]=\"enableSingleSelect\"\n [model]=\"loading || !obs.viewInitialized ? skeletonModel : obs.model\"\n [showSelectionColumn]=\"showSelectionColumn\"\n [skeleton]=\"loading\"\n [striped]=\"striped\"\n (sort)=\"onSort(obs.model.header[$event])\"\n (rowClick)=\"onRowClick($event)\"\n >\n <tbody cdsTableBody>\n <tr class=\"valtimo-carbon-list__no-results\">\n <td [attr.colspan]=\"obs.model.header.length + (showSelectionColumn ? 1 : 0)\">\n <ng-content></ng-content>\n </td>\n\n <td [attr.colspan]=\"obs.model.header.length + (showSelectionColumn ? 1 : 0)\">\n {{ 'list.noResults' | translate }}\n </td>\n </tr>\n </tbody>\n </cds-table>\n\n <cds-pagination\n *ngIf=\"paginationModel && items?.length\"\n [itemsPerPageOptions]=\"paginatorConfig.itemsPerPageOptions\"\n [model]=\"paginationModel\"\n [showPageInput]=\"paginatorConfig.showPageInput\"\n [skeleton]=\"loading\"\n [translations]=\"paginationTranslations$ | async\"\n (selectPage)=\"onSelectPage($event)\"\n ></cds-pagination>\n</cds-table-container>\n\n<ng-template #actionTemplate let-data=\"data\">\n <i\n class=\"clickable\"\n [ngClass]=\"data.iconClass\"\n (click)=\"$event.stopPropagation(); data.callback(data.item)\"\n ></i>\n</ng-template>\n\n<ng-template #booleanTemplate let-data=\"data\">\n {{ data | translate }}\n</ng-template>\n\n<ng-template #actionsMenuTemplate let-data=\"data\">\n <cds-overflow-menu\n [open]=\"currentOpenActionId === data.item\"\n (openChange)=\"handleActionOpenChange(data.item, $event)\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 50}\"\n placement=\"bottom\"\n (click)=\"$event.stopPropagation()\"\n >\n @for (action of data.actions; track action.label) {\n <cds-overflow-menu-option\n [disabled]=\"action.disabledCallback ? action.disabledCallback(data.item) : false\"\n [type]=\"action.type\"\n (selected)=\"action.callback(data.item)\"\n >\n <i *ngIf=\"!!action.iconClass\" [ngClass]=\"action.iconClass\"></i>\n\n {{ action.label | translate }}\n </cds-overflow-menu-option>\n }\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #rowDisabled let-data=\"data\">\n <div *ngIf=\"data.locked\" class=\"locked\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ lockedTooltipTranslationKey | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n </div>\n</ng-template>\n\n<ng-template #moveRowsTemplate let-data=\"data\">\n <div class=\"valtimo-carbon-list__move-rows\">\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"data.index === 0\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onMoveUpClick($event, data)\"\n >\n <svg cdsIcon=\"arrow--up\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"data.index === data.length - 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onMoveDownClick($event, data)\"\n >\n <svg cdsIcon=\"arrow--down\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #dragAndDropTemplate let-data=\"data\">\n <div class=\"valtimo-carbon-list__draggable\">\n <button\n cdsButton=\"ghost\"\n [disabled]=\"dragAndDropDisabled\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (mousedown)=\"onDragStart($event, data)\"\n >\n <svg cdsIcon=\"draggable\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #tagTemplate let-data=\"data\">\n @if (!data) {\n -\n } @else {\n <div class=\"tag-template\">\n @if (data.length === 0) {\n -\n } @else {\n <cds-tag *ngIf=\"!!data[0].content\" class=\"cds-tag--no-margin\" [type]=\"data[0].type\">\n {{ data[0].ellipsisContent ?? data[0].content }}\n </cds-tag>\n\n <cds-tag\n *ngIf=\"data.length > 1\"\n class=\"cds-tag--no-margin valtimo-carbon-list__expand-tag\"\n type=\"high-contrast\"\n (click)=\"onTagClick($event, data)\"\n >\n {{ data.length - 1 }} <svg cdsIcon=\"add\" size=\"16\"></svg>\n </cds-tag>\n }\n </div>\n }\n</ng-template>\n\n<ng-template #defaultTemplate let-data=\"data\">\n <span>{{ data }}</span>\n</ng-template>\n\n<valtimo-tags-modal\n [open]=\"tagModalOpen$ | async\"\n [tags]=\"tagModalData$ | async\"\n (closeEvent)=\"onCloseEvent()\"\n></valtimo-tags-modal>\n", styles: [".clickable{cursor:pointer}.container-fluid{background-color:var(--cds-layer)}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}th:first-child,td:first-child{padding-left:25px}::ng-deep tr:has(>td .locked){cursor:not-allowed}::ng-deep tr:has(>td .locked) td{color:var(--cds-text-on-color-disabled)}::ng-deep .valtimo-carbon-list__header--hidden thead{display:none}::ng-deep .valtimo-carbon-list--unclickable tr{cursor:default}.valtimo-carbon-list__toolbar:empty{display:none}.valtimo-carbon-list__no-results{cursor:default}.valtimo-carbon-list__no-results td:empty,.valtimo-carbon-list__no-results td:not(:empty)+td{display:none}.valtimo-carbon-list__move-rows,.valtimo-carbon-list__draggable{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.valtimo-carbon-list__move-rows button:not(:last-child),.valtimo-carbon-list__draggable button:not(:last-child){margin-right:8px}.valtimo-carbon-list__expand-tag{cursor:pointer}.valtimo-carbon-list label{margin-bottom:0!important}.valtimo-carbon-list ::ng-deep .tag-template .cds--tag{margin:0}.valtimo-carbon-list ::ng-deep .tag-template .cds--tag svg{fill:var(--cds-background)}.valtimo-carbon-list ::ng-deep .tag-template>*:not(:last-child){margin-right:8px}.valtimo-carbon-list ::ng-deep .cds--tag{white-space:nowrap}.valtimo-carbon-list ::ng-deep .valtimo-carbon-list__draggable .cds--btn--ghost{cursor:move!important}::ng-deep .valtimo-carbon-list__drag-table-row{cursor:move!important}::ng-deep .valtimo-carbon-list__drag-table-row .valtimo-carbon-list__draggable .cds--btn--ghost{outline:0;border-color:var(--cds-button-focus-color, var(--cds-focus, var(--vcds-color-60)));box-shadow:inset 0 0 0 1px var(--cds-button-focus-color, var(--cds-focus, var(--vcds-color-60))),inset 0 0 0 2px var(--cds-background, #f4f4f4)}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
5792
5821
|
}], ctorParameters: () => [{ type: EllipsisPipe }, { type: CarbonListFilterPipe }, { type: i3.IconService }, { type: i4.NGXLogger }, { type: i1.TranslateService }, { type: ViewContentService }, { type: KeyStateService }, { type: CarbonListDragAndDropService }, { type: i0.ElementRef }], propDecorators: { actionsMenuTemplate: [{
|
|
5793
5822
|
type: ViewChild,
|
|
5794
5823
|
args: ['actionsMenuTemplate']
|
|
@@ -9505,15 +9534,18 @@ class ValuePathSelectorComponent {
|
|
|
9505
9534
|
if (this.showDocumentDefinitionSelector)
|
|
9506
9535
|
this._inputMode$.next(ValuePathSelectorInputMode.MANUAL);
|
|
9507
9536
|
}
|
|
9537
|
+
set type(value) {
|
|
9538
|
+
this._type$.next(value);
|
|
9539
|
+
}
|
|
9540
|
+
set parentItem(value) {
|
|
9541
|
+
this._parentItem$.next(value);
|
|
9542
|
+
}
|
|
9508
9543
|
get _documentDefinitionName$() {
|
|
9509
9544
|
return this._documentDefinitionNameSubject$.pipe(filter$1(value => !!value));
|
|
9510
9545
|
}
|
|
9511
9546
|
get _prefixes$() {
|
|
9512
9547
|
return this._prefixesSubject$.pipe(filter$1(value => !!value));
|
|
9513
9548
|
}
|
|
9514
|
-
get inputModeIsDropdown$() {
|
|
9515
|
-
return this._inputMode$.pipe(map(mode => mode === ValuePathSelectorInputMode.DROPDOWN));
|
|
9516
|
-
}
|
|
9517
9549
|
constructor(valuePathSelectorService, formBuilder, documentService) {
|
|
9518
9550
|
this.valuePathSelectorService = valuePathSelectorService;
|
|
9519
9551
|
this.formBuilder = formBuilder;
|
|
@@ -9531,24 +9563,51 @@ class ValuePathSelectorComponent {
|
|
|
9531
9563
|
this.required = false;
|
|
9532
9564
|
this.showDocumentDefinitionSelector = false;
|
|
9533
9565
|
this.notation = 'dots';
|
|
9566
|
+
this._type$ = new BehaviorSubject(ValuePathType.FIELD);
|
|
9567
|
+
this._parentItem$ = new BehaviorSubject(null);
|
|
9534
9568
|
this.valueChangeEvent = new EventEmitter();
|
|
9569
|
+
this.collectionSelected = new EventEmitter();
|
|
9535
9570
|
this._documentDefinitionNameSubject$ = new BehaviorSubject('');
|
|
9536
9571
|
this._version$ = new BehaviorSubject(null);
|
|
9537
9572
|
this._prefixesSubject$ = new BehaviorSubject(null);
|
|
9538
9573
|
this._inputMode$ = new BehaviorSubject(ValuePathSelectorInputMode.DROPDOWN);
|
|
9574
|
+
this.inputModeIsDropdown$ = this._inputMode$.pipe(map(mode => {
|
|
9575
|
+
return mode === ValuePathSelectorInputMode.DROPDOWN;
|
|
9576
|
+
}));
|
|
9539
9577
|
this.loadingValuePathItems$ = new BehaviorSubject(true);
|
|
9540
9578
|
this.disabled$ = new BehaviorSubject(false);
|
|
9541
9579
|
this._cachedOptions = [];
|
|
9542
|
-
this.valuePathListItems$ =
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
|
|
9547
|
-
|
|
9548
|
-
|
|
9549
|
-
|
|
9580
|
+
this.valuePathListItems$ = this._parentItem$.pipe(tap$1(() => this.loadingValuePathItems$.next(true)), switchMap((parentItem) => parentItem
|
|
9581
|
+
? of(parentItem.children?.map((child) => ({ path: child })) ?? [])
|
|
9582
|
+
: combineLatest([
|
|
9583
|
+
this._documentDefinitionName$,
|
|
9584
|
+
this._prefixes$,
|
|
9585
|
+
this._type$,
|
|
9586
|
+
this._version$,
|
|
9587
|
+
]).pipe(switchMap(([documentDefinitionName, prefixes, type, version]) => typeof version === 'number'
|
|
9588
|
+
? this.valuePathSelectorService.getResolvableKeys(prefixes, documentDefinitionName, type, version)
|
|
9589
|
+
: this.valuePathSelectorService.getResolvableKeys(prefixes, documentDefinitionName, type)))), map((results) => results
|
|
9590
|
+
.map((result) => ({
|
|
9591
|
+
...result,
|
|
9592
|
+
formattedPath: !this._parentItem$.getValue()
|
|
9593
|
+
? this.getFormattedPath(result.path)
|
|
9594
|
+
: result.path,
|
|
9595
|
+
}))
|
|
9596
|
+
.sort((a, b) => a.formattedPath.localeCompare(b.formattedPath))), tap$1(options => (this._cachedOptions = options)), switchMap(options => combineLatest([of(options), this._selectedPath$, this.inputModeIsDropdown$])), tap$1(([options, selectedPath, inputModeIsDropdown]) => {
|
|
9597
|
+
const formattedOptions = options.map(option => option.formattedPath);
|
|
9598
|
+
if (!formattedOptions.includes(selectedPath) && !!selectedPath && inputModeIsDropdown)
|
|
9550
9599
|
this._inputMode$.next(ValuePathSelectorInputMode.MANUAL);
|
|
9551
|
-
}), map(([options, selectedPath]) => options.map(option =>
|
|
9600
|
+
}), map(([options, selectedPath]) => options.map(option => {
|
|
9601
|
+
const mappedOption = {
|
|
9602
|
+
content: option.formattedPath,
|
|
9603
|
+
selected: option.formattedPath === selectedPath,
|
|
9604
|
+
path: option.path,
|
|
9605
|
+
...(!!option.children && { children: option.children }),
|
|
9606
|
+
};
|
|
9607
|
+
if (mappedOption.selected)
|
|
9608
|
+
this.onPathSelected({ item: mappedOption });
|
|
9609
|
+
return mappedOption;
|
|
9610
|
+
})), tap$1(() => this.loadingValuePathItems$.next(false)));
|
|
9552
9611
|
this.loadingDocumentDefinitionItems$ = new BehaviorSubject(true);
|
|
9553
9612
|
this.documentDefinitionListItems$ = this.valuePathSelectorService.getDocumentDefinitionCache().pipe(switchMap(cache => combineLatest([
|
|
9554
9613
|
cache ? of(cache) : this.documentService.getAllDefinitions(),
|
|
@@ -9595,6 +9654,8 @@ class ValuePathSelectorComponent {
|
|
|
9595
9654
|
const selectedPath = event?.item?.content;
|
|
9596
9655
|
if (!selectedPath)
|
|
9597
9656
|
return;
|
|
9657
|
+
if (this.collectionSelected.observed)
|
|
9658
|
+
this.collectionSelected.emit(event.item);
|
|
9598
9659
|
this.selectedPath.setValue(selectedPath);
|
|
9599
9660
|
}
|
|
9600
9661
|
onDocumentDefinitionSelected(event) {
|
|
@@ -9606,7 +9667,8 @@ class ValuePathSelectorComponent {
|
|
|
9606
9667
|
}
|
|
9607
9668
|
onInputModeChange(toDropdownMode) {
|
|
9608
9669
|
const currentPathValue = this.selectedPath.value;
|
|
9609
|
-
if (toDropdownMode &&
|
|
9670
|
+
if (toDropdownMode &&
|
|
9671
|
+
!this._cachedOptions.map(option => option.formattedPath).includes(currentPathValue)) {
|
|
9610
9672
|
this.selectedPath.setValue('');
|
|
9611
9673
|
}
|
|
9612
9674
|
this._inputMode$.next(toDropdownMode ? ValuePathSelectorInputMode.DROPDOWN : ValuePathSelectorInputMode.MANUAL);
|
|
@@ -9628,13 +9690,13 @@ class ValuePathSelectorComponent {
|
|
|
9628
9690
|
return `${prefix}:${requiredNotation === 'dots' ? formattedPath.substring(1) : formattedPath}`;
|
|
9629
9691
|
}
|
|
9630
9692
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorComponent, deps: [{ token: ValuePathSelectorService }, { token: i2$1.FormBuilder }, { token: i2$3.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9631
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ValuePathSelectorComponent, isStandalone: true, selector: "valtimo-value-path-selector", inputs: { name: "name", appendInline: "appendInline", margin: "margin", marginLg: "marginLg", marginXl: "marginXl", disabled: "disabled", documentDefinitionName: "documentDefinitionName", version: "version", prefixes: "prefixes", label: "label", tooltip: "tooltip", required: "required", showDocumentDefinitionSelector: "showDocumentDefinitionSelector", notation: "notation", defaultValue: "defaultValue" }, outputs: { valueChangeEvent: "valueChangeEvent" }, host: { listeners: { "focusout": "onBlur()" }, properties: { "class.value-path-selector--margin-bottom": "this._showMargin", "class.value-path-selector--margin-bottom-lg": "this._showMarginLg", "class.value-path-selector--margin-bottom-xl": "this._showMarginXl" } }, providers: [
|
|
9693
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ValuePathSelectorComponent, isStandalone: true, selector: "valtimo-value-path-selector", inputs: { name: "name", appendInline: "appendInline", margin: "margin", marginLg: "marginLg", marginXl: "marginXl", disabled: "disabled", documentDefinitionName: "documentDefinitionName", version: "version", prefixes: "prefixes", label: "label", tooltip: "tooltip", required: "required", showDocumentDefinitionSelector: "showDocumentDefinitionSelector", notation: "notation", defaultValue: "defaultValue", type: "type", parentItem: "parentItem" }, outputs: { valueChangeEvent: "valueChangeEvent", collectionSelected: "collectionSelected" }, host: { listeners: { "focusout": "onBlur()" }, properties: { "class.value-path-selector--margin-bottom": "this._showMargin", "class.value-path-selector--margin-bottom-lg": "this._showMarginLg", "class.value-path-selector--margin-bottom-xl": "this._showMarginXl" } }, providers: [
|
|
9632
9694
|
{
|
|
9633
9695
|
provide: NG_VALUE_ACCESSOR,
|
|
9634
9696
|
multi: true,
|
|
9635
9697
|
useExisting: forwardRef(() => ValuePathSelectorComponent),
|
|
9636
9698
|
},
|
|
9637
|
-
], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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\n *ngIf=\"{\n inputModeIsDropdown: inputModeIsDropdown$ | async,\n valuePathListItems: valuePathListItems$ | async,\n loadingValuePathItems: loadingValuePathItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <v-input-label [required]=\"required\" [title]=\"label\" [tooltip]=\"tooltip\"> </v-input-label>\n\n <form
|
|
9699
|
+
], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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\n *ngIf=\"{\n inputModeIsDropdown: inputModeIsDropdown$ | async,\n valuePathListItems: valuePathListItems$ | async,\n loadingValuePathItems: loadingValuePathItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <v-input-label [required]=\"required\" [title]=\"label\" [tooltip]=\"tooltip\"> </v-input-label>\n\n <form\n [formGroup]=\"formGroup\"\n class=\"value-path-selector__form\"\n [ngClass]=\"{\n 'value-path-selector__form--doc-def-selection':\n showDocumentDefinitionSelector && obs.inputModeIsDropdown,\n }\"\n >\n <cds-toggle\n data-testid=\"value-path-selector-toggle\"\n size=\"sm\"\n [disabled]=\"obs.disabled\"\n [onText]=\"'valuePathSelector.dropdown' | translate\"\n [offText]=\"'valuePathSelector.manual' | translate\"\n [checked]=\"obs.inputModeIsDropdown\"\n (checkedChange)=\"onInputModeChange($event)\"\n ></cds-toggle>\n\n @if (obs.inputModeIsDropdown) {\n <ng-container\n *ngIf=\"\n showDocumentDefinitionSelector && {\n loadingDocumentDefinitionItems: loadingDocumentDefinitionItems$ | async,\n documentDefinitionListItems: documentDefinitionListItems$ | async,\n } as docObs\n \"\n >\n <cds-dropdown\n data-testid=\"value-path-selector-documentDefinition\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n docObs.loadingDocumentDefinitionItems ||\n !docObs.documentDefinitionListItems ||\n (docObs.documentDefinitionListItems || []).length === 0\n \"\n (selected)=\"onDocumentDefinitionSelected($event)\"\n [placeholder]=\"'valuePathSelector.selectDocDefPlaceholder' | translate\"\n >\n <cds-dropdown-list [items]=\"docObs.documentDefinitionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-container>\n\n <cds-dropdown\n data-testid=\"value-path-selector-valuePath\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n obs.loadingValuePathItems ||\n !obs.valuePathListItems ||\n (obs.valuePathListItems || []).length === 0\n \"\n (selected)=\"onPathSelected($event)\"\n [placeholder]=\"'valuePathSelector.placeholder' | translate\"\n >\n <cds-dropdown-list [items]=\"obs.valuePathListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n } @else {\n <input\n data-testid=\"value-path-selector-input\"\n cdsText\n type=\"text\"\n formControlName=\"selectedPath\"\n />\n }\n </form>\n</ng-container>\n", styles: [":host{width:100%;display:flex;flex-direction:column}::ng-deep .value-path-selector--margin-bottom{margin-bottom:16px}::ng-deep .value-path-selector--margin-bottom-lg{margin-bottom:24px}::ng-deep .value-path-selector--margin-bottom-xl{margin-bottom:34px}.value-path-selector__form{display:grid;grid-template-columns:110px 1fr;width:100%;align-items:center;gap:16px;justify-content:space-between}.value-path-selector__form--doc-def-selection{grid-template-columns:110px 1fr 1fr}.value-path-selector__form ::ng-deep cds-dropdown{width:100%;min-width:0}.value-path-selector__form ::ng-deep .cds--toggle__label-text{display:none}.value-path-selector__form ::ng-deep .cds--toggle__label{display:flex}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i3.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
9638
9700
|
}
|
|
9639
9701
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorComponent, decorators: [{
|
|
9640
9702
|
type: Component,
|
|
@@ -9654,7 +9716,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
9654
9716
|
multi: true,
|
|
9655
9717
|
useExisting: forwardRef(() => ValuePathSelectorComponent),
|
|
9656
9718
|
},
|
|
9657
|
-
], template: "<!--\n ~ Copyright 2015-2024 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\n *ngIf=\"{\n inputModeIsDropdown: inputModeIsDropdown$ | async,\n valuePathListItems: valuePathListItems$ | async,\n loadingValuePathItems: loadingValuePathItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <v-input-label [required]=\"required\" [title]=\"label\" [tooltip]=\"tooltip\"> </v-input-label>\n\n <form
|
|
9719
|
+
], template: "<!--\n ~ Copyright 2015-2024 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\n *ngIf=\"{\n inputModeIsDropdown: inputModeIsDropdown$ | async,\n valuePathListItems: valuePathListItems$ | async,\n loadingValuePathItems: loadingValuePathItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <v-input-label [required]=\"required\" [title]=\"label\" [tooltip]=\"tooltip\"> </v-input-label>\n\n <form\n [formGroup]=\"formGroup\"\n class=\"value-path-selector__form\"\n [ngClass]=\"{\n 'value-path-selector__form--doc-def-selection':\n showDocumentDefinitionSelector && obs.inputModeIsDropdown,\n }\"\n >\n <cds-toggle\n data-testid=\"value-path-selector-toggle\"\n size=\"sm\"\n [disabled]=\"obs.disabled\"\n [onText]=\"'valuePathSelector.dropdown' | translate\"\n [offText]=\"'valuePathSelector.manual' | translate\"\n [checked]=\"obs.inputModeIsDropdown\"\n (checkedChange)=\"onInputModeChange($event)\"\n ></cds-toggle>\n\n @if (obs.inputModeIsDropdown) {\n <ng-container\n *ngIf=\"\n showDocumentDefinitionSelector && {\n loadingDocumentDefinitionItems: loadingDocumentDefinitionItems$ | async,\n documentDefinitionListItems: documentDefinitionListItems$ | async,\n } as docObs\n \"\n >\n <cds-dropdown\n data-testid=\"value-path-selector-documentDefinition\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n docObs.loadingDocumentDefinitionItems ||\n !docObs.documentDefinitionListItems ||\n (docObs.documentDefinitionListItems || []).length === 0\n \"\n (selected)=\"onDocumentDefinitionSelected($event)\"\n [placeholder]=\"'valuePathSelector.selectDocDefPlaceholder' | translate\"\n >\n <cds-dropdown-list [items]=\"docObs.documentDefinitionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-container>\n\n <cds-dropdown\n data-testid=\"value-path-selector-valuePath\"\n [appendInline]=\"appendInline\"\n [disabled]=\"\n obs.disabled ||\n obs.loadingValuePathItems ||\n !obs.valuePathListItems ||\n (obs.valuePathListItems || []).length === 0\n \"\n (selected)=\"onPathSelected($event)\"\n [placeholder]=\"'valuePathSelector.placeholder' | translate\"\n >\n <cds-dropdown-list [items]=\"obs.valuePathListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n } @else {\n <input\n data-testid=\"value-path-selector-input\"\n cdsText\n type=\"text\"\n formControlName=\"selectedPath\"\n />\n }\n </form>\n</ng-container>\n", styles: [":host{width:100%;display:flex;flex-direction:column}::ng-deep .value-path-selector--margin-bottom{margin-bottom:16px}::ng-deep .value-path-selector--margin-bottom-lg{margin-bottom:24px}::ng-deep .value-path-selector--margin-bottom-xl{margin-bottom:34px}.value-path-selector__form{display:grid;grid-template-columns:110px 1fr;width:100%;align-items:center;gap:16px;justify-content:space-between}.value-path-selector__form--doc-def-selection{grid-template-columns:110px 1fr 1fr}.value-path-selector__form ::ng-deep cds-dropdown{width:100%;min-width:0}.value-path-selector__form ::ng-deep .cds--toggle__label-text{display:none}.value-path-selector__form ::ng-deep .cds--toggle__label{display:flex}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
9658
9720
|
}], ctorParameters: () => [{ type: ValuePathSelectorService }, { type: i2$1.FormBuilder }, { type: i2$3.DocumentService }], propDecorators: { _showMargin: [{
|
|
9659
9721
|
type: HostBinding,
|
|
9660
9722
|
args: ['class.value-path-selector--margin-bottom']
|
|
@@ -9697,8 +9759,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
9697
9759
|
type: Input
|
|
9698
9760
|
}], defaultValue: [{
|
|
9699
9761
|
type: Input
|
|
9762
|
+
}], type: [{
|
|
9763
|
+
type: Input
|
|
9764
|
+
}], parentItem: [{
|
|
9765
|
+
type: Input
|
|
9700
9766
|
}], valueChangeEvent: [{
|
|
9701
9767
|
type: Output
|
|
9768
|
+
}], collectionSelected: [{
|
|
9769
|
+
type: Output
|
|
9702
9770
|
}] } });
|
|
9703
9771
|
|
|
9704
9772
|
/*
|
|
@@ -9738,7 +9806,7 @@ class FormioValueResolverSelectorComponent {
|
|
|
9738
9806
|
}
|
|
9739
9807
|
}
|
|
9740
9808
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormioValueResolverSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9741
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormioValueResolverSelectorComponent, isStandalone: true, selector: "valtimo-formio-value-resolver-selector", inputs: { disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<valtimo-value-path-selector\n [appendInline]=\"true\"\n [defaultValue]=\"defaultValue$ | async\"\n [showDocumentDefinitionSelector]=\"true\"\n notation=\"slashes\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n (valueChangeEvent)=\"onValueChange($event)\"\n></valtimo-value-path-selector>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue"], outputs: ["valueChangeEvent"] }] }); }
|
|
9809
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormioValueResolverSelectorComponent, isStandalone: true, selector: "valtimo-formio-value-resolver-selector", inputs: { disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<valtimo-value-path-selector\n [appendInline]=\"true\"\n [defaultValue]=\"defaultValue$ | async\"\n [showDocumentDefinitionSelector]=\"true\"\n notation=\"slashes\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n (valueChangeEvent)=\"onValueChange($event)\"\n></valtimo-value-path-selector>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue", "type", "parentItem"], outputs: ["valueChangeEvent", "collectionSelected"] }] }); }
|
|
9742
9810
|
}
|
|
9743
9811
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormioValueResolverSelectorComponent, decorators: [{
|
|
9744
9812
|
type: Component,
|
|
@@ -11780,236 +11848,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
11780
11848
|
*
|
|
11781
11849
|
* Unless required by applicable law or agreed to in writing, software
|
|
11782
11850
|
* distributed under the License is distributed on an "AS IS" basis,
|
|
11783
|
-
*
|
|
11851
|
+
* WITHimport { LabelModule } from 'carbon-components-angular';
|
|
11852
|
+
OUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11784
11853
|
* See the License for the specific language governing permissions and
|
|
11785
11854
|
* limitations under the License.
|
|
11786
11855
|
*/
|
|
11787
|
-
class
|
|
11856
|
+
class KeyValueComponent {
|
|
11788
11857
|
constructor() {
|
|
11789
|
-
this.name = '';
|
|
11790
|
-
this.title = '';
|
|
11791
|
-
this.titleTranslationKey = '';
|
|
11792
|
-
this.type = 'value';
|
|
11793
|
-
this.initialAmountOfRows = 1;
|
|
11794
|
-
this.minimumAmountOfRows = 1;
|
|
11795
|
-
this.maxRows = null;
|
|
11796
|
-
this.addRowText = '';
|
|
11797
|
-
this.addRowTranslationKey = '';
|
|
11798
|
-
this.deleteRowText = '';
|
|
11799
|
-
this.deleteRowTranslationKey = '';
|
|
11800
|
-
this.disabled = false;
|
|
11801
|
-
this.margin = false;
|
|
11802
|
-
this.tooltip = '';
|
|
11803
|
-
this.required = false;
|
|
11804
|
-
this.keyColumnTitle = '';
|
|
11805
|
-
this.valueColumnTitle = '';
|
|
11806
|
-
this.dropdownColumnTitle = '';
|
|
11807
|
-
this.hideDeleteButton = false;
|
|
11808
|
-
this.hideAddButton = false;
|
|
11809
|
-
this.dropdownWidth = 250;
|
|
11810
11858
|
this.fullWidth = false;
|
|
11811
|
-
this.
|
|
11859
|
+
this.disabled = false;
|
|
11860
|
+
this.keyColumnFlex = 1;
|
|
11861
|
+
this.valueColumnFlex = 1;
|
|
11812
11862
|
this.valueChange = new EventEmitter();
|
|
11813
|
-
this.allValuesValidEvent = new EventEmitter();
|
|
11814
|
-
this.amountOfArbitraryValuesArray$ = new BehaviorSubject([]);
|
|
11815
|
-
this.values$ = new BehaviorSubject([]);
|
|
11816
|
-
this.mappedValues$ = this.values$.pipe(map$1(values => values
|
|
11817
|
-
.map(value => this.getMappedValue(value))
|
|
11818
|
-
.filter(value => {
|
|
11819
|
-
switch (this.type) {
|
|
11820
|
-
case 'value':
|
|
11821
|
-
return value;
|
|
11822
|
-
case 'keyValue':
|
|
11823
|
-
return value.value || value.key;
|
|
11824
|
-
case 'keyDropdownValue':
|
|
11825
|
-
return (value.value &&
|
|
11826
|
-
value.key &&
|
|
11827
|
-
value.dropdown);
|
|
11828
|
-
case 'arbitraryAmount':
|
|
11829
|
-
const objectValues = Object.values(value);
|
|
11830
|
-
const positiveValuesAmount = objectValues.filter(objectValue => !!objectValue);
|
|
11831
|
-
return objectValues.length === positiveValuesAmount.length;
|
|
11832
|
-
}
|
|
11833
|
-
})));
|
|
11834
|
-
this.addRowEnabled$ = this.values$.pipe(map$1(values => !!(this.maxRows === null || values.length < this.maxRows)));
|
|
11835
|
-
this.dropdownItems$ = new BehaviorSubject([]);
|
|
11836
|
-
}
|
|
11837
|
-
set arbitraryValueAmount(value) {
|
|
11838
|
-
this._amountOfArbitraryValues = value;
|
|
11839
|
-
this.amountOfArbitraryValuesArray$.next(this.getArrayOfXLength(value));
|
|
11840
|
-
}
|
|
11841
|
-
set dropdownItems(value) {
|
|
11842
|
-
this.dropdownItems$.next(value);
|
|
11843
|
-
}
|
|
11844
|
-
ngOnInit() {
|
|
11845
|
-
this.values$.next(this.getInitialRows());
|
|
11846
|
-
this.openValuesSubscription();
|
|
11847
|
-
}
|
|
11848
|
-
ngOnDestroy() {
|
|
11849
|
-
this._valuesSubscription?.unsubscribe();
|
|
11850
|
-
}
|
|
11851
|
-
addRow() {
|
|
11852
|
-
combineLatest([this.values$, this.addRowEnabled$])
|
|
11853
|
-
.pipe(take(1))
|
|
11854
|
-
.subscribe(([values, addRowEnabled]) => {
|
|
11855
|
-
if (addRowEnabled) {
|
|
11856
|
-
this.values$.next([...values, this.getEmptyValue()]);
|
|
11857
|
-
}
|
|
11858
|
-
});
|
|
11859
|
-
}
|
|
11860
|
-
deleteRow(uuid) {
|
|
11861
|
-
this.values$.pipe(take(1)).subscribe(values => {
|
|
11862
|
-
if (values.length > this.minimumAmountOfRows) {
|
|
11863
|
-
this.values$.next(values.filter(value => value.uuid !== uuid));
|
|
11864
|
-
}
|
|
11865
|
-
});
|
|
11866
|
-
}
|
|
11867
|
-
trackByFn(index, value) {
|
|
11868
|
-
return value.uuid;
|
|
11869
|
-
}
|
|
11870
|
-
getDropdownItemsForRow(index) {
|
|
11871
|
-
return combineLatest([this.dropdownItems$, this.values$]).pipe(map$1(([dropdownItems, values]) => {
|
|
11872
|
-
const defaultValue = values[index] || this.defaultValues[index];
|
|
11873
|
-
return dropdownItems.map(dropdownItem => ({
|
|
11874
|
-
...dropdownItem,
|
|
11875
|
-
selected: defaultValue ? dropdownItem.id === defaultValue.dropdown : false,
|
|
11876
|
-
}));
|
|
11877
|
-
}));
|
|
11878
|
-
}
|
|
11879
|
-
onValueChange(templateValue, inputValue, change, arbitraryIndex) {
|
|
11880
|
-
this.values$.pipe(take(1)).subscribe(values => {
|
|
11881
|
-
this.values$.next(values.map(stateValue => {
|
|
11882
|
-
if (stateValue.uuid === templateValue.uuid) {
|
|
11883
|
-
if (change === 'value') {
|
|
11884
|
-
return { ...stateValue, value: inputValue };
|
|
11885
|
-
}
|
|
11886
|
-
else if (change === 'key') {
|
|
11887
|
-
return { ...stateValue, key: inputValue };
|
|
11888
|
-
}
|
|
11889
|
-
else if (change === 'dropdown') {
|
|
11890
|
-
return { ...stateValue, dropdown: inputValue };
|
|
11891
|
-
}
|
|
11892
|
-
else if (change === 'arbitrary') {
|
|
11893
|
-
return { ...stateValue, [arbitraryIndex]: inputValue };
|
|
11894
|
-
}
|
|
11895
|
-
}
|
|
11896
|
-
return stateValue;
|
|
11897
|
-
}));
|
|
11898
|
-
});
|
|
11899
|
-
}
|
|
11900
|
-
getInitialRows() {
|
|
11901
|
-
const minimumRows = this.minimumAmountOfRows;
|
|
11902
|
-
const initialRows = this.initialAmountOfRows;
|
|
11903
|
-
const amountOfInitalRows = Math.max(minimumRows, initialRows);
|
|
11904
|
-
if (!this.defaultValues) {
|
|
11905
|
-
return new Array(amountOfInitalRows).fill(this.getEmptyValue());
|
|
11906
|
-
}
|
|
11907
|
-
return this.defaultValues.map(defaultValue => ({ ...defaultValue, uuid: v4() }));
|
|
11908
|
-
}
|
|
11909
|
-
getEmptyValue() {
|
|
11910
|
-
if (this.type === 'arbitraryAmount') {
|
|
11911
|
-
const emptyValue = {
|
|
11912
|
-
uuid: v4(),
|
|
11913
|
-
};
|
|
11914
|
-
this.getArrayOfXLength(this._amountOfArbitraryValues).forEach((_, index) => {
|
|
11915
|
-
emptyValue[`${index}`] = '';
|
|
11916
|
-
});
|
|
11917
|
-
return emptyValue;
|
|
11918
|
-
}
|
|
11919
|
-
return {
|
|
11920
|
-
key: '',
|
|
11921
|
-
value: '',
|
|
11922
|
-
uuid: v4(),
|
|
11923
|
-
dropdown: '',
|
|
11924
|
-
};
|
|
11925
|
-
}
|
|
11926
|
-
getMappedValue(valueToMap) {
|
|
11927
|
-
if (this.type === 'keyValue') {
|
|
11928
|
-
return { key: valueToMap.key, value: valueToMap.value };
|
|
11929
|
-
}
|
|
11930
|
-
else if (this.type === 'keyDropdownValue') {
|
|
11931
|
-
return { key: valueToMap.key, value: valueToMap.value, dropdown: valueToMap.dropdown };
|
|
11932
|
-
}
|
|
11933
|
-
else if (this.type === 'arbitraryAmount') {
|
|
11934
|
-
const objCopy = { ...valueToMap };
|
|
11935
|
-
delete objCopy.uuid;
|
|
11936
|
-
return objCopy;
|
|
11937
|
-
}
|
|
11938
|
-
return valueToMap.value;
|
|
11939
|
-
}
|
|
11940
|
-
openValuesSubscription() {
|
|
11941
|
-
this._valuesSubscription = combineLatest([this.values$, this.mappedValues$]).subscribe(([values, mappedValues]) => {
|
|
11942
|
-
this.valueChange.emit(mappedValues);
|
|
11943
|
-
this.allValuesValidEvent.emit(values.length === mappedValues.length);
|
|
11944
|
-
});
|
|
11945
11863
|
}
|
|
11946
|
-
|
|
11947
|
-
|
|
11864
|
+
onInputChange(type, inputValue) {
|
|
11865
|
+
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
11948
11866
|
}
|
|
11949
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type:
|
|
11950
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: { name: "name", title: "title", titleTranslationKey: "titleTranslationKey", type: "type", arbitraryValueAmount: "arbitraryValueAmount", arbitraryAmountTitles: "arbitraryAmountTitles", initialAmountOfRows: "initialAmountOfRows", minimumAmountOfRows: "minimumAmountOfRows", maxRows: "maxRows", addRowText: "addRowText", addRowTranslationKey: "addRowTranslationKey", deleteRowText: "deleteRowText", deleteRowTranslationKey: "deleteRowTranslationKey", disabled: "disabled", defaultValues: "defaultValues", margin: "margin", tooltip: "tooltip", required: "required", keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", hideDeleteButton: "hideDeleteButton", hideAddButton: "hideAddButton", dropdownItems: "dropdownItems", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", carbonTheme: "carbonTheme" }, outputs: { valueChange: "valueChange", allValuesValidEvent: "allValuesValidEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 *ngIf=\"{\n addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate),\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin, 'v-multi-input--no-delete-button': hideDeleteButton}\"\n class=\"v-multi-input\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n <ng-container *ngIf=\"type === 'value'\">\n <ng-container *ngTemplateOutlet=\"singleValue; context: {value: value}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyDropdownValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyDropdownValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'arbitraryAmount'\">\n <ng-container\n *ngTemplateOutlet=\"arbitraryAmountValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #singleValue let-value=\"value\">\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyValue let-value=\"value\" let-index=\"index\">\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n keyColumnTitle\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n valueColumnTitle\n }}</cds-label>\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #arbitraryAmountValue let-value=\"value\" let-index=\"index\">\n <div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n *ngFor=\"let _ of amountOfArbitraryValuesArray$ | async; index as i\"\n >\n <cds-label *ngIf=\"index === 0\">{{\n arbitraryAmountTitles ? arbitraryAmountTitles[i] : ''\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value ? value['' + i] : ''\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'arbitrary', i)\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyDropdownValue let-value=\"value\" let-index=\"index\">\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n\n <div [style.minWidth.px]=\"dropdownWidth\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown\n (selected)=\"onValueChange(value, $event.item.id, 'dropdown')\"\n [appendInline]=\"true\"\n >\n <cds-dropdown-list\n [items]=\"getDropdownItemsForRow(index) | async\"\n type=\"multi\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n", styles: [".v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{width:100%}.v-multi-input--no-delete-button .v-multi-input__input:last-child{margin-inline-end:0}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
11867
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11868
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KeyValueComponent, isStandalone: true, selector: "valtimo-key-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }] }); }
|
|
11951
11869
|
}
|
|
11952
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type:
|
|
11870
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyValueComponent, decorators: [{
|
|
11953
11871
|
type: Component,
|
|
11954
|
-
args: [{ selector: 'valtimo-
|
|
11955
|
-
}], propDecorators: {
|
|
11956
|
-
type: Input
|
|
11957
|
-
}], title: [{
|
|
11958
|
-
type: Input
|
|
11959
|
-
}], titleTranslationKey: [{
|
|
11960
|
-
type: Input
|
|
11961
|
-
}], type: [{
|
|
11962
|
-
type: Input
|
|
11963
|
-
}], arbitraryValueAmount: [{
|
|
11964
|
-
type: Input
|
|
11965
|
-
}], arbitraryAmountTitles: [{
|
|
11966
|
-
type: Input
|
|
11967
|
-
}], initialAmountOfRows: [{
|
|
11968
|
-
type: Input
|
|
11969
|
-
}], minimumAmountOfRows: [{
|
|
11970
|
-
type: Input
|
|
11971
|
-
}], maxRows: [{
|
|
11972
|
-
type: Input
|
|
11973
|
-
}], addRowText: [{
|
|
11974
|
-
type: Input
|
|
11975
|
-
}], addRowTranslationKey: [{
|
|
11976
|
-
type: Input
|
|
11977
|
-
}], deleteRowText: [{
|
|
11978
|
-
type: Input
|
|
11979
|
-
}], deleteRowTranslationKey: [{
|
|
11980
|
-
type: Input
|
|
11981
|
-
}], disabled: [{
|
|
11982
|
-
type: Input
|
|
11983
|
-
}], defaultValues: [{
|
|
11984
|
-
type: Input
|
|
11985
|
-
}], margin: [{
|
|
11986
|
-
type: Input
|
|
11987
|
-
}], tooltip: [{
|
|
11988
|
-
type: Input
|
|
11989
|
-
}], required: [{
|
|
11990
|
-
type: Input
|
|
11991
|
-
}], keyColumnTitle: [{
|
|
11872
|
+
args: [{ selector: 'valtimo-key-value', standalone: true, imports: [CommonModule, InputModule$1], template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
11873
|
+
}], propDecorators: { keyColumnTitle: [{
|
|
11992
11874
|
type: Input
|
|
11993
11875
|
}], valueColumnTitle: [{
|
|
11994
11876
|
type: Input
|
|
11995
|
-
}],
|
|
11996
|
-
type: Input
|
|
11997
|
-
}], hideDeleteButton: [{
|
|
11877
|
+
}], index: [{
|
|
11998
11878
|
type: Input
|
|
11999
|
-
}],
|
|
11879
|
+
}], value: [{
|
|
12000
11880
|
type: Input
|
|
12001
|
-
}],
|
|
11881
|
+
}], fullWidth: [{
|
|
12002
11882
|
type: Input
|
|
12003
|
-
}
|
|
11883
|
+
}, {
|
|
11884
|
+
type: HostBinding,
|
|
11885
|
+
args: ['class.--full-width']
|
|
11886
|
+
}], disabled: [{
|
|
12004
11887
|
type: Input
|
|
12005
|
-
}],
|
|
11888
|
+
}], keyColumnFlex: [{
|
|
12006
11889
|
type: Input
|
|
12007
|
-
}],
|
|
11890
|
+
}], valueColumnFlex: [{
|
|
12008
11891
|
type: Input
|
|
12009
11892
|
}], valueChange: [{
|
|
12010
11893
|
type: Output
|
|
12011
|
-
}], allValuesValidEvent: [{
|
|
12012
|
-
type: Output
|
|
12013
11894
|
}] } });
|
|
12014
11895
|
|
|
12015
11896
|
/*
|
|
@@ -12027,40 +11908,737 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
12027
11908
|
* See the License for the specific language governing permissions and
|
|
12028
11909
|
* limitations under the License.
|
|
12029
11910
|
*/
|
|
12030
|
-
|
|
12031
|
-
|
|
12032
|
-
|
|
12033
|
-
class DatePickerComponent {
|
|
12034
|
-
set fullWidth(value) {
|
|
12035
|
-
this.fullWidthClass = value;
|
|
12036
|
-
}
|
|
12037
|
-
constructor(translateService) {
|
|
12038
|
-
this.translateService = translateService;
|
|
12039
|
-
this.fullWidthClass = false;
|
|
12040
|
-
this.name = '';
|
|
12041
|
-
this.title = '';
|
|
12042
|
-
this.titleTranslationKey = '';
|
|
12043
|
-
this.margin = false;
|
|
11911
|
+
class SingleValueComponent {
|
|
11912
|
+
constructor() {
|
|
11913
|
+
this.fullWidth = false;
|
|
12044
11914
|
this.disabled = false;
|
|
12045
|
-
this.tooltip = '';
|
|
12046
|
-
this.required = false;
|
|
12047
|
-
this.smallLabel = false;
|
|
12048
|
-
this.enableTime = false;
|
|
12049
|
-
this.carbonTheme = 'g10';
|
|
12050
11915
|
this.valueChange = new EventEmitter();
|
|
12051
|
-
this.dateValue$ = new BehaviorSubject('');
|
|
12052
|
-
this._subscriptions = new Subscription();
|
|
12053
|
-
this.onChange = (selectedDates, dateStr) => {
|
|
12054
|
-
this.dateValue$.next(dateStr);
|
|
12055
|
-
};
|
|
12056
11916
|
}
|
|
12057
|
-
|
|
12058
|
-
this.
|
|
12059
|
-
this.openDateValueSubscription();
|
|
12060
|
-
this.openClearSubscription();
|
|
11917
|
+
onInputChange(inputValue) {
|
|
11918
|
+
this.valueChange.emit({ value: this.value, inputValue });
|
|
12061
11919
|
}
|
|
12062
|
-
|
|
12063
|
-
|
|
11920
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SingleValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11921
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SingleValueComponent, isStandalone: true, selector: "valtimo-single-value", inputs: { value: "value", fullWidth: "fullWidth", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <input\n cdsText\n [defaultValue]=\"value?.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange($event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }] }); }
|
|
11922
|
+
}
|
|
11923
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SingleValueComponent, decorators: [{
|
|
11924
|
+
type: Component,
|
|
11925
|
+
args: [{ selector: 'valtimo-single-value', standalone: true, imports: [CommonModule, InputModule$1], template: "<!--\n ~ Copyright 2015-2024 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=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <input\n cdsText\n [defaultValue]=\"value?.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange($event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
11926
|
+
}], propDecorators: { value: [{
|
|
11927
|
+
type: Input
|
|
11928
|
+
}], fullWidth: [{
|
|
11929
|
+
type: Input
|
|
11930
|
+
}, {
|
|
11931
|
+
type: HostBinding,
|
|
11932
|
+
args: ['class.--full-width']
|
|
11933
|
+
}], disabled: [{
|
|
11934
|
+
type: Input
|
|
11935
|
+
}], valueChange: [{
|
|
11936
|
+
type: Output
|
|
11937
|
+
}] } });
|
|
11938
|
+
|
|
11939
|
+
/*
|
|
11940
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
11941
|
+
*
|
|
11942
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
11943
|
+
* you may not use this file except in compliance with the License.
|
|
11944
|
+
* You may obtain a copy of the License at
|
|
11945
|
+
*
|
|
11946
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
11947
|
+
*
|
|
11948
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11949
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
11950
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11951
|
+
* See the License for the specific language governing permissions and
|
|
11952
|
+
* limitations under the License.
|
|
11953
|
+
*/
|
|
11954
|
+
class KeyDropdownValueComponent {
|
|
11955
|
+
constructor() {
|
|
11956
|
+
this.dropdownWidth = 250;
|
|
11957
|
+
this.fullWidth = false;
|
|
11958
|
+
this.disabled = false;
|
|
11959
|
+
this.keyColumnFlex = 1;
|
|
11960
|
+
this.dropdownColumnFlex = 1;
|
|
11961
|
+
this.valueColumnFlex = 1;
|
|
11962
|
+
this.valueChange = new EventEmitter();
|
|
11963
|
+
}
|
|
11964
|
+
onInputChange(type, inputValue) {
|
|
11965
|
+
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
11966
|
+
}
|
|
11967
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyDropdownValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11968
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KeyDropdownValueComponent, isStandalone: true, selector: "valtimo-key-dropdown-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", index: "index", value: "value", dropdownItems$: "dropdownItems$", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", disabled: "disabled", keyColumnFlex: "keyColumnFlex", dropdownColumnFlex: "dropdownColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onInputChange('dropdown', $event.item.id)\" [appendInline]=\"true\">\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }] }); }
|
|
11969
|
+
}
|
|
11970
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyDropdownValueComponent, decorators: [{
|
|
11971
|
+
type: Component,
|
|
11972
|
+
args: [{ selector: 'valtimo-key-dropdown-value', standalone: true, imports: [CommonModule, InputModule$1, DropdownModule], template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onInputChange('dropdown', $event.item.id)\" [appendInline]=\"true\">\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
11973
|
+
}], propDecorators: { keyColumnTitle: [{
|
|
11974
|
+
type: Input
|
|
11975
|
+
}], valueColumnTitle: [{
|
|
11976
|
+
type: Input
|
|
11977
|
+
}], dropdownColumnTitle: [{
|
|
11978
|
+
type: Input
|
|
11979
|
+
}], index: [{
|
|
11980
|
+
type: Input
|
|
11981
|
+
}], value: [{
|
|
11982
|
+
type: Input
|
|
11983
|
+
}], dropdownItems$: [{
|
|
11984
|
+
type: Input
|
|
11985
|
+
}], dropdownWidth: [{
|
|
11986
|
+
type: Input
|
|
11987
|
+
}], fullWidth: [{
|
|
11988
|
+
type: Input
|
|
11989
|
+
}, {
|
|
11990
|
+
type: HostBinding,
|
|
11991
|
+
args: ['class.--full-width']
|
|
11992
|
+
}], disabled: [{
|
|
11993
|
+
type: Input
|
|
11994
|
+
}], keyColumnFlex: [{
|
|
11995
|
+
type: Input
|
|
11996
|
+
}], dropdownColumnFlex: [{
|
|
11997
|
+
type: Input
|
|
11998
|
+
}], valueColumnFlex: [{
|
|
11999
|
+
type: Input
|
|
12000
|
+
}], valueChange: [{
|
|
12001
|
+
type: Output
|
|
12002
|
+
}] } });
|
|
12003
|
+
|
|
12004
|
+
/*
|
|
12005
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
12006
|
+
*
|
|
12007
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
12008
|
+
* you may not use this file except in compliance with the License.
|
|
12009
|
+
* You may obtain a copy of the License at
|
|
12010
|
+
*
|
|
12011
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
12012
|
+
*
|
|
12013
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12014
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12015
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12016
|
+
* See the License for the specific language governing permissions and
|
|
12017
|
+
* limitations under the License.
|
|
12018
|
+
*/
|
|
12019
|
+
class ArbitraryAmountValueComponent {
|
|
12020
|
+
constructor() {
|
|
12021
|
+
this.fullWidth = false;
|
|
12022
|
+
this.disabled = false;
|
|
12023
|
+
this.valueChange = new EventEmitter();
|
|
12024
|
+
}
|
|
12025
|
+
get isFullWidth() {
|
|
12026
|
+
return this.fullWidth;
|
|
12027
|
+
}
|
|
12028
|
+
onInputChange(arbitraryIndex, inputValue) {
|
|
12029
|
+
this.valueChange.emit({
|
|
12030
|
+
value: this.value,
|
|
12031
|
+
inputValue,
|
|
12032
|
+
type: 'arbitrary',
|
|
12033
|
+
arbitraryIndex,
|
|
12034
|
+
});
|
|
12035
|
+
}
|
|
12036
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ArbitraryAmountValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12037
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ArbitraryAmountValueComponent, isStandalone: true, selector: "valtimo-arbitrary-amount-value", inputs: { index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", arbitraryAmountTitles: "arbitraryAmountTitles", amountOfArbitraryValuesArray$: "amountOfArbitraryValuesArray$" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.isFullWidth" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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@for (_ of amountOfArbitraryValuesArray$ | async; let i = $index; track i) {\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0\">{{\n arbitraryAmountTitles ? arbitraryAmountTitles[i] : ''\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value ? value['' + i] : ''\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange(i, $event.target.value)\"\n />\n </div>\n\n @if (((amountOfArbitraryValuesArray$ | async) || []).length - 1 !== i) {\n <div class=\"v-multi-input__separator\"></div>\n }\n}\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }] }); }
|
|
12038
|
+
}
|
|
12039
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ArbitraryAmountValueComponent, decorators: [{
|
|
12040
|
+
type: Component,
|
|
12041
|
+
args: [{ selector: 'valtimo-arbitrary-amount-value', standalone: true, imports: [CommonModule, InputModule$1], template: "<!--\n ~ Copyright 2015-2024 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@for (_ of amountOfArbitraryValuesArray$ | async; let i = $index; track i) {\n <div class=\"v-multi-input__input\" [ngClass]=\"{'--full-width': fullWidth}\">\n <cds-label *ngIf=\"index === 0\">{{\n arbitraryAmountTitles ? arbitraryAmountTitles[i] : ''\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value ? value['' + i] : ''\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange(i, $event.target.value)\"\n />\n </div>\n\n @if (((amountOfArbitraryValuesArray$ | async) || []).length - 1 !== i) {\n <div class=\"v-multi-input__separator\"></div>\n }\n}\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
12042
|
+
}], propDecorators: { index: [{
|
|
12043
|
+
type: Input
|
|
12044
|
+
}], value: [{
|
|
12045
|
+
type: Input
|
|
12046
|
+
}], fullWidth: [{
|
|
12047
|
+
type: Input
|
|
12048
|
+
}], disabled: [{
|
|
12049
|
+
type: Input
|
|
12050
|
+
}], arbitraryAmountTitles: [{
|
|
12051
|
+
type: Input
|
|
12052
|
+
}], amountOfArbitraryValuesArray$: [{
|
|
12053
|
+
type: Input
|
|
12054
|
+
}], valueChange: [{
|
|
12055
|
+
type: Output
|
|
12056
|
+
}], isFullWidth: [{
|
|
12057
|
+
type: HostBinding,
|
|
12058
|
+
args: ['class.--full-width']
|
|
12059
|
+
}] } });
|
|
12060
|
+
|
|
12061
|
+
/*
|
|
12062
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
12063
|
+
*
|
|
12064
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
12065
|
+
* you may not use this file except in compliance with the License.
|
|
12066
|
+
* You may obtain a copy of the License at
|
|
12067
|
+
*
|
|
12068
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
12069
|
+
*
|
|
12070
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12071
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12072
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12073
|
+
* See the License for the specific language governing permissions and
|
|
12074
|
+
* limitations under the License.
|
|
12075
|
+
*/
|
|
12076
|
+
|
|
12077
|
+
/*
|
|
12078
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
12079
|
+
*
|
|
12080
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
12081
|
+
* you may not use this file except in compliance with the License.
|
|
12082
|
+
* You may obtain a copy of the License at
|
|
12083
|
+
*
|
|
12084
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
12085
|
+
*
|
|
12086
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12087
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12088
|
+
* WITHimport { LabelModule } from 'carbon-components-angular';
|
|
12089
|
+
OUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12090
|
+
* See the License for the specific language governing permissions and
|
|
12091
|
+
* limitations under the License.
|
|
12092
|
+
*/
|
|
12093
|
+
class KeyValuePathSelectorComponent {
|
|
12094
|
+
constructor() {
|
|
12095
|
+
this.fullWidth = false;
|
|
12096
|
+
this.disabled = false;
|
|
12097
|
+
this.documentDefinitionName = '';
|
|
12098
|
+
this.prefixes = [];
|
|
12099
|
+
this.showDocumentDefinitionSelector = false;
|
|
12100
|
+
this.notation = 'dots';
|
|
12101
|
+
this.keyColumnFlex = 1;
|
|
12102
|
+
this.valueColumnFlex = 1;
|
|
12103
|
+
this.valueChange = new EventEmitter();
|
|
12104
|
+
}
|
|
12105
|
+
onInputChange(type, inputValue) {
|
|
12106
|
+
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12107
|
+
}
|
|
12108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyValuePathSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KeyValuePathSelectorComponent, isStandalone: true, selector: "valtimo-key-value-path-selector", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", documentDefinitionName: "documentDefinitionName", prefixes: "prefixes", showDocumentDefinitionSelector: "showDocumentDefinitionSelector", notation: "notation", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input key\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.value\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('value', $event)\"\n ></valtimo-value-path-selector>\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue", "type", "parentItem"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
12110
|
+
}
|
|
12111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyValuePathSelectorComponent, decorators: [{
|
|
12112
|
+
type: Component,
|
|
12113
|
+
args: [{ selector: 'valtimo-key-value-path-selector', standalone: true, imports: [
|
|
12114
|
+
CommonModule,
|
|
12115
|
+
InputModule$1,
|
|
12116
|
+
ValuePathSelectorComponent,
|
|
12117
|
+
FormsModule,
|
|
12118
|
+
ReactiveFormsModule,
|
|
12119
|
+
], template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input key\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.value\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('value', $event)\"\n ></valtimo-value-path-selector>\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
12120
|
+
}], propDecorators: { keyColumnTitle: [{
|
|
12121
|
+
type: Input
|
|
12122
|
+
}], valueColumnTitle: [{
|
|
12123
|
+
type: Input
|
|
12124
|
+
}], index: [{
|
|
12125
|
+
type: Input
|
|
12126
|
+
}], value: [{
|
|
12127
|
+
type: Input
|
|
12128
|
+
}], fullWidth: [{
|
|
12129
|
+
type: Input
|
|
12130
|
+
}, {
|
|
12131
|
+
type: HostBinding,
|
|
12132
|
+
args: ['class.--full-width']
|
|
12133
|
+
}], disabled: [{
|
|
12134
|
+
type: Input
|
|
12135
|
+
}], documentDefinitionName: [{
|
|
12136
|
+
type: Input
|
|
12137
|
+
}], prefixes: [{
|
|
12138
|
+
type: Input
|
|
12139
|
+
}], showDocumentDefinitionSelector: [{
|
|
12140
|
+
type: Input
|
|
12141
|
+
}], notation: [{
|
|
12142
|
+
type: Input
|
|
12143
|
+
}], keyColumnFlex: [{
|
|
12144
|
+
type: Input
|
|
12145
|
+
}], valueColumnFlex: [{
|
|
12146
|
+
type: Input
|
|
12147
|
+
}], valueChange: [{
|
|
12148
|
+
type: Output
|
|
12149
|
+
}] } });
|
|
12150
|
+
|
|
12151
|
+
/*
|
|
12152
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
12153
|
+
*
|
|
12154
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
12155
|
+
* you may not use this file except in compliance with the License.
|
|
12156
|
+
* You may obtain a copy of the License at
|
|
12157
|
+
*
|
|
12158
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
12159
|
+
*
|
|
12160
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12161
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12162
|
+
* WITHimport { LabelModule } from 'carbon-components-angular';
|
|
12163
|
+
OUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12164
|
+
* See the License for the specific language governing permissions and
|
|
12165
|
+
* limitations under the License.
|
|
12166
|
+
*/
|
|
12167
|
+
class ValuePathSelectorValueComponent {
|
|
12168
|
+
constructor() {
|
|
12169
|
+
this.fullWidth = false;
|
|
12170
|
+
this.disabled = false;
|
|
12171
|
+
this.documentDefinitionName = '';
|
|
12172
|
+
this.prefixes = [];
|
|
12173
|
+
this.showDocumentDefinitionSelector = false;
|
|
12174
|
+
this.notation = 'dots';
|
|
12175
|
+
this.keyColumnFlex = 1;
|
|
12176
|
+
this.valueColumnFlex = 1;
|
|
12177
|
+
this.valueChange = new EventEmitter();
|
|
12178
|
+
}
|
|
12179
|
+
onInputChange(type, inputValue) {
|
|
12180
|
+
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12181
|
+
}
|
|
12182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12183
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ValuePathSelectorValueComponent, isStandalone: true, selector: "valtimo-value-path-selector-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", documentDefinitionName: "documentDefinitionName", prefixes: "prefixes", showDocumentDefinitionSelector: "showDocumentDefinitionSelector", notation: "notation", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue", "type", "parentItem"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
12184
|
+
}
|
|
12185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorValueComponent, decorators: [{
|
|
12186
|
+
type: Component,
|
|
12187
|
+
args: [{ selector: 'valtimo-value-path-selector-value', standalone: true, imports: [
|
|
12188
|
+
CommonModule,
|
|
12189
|
+
InputModule$1,
|
|
12190
|
+
ValuePathSelectorComponent,
|
|
12191
|
+
FormsModule,
|
|
12192
|
+
ReactiveFormsModule,
|
|
12193
|
+
], template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
12194
|
+
}], propDecorators: { keyColumnTitle: [{
|
|
12195
|
+
type: Input
|
|
12196
|
+
}], valueColumnTitle: [{
|
|
12197
|
+
type: Input
|
|
12198
|
+
}], index: [{
|
|
12199
|
+
type: Input
|
|
12200
|
+
}], value: [{
|
|
12201
|
+
type: Input
|
|
12202
|
+
}], fullWidth: [{
|
|
12203
|
+
type: Input
|
|
12204
|
+
}, {
|
|
12205
|
+
type: HostBinding,
|
|
12206
|
+
args: ['class.--full-width']
|
|
12207
|
+
}], disabled: [{
|
|
12208
|
+
type: Input
|
|
12209
|
+
}], documentDefinitionName: [{
|
|
12210
|
+
type: Input
|
|
12211
|
+
}], prefixes: [{
|
|
12212
|
+
type: Input
|
|
12213
|
+
}], showDocumentDefinitionSelector: [{
|
|
12214
|
+
type: Input
|
|
12215
|
+
}], notation: [{
|
|
12216
|
+
type: Input
|
|
12217
|
+
}], keyColumnFlex: [{
|
|
12218
|
+
type: Input
|
|
12219
|
+
}], valueColumnFlex: [{
|
|
12220
|
+
type: Input
|
|
12221
|
+
}], valueChange: [{
|
|
12222
|
+
type: Output
|
|
12223
|
+
}] } });
|
|
12224
|
+
|
|
12225
|
+
/*
|
|
12226
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
12227
|
+
*
|
|
12228
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
12229
|
+
* you may not use this file except in compliance with the License.
|
|
12230
|
+
* You may obtain a copy of the License at
|
|
12231
|
+
*
|
|
12232
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
12233
|
+
*
|
|
12234
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12235
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12236
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12237
|
+
* See the License for the specific language governing permissions and
|
|
12238
|
+
* limitations under the License.
|
|
12239
|
+
*/
|
|
12240
|
+
class ValuePathSelectorDropdownValueComponent {
|
|
12241
|
+
constructor() {
|
|
12242
|
+
this.documentDefinitionName = '';
|
|
12243
|
+
this.prefixes = [];
|
|
12244
|
+
this.showDocumentDefinitionSelector = false;
|
|
12245
|
+
this.notation = 'dots';
|
|
12246
|
+
this.dropdownWidth = 250;
|
|
12247
|
+
this.fullWidth = false;
|
|
12248
|
+
this.disabled = false;
|
|
12249
|
+
this.keyColumnFlex = 1;
|
|
12250
|
+
this.dropdownColumnFlex = 1;
|
|
12251
|
+
this.valueColumnFlex = 1;
|
|
12252
|
+
this.valueChange = new EventEmitter();
|
|
12253
|
+
}
|
|
12254
|
+
onInputChange(type, inputValue) {
|
|
12255
|
+
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12256
|
+
}
|
|
12257
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorDropdownValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12258
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ValuePathSelectorDropdownValueComponent, isStandalone: true, selector: "valtimo-value-path-selector-dropdown-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", index: "index", value: "value", dropdownItems$: "dropdownItems$", documentDefinitionName: "documentDefinitionName", prefixes: "prefixes", showDocumentDefinitionSelector: "showDocumentDefinitionSelector", notation: "notation", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", disabled: "disabled", keyColumnFlex: "keyColumnFlex", dropdownColumnFlex: "dropdownColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onInputChange('dropdown', $event.item.id)\" [appendInline]=\"true\">\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue", "type", "parentItem"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
12259
|
+
}
|
|
12260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorDropdownValueComponent, decorators: [{
|
|
12261
|
+
type: Component,
|
|
12262
|
+
args: [{ selector: 'valtimo-value-path-selector-dropdown-value', standalone: true, imports: [
|
|
12263
|
+
CommonModule,
|
|
12264
|
+
InputModule$1,
|
|
12265
|
+
DropdownModule,
|
|
12266
|
+
ValuePathSelectorComponent,
|
|
12267
|
+
FormsModule,
|
|
12268
|
+
ReactiveFormsModule,
|
|
12269
|
+
], template: "<!--\n ~ Copyright 2015-2024 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 class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [documentDefinitionName]=\"documentDefinitionName\"\n [prefixes]=\"prefixes\"\n [showDocumentDefinitionSelector]=\"showDocumentDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onInputChange('dropdown', $event.item.id)\" [appendInline]=\"true\">\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n />\n</div>\n", styles: [":host{display:flex;align-items:flex-end}:host.--full-width{width:100%}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
12270
|
+
}], propDecorators: { keyColumnTitle: [{
|
|
12271
|
+
type: Input
|
|
12272
|
+
}], valueColumnTitle: [{
|
|
12273
|
+
type: Input
|
|
12274
|
+
}], dropdownColumnTitle: [{
|
|
12275
|
+
type: Input
|
|
12276
|
+
}], index: [{
|
|
12277
|
+
type: Input
|
|
12278
|
+
}], value: [{
|
|
12279
|
+
type: Input
|
|
12280
|
+
}], dropdownItems$: [{
|
|
12281
|
+
type: Input
|
|
12282
|
+
}], documentDefinitionName: [{
|
|
12283
|
+
type: Input
|
|
12284
|
+
}], prefixes: [{
|
|
12285
|
+
type: Input
|
|
12286
|
+
}], showDocumentDefinitionSelector: [{
|
|
12287
|
+
type: Input
|
|
12288
|
+
}], notation: [{
|
|
12289
|
+
type: Input
|
|
12290
|
+
}], dropdownWidth: [{
|
|
12291
|
+
type: Input
|
|
12292
|
+
}], fullWidth: [{
|
|
12293
|
+
type: Input
|
|
12294
|
+
}, {
|
|
12295
|
+
type: HostBinding,
|
|
12296
|
+
args: ['class.--full-width']
|
|
12297
|
+
}], disabled: [{
|
|
12298
|
+
type: Input
|
|
12299
|
+
}], keyColumnFlex: [{
|
|
12300
|
+
type: Input
|
|
12301
|
+
}], dropdownColumnFlex: [{
|
|
12302
|
+
type: Input
|
|
12303
|
+
}], valueColumnFlex: [{
|
|
12304
|
+
type: Input
|
|
12305
|
+
}], valueChange: [{
|
|
12306
|
+
type: Output
|
|
12307
|
+
}] } });
|
|
12308
|
+
|
|
12309
|
+
/*
|
|
12310
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
12311
|
+
*
|
|
12312
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
12313
|
+
* you may not use this file except in compliance with the License.
|
|
12314
|
+
* You may obtain a copy of the License at
|
|
12315
|
+
*
|
|
12316
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
12317
|
+
*
|
|
12318
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12319
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12320
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12321
|
+
* See the License for the specific language governing permissions and
|
|
12322
|
+
* limitations under the License.
|
|
12323
|
+
*/
|
|
12324
|
+
class CarbonMultiInputComponent {
|
|
12325
|
+
constructor() {
|
|
12326
|
+
this.addRowText = '';
|
|
12327
|
+
this.addRowTranslationKey = '';
|
|
12328
|
+
this._defaultValues$ = new BehaviorSubject([]);
|
|
12329
|
+
this.deleteRowText = '';
|
|
12330
|
+
this.deleteRowTranslationKey = '';
|
|
12331
|
+
this.disabled = false;
|
|
12332
|
+
this.dropdownColumnTitle = '';
|
|
12333
|
+
this.dropdownWidth = 250;
|
|
12334
|
+
this.fullWidth = false;
|
|
12335
|
+
this.hideAddButton = false;
|
|
12336
|
+
this.hideDeleteButton = false;
|
|
12337
|
+
this.initialAmountOfRows = 1;
|
|
12338
|
+
this.keyColumnTitle = '';
|
|
12339
|
+
this.margin = false;
|
|
12340
|
+
this.maxRows = null;
|
|
12341
|
+
this.minimumAmountOfRows = 1;
|
|
12342
|
+
this.name = '';
|
|
12343
|
+
this.required = false;
|
|
12344
|
+
this.title = '';
|
|
12345
|
+
this.titleTranslationKey = '';
|
|
12346
|
+
this.tooltip = '';
|
|
12347
|
+
this.type = 'value';
|
|
12348
|
+
this.valueColumnTitle = '';
|
|
12349
|
+
this.valuePathSelectorDocumentDefinitionName = '';
|
|
12350
|
+
this.valuePathSelectorPrefixes = [];
|
|
12351
|
+
this.valuePathSelectorShowDocumentDefinitionSelector = false;
|
|
12352
|
+
this.valuePathSelectorNotation = 'dots';
|
|
12353
|
+
this.keyColumnFlex = 1;
|
|
12354
|
+
this.dropdownColumnFlex = 1;
|
|
12355
|
+
this.valueColumnFlex = 1;
|
|
12356
|
+
this.valueChange = new EventEmitter();
|
|
12357
|
+
this.allValuesValidEvent = new EventEmitter();
|
|
12358
|
+
this.amountOfArbitraryValuesArray$ = new BehaviorSubject([]);
|
|
12359
|
+
this.values$ = new BehaviorSubject([]);
|
|
12360
|
+
this.mappedValues$ = this.values$.pipe(map$1(values => this.filterAndMapValues(values)));
|
|
12361
|
+
this.addRowEnabled$ = this.values$.pipe(map$1(values => !!(this.maxRows === null || values.length < this.maxRows)));
|
|
12362
|
+
this.dropdownItems$ = new BehaviorSubject([]);
|
|
12363
|
+
this._subscriptions = new Subscription();
|
|
12364
|
+
}
|
|
12365
|
+
set arbitraryValueAmount(value) {
|
|
12366
|
+
this._amountOfArbitraryValues = value;
|
|
12367
|
+
this.amountOfArbitraryValuesArray$.next(this.getArrayOfXLength(value));
|
|
12368
|
+
}
|
|
12369
|
+
set defaultValues(value) {
|
|
12370
|
+
if (!Array.isArray(value))
|
|
12371
|
+
return;
|
|
12372
|
+
this._defaultValues$.next(value);
|
|
12373
|
+
}
|
|
12374
|
+
set dropdownItems(value) {
|
|
12375
|
+
this.dropdownItems$.next(value);
|
|
12376
|
+
}
|
|
12377
|
+
ngOnInit() {
|
|
12378
|
+
this.values$.next(this.getInitialRows());
|
|
12379
|
+
this.openValuesSubscription();
|
|
12380
|
+
this.openDefaultValuesSubscription();
|
|
12381
|
+
}
|
|
12382
|
+
ngOnDestroy() {
|
|
12383
|
+
this._subscriptions.unsubscribe();
|
|
12384
|
+
}
|
|
12385
|
+
addRow() {
|
|
12386
|
+
combineLatest([this.values$, this.addRowEnabled$])
|
|
12387
|
+
.pipe(take(1))
|
|
12388
|
+
.subscribe(([values, addRowEnabled]) => {
|
|
12389
|
+
if (addRowEnabled) {
|
|
12390
|
+
this.values$.next([...values, this.getEmptyValue()]);
|
|
12391
|
+
}
|
|
12392
|
+
});
|
|
12393
|
+
}
|
|
12394
|
+
deleteRow(uuid) {
|
|
12395
|
+
this.values$.pipe(take(1)).subscribe(values => {
|
|
12396
|
+
if (values.length > this.minimumAmountOfRows) {
|
|
12397
|
+
this.values$.next(values.filter(value => value.uuid !== uuid));
|
|
12398
|
+
}
|
|
12399
|
+
});
|
|
12400
|
+
}
|
|
12401
|
+
trackByFn(_, value) {
|
|
12402
|
+
return value.uuid;
|
|
12403
|
+
}
|
|
12404
|
+
getDropdownItemsForRow(index) {
|
|
12405
|
+
return combineLatest([this.dropdownItems$, this.values$]).pipe(map$1(([dropdownItems, values]) => {
|
|
12406
|
+
const defaultValue = values[index] || this.defaultValues[index];
|
|
12407
|
+
return dropdownItems.map(dropdownItem => ({
|
|
12408
|
+
...dropdownItem,
|
|
12409
|
+
selected: defaultValue ? dropdownItem.id === defaultValue.dropdown : false,
|
|
12410
|
+
}));
|
|
12411
|
+
}));
|
|
12412
|
+
}
|
|
12413
|
+
onValueChange(templateValue, inputValue, change, arbitraryIndex) {
|
|
12414
|
+
this.values$.pipe(take(1)).subscribe(values => {
|
|
12415
|
+
this.values$.next(values.map(stateValue => {
|
|
12416
|
+
if (stateValue.uuid === templateValue.uuid) {
|
|
12417
|
+
if (change === 'value') {
|
|
12418
|
+
return { ...stateValue, value: inputValue };
|
|
12419
|
+
}
|
|
12420
|
+
else if (change === 'key') {
|
|
12421
|
+
return { ...stateValue, key: inputValue };
|
|
12422
|
+
}
|
|
12423
|
+
else if (change === 'dropdown') {
|
|
12424
|
+
return { ...stateValue, dropdown: inputValue };
|
|
12425
|
+
}
|
|
12426
|
+
else if (change === 'arbitrary') {
|
|
12427
|
+
return { ...stateValue, [arbitraryIndex]: inputValue };
|
|
12428
|
+
}
|
|
12429
|
+
}
|
|
12430
|
+
return stateValue;
|
|
12431
|
+
}));
|
|
12432
|
+
});
|
|
12433
|
+
}
|
|
12434
|
+
getInitialRows() {
|
|
12435
|
+
const minimumRows = this.minimumAmountOfRows;
|
|
12436
|
+
const initialRows = this.initialAmountOfRows;
|
|
12437
|
+
const amountOfInitialRows = Math.max(minimumRows, initialRows);
|
|
12438
|
+
return new Array(amountOfInitialRows).fill(this.getEmptyValue());
|
|
12439
|
+
}
|
|
12440
|
+
getEmptyValue() {
|
|
12441
|
+
if (this.type === 'arbitraryAmount') {
|
|
12442
|
+
const emptyValue = {
|
|
12443
|
+
uuid: v4(),
|
|
12444
|
+
};
|
|
12445
|
+
this.getArrayOfXLength(this._amountOfArbitraryValues).forEach((_, index) => {
|
|
12446
|
+
emptyValue[`${index}`] = '';
|
|
12447
|
+
});
|
|
12448
|
+
return emptyValue;
|
|
12449
|
+
}
|
|
12450
|
+
return {
|
|
12451
|
+
key: '',
|
|
12452
|
+
value: '',
|
|
12453
|
+
uuid: v4(),
|
|
12454
|
+
dropdown: '',
|
|
12455
|
+
};
|
|
12456
|
+
}
|
|
12457
|
+
getMappedValue(valueToMap) {
|
|
12458
|
+
if (this.type === 'keyValue' ||
|
|
12459
|
+
this.type === 'keyValuePathSelector' ||
|
|
12460
|
+
this.type === 'valuePathSelectorValue') {
|
|
12461
|
+
return { key: valueToMap.key, value: valueToMap.value };
|
|
12462
|
+
}
|
|
12463
|
+
else if (this.type === 'keyDropdownValue' || this.type === 'valuePathSelectorDropdownValue') {
|
|
12464
|
+
return { key: valueToMap.key, value: valueToMap.value, dropdown: valueToMap.dropdown };
|
|
12465
|
+
}
|
|
12466
|
+
else if (this.type === 'arbitraryAmount') {
|
|
12467
|
+
const objCopy = { ...valueToMap };
|
|
12468
|
+
delete objCopy.uuid;
|
|
12469
|
+
return objCopy;
|
|
12470
|
+
}
|
|
12471
|
+
return valueToMap.value;
|
|
12472
|
+
}
|
|
12473
|
+
openValuesSubscription() {
|
|
12474
|
+
this._subscriptions.add(combineLatest([this.values$, this.mappedValues$]).subscribe(([values, mappedValues]) => {
|
|
12475
|
+
this.valueChange.emit(mappedValues);
|
|
12476
|
+
this.allValuesValidEvent.emit(values.length === mappedValues.length);
|
|
12477
|
+
}));
|
|
12478
|
+
}
|
|
12479
|
+
getArrayOfXLength(length) {
|
|
12480
|
+
return Array(length).fill(0);
|
|
12481
|
+
}
|
|
12482
|
+
filterAndMapValues(values) {
|
|
12483
|
+
return values
|
|
12484
|
+
.map(value => this.getMappedValue(value))
|
|
12485
|
+
.filter(value => this.isValueValid(value));
|
|
12486
|
+
}
|
|
12487
|
+
isValueValid(value) {
|
|
12488
|
+
switch (this.type) {
|
|
12489
|
+
case 'value':
|
|
12490
|
+
return !!value;
|
|
12491
|
+
case 'keyValue':
|
|
12492
|
+
case 'keyValuePathSelector':
|
|
12493
|
+
case 'valuePathSelectorValue':
|
|
12494
|
+
return !!(value.value || value.key);
|
|
12495
|
+
case 'keyDropdownValue':
|
|
12496
|
+
case 'valuePathSelectorDropdownValue':
|
|
12497
|
+
return !!(value.value &&
|
|
12498
|
+
value.key &&
|
|
12499
|
+
value.dropdown);
|
|
12500
|
+
case 'arbitraryAmount':
|
|
12501
|
+
const objectValues = Object.values(value);
|
|
12502
|
+
const positiveValuesAmount = objectValues.filter(objectValue => !!objectValue);
|
|
12503
|
+
return objectValues.length === positiveValuesAmount.length;
|
|
12504
|
+
default:
|
|
12505
|
+
return false;
|
|
12506
|
+
}
|
|
12507
|
+
}
|
|
12508
|
+
openDefaultValuesSubscription() {
|
|
12509
|
+
this._subscriptions.add(this._defaultValues$.subscribe(defaultValues => {
|
|
12510
|
+
if (defaultValues.length < this.minimumAmountOfRows)
|
|
12511
|
+
return;
|
|
12512
|
+
this.values$.next(defaultValues.map(defaultValue => ({ ...defaultValue, uuid: v4() })));
|
|
12513
|
+
}));
|
|
12514
|
+
}
|
|
12515
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonMultiInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12516
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: { addRowText: "addRowText", addRowTranslationKey: "addRowTranslationKey", arbitraryAmountTitles: "arbitraryAmountTitles", arbitraryValueAmount: "arbitraryValueAmount", defaultValues: "defaultValues", deleteRowText: "deleteRowText", deleteRowTranslationKey: "deleteRowTranslationKey", disabled: "disabled", dropdownColumnTitle: "dropdownColumnTitle", dropdownItems: "dropdownItems", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", hideAddButton: "hideAddButton", hideDeleteButton: "hideDeleteButton", initialAmountOfRows: "initialAmountOfRows", keyColumnTitle: "keyColumnTitle", margin: "margin", maxRows: "maxRows", minimumAmountOfRows: "minimumAmountOfRows", name: "name", required: "required", title: "title", titleTranslationKey: "titleTranslationKey", tooltip: "tooltip", type: "type", valueColumnTitle: "valueColumnTitle", valuePathSelectorDocumentDefinitionName: "valuePathSelectorDocumentDefinitionName", valuePathSelectorPrefixes: "valuePathSelectorPrefixes", valuePathSelectorShowDocumentDefinitionSelector: "valuePathSelectorShowDocumentDefinitionSelector", valuePathSelectorNotation: "valuePathSelectorNotation", keyColumnFlex: "keyColumnFlex", dropdownColumnFlex: "dropdownColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange", allValuesValidEvent: "allValuesValidEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 *ngIf=\"{\n addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate),\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin, 'v-multi-input--no-delete-button': hideDeleteButton}\"\n class=\"v-multi-input\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n @switch (type) {\n @case ('value') {\n <valtimo-single-value\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, 'value')\"\n ></valtimo-single-value>\n }\n @case ('keyValue') {\n <valtimo-key-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-value>\n }\n @case ('keyDropdownValue') {\n <valtimo-key-dropdown-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [dropdownColumnTitle]=\"dropdownColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [dropdownItems$]=\"getDropdownItemsForRow(i)\"\n [dropdownWidth]=\"dropdownWidth\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [dropdownColumnFlex]=\"dropdownColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-dropdown-value>\n }\n @case ('arbitraryAmount') {\n <valtimo-arbitrary-amount-value\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [arbitraryAmountTitles]=\"arbitraryAmountTitles\"\n [amountOfArbitraryValuesArray$]=\"amountOfArbitraryValuesArray$\"\n (valueChange)=\"\n onValueChange($event.value, $event.inputValue, $event.type, $event.arbitraryIndex)\n \"\n ></valtimo-arbitrary-amount-value>\n }\n @case ('keyValuePathSelector') {\n <valtimo-key-value-path-selector\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-value-path-selector>\n }\n @case ('valuePathSelectorValue') {\n <valtimo-value-path-selector-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-value-path-selector-value>\n }\n @case ('valuePathSelectorDropdownValue') {\n <valtimo-value-path-selector-dropdown-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [dropdownColumnTitle]=\"dropdownColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [dropdownItems$]=\"getDropdownItemsForRow(i)\"\n [dropdownWidth]=\"dropdownWidth\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [dropdownColumnFlex]=\"dropdownColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-value-path-selector-dropdown-value>\n }\n }\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n", styles: [".v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{flex:1}.v-multi-input__separator{height:40px;width:12px;display:flex;justify-content:flex-start}.v-multi-input__separator:before{content:\"\";height:100%;width:1px;background-color:var(--cds-border-subtle-selected)}.v-multi-input--no-delete-button .v-multi-input__input:last-child{margin-inline-end:0}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: KeyValueComponent, selector: "valtimo-key-value", inputs: ["keyColumnTitle", "valueColumnTitle", "index", "value", "fullWidth", "disabled", "keyColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "component", type: SingleValueComponent, selector: "valtimo-single-value", inputs: ["value", "fullWidth", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: KeyDropdownValueComponent, selector: "valtimo-key-dropdown-value", inputs: ["keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "index", "value", "dropdownItems$", "dropdownWidth", "fullWidth", "disabled", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "component", type: ArbitraryAmountValueComponent, selector: "valtimo-arbitrary-amount-value", inputs: ["index", "value", "fullWidth", "disabled", "arbitraryAmountTitles", "amountOfArbitraryValuesArray$"], outputs: ["valueChange"] }, { kind: "component", type: KeyValuePathSelectorComponent, selector: "valtimo-key-value-path-selector", inputs: ["keyColumnTitle", "valueColumnTitle", "index", "value", "fullWidth", "disabled", "documentDefinitionName", "prefixes", "showDocumentDefinitionSelector", "notation", "keyColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "component", type: ValuePathSelectorValueComponent, selector: "valtimo-value-path-selector-value", inputs: ["keyColumnTitle", "valueColumnTitle", "index", "value", "fullWidth", "disabled", "documentDefinitionName", "prefixes", "showDocumentDefinitionSelector", "notation", "keyColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "component", type: ValuePathSelectorDropdownValueComponent, selector: "valtimo-value-path-selector-dropdown-value", inputs: ["keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "index", "value", "dropdownItems$", "documentDefinitionName", "prefixes", "showDocumentDefinitionSelector", "notation", "dropdownWidth", "fullWidth", "disabled", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
12517
|
+
}
|
|
12518
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonMultiInputComponent, decorators: [{
|
|
12519
|
+
type: Component,
|
|
12520
|
+
args: [{ selector: 'valtimo-carbon-multi-input', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 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 *ngIf=\"{\n addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate),\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin, 'v-multi-input--no-delete-button': hideDeleteButton}\"\n class=\"v-multi-input\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n @switch (type) {\n @case ('value') {\n <valtimo-single-value\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, 'value')\"\n ></valtimo-single-value>\n }\n @case ('keyValue') {\n <valtimo-key-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-value>\n }\n @case ('keyDropdownValue') {\n <valtimo-key-dropdown-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [dropdownColumnTitle]=\"dropdownColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [dropdownItems$]=\"getDropdownItemsForRow(i)\"\n [dropdownWidth]=\"dropdownWidth\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [dropdownColumnFlex]=\"dropdownColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-dropdown-value>\n }\n @case ('arbitraryAmount') {\n <valtimo-arbitrary-amount-value\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [arbitraryAmountTitles]=\"arbitraryAmountTitles\"\n [amountOfArbitraryValuesArray$]=\"amountOfArbitraryValuesArray$\"\n (valueChange)=\"\n onValueChange($event.value, $event.inputValue, $event.type, $event.arbitraryIndex)\n \"\n ></valtimo-arbitrary-amount-value>\n }\n @case ('keyValuePathSelector') {\n <valtimo-key-value-path-selector\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-key-value-path-selector>\n }\n @case ('valuePathSelectorValue') {\n <valtimo-value-path-selector-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-value-path-selector-value>\n }\n @case ('valuePathSelectorDropdownValue') {\n <valtimo-value-path-selector-dropdown-value\n [keyColumnTitle]=\"keyColumnTitle\"\n [dropdownColumnTitle]=\"dropdownColumnTitle\"\n [valueColumnTitle]=\"valueColumnTitle\"\n [index]=\"i\"\n [value]=\"value\"\n [fullWidth]=\"fullWidth\"\n [disabled]=\"disabled\"\n [documentDefinitionName]=\"valuePathSelectorDocumentDefinitionName\"\n [prefixes]=\"valuePathSelectorPrefixes\"\n [dropdownItems$]=\"getDropdownItemsForRow(i)\"\n [dropdownWidth]=\"dropdownWidth\"\n [showDocumentDefinitionSelector]=\"valuePathSelectorShowDocumentDefinitionSelector\"\n [notation]=\"valuePathSelectorNotation\"\n [keyColumnFlex]=\"keyColumnFlex\"\n [dropdownColumnFlex]=\"dropdownColumnFlex\"\n [valueColumnFlex]=\"valueColumnFlex\"\n (valueChange)=\"onValueChange($event.value, $event.inputValue, $event.type)\"\n ></valtimo-value-path-selector-dropdown-value>\n }\n }\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n", styles: [".v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{flex:1}.v-multi-input__separator{height:40px;width:12px;display:flex;justify-content:flex-start}.v-multi-input__separator:before{content:\"\";height:100%;width:1px;background-color:var(--cds-border-subtle-selected)}.v-multi-input--no-delete-button .v-multi-input__input:last-child{margin-inline-end:0}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
12521
|
+
}], propDecorators: { addRowText: [{
|
|
12522
|
+
type: Input
|
|
12523
|
+
}], addRowTranslationKey: [{
|
|
12524
|
+
type: Input
|
|
12525
|
+
}], arbitraryAmountTitles: [{
|
|
12526
|
+
type: Input
|
|
12527
|
+
}], arbitraryValueAmount: [{
|
|
12528
|
+
type: Input
|
|
12529
|
+
}], defaultValues: [{
|
|
12530
|
+
type: Input
|
|
12531
|
+
}], deleteRowText: [{
|
|
12532
|
+
type: Input
|
|
12533
|
+
}], deleteRowTranslationKey: [{
|
|
12534
|
+
type: Input
|
|
12535
|
+
}], disabled: [{
|
|
12536
|
+
type: Input
|
|
12537
|
+
}], dropdownColumnTitle: [{
|
|
12538
|
+
type: Input
|
|
12539
|
+
}], dropdownItems: [{
|
|
12540
|
+
type: Input
|
|
12541
|
+
}], dropdownWidth: [{
|
|
12542
|
+
type: Input
|
|
12543
|
+
}], fullWidth: [{
|
|
12544
|
+
type: Input
|
|
12545
|
+
}], hideAddButton: [{
|
|
12546
|
+
type: Input
|
|
12547
|
+
}], hideDeleteButton: [{
|
|
12548
|
+
type: Input
|
|
12549
|
+
}], initialAmountOfRows: [{
|
|
12550
|
+
type: Input
|
|
12551
|
+
}], keyColumnTitle: [{
|
|
12552
|
+
type: Input
|
|
12553
|
+
}], margin: [{
|
|
12554
|
+
type: Input
|
|
12555
|
+
}], maxRows: [{
|
|
12556
|
+
type: Input
|
|
12557
|
+
}], minimumAmountOfRows: [{
|
|
12558
|
+
type: Input
|
|
12559
|
+
}], name: [{
|
|
12560
|
+
type: Input
|
|
12561
|
+
}], required: [{
|
|
12562
|
+
type: Input
|
|
12563
|
+
}], title: [{
|
|
12564
|
+
type: Input
|
|
12565
|
+
}], titleTranslationKey: [{
|
|
12566
|
+
type: Input
|
|
12567
|
+
}], tooltip: [{
|
|
12568
|
+
type: Input
|
|
12569
|
+
}], type: [{
|
|
12570
|
+
type: Input
|
|
12571
|
+
}], valueColumnTitle: [{
|
|
12572
|
+
type: Input
|
|
12573
|
+
}], valuePathSelectorDocumentDefinitionName: [{
|
|
12574
|
+
type: Input
|
|
12575
|
+
}], valuePathSelectorPrefixes: [{
|
|
12576
|
+
type: Input
|
|
12577
|
+
}], valuePathSelectorShowDocumentDefinitionSelector: [{
|
|
12578
|
+
type: Input
|
|
12579
|
+
}], valuePathSelectorNotation: [{
|
|
12580
|
+
type: Input
|
|
12581
|
+
}], keyColumnFlex: [{
|
|
12582
|
+
type: Input
|
|
12583
|
+
}], dropdownColumnFlex: [{
|
|
12584
|
+
type: Input
|
|
12585
|
+
}], valueColumnFlex: [{
|
|
12586
|
+
type: Input
|
|
12587
|
+
}], valueChange: [{
|
|
12588
|
+
type: Output
|
|
12589
|
+
}], allValuesValidEvent: [{
|
|
12590
|
+
type: Output
|
|
12591
|
+
}] } });
|
|
12592
|
+
|
|
12593
|
+
/*
|
|
12594
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
12595
|
+
*
|
|
12596
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
12597
|
+
* you may not use this file except in compliance with the License.
|
|
12598
|
+
* You may obtain a copy of the License at
|
|
12599
|
+
*
|
|
12600
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
12601
|
+
*
|
|
12602
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12603
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12604
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12605
|
+
* See the License for the specific language governing permissions and
|
|
12606
|
+
* limitations under the License.
|
|
12607
|
+
*/
|
|
12608
|
+
/**
|
|
12609
|
+
* @deprecated Migrate old design to Carbon
|
|
12610
|
+
*/
|
|
12611
|
+
class DatePickerComponent {
|
|
12612
|
+
set fullWidth(value) {
|
|
12613
|
+
this.fullWidthClass = value;
|
|
12614
|
+
}
|
|
12615
|
+
constructor(translateService) {
|
|
12616
|
+
this.translateService = translateService;
|
|
12617
|
+
this.fullWidthClass = false;
|
|
12618
|
+
this.name = '';
|
|
12619
|
+
this.title = '';
|
|
12620
|
+
this.titleTranslationKey = '';
|
|
12621
|
+
this.margin = false;
|
|
12622
|
+
this.disabled = false;
|
|
12623
|
+
this.tooltip = '';
|
|
12624
|
+
this.required = false;
|
|
12625
|
+
this.smallLabel = false;
|
|
12626
|
+
this.enableTime = false;
|
|
12627
|
+
this.carbonTheme = 'g10';
|
|
12628
|
+
this.valueChange = new EventEmitter();
|
|
12629
|
+
this.dateValue$ = new BehaviorSubject('');
|
|
12630
|
+
this._subscriptions = new Subscription();
|
|
12631
|
+
this.onChange = (selectedDates, dateStr) => {
|
|
12632
|
+
this.dateValue$.next(dateStr);
|
|
12633
|
+
};
|
|
12634
|
+
}
|
|
12635
|
+
ngAfterViewInit() {
|
|
12636
|
+
this.openLocaleSubscription();
|
|
12637
|
+
this.openDateValueSubscription();
|
|
12638
|
+
this.openClearSubscription();
|
|
12639
|
+
}
|
|
12640
|
+
ngOnDestroy() {
|
|
12641
|
+
this._subscriptions.unsubscribe();
|
|
12064
12642
|
}
|
|
12065
12643
|
openLocaleSubscription() {
|
|
12066
12644
|
this._subscriptions.add(this.translateService.stream('key').subscribe(() => {
|
|
@@ -13102,6 +13680,134 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
13102
13680
|
}]
|
|
13103
13681
|
}] });
|
|
13104
13682
|
|
|
13683
|
+
/*
|
|
13684
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13685
|
+
*
|
|
13686
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
13687
|
+
* you may not use this file except in compliance with the License.
|
|
13688
|
+
* You may obtain a copy of the License at
|
|
13689
|
+
*
|
|
13690
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
13691
|
+
*
|
|
13692
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13693
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
13694
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13695
|
+
* See the License for the specific language governing permissions and
|
|
13696
|
+
* limitations under the License.
|
|
13697
|
+
*/
|
|
13698
|
+
|
|
13699
|
+
/*
|
|
13700
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13701
|
+
*
|
|
13702
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
13703
|
+
* you may not use this file except in compliance with the License.
|
|
13704
|
+
* You may obtain a copy of the License at
|
|
13705
|
+
*
|
|
13706
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
13707
|
+
*
|
|
13708
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13709
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
13710
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13711
|
+
* See the License for the specific language governing permissions and
|
|
13712
|
+
* limitations under the License.
|
|
13713
|
+
*/
|
|
13714
|
+
|
|
13715
|
+
/*
|
|
13716
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13717
|
+
*
|
|
13718
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
13719
|
+
* you may not use this file except in compliance with the License.
|
|
13720
|
+
* You may obtain a copy of the License at
|
|
13721
|
+
*
|
|
13722
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
13723
|
+
*
|
|
13724
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13725
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
13726
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13727
|
+
* See the License for the specific language governing permissions and
|
|
13728
|
+
* limitations under the License.
|
|
13729
|
+
*/
|
|
13730
|
+
|
|
13731
|
+
/*
|
|
13732
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13733
|
+
*
|
|
13734
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
13735
|
+
* you may not use this file except in compliance with the License.
|
|
13736
|
+
* You may obtain a copy of the License at
|
|
13737
|
+
*
|
|
13738
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
13739
|
+
*
|
|
13740
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13741
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
13742
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13743
|
+
* See the License for the specific language governing permissions and
|
|
13744
|
+
* limitations under the License.
|
|
13745
|
+
*/
|
|
13746
|
+
|
|
13747
|
+
/*
|
|
13748
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13749
|
+
*
|
|
13750
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
13751
|
+
* you may not use this file except in compliance with the License.
|
|
13752
|
+
* You may obtain a copy of the License at
|
|
13753
|
+
*
|
|
13754
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
13755
|
+
*
|
|
13756
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13757
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
13758
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13759
|
+
* See the License for the specific language governing permissions and
|
|
13760
|
+
* limitations under the License.
|
|
13761
|
+
*/
|
|
13762
|
+
|
|
13763
|
+
/*
|
|
13764
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13765
|
+
*
|
|
13766
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
13767
|
+
* you may not use this file except in compliance with the License.
|
|
13768
|
+
* You may obtain a copy of the License at
|
|
13769
|
+
*
|
|
13770
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
13771
|
+
*
|
|
13772
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13773
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
13774
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13775
|
+
* See the License for the specific language governing permissions and
|
|
13776
|
+
* limitations under the License.
|
|
13777
|
+
*/
|
|
13778
|
+
|
|
13779
|
+
/*
|
|
13780
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13781
|
+
*
|
|
13782
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
13783
|
+
* you may not use this file except in compliance with the License.
|
|
13784
|
+
* You may obtain a copy of the License at
|
|
13785
|
+
*
|
|
13786
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
13787
|
+
*
|
|
13788
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13789
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
13790
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13791
|
+
* See the License for the specific language governing permissions and
|
|
13792
|
+
* limitations under the License.
|
|
13793
|
+
*/
|
|
13794
|
+
|
|
13795
|
+
/*
|
|
13796
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13797
|
+
*
|
|
13798
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
13799
|
+
* you may not use this file except in compliance with the License.
|
|
13800
|
+
* You may obtain a copy of the License at
|
|
13801
|
+
*
|
|
13802
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
13803
|
+
*
|
|
13804
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13805
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
13806
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13807
|
+
* See the License for the specific language governing permissions and
|
|
13808
|
+
* limitations under the License.
|
|
13809
|
+
*/
|
|
13810
|
+
|
|
13105
13811
|
/*
|
|
13106
13812
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
13107
13813
|
*
|
|
@@ -13127,7 +13833,14 @@ class CarbonMultiInputModule {
|
|
|
13127
13833
|
ButtonModule$1,
|
|
13128
13834
|
IconModule,
|
|
13129
13835
|
InputModule$1,
|
|
13130
|
-
DropdownModule
|
|
13836
|
+
DropdownModule,
|
|
13837
|
+
KeyValueComponent,
|
|
13838
|
+
SingleValueComponent,
|
|
13839
|
+
KeyDropdownValueComponent,
|
|
13840
|
+
ArbitraryAmountValueComponent,
|
|
13841
|
+
KeyValuePathSelectorComponent,
|
|
13842
|
+
ValuePathSelectorValueComponent,
|
|
13843
|
+
ValuePathSelectorDropdownValueComponent], exports: [CarbonMultiInputComponent] }); }
|
|
13131
13844
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonMultiInputModule, imports: [CommonModule,
|
|
13132
13845
|
InputLabelModule,
|
|
13133
13846
|
InputModule,
|
|
@@ -13136,7 +13849,14 @@ class CarbonMultiInputModule {
|
|
|
13136
13849
|
ButtonModule$1,
|
|
13137
13850
|
IconModule,
|
|
13138
13851
|
InputModule$1,
|
|
13139
|
-
DropdownModule
|
|
13852
|
+
DropdownModule,
|
|
13853
|
+
KeyValueComponent,
|
|
13854
|
+
SingleValueComponent,
|
|
13855
|
+
KeyDropdownValueComponent,
|
|
13856
|
+
ArbitraryAmountValueComponent,
|
|
13857
|
+
KeyValuePathSelectorComponent,
|
|
13858
|
+
ValuePathSelectorValueComponent,
|
|
13859
|
+
ValuePathSelectorDropdownValueComponent] }); }
|
|
13140
13860
|
}
|
|
13141
13861
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonMultiInputModule, decorators: [{
|
|
13142
13862
|
type: NgModule,
|
|
@@ -13152,6 +13872,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
13152
13872
|
IconModule,
|
|
13153
13873
|
InputModule$1,
|
|
13154
13874
|
DropdownModule,
|
|
13875
|
+
KeyValueComponent,
|
|
13876
|
+
SingleValueComponent,
|
|
13877
|
+
KeyDropdownValueComponent,
|
|
13878
|
+
ArbitraryAmountValueComponent,
|
|
13879
|
+
KeyValuePathSelectorComponent,
|
|
13880
|
+
ValuePathSelectorValueComponent,
|
|
13881
|
+
ValuePathSelectorDropdownValueComponent,
|
|
13155
13882
|
],
|
|
13156
13883
|
exports: [CarbonMultiInputComponent],
|
|
13157
13884
|
}]
|
|
@@ -15436,5 +16163,5 @@ function enableCustomFormioComponents(injector) {
|
|
|
15436
16163
|
* Generated bundle index. Do not edit.
|
|
15437
16164
|
*/
|
|
15438
16165
|
|
|
15439
|
-
export { Alert, AlertComponent, AlertModule, AlertService, AlertType, AlertsOptionsImpl, BOOLEAN_CONVERTER_VALUES, BpmnJsDiagramComponent, BpmnJsDiagramModule, BreadcrumbNavigationComponent, BreadcrumbNavigationModule, BreadcrumbService, ButtonComponent, ButtonModule, CARBON_CONSTANTS, CARBON_THEME, CASES_WITHOUT_STATUS_KEY, CamundaFormComponent, CamundaFormModule, CarbonListComponent, CarbonListFilterPipe, CarbonListModule, CarbonMultiInputComponent, CarbonMultiInputModule, CarbonNoResultsComponent, CardComponent, CardModule, CaseCountPipe, CdsThemeService, ChoiceFieldService, CommandClickDirectiveModule, ComponentsPipesModule, ConfirmationModalComponent, ConfirmationModalModule, CtrlClickDirective, CurrentCarbonTheme, CustomTagsService, DEFAULT_LIST_TRANSLATIONS, DEFAULT_PAGINATION, DEFAULT_PAGINATOR_CONFIG, DataListComponent, DataListModule, DatePickerComponent, DatePickerModule, DigitOnlyDirective, DropzoneComponent, DropzoneModule, EditorComponent, EditorModule, EllipsisPipe, ExpansionPanelComponent, ExpansionPanelModule, FieldAutoFocusDirective, FieldAutoFocusModule, FileSizeModule, FileSizePipe, FilterSidebarComponent, FilterSidebarModule, FitPageDirective, FitPageDirectiveModule, FormComponent, FormIoCurrencyComponent, FormIoCurrentUserComponent, FormIoDomService, FormIoIbanComponent, FormIoModule, FormIoStateService, FormIoUploaderComponent, FormModule, FormioBuilderComponent, FormioComponent, FormioDummyComponent, FormioOptionsImpl, FormioValueResolverSelectorComponent, InputComponent, InputLabelComponent, InputLabelModule, InputModule, IsArrayPipe, KeyGeneratorService, LeftSidebarComponent, LeftSidebarModule, ListComponent, ListFilterPipe, ListModule, MenuItemTextComponent, MenuItemTranslationPipe, MenuModule, MenuRoutingModule, MenuService, ModalComponent, ModalModule, ModalService, MonacoTheme, MoveRowDirection, MultiInputFormComponent, MultiInputFormModule, MultiselectDropdownComponent, MultiselectDropdownModule, PageContainerComponent, PageContentComponent, PageHeaderActionsComponent, PageHeaderComponent, PageHeaderIntroductionComponent, PageHeaderModule, PageHeaderService, PageModule, PageSubtitleService, PageTitleComponent, PageTitleModule, PageTitleService, ParagraphComponent, ParagraphModule, PendingChangesComponent, PendingChangesService, ProgressBarComponent, ProgressBarModule, PromptComponent, PromptModule, PromptService, RadioComponent, RadioModule, RenderInPageHeaderDirective, RenderInPageHeaderDirectiveModule, RenderPageHeaderDirective, RenderPageHeaderDirectiveModule, RightSidebarComponent, RightSidebarModule, SearchFieldsComponent, SearchFieldsModule, SearchableDropdownComponent, SearchableDropdownModule, SearchableDropdownSelectComponent, SearchableDropdownSelectModule, SelectComponent, SelectModule, SelectableCarbonTheme, ShellService, SpinnerComponent, SpinnerModule, StatusSelectorComponent, StepperContainerComponent, StepperContentComponent, StepperFooterComponent, StepperFooterStepComponent, StepperHeaderComponent, StepperModule, StepperService, StepperStepComponent, TAG_ELLIPSIS_LIMIT, TableComponent, TableModule, TimelineComponent, TimelineItemImpl, TimelineModule, TitleComponent, TitleModule, TooltipComponent, TooltipDirective, TooltipIconComponent, TooltipIconModule, TooltipModule, TopbarComponent, TopbarModule, UploaderComponent, UploaderDragDropDirective, UploaderModule, UserInterfaceService, VCardComponent, VCardModule, VModalComponent, VModalModule, VPageHeaderComponent, ValtimoCdsModalDirective, ValtimoCdsModalDirectiveModule, ValtimoCdsOverflowButtonDirective, ValtimoCdsOverflowButtonDirectiveModule, ValtimoModalService, ValuePathSelectorComponent, ValuePathSelectorInputMode, ValuePathSelectorPrefix, ValuePathSelectorService, ViewContentService, ViewType, WebcamComponent, WebcamModule, WidgetComponent, WidgetModule, createCustomFormioComponent, customUploaderType, enableCustomFormioComponents, menuInitializer, pendingChangesGuard, registerCustomFormioComponent, registerCustomFormioComponentWithClass, registerCustomTag, registerCustomTags, registerFormioCurrencyComponent, registerFormioCurrentUserComponent, registerFormioFileSelectorComponent, registerFormioIbanComponent, registerFormioUploadComponent, registerFormioValueResolverSelectorComponent };
|
|
16166
|
+
export { Alert, AlertComponent, AlertModule, AlertService, AlertType, AlertsOptionsImpl, BOOLEAN_CONVERTER_VALUES, BpmnJsDiagramComponent, BpmnJsDiagramModule, BreadcrumbNavigationComponent, BreadcrumbNavigationModule, BreadcrumbService, ButtonComponent, ButtonModule, CARBON_CONSTANTS, CARBON_THEME, CASES_WITHOUT_STATUS_KEY, CamundaFormComponent, CamundaFormModule, CarbonListComponent, CarbonListFilterPipe, CarbonListModule, CarbonMultiInputComponent, CarbonMultiInputModule, CarbonNoResultsComponent, CardComponent, CardModule, CaseCountPipe, CdsThemeService, ChoiceFieldService, CommandClickDirectiveModule, ComponentsPipesModule, ConfirmationModalComponent, ConfirmationModalModule, CtrlClickDirective, CurrentCarbonTheme, CustomTagsService, DEFAULT_LIST_TRANSLATIONS, DEFAULT_PAGINATION, DEFAULT_PAGINATOR_CONFIG, DataListComponent, DataListModule, DatePickerComponent, DatePickerModule, DigitOnlyDirective, DropzoneComponent, DropzoneModule, EditorComponent, EditorModule, EllipsisPipe, ExpansionPanelComponent, ExpansionPanelModule, FieldAutoFocusDirective, FieldAutoFocusModule, FileSizeModule, FileSizePipe, FilterSidebarComponent, FilterSidebarModule, FitPageDirective, FitPageDirectiveModule, FormComponent, FormIoCurrencyComponent, FormIoCurrentUserComponent, FormIoDomService, FormIoIbanComponent, FormIoModule, FormIoStateService, FormIoUploaderComponent, FormModule, FormioBuilderComponent, FormioComponent, FormioDummyComponent, FormioOptionsImpl, FormioValueResolverSelectorComponent, InputComponent, InputLabelComponent, InputLabelModule, InputModule, IsArrayPipe, KeyGeneratorService, LeftSidebarComponent, LeftSidebarModule, ListComponent, ListFilterPipe, ListModule, MenuItemTextComponent, MenuItemTranslationPipe, MenuModule, MenuRoutingModule, MenuService, ModalComponent, ModalModule, ModalService, MonacoTheme, MoveRowDirection, MultiInputFormComponent, MultiInputFormModule, MultiselectDropdownComponent, MultiselectDropdownModule, PageContainerComponent, PageContentComponent, PageHeaderActionsComponent, PageHeaderComponent, PageHeaderIntroductionComponent, PageHeaderModule, PageHeaderService, PageModule, PageSubtitleService, PageTitleComponent, PageTitleModule, PageTitleService, ParagraphComponent, ParagraphModule, PendingChangesComponent, PendingChangesService, ProgressBarComponent, ProgressBarModule, PromptComponent, PromptModule, PromptService, RadioComponent, RadioModule, RenderInPageHeaderDirective, RenderInPageHeaderDirectiveModule, RenderPageHeaderDirective, RenderPageHeaderDirectiveModule, RightSidebarComponent, RightSidebarModule, SearchFieldsComponent, SearchFieldsModule, SearchableDropdownComponent, SearchableDropdownModule, SearchableDropdownSelectComponent, SearchableDropdownSelectModule, SelectComponent, SelectModule, SelectableCarbonTheme, ShellService, SpinnerComponent, SpinnerModule, StatusSelectorComponent, StepperContainerComponent, StepperContentComponent, StepperFooterComponent, StepperFooterStepComponent, StepperHeaderComponent, StepperModule, StepperService, StepperStepComponent, TAG_ELLIPSIS_LIMIT, TableComponent, TableModule, TimelineComponent, TimelineItemImpl, TimelineModule, TitleComponent, TitleModule, TooltipComponent, TooltipDirective, TooltipIconComponent, TooltipIconModule, TooltipModule, TopbarComponent, TopbarModule, UploaderComponent, UploaderDragDropDirective, UploaderModule, UserInterfaceService, VCardComponent, VCardModule, VModalComponent, VModalModule, VPageHeaderComponent, ValtimoCdsModalDirective, ValtimoCdsModalDirectiveModule, ValtimoCdsOverflowButtonDirective, ValtimoCdsOverflowButtonDirectiveModule, ValtimoModalService, ValuePathSelectorComponent, ValuePathSelectorInputMode, ValuePathSelectorPrefix, ValuePathSelectorService, ValuePathType, ViewContentService, ViewType, WebcamComponent, WebcamModule, WidgetComponent, WidgetModule, createCustomFormioComponent, customUploaderType, enableCustomFormioComponents, menuInitializer, pendingChangesGuard, registerCustomFormioComponent, registerCustomFormioComponentWithClass, registerCustomTag, registerCustomTags, registerFormioCurrencyComponent, registerFormioCurrentUserComponent, registerFormioFileSelectorComponent, registerFormioIbanComponent, registerFormioUploadComponent, registerFormioValueResolverSelectorComponent };
|
|
15440
16167
|
//# sourceMappingURL=valtimo-components.mjs.map
|