@eo-sdk/client 10.0.0-rc.3 → 10.0.1
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/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/date/date.component.d.ts +1 -0
- package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +2 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/reference/reference.component.d.ts +1 -0
- package/app/eo-framework/form-elements/reference/reference.component.d.ts.map +1 -1
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +3 -3
- package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +7 -5
- package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +39 -24
- package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +13 -6
- package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +3 -3
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
- package/fesm2015/eo-sdk-client.mjs +64 -40
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +64 -40
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -5278,13 +5278,15 @@ class DateComponent {
|
|
|
5278
5278
|
this.withTime = false;
|
|
5279
5279
|
this.readonly = false;
|
|
5280
5280
|
this.value = null;
|
|
5281
|
+
this.locale = this.translate.currentLang;
|
|
5281
5282
|
this.propagateChange = (_) => { };
|
|
5282
5283
|
this.validationChange = () => { };
|
|
5283
5284
|
this.datePipe = new LocaleDatePipe(translate);
|
|
5284
|
-
this._setLabels(this.
|
|
5285
|
+
this._setLabels(this.locale);
|
|
5285
5286
|
this._sub = this.translate.onLangChange.subscribe({
|
|
5286
5287
|
next: (lang) => {
|
|
5287
|
-
this.
|
|
5288
|
+
this.locale = lang.lang;
|
|
5289
|
+
this._setLabels(this.locale);
|
|
5288
5290
|
}
|
|
5289
5291
|
});
|
|
5290
5292
|
}
|
|
@@ -5323,7 +5325,7 @@ DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
5323
5325
|
useExisting: forwardRef(() => DateComponent),
|
|
5324
5326
|
multi: true,
|
|
5325
5327
|
}
|
|
5326
|
-
], ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [withTime]=\"withTime\" [labels]=\"labels\"
|
|
5328
|
+
], ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.Datepicker, selector: "yvc-datepicker", inputs: ["calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] });
|
|
5327
5329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DateComponent, decorators: [{
|
|
5328
5330
|
type: Component,
|
|
5329
5331
|
args: [{ selector: 'eo-date', providers: [
|
|
@@ -5332,7 +5334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
5332
5334
|
useExisting: forwardRef(() => DateComponent),
|
|
5333
5335
|
multi: true,
|
|
5334
5336
|
}
|
|
5335
|
-
], template: "<yvc-datepicker [calendar]=\"true\" [withTime]=\"withTime\" [labels]=\"labels\"
|
|
5337
|
+
], template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"] }]
|
|
5336
5338
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { withTime: [{
|
|
5337
5339
|
type: Input
|
|
5338
5340
|
}], readonly: [{
|
|
@@ -5367,26 +5369,7 @@ class DatetimeRangeComponent {
|
|
|
5367
5369
|
this.rangeForm.valueChanges.subscribe(() => this.onValueChange());
|
|
5368
5370
|
}
|
|
5369
5371
|
writeValue(value) {
|
|
5370
|
-
|
|
5371
|
-
let match = this.availableSearchOptions.find((o) => o.value === value.operator);
|
|
5372
|
-
this.searchOption = match ? match.value : this.availableSearchOptions[0].value;
|
|
5373
|
-
this.value = value;
|
|
5374
|
-
if (!value.secondValue) {
|
|
5375
|
-
this.rangeForm.patchValue({
|
|
5376
|
-
dateValue: value.firstValue ? new Date(value.firstValue) : null
|
|
5377
|
-
});
|
|
5378
|
-
}
|
|
5379
|
-
else {
|
|
5380
|
-
this.rangeForm.patchValue({
|
|
5381
|
-
dateValueFrom: value.firstValue ? new Date(value.firstValue) : null,
|
|
5382
|
-
dateValue: value.secondValue ? new Date(value.secondValue) : null
|
|
5383
|
-
});
|
|
5384
|
-
}
|
|
5385
|
-
}
|
|
5386
|
-
else {
|
|
5387
|
-
this.value = null;
|
|
5388
|
-
this.rangeForm.reset();
|
|
5389
|
-
}
|
|
5372
|
+
this._setValue(value);
|
|
5390
5373
|
}
|
|
5391
5374
|
registerOnChange(fn) {
|
|
5392
5375
|
this.propagateChange = fn;
|
|
@@ -5396,20 +5379,54 @@ class DatetimeRangeComponent {
|
|
|
5396
5379
|
onValueChange() {
|
|
5397
5380
|
let dateValue = this.formatDate(this.rangeForm.get('dateValue').value);
|
|
5398
5381
|
if (this.searchOption === SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH) {
|
|
5399
|
-
let dateValueFrom = this.formatDate(this.rangeForm.get('dateValueFrom').value);
|
|
5382
|
+
let dateValueFrom = this.formatDate(this.rangeForm.get('dateValueFrom').value) || new Date().toISOString();
|
|
5400
5383
|
if (dateValueFrom || dateValue) {
|
|
5401
5384
|
this.isValid = this.rangeForm.valid && !!dateValueFrom && !!dateValue;
|
|
5402
5385
|
this.swapInputs = dateValueFrom && dateValue && dateValueFrom > dateValue;
|
|
5403
|
-
this.
|
|
5386
|
+
this._setValue(!this.isValid ? null : new RangeValue(this.searchOption, this.swapInputs ? dateValue : dateValueFrom, this.swapInputs ? dateValueFrom : dateValue));
|
|
5404
5387
|
}
|
|
5405
5388
|
}
|
|
5406
5389
|
else {
|
|
5407
5390
|
this.swapInputs = false;
|
|
5408
5391
|
this.isValid = this.rangeForm.valid;
|
|
5409
|
-
this.
|
|
5392
|
+
this._setValue(!this.isValid || !dateValue ? null : new RangeValue(this.searchOption, dateValue));
|
|
5410
5393
|
}
|
|
5411
5394
|
this.propagateChange(this.value);
|
|
5412
5395
|
}
|
|
5396
|
+
_setValue(value, emitEvent = false) {
|
|
5397
|
+
if (JSON.stringify(this.value) === JSON.stringify(value))
|
|
5398
|
+
return;
|
|
5399
|
+
if (value && value instanceof RangeValue && (value.firstValue || value.secondValue)) {
|
|
5400
|
+
let match = this.availableSearchOptions.find((o) => o.value === value.operator);
|
|
5401
|
+
this.searchOption = match ? match.value : this.availableSearchOptions[0].value;
|
|
5402
|
+
const fV = value.firstValue ? new Date(value.firstValue) : null;
|
|
5403
|
+
const sV = value.secondValue ? new Date(value.secondValue) : null;
|
|
5404
|
+
this.value = value;
|
|
5405
|
+
if (!value.secondValue) {
|
|
5406
|
+
if (JSON.stringify(this.rangeForm.value.dateValue) !== JSON.stringify(fV)) {
|
|
5407
|
+
this.rangeForm.patchValue({
|
|
5408
|
+
dateValue: fV
|
|
5409
|
+
}, { emitEvent });
|
|
5410
|
+
}
|
|
5411
|
+
}
|
|
5412
|
+
else {
|
|
5413
|
+
if (JSON.stringify(this.rangeForm.value.dateValueFrom) !== JSON.stringify(fV)) {
|
|
5414
|
+
this.rangeForm.patchValue({
|
|
5415
|
+
dateValueFrom: fV
|
|
5416
|
+
}, { emitEvent });
|
|
5417
|
+
}
|
|
5418
|
+
if (JSON.stringify(this.rangeForm.value.dateValue) !== JSON.stringify(sV)) {
|
|
5419
|
+
this.rangeForm.patchValue({
|
|
5420
|
+
dateValue: sV
|
|
5421
|
+
}, { emitEvent });
|
|
5422
|
+
}
|
|
5423
|
+
}
|
|
5424
|
+
}
|
|
5425
|
+
else {
|
|
5426
|
+
this.value = null;
|
|
5427
|
+
this.rangeForm.reset();
|
|
5428
|
+
}
|
|
5429
|
+
}
|
|
5413
5430
|
formatDate(value) {
|
|
5414
5431
|
return !value ? null :
|
|
5415
5432
|
this.withTime ? value.toISOString().replace(':00.000', '') : this.datePipe.transform(value, 'yyyy-MM-dd');
|
|
@@ -6326,15 +6343,14 @@ class ReferenceComponent {
|
|
|
6326
6343
|
}
|
|
6327
6344
|
autocompleteResult(res = null, query = '') {
|
|
6328
6345
|
const value = this.value ? this.value : [];
|
|
6329
|
-
const autoOption = query && query.trim() && !value.includes(query.trim()) ? [{ value: query.trim(), title: '' }] : [];
|
|
6330
6346
|
if (res && res.hits && res.hits.total.value) {
|
|
6331
6347
|
const results = res.hits.hits
|
|
6332
6348
|
.filter(h => !value.includes(h._source[this.reference.element]))
|
|
6333
6349
|
.map(h => ({ value: h._source[this.reference.element], title: h._source.title }));
|
|
6334
|
-
this.autocompleteRes = Utils.uniqBy(results
|
|
6350
|
+
this.autocompleteRes = Utils.uniqBy(results, 'value');
|
|
6335
6351
|
}
|
|
6336
6352
|
else {
|
|
6337
|
-
this.autocompleteRes =
|
|
6353
|
+
this.autocompleteRes = [];
|
|
6338
6354
|
}
|
|
6339
6355
|
}
|
|
6340
6356
|
autocompleteFn(term) {
|
|
@@ -6379,6 +6395,11 @@ class ReferenceComponent {
|
|
|
6379
6395
|
}
|
|
6380
6396
|
// handle selection changes to the model
|
|
6381
6397
|
onSelect(selectedItem) {
|
|
6398
|
+
if (typeof selectedItem === 'string')
|
|
6399
|
+
selectedItem = {
|
|
6400
|
+
value: selectedItem,
|
|
6401
|
+
title: selectedItem
|
|
6402
|
+
};
|
|
6382
6403
|
this.innerValue.push(selectedItem);
|
|
6383
6404
|
this.innerValue = Utils.uniqBy(this.innerValue, 'value');
|
|
6384
6405
|
if (this.multiselect) {
|
|
@@ -6389,6 +6410,9 @@ class ReferenceComponent {
|
|
|
6389
6410
|
}
|
|
6390
6411
|
this.propagateChange(this.value);
|
|
6391
6412
|
}
|
|
6413
|
+
onAutoCompleteBlur() {
|
|
6414
|
+
this.clearInnerInput();
|
|
6415
|
+
}
|
|
6392
6416
|
onKeyUpEnter(event) {
|
|
6393
6417
|
const input = event.target.value.trim();
|
|
6394
6418
|
if (input.length) {
|
|
@@ -6461,7 +6485,7 @@ ReferenceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
6461
6485
|
useExisting: forwardRef(() => ReferenceComponent),
|
|
6462
6486
|
multi: true
|
|
6463
6487
|
}
|
|
6464
|
-
], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }], ngImport: i0, template: "<div class=\"eo-form-reference\" [ngClass]=\"{acInputHidden: !multiselect && !!innerValue.length}\">\n \n <yvc-autocomplete [ngModel]=\"innerValue\" #autocomplete\n (suggestionSelect)=\"onSelect($event)\" \n (suggestionUnselect)=\"onUnselect($event)\"\n [disabled]=\"readonly\"\n [multiple]=\"true\"\n [autocompleteValues]=\"autocompleteRes\"\n [field]=\"'value'\"\n [forceSelection]=\"true\"\n (keyup.enter)=\"onKeyUpEnter($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n\n <!-- template for the suggest list -->\n <ng-template let-item #autocompleteOptionTemplate>\n <span class=\"yvc-autocomplete-token-label\" title=\"{{item.value}} ({{item.title}})\">\n <strong>{{item.value}}</strong>\n <span>{{item.title}}</span>\n </span>\n </ng-template>\n\n <!-- template for the selected items -->\n <ng-template let-item #chipTemplate>\n <a class=\"link router-link\" [routerLink]=\"['/result']\" [queryParams]=\"getItemLinkParams(item)\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\"></path>\n </svg>\n </a>\n <span class=\"yvc-autocomplete-token-label\">{{item.value}}</span>\n\n </ng-template>\n </yvc-autocomplete>\n</div>\n", styles: [".eo-form-reference{display:flex;align-items:center;justify-content:space-between}.eo-form-reference yvc-autocomplete{flex:1 1 auto;border:0;outline:0}.eo-form-reference a.link eo-icon{width:18px;height:18px}.eo-form-reference .yvc-autocomplete-token-label{display:flex;flex-flow:column}.eo-form-reference .yvc-autocomplete-token-label>span{font-size:var(--font-hint)}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken input{width:0!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] });
|
|
6488
|
+
], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }], ngImport: i0, template: "<div class=\"eo-form-reference\" [ngClass]=\"{acInputHidden: !multiselect && !!innerValue.length}\">\n \n <yvc-autocomplete [ngModel]=\"innerValue\" #autocomplete\n (suggestionSelect)=\"onSelect($event)\" \n (suggestionUnselect)=\"onUnselect($event)\"\n [disabled]=\"readonly\"\n [multiple]=\"true\"\n [autocompleteValues]=\"autocompleteRes\"\n [field]=\"'value'\"\n [forceSelection]=\"true\"\n (blur)=\"onAutoCompleteBlur()\"\n (keyup.enter)=\"onKeyUpEnter($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n\n <!-- template for the suggest list -->\n <ng-template let-item #autocompleteOptionTemplate>\n <span class=\"yvc-autocomplete-token-label\" title=\"{{item.value}} ({{item.title}})\">\n <strong>{{item.value}}</strong>\n <span>{{item.title}}</span>\n </span>\n </ng-template>\n\n <!-- template for the selected items -->\n <ng-template let-item #chipTemplate>\n <a class=\"link router-link\" [routerLink]=\"['/result']\" [queryParams]=\"getItemLinkParams(item)\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\"></path>\n </svg>\n </a>\n <span class=\"yvc-autocomplete-token-label\">{{item.value}}</span>\n\n </ng-template>\n </yvc-autocomplete>\n</div>\n", styles: [".eo-form-reference{display:flex;align-items:center;justify-content:space-between}.eo-form-reference yvc-autocomplete{flex:1 1 auto;border:0;outline:0}.eo-form-reference a.link eo-icon{width:18px;height:18px}.eo-form-reference .yvc-autocomplete-token-label{display:flex;flex-flow:column}.eo-form-reference .yvc-autocomplete-token-label>span{font-size:var(--font-hint)}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken input{width:0!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] });
|
|
6465
6489
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ReferenceComponent, decorators: [{
|
|
6466
6490
|
type: Component,
|
|
6467
6491
|
args: [{ selector: 'eo-reference', providers: [
|
|
@@ -6475,7 +6499,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
6475
6499
|
useExisting: forwardRef(() => ReferenceComponent),
|
|
6476
6500
|
multi: true
|
|
6477
6501
|
}
|
|
6478
|
-
], template: "<div class=\"eo-form-reference\" [ngClass]=\"{acInputHidden: !multiselect && !!innerValue.length}\">\n \n <yvc-autocomplete [ngModel]=\"innerValue\" #autocomplete\n (suggestionSelect)=\"onSelect($event)\" \n (suggestionUnselect)=\"onUnselect($event)\"\n [disabled]=\"readonly\"\n [multiple]=\"true\"\n [autocompleteValues]=\"autocompleteRes\"\n [field]=\"'value'\"\n [forceSelection]=\"true\"\n (keyup.enter)=\"onKeyUpEnter($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n\n <!-- template for the suggest list -->\n <ng-template let-item #autocompleteOptionTemplate>\n <span class=\"yvc-autocomplete-token-label\" title=\"{{item.value}} ({{item.title}})\">\n <strong>{{item.value}}</strong>\n <span>{{item.title}}</span>\n </span>\n </ng-template>\n\n <!-- template for the selected items -->\n <ng-template let-item #chipTemplate>\n <a class=\"link router-link\" [routerLink]=\"['/result']\" [queryParams]=\"getItemLinkParams(item)\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\"></path>\n </svg>\n </a>\n <span class=\"yvc-autocomplete-token-label\">{{item.value}}</span>\n\n </ng-template>\n </yvc-autocomplete>\n</div>\n", styles: [".eo-form-reference{display:flex;align-items:center;justify-content:space-between}.eo-form-reference yvc-autocomplete{flex:1 1 auto;border:0;outline:0}.eo-form-reference a.link eo-icon{width:18px;height:18px}.eo-form-reference .yvc-autocomplete-token-label{display:flex;flex-flow:column}.eo-form-reference .yvc-autocomplete-token-label>span{font-size:var(--font-hint)}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken input{width:0!important}\n"] }]
|
|
6502
|
+
], template: "<div class=\"eo-form-reference\" [ngClass]=\"{acInputHidden: !multiselect && !!innerValue.length}\">\n \n <yvc-autocomplete [ngModel]=\"innerValue\" #autocomplete\n (suggestionSelect)=\"onSelect($event)\" \n (suggestionUnselect)=\"onUnselect($event)\"\n [disabled]=\"readonly\"\n [multiple]=\"true\"\n [autocompleteValues]=\"autocompleteRes\"\n [field]=\"'value'\"\n [forceSelection]=\"true\"\n (blur)=\"onAutoCompleteBlur()\"\n (keyup.enter)=\"onKeyUpEnter($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n\n <!-- template for the suggest list -->\n <ng-template let-item #autocompleteOptionTemplate>\n <span class=\"yvc-autocomplete-token-label\" title=\"{{item.value}} ({{item.title}})\">\n <strong>{{item.value}}</strong>\n <span>{{item.title}}</span>\n </span>\n </ng-template>\n\n <!-- template for the selected items -->\n <ng-template let-item #chipTemplate>\n <a class=\"link router-link\" [routerLink]=\"['/result']\" [queryParams]=\"getItemLinkParams(item)\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\"></path>\n </svg>\n </a>\n <span class=\"yvc-autocomplete-token-label\">{{item.value}}</span>\n\n </ng-template>\n </yvc-autocomplete>\n</div>\n", styles: [".eo-form-reference{display:flex;align-items:center;justify-content:space-between}.eo-form-reference yvc-autocomplete{flex:1 1 auto;border:0;outline:0}.eo-form-reference a.link eo-icon{width:18px;height:18px}.eo-form-reference .yvc-autocomplete-token-label{display:flex;flex-flow:column}.eo-form-reference .yvc-autocomplete-token-label>span{font-size:var(--font-hint)}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken input{width:0!important}\n"] }]
|
|
6479
6503
|
}], ctorParameters: function () { return [{ type: i1.SearchService }]; }, propDecorators: { autoCompleteInput: [{
|
|
6480
6504
|
type: ViewChild,
|
|
6481
6505
|
args: ['autocomplete']
|
|
@@ -8542,7 +8566,7 @@ FormElementTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
|
|
|
8542
8566
|
useExisting: forwardRef(() => FormElementTableComponent_1),
|
|
8543
8567
|
multi: true,
|
|
8544
8568
|
}
|
|
8545
|
-
], viewQueries: [{ propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"label\">\n {{!!editingRow}}\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" \n [width]=\"'95vw'\"\n [height]=\"height\"\n [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\" [hasPreviewFile]=\"hasPreviewFile\"\n [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n\n <!-- <yvc-split-view [layoutSettingsID]=\"cacheLayoutKey\"> -->\n <yvc-split-view>\n\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"40\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"label\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #agGrid2 *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\"\n (cellClicked)=\"onCellClicked($event);editRow($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"20\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions.rowData.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"40\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [dmsObject]=\"params.object\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\"></eo-media>\n </ng-template>\n\n </yvc-split-view>\n </div>\n</eo-dialog>", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .label{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .label span{display:block;flex:1 1 auto}:host .label eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .label eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .label button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i7$1.AgGridAngular, selector: "ag-grid-angular", inputs: ["slaveGrids", "alignedGrids", "rowData", "columnDefs", "excelStyles", "pinnedTopRowData", "pinnedBottomRowData", "components", "frameworkComponents", "rowStyle", "context", "autoGroupColumnDef", "groupColumnDef", "localeText", "icons", "datasource", "serverSideDatasource", "viewportDatasource", "groupRowRendererParams", "aggFuncs", "fullWidthCellRendererParams", "defaultColGroupDef", "defaultColDef", "defaultExportParams", "columnTypes", "rowClassRules", "detailGridOptions", "detailCellRendererParams", "loadingCellRendererParams", "loadingOverlayComponentParams", "noRowsOverlayComponentParams", "popupParent", "colResizeDefault", "reduxStore", "statusBar", "sideBar", "sortingOrder", "rowClass", "rowSelection", "overlayLoadingTemplate", "overlayNoRowsTemplate", "quickFilterText", "rowModelType", "editType", "domLayout", "clipboardDeliminator", "rowGroupPanelShow", "multiSortKey", "pivotColumnGroupTotals", "pivotRowTotals", "pivotPanelShow", "rowHeight", "detailRowHeight", "rowBuffer", "colWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "groupDefaultExpanded", "minColWidth", "maxColWidth", "viewportRowModelPageSize", "viewportRowModelBufferSize", "autoSizePadding", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "cacheOverflowSize", "paginationPageSize", "cacheBlockSize", "infiniteInitialRowCount", "scrollbarWidth", "paginationStartPage", "infiniteBlockSize", "batchUpdateWaitMillis", "blockLoadDebounceMillis", "keepDetailRowsCount", "undoRedoCellEditingLimit", "localeTextFunc", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "dateComponent", "dateComponentFramework", "groupRowRenderer", "groupRowRendererFramework", "isExternalFilterPresent", "getRowHeight", "doesExternalFilterPass", "getRowClass", "getRowStyle", "getRowClassRules", "traverseNode", "getContextMenuItems", "getMainMenuItems", "processRowPostCreate", "processCellForClipboard", "getNodeChildDetails", "groupRowAggNodes", "getRowNodeId", "isFullWidthCell", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "doesDataFlower", "processSecondaryColDef", "processSecondaryColGroupDef", "getBusinessKeyForNode", "sendToClipboard", "navigateToNextCell", "tabToNextCell", "getDetailRowData", "processCellFromClipboard", "getDocument", "postProcessPopup", "getChildCount", "getDataPath", "loadingCellRenderer", "loadingCellRendererFramework", "loadingOverlayComponent", "loadingOverlayComponentFramework", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "detailCellRenderer", "detailCellRendererFramework", "defaultGroupSortComparator", "isRowMaster", "isRowSelectable", "postSort", "processHeaderForClipboard", "paginationNumberFormatter", "processDataFromClipboard", "getServerSideGroupKey", "isServerSideGroup", "suppressKeyboardEvent", "createChartContainer", "processChartOptions", "getChartToolbarItems", "fillOperation", "toolPanelSuppressRowGroups", "toolPanelSuppressValues", "toolPanelSuppressPivots", "toolPanelSuppressPivotMode", "toolPanelSuppressSideButtons", "toolPanelSuppressColumnFilter", "toolPanelSuppressColumnSelectAll", "toolPanelSuppressColumnExpandAll", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowClickSelection", "suppressCellSelection", "suppressHorizontalScroll", "alwaysShowVerticalScroll", "debug", "enableBrowserTooltips", "enableColResize", "enableCellExpressions", "enableSorting", "enableServerSideSorting", "enableFilter", "enableServerSideFilter", "angularCompileRows", "angularCompileFilters", "angularCompileHeaders", "groupSuppressAutoColumn", "groupSelectsChildren", "groupIncludeFooter", "groupIncludeTotalFooter", "groupUseEntireRow", "groupSuppressRow", "groupSuppressBlankHeader", "forPrint", "suppressMenuHide", "rowDeselection", "unSortIcon", "suppressMultiSort", "singleClickEdit", "suppressLoadingOverlay", "suppressNoRowsOverlay", "suppressAutoSize", "skipHeaderOnAutoSize", "suppressParentsInRowNodes", "showToolPanel", "suppressColumnMoveAnimation", "suppressMovableColumns", "suppressFieldDotNotation", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "suppressClearOnFillReduction", "deltaSort", "suppressTouch", "suppressAsyncEvents", "allowContextMenuWithControlKey", "suppressContextMenu", "suppressMenuFilterPanel", "suppressMenuMainPanel", "suppressMenuColumnPanel", "rememberGroupStateWhenNewData", "enableCellChangeFlash", "suppressDragLeaveHidesColumns", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "suppressUseColIdForGroups", "suppressCopyRowsToClipboard", "copyHeadersToClipboard", "pivotMode", "suppressAggFuncInHeader", "suppressColumnVirtualisation", "suppressAggAtRootLevel", "suppressFocusAfterRefresh", "functionsPassive", "functionsReadOnly", "animateRows", "groupSelectsFiltered", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "enableRtl", "suppressClickEdit", "rowDragManaged", "suppressRowDrag", "enableGroupEdit", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "suppressTabbing", "suppressPaginationPanel", "floatingFilter", "groupHideOpenParents", "groupMultiAutoColumn", "pagination", "stopEditingWhenGridLosesFocus", "paginationAutoPageSize", "suppressScrollOnNewData", "purgeClosedRowNodes", "cacheQuickFilter", "deltaRowDataMode", "ensureDomOrder", "accentedSort", "pivotTotals", "suppressChangeDetection", "valueCache", "valueCacheNeverExpires", "aggregateOnlyChangedColumns", "suppressAnimationFrame", "suppressExcelExport", "suppressCsvExport", "treeData", "masterDetail", "suppressMultiRangeSelection", "enterMovesDownAfterEdit", "enterMovesDown", "suppressPropertyNamesCheck", "rowMultiSelectWithClick", "contractColumnSelection", "suppressEnterpriseResetOnNewColumns", "enableOldSetFilterModel", "suppressRowHoverHighlight", "gridAutoHeight", "suppressRowTransform", "suppressClipboardPaste", "serverSideSortingAlwaysResets", "reactNext", "suppressSetColumnStateEvents", "enableCharts", "deltaColumnMode", "suppressMaintainUnsortedOrder", "enableCellTextSelection", "suppressBrowserResizeObserver", "suppressMaxRenderedRowRestriction", "excludeChildrenWhenTreeDataFiltering", "keepDetailRows", "paginateChildRows", "preventDefaultOnContextMenu", "undoRedoCellEditing", "allowDragFromColumnsToolPanel", "gridOptions", "modules"], outputs: ["columnEverythingChanged", "newColumnsLoaded", "columnPivotModeChanged", "columnRowGroupChanged", "expandOrCollapseAll", "columnPivotChanged", "gridColumnsChanged", "columnValueChanged", "columnMoved", "columnVisible", "columnPinned", "columnGroupOpened", "columnResized", "displayedColumnsChanged", "virtualColumnsChanged", "rowGroupOpened", "rowDataChanged", "rowDataUpdated", "pinnedRowDataChanged", "rangeSelectionChanged", "chartRangeSelectionChanged", "chartOptionsChanged", "toolPanelVisibleChanged", "modelUpdated", "pasteStart", "pasteEnd", "fillStart", "fillEnd", "cellClicked", "cellDoubleClicked", "cellMouseDown", "cellContextMenu", "cellValueChanged", "rowValueChanged", "cellFocused", "rowSelected", "selectionChanged", "cellKeyDown", "cellKeyPress", "cellMouseOver", "cellMouseOut", "filterChanged", "filterModified", "filterOpened", "sortChanged", "virtualRowRemoved", "rowClicked", "rowDoubleClicked", "gridReady", "gridSizeChanged", "viewportChanged", "firstDataRendered", "dragStarted", "dragStopped", "rowEditingStarted", "rowEditingStopped", "cellEditingStarted", "cellEditingStopped", "bodyScroll", "animationQueueEmpty", "heightScaleChanged", "paginationChanged", "componentStateChanged", "bodyHeightChanged", "displayedColumnsWidthChanged", "scrollVisibilityChanged", "columnHoverChanged", "flashCells", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "popupToFront", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: i21.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i21.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
8569
|
+
], viewQueries: [{ propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"label\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\"\n [width]=\"'95vw'\"\n [height]=\"height\"\n [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\" [hasPreviewFile]=\"hasPreviewFile\"\n [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n\n <!-- <yvc-split-view [layoutSettingsID]=\"cacheLayoutKey\"> -->\n <yvc-split-view>\n\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"40\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"label\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #agGrid2 *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\"\n (cellClicked)=\"onCellClicked($event);editRow($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"20\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions.rowData.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"40\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [dmsObject]=\"params.object\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\"></eo-media>\n </ng-template>\n\n </yvc-split-view>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .label{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .label span{display:block;flex:1 1 auto}:host .label eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .label eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .label button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i7$1.AgGridAngular, selector: "ag-grid-angular", inputs: ["slaveGrids", "alignedGrids", "rowData", "columnDefs", "excelStyles", "pinnedTopRowData", "pinnedBottomRowData", "components", "frameworkComponents", "rowStyle", "context", "autoGroupColumnDef", "groupColumnDef", "localeText", "icons", "datasource", "serverSideDatasource", "viewportDatasource", "groupRowRendererParams", "aggFuncs", "fullWidthCellRendererParams", "defaultColGroupDef", "defaultColDef", "defaultExportParams", "columnTypes", "rowClassRules", "detailGridOptions", "detailCellRendererParams", "loadingCellRendererParams", "loadingOverlayComponentParams", "noRowsOverlayComponentParams", "popupParent", "colResizeDefault", "reduxStore", "statusBar", "sideBar", "sortingOrder", "rowClass", "rowSelection", "overlayLoadingTemplate", "overlayNoRowsTemplate", "quickFilterText", "rowModelType", "editType", "domLayout", "clipboardDeliminator", "rowGroupPanelShow", "multiSortKey", "pivotColumnGroupTotals", "pivotRowTotals", "pivotPanelShow", "rowHeight", "detailRowHeight", "rowBuffer", "colWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "groupDefaultExpanded", "minColWidth", "maxColWidth", "viewportRowModelPageSize", "viewportRowModelBufferSize", "autoSizePadding", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "cacheOverflowSize", "paginationPageSize", "cacheBlockSize", "infiniteInitialRowCount", "scrollbarWidth", "paginationStartPage", "infiniteBlockSize", "batchUpdateWaitMillis", "blockLoadDebounceMillis", "keepDetailRowsCount", "undoRedoCellEditingLimit", "localeTextFunc", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "dateComponent", "dateComponentFramework", "groupRowRenderer", "groupRowRendererFramework", "isExternalFilterPresent", "getRowHeight", "doesExternalFilterPass", "getRowClass", "getRowStyle", "getRowClassRules", "traverseNode", "getContextMenuItems", "getMainMenuItems", "processRowPostCreate", "processCellForClipboard", "getNodeChildDetails", "groupRowAggNodes", "getRowNodeId", "isFullWidthCell", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "doesDataFlower", "processSecondaryColDef", "processSecondaryColGroupDef", "getBusinessKeyForNode", "sendToClipboard", "navigateToNextCell", "tabToNextCell", "getDetailRowData", "processCellFromClipboard", "getDocument", "postProcessPopup", "getChildCount", "getDataPath", "loadingCellRenderer", "loadingCellRendererFramework", "loadingOverlayComponent", "loadingOverlayComponentFramework", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "detailCellRenderer", "detailCellRendererFramework", "defaultGroupSortComparator", "isRowMaster", "isRowSelectable", "postSort", "processHeaderForClipboard", "paginationNumberFormatter", "processDataFromClipboard", "getServerSideGroupKey", "isServerSideGroup", "suppressKeyboardEvent", "createChartContainer", "processChartOptions", "getChartToolbarItems", "fillOperation", "toolPanelSuppressRowGroups", "toolPanelSuppressValues", "toolPanelSuppressPivots", "toolPanelSuppressPivotMode", "toolPanelSuppressSideButtons", "toolPanelSuppressColumnFilter", "toolPanelSuppressColumnSelectAll", "toolPanelSuppressColumnExpandAll", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowClickSelection", "suppressCellSelection", "suppressHorizontalScroll", "alwaysShowVerticalScroll", "debug", "enableBrowserTooltips", "enableColResize", "enableCellExpressions", "enableSorting", "enableServerSideSorting", "enableFilter", "enableServerSideFilter", "angularCompileRows", "angularCompileFilters", "angularCompileHeaders", "groupSuppressAutoColumn", "groupSelectsChildren", "groupIncludeFooter", "groupIncludeTotalFooter", "groupUseEntireRow", "groupSuppressRow", "groupSuppressBlankHeader", "forPrint", "suppressMenuHide", "rowDeselection", "unSortIcon", "suppressMultiSort", "singleClickEdit", "suppressLoadingOverlay", "suppressNoRowsOverlay", "suppressAutoSize", "skipHeaderOnAutoSize", "suppressParentsInRowNodes", "showToolPanel", "suppressColumnMoveAnimation", "suppressMovableColumns", "suppressFieldDotNotation", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "suppressClearOnFillReduction", "deltaSort", "suppressTouch", "suppressAsyncEvents", "allowContextMenuWithControlKey", "suppressContextMenu", "suppressMenuFilterPanel", "suppressMenuMainPanel", "suppressMenuColumnPanel", "rememberGroupStateWhenNewData", "enableCellChangeFlash", "suppressDragLeaveHidesColumns", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "suppressUseColIdForGroups", "suppressCopyRowsToClipboard", "copyHeadersToClipboard", "pivotMode", "suppressAggFuncInHeader", "suppressColumnVirtualisation", "suppressAggAtRootLevel", "suppressFocusAfterRefresh", "functionsPassive", "functionsReadOnly", "animateRows", "groupSelectsFiltered", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "enableRtl", "suppressClickEdit", "rowDragManaged", "suppressRowDrag", "enableGroupEdit", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "suppressTabbing", "suppressPaginationPanel", "floatingFilter", "groupHideOpenParents", "groupMultiAutoColumn", "pagination", "stopEditingWhenGridLosesFocus", "paginationAutoPageSize", "suppressScrollOnNewData", "purgeClosedRowNodes", "cacheQuickFilter", "deltaRowDataMode", "ensureDomOrder", "accentedSort", "pivotTotals", "suppressChangeDetection", "valueCache", "valueCacheNeverExpires", "aggregateOnlyChangedColumns", "suppressAnimationFrame", "suppressExcelExport", "suppressCsvExport", "treeData", "masterDetail", "suppressMultiRangeSelection", "enterMovesDownAfterEdit", "enterMovesDown", "suppressPropertyNamesCheck", "rowMultiSelectWithClick", "contractColumnSelection", "suppressEnterpriseResetOnNewColumns", "enableOldSetFilterModel", "suppressRowHoverHighlight", "gridAutoHeight", "suppressRowTransform", "suppressClipboardPaste", "serverSideSortingAlwaysResets", "reactNext", "suppressSetColumnStateEvents", "enableCharts", "deltaColumnMode", "suppressMaintainUnsortedOrder", "enableCellTextSelection", "suppressBrowserResizeObserver", "suppressMaxRenderedRowRestriction", "excludeChildrenWhenTreeDataFiltering", "keepDetailRows", "paginateChildRows", "preventDefaultOnContextMenu", "undoRedoCellEditing", "allowDragFromColumnsToolPanel", "gridOptions", "modules"], outputs: ["columnEverythingChanged", "newColumnsLoaded", "columnPivotModeChanged", "columnRowGroupChanged", "expandOrCollapseAll", "columnPivotChanged", "gridColumnsChanged", "columnValueChanged", "columnMoved", "columnVisible", "columnPinned", "columnGroupOpened", "columnResized", "displayedColumnsChanged", "virtualColumnsChanged", "rowGroupOpened", "rowDataChanged", "rowDataUpdated", "pinnedRowDataChanged", "rangeSelectionChanged", "chartRangeSelectionChanged", "chartOptionsChanged", "toolPanelVisibleChanged", "modelUpdated", "pasteStart", "pasteEnd", "fillStart", "fillEnd", "cellClicked", "cellDoubleClicked", "cellMouseDown", "cellContextMenu", "cellValueChanged", "rowValueChanged", "cellFocused", "rowSelected", "selectionChanged", "cellKeyDown", "cellKeyPress", "cellMouseOver", "cellMouseOut", "filterChanged", "filterModified", "filterOpened", "sortChanged", "virtualRowRemoved", "rowClicked", "rowDoubleClicked", "gridReady", "gridSizeChanged", "viewportChanged", "firstDataRendered", "dragStarted", "dragStopped", "rowEditingStarted", "rowEditingStopped", "cellEditingStarted", "cellEditingStopped", "bodyScroll", "animationQueueEmpty", "heightScaleChanged", "paginationChanged", "componentStateChanged", "bodyHeightChanged", "displayedColumnsWidthChanged", "scrollVisibilityChanged", "columnHoverChanged", "flashCells", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "popupToFront", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: i21.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i21.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
8546
8570
|
FormElementTableComponent = FormElementTableComponent_1 = __decorate([
|
|
8547
8571
|
UntilDestroy()
|
|
8548
8572
|
], FormElementTableComponent);
|
|
@@ -8559,7 +8583,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
8559
8583
|
useExisting: forwardRef(() => FormElementTableComponent),
|
|
8560
8584
|
multi: true,
|
|
8561
8585
|
}
|
|
8562
|
-
], template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"label\">\n
|
|
8586
|
+
], template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"label\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\"\n [width]=\"'95vw'\"\n [height]=\"height\"\n [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\" [hasPreviewFile]=\"hasPreviewFile\"\n [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n\n <!-- <yvc-split-view [layoutSettingsID]=\"cacheLayoutKey\"> -->\n <yvc-split-view>\n\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"40\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"label\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #agGrid2 *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\"\n (cellClicked)=\"onCellClicked($event);editRow($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"20\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions.rowData.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"40\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [dmsObject]=\"params.object\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\"></eo-media>\n </ng-template>\n\n </yvc-split-view>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .label{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .label span{display:block;flex:1 1 auto}:host .label eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .label eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .label button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}\n"] }]
|
|
8563
8587
|
}], ctorParameters: function () { return [{ type: i1.LocalStorageService }, { type: i1.SystemService }, { type: PendingChangesService }, { type: GridService }]; }, propDecorators: { rowEdit: [{
|
|
8564
8588
|
type: ViewChild,
|
|
8565
8589
|
args: ['rowEdit']
|
|
@@ -8884,10 +8908,10 @@ class WorkflowComponent {
|
|
|
8884
8908
|
}
|
|
8885
8909
|
}
|
|
8886
8910
|
WorkflowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: WorkflowComponent, deps: [{ token: i1.BpmService }, { token: PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8887
|
-
WorkflowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: WorkflowComponent, selector: "eo-workflow", inputs: { executableProcess: "executableProcess" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "bpmForm", first: true, predicate: ["bpmForm"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"1000\"\n [
|
|
8911
|
+
WorkflowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: WorkflowComponent, selector: "eo-workflow", inputs: { executableProcess: "executableProcess" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }, { propertyName: "bpmForm", first: true, predicate: ["bpmForm"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"1000\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"process-form form-container\">\n <div class=\"form\">\n <eo-object-form [formOptions]=\"formOptions\" #bpmForm\n (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </div>\n\n <div class=\"actions\">\n <div *ngIf=\"form?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"true\" class=\"cta-wrapper\">\n <button *ngIf=\"form?.dirty\" (click)=\"bpmForm.resetForm()\" class=\"button-reset\" translate>eo.object.indexdata.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.resubmission.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"form?.invalid || processingRequest\" class=\"primary\" translate>eo.executable.processes.execute</button>\n </eo-cta>\n </div>\n\n </section>\n</eo-dialog>\n", styles: ["::ng-deep .process-form-dialog--content{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .process-form-dialog--content .process-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .process-form-dialog--content .process-form .form{overflow:auto;flex:1}::ng-deep .process-form-dialog--content .process-form .invalid{color:var(--color-error)}::ng-deep .process-form-dialog--content .process-form .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .process-form-dialog--content .process-form .actions button{white-space:nowrap}::ng-deep .process-form-dialog--content .process-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .process-form-dialog--content .process-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .process-form-dialog--content .process-form .actions{flex-direction:column;align-items:flex-end}}::ng-deep .eo-object-form>.core{padding:16px 16px 5px}::ng-deep .eo-object-form>.data{padding:0 20px;margin:0 5px}::ng-deep .eo-object-form>.data>eo-form-group>.form-element.o2mGroupStack{border-top:none}::ng-deep .eo-object-form>.data>eo-form-group>.form-element.o2mGroupStack>eo-form-group>.o2mGroup{border:1px solid rgba(var(--color-black-rgb),.1)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: CtaComponent, selector: "eo-cta", inputs: ["active"] }] });
|
|
8888
8912
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: WorkflowComponent, decorators: [{
|
|
8889
8913
|
type: Component,
|
|
8890
|
-
args: [{ selector: 'eo-workflow', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"1000\"\n [
|
|
8914
|
+
args: [{ selector: 'eo-workflow', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"1000\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"process-form form-container\">\n <div class=\"form\">\n <eo-object-form [formOptions]=\"formOptions\" #bpmForm\n (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </div>\n\n <div class=\"actions\">\n <div *ngIf=\"form?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"true\" class=\"cta-wrapper\">\n <button *ngIf=\"form?.dirty\" (click)=\"bpmForm.resetForm()\" class=\"button-reset\" translate>eo.object.indexdata.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.resubmission.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"form?.invalid || processingRequest\" class=\"primary\" translate>eo.executable.processes.execute</button>\n </eo-cta>\n </div>\n\n </section>\n</eo-dialog>\n", styles: ["::ng-deep .process-form-dialog--content{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .process-form-dialog--content .process-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .process-form-dialog--content .process-form .form{overflow:auto;flex:1}::ng-deep .process-form-dialog--content .process-form .invalid{color:var(--color-error)}::ng-deep .process-form-dialog--content .process-form .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .process-form-dialog--content .process-form .actions button{white-space:nowrap}::ng-deep .process-form-dialog--content .process-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .process-form-dialog--content .process-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .process-form-dialog--content .process-form .actions{flex-direction:column;align-items:flex-end}}::ng-deep .eo-object-form>.core{padding:16px 16px 5px}::ng-deep .eo-object-form>.data{padding:0 20px;margin:0 5px}::ng-deep .eo-object-form>.data>eo-form-group>.form-element.o2mGroupStack{border-top:none}::ng-deep .eo-object-form>.data>eo-form-group>.form-element.o2mGroupStack>eo-form-group>.o2mGroup{border:1px solid rgba(var(--color-black-rgb),.1)}\n"] }]
|
|
8891
8915
|
}], ctorParameters: function () { return [{ type: i1.BpmService }, { type: PendingChangesService }, { type: i1.TranslateService }, { type: i1.NotificationsService }]; }, propDecorators: { dialog: [{
|
|
8892
8916
|
type: ViewChild,
|
|
8893
8917
|
args: ['dialog']
|
|
@@ -11236,10 +11260,10 @@ class DatetimeFilterComponent extends DateComponent {
|
|
|
11236
11260
|
}
|
|
11237
11261
|
}
|
|
11238
11262
|
DatetimeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatetimeFilterComponent, deps: [{ token: i1.TranslateService }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11239
|
-
DatetimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatetimeFilterComponent, selector: "eo-datetime-custom", viewQueries: [{ propertyName: "eoDialog", first: true, predicate: EoDialogComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [withTime]=\"withTime\" [labels]=\"labels\"
|
|
11263
|
+
DatetimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatetimeFilterComponent, selector: "eo-datetime-custom", viewQueries: [{ propertyName: "eoDialog", first: true, predicate: EoDialogComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.Datepicker, selector: "yvc-datepicker", inputs: ["calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] });
|
|
11240
11264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatetimeFilterComponent, decorators: [{
|
|
11241
11265
|
type: Component,
|
|
11242
|
-
args: [{ selector: 'eo-datetime-custom', template: "<yvc-datepicker [calendar]=\"true\" [withTime]=\"withTime\" [labels]=\"labels\"
|
|
11266
|
+
args: [{ selector: 'eo-datetime-custom', template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"] }]
|
|
11243
11267
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1.EventService }]; }, propDecorators: { eoDialog: [{
|
|
11244
11268
|
type: ViewChild,
|
|
11245
11269
|
args: [EoDialogComponent]
|
|
@@ -21962,10 +21986,10 @@ class AboutStateComponent {
|
|
|
21962
21986
|
this.backend = backend;
|
|
21963
21987
|
this.userService = userService;
|
|
21964
21988
|
this.config = config;
|
|
21965
|
-
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "10.0.
|
|
21989
|
+
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "10.0.1", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "@yuuvis/components", "version": "0.0.50", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "0.4.6", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "moment", "version": "2.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.1", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
|
|
21966
21990
|
this.ctrl = {
|
|
21967
21991
|
componentName: 'yuuvis® RAD client',
|
|
21968
|
-
componentVersion: '10.0.
|
|
21992
|
+
componentVersion: '10.0.1',
|
|
21969
21993
|
productName: '',
|
|
21970
21994
|
productVersion: ''
|
|
21971
21995
|
};
|