@bizdoc/core 1.17.1 → 1.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/admin/architecture/elements/control.component.mjs +7 -5
- package/esm2020/lib/admin/architecture/elements/rule.component.mjs +1 -1
- package/esm2020/lib/core/fields/checklist.designer.mjs +11 -11
- package/esm2020/lib/core/fields/checklist.field.mjs +16 -24
- package/esm2020/lib/core/fields/options.base.mjs +41 -0
- package/esm2020/lib/core/fields/options.component.mjs +3 -3
- package/esm2020/lib/core/fields/radio-button.designer.mjs +9 -8
- package/esm2020/lib/core/fields/radio-button.field.mjs +16 -23
- package/esm2020/lib/core/fields/select.designer.mjs +12 -12
- package/esm2020/lib/core/fields/select.field.mjs +17 -23
- package/esm2020/lib/reports/arguments-component.mjs +1 -1
- package/esm2020/lib/reports/report-ref.mjs +4 -2
- package/esm2020/lib/reports/report-viewer.component.mjs +4 -2
- package/fesm2015/bizdoc-core.mjs +458 -439
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +454 -435
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/architecture/elements/control.component.d.ts +1 -0
- package/lib/admin/architecture/elements/rule.component.d.ts +1 -2
- package/lib/core/fields/checklist.designer.d.ts +7 -10
- package/lib/core/fields/checklist.field.d.ts +2 -13
- package/lib/core/fields/options.base.d.ts +28 -0
- package/lib/core/fields/radio-button.designer.d.ts +6 -6
- package/lib/core/fields/radio-button.field.d.ts +2 -13
- package/lib/core/fields/select.designer.d.ts +5 -6
- package/lib/core/fields/select.field.d.ts +2 -14
- package/lib/reports/report-ref.d.ts +3 -1
- package/package.json +1 -1
package/fesm2020/bizdoc-core.mjs
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
import { __decorate } from 'tslib';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import {
|
3
|
+
import { Injectable, InjectionToken, Inject, Directive, TemplateRef, Injector, ViewContainerRef, Component, ViewChild, Input, Pipe, Optional, Self, HostBinding, Output, EventEmitter, HostListener, ElementRef, NgModule, ViewChildren, Host, SkipSelf, ViewEncapsulation, APP_INITIALIZER, ContentChild } from '@angular/core';
|
4
|
+
import * as i1$3 from '@angular/forms';
|
5
|
+
import { Validators, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
|
6
|
+
import { map, shareReplay, tap, filter, takeUntil as takeUntil$1, debounceTime, switchMap, take, first, catchError, startWith, finalize } from 'rxjs/operators';
|
7
|
+
import * as i1 from '@angular/common/http';
|
8
|
+
import { HttpRequest, HttpResponse, HttpEventType, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
4
9
|
import { Subject, Observable, of, fromEvent, forkJoin, takeUntil, BehaviorSubject, map as map$1, shareReplay as shareReplay$1, tap as tap$1, interval, takeWhile, filter as filter$1, debounceTime as debounceTime$1, from, merge, first as first$1, throwError, switchMap as switchMap$1, isObservable, EMPTY, startWith as startWith$1 } from 'rxjs';
|
5
|
-
import { map, tap, filter, shareReplay, takeUntil as takeUntil$1, debounceTime, switchMap, take, first, catchError, startWith, finalize } from 'rxjs/operators';
|
6
10
|
import { HubConnectionBuilder, HubConnectionState } from '@microsoft/signalr';
|
7
11
|
import dayjs from 'dayjs';
|
8
12
|
import * as firebase from 'firebase/app';
|
9
13
|
import { getMessaging, deleteToken, getToken } from 'firebase/messaging';
|
10
|
-
import * as i1 from '@angular/common/http';
|
11
|
-
import { HttpRequest, HttpResponse, HttpEventType, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
12
14
|
import * as i2 from 'ngx-cookie-service';
|
13
15
|
import { CookieService } from 'ngx-cookie-service';
|
14
16
|
import * as i10 from '@angular/material/icon';
|
15
17
|
import { MatIconModule } from '@angular/material/icon';
|
16
18
|
import * as i1$1 from '@angular/platform-browser';
|
17
19
|
import { BrowserModule } from '@angular/platform-browser';
|
18
|
-
import * as i1$3 from '@angular/forms';
|
19
|
-
import { Validators, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
|
20
20
|
import * as i1$4 from '@angular/common';
|
21
21
|
import { registerLocaleData, CommonModule, getLocaleNumberFormat, NumberFormatStyle, getCurrencySymbol, formatNumber, formatPercent, formatCurrency } from '@angular/common';
|
22
22
|
import * as i3$1 from '@angular/material/core';
|
@@ -112,7 +112,7 @@ import * as i4$5 from '@angular/material/list';
|
|
112
112
|
import { MatListModule, MatSelectionList } from '@angular/material/list';
|
113
113
|
import * as i8$3 from '@angular/material/toolbar';
|
114
114
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
115
|
-
import * as
|
115
|
+
import * as i3$4 from '@angular/material/radio';
|
116
116
|
import { MatRadioModule, MatRadioButton } from '@angular/material/radio';
|
117
117
|
import * as i2$3 from '@angular/flex-layout';
|
118
118
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
@@ -139,7 +139,7 @@ import * as i6$2 from '@syncfusion/ej2-angular-schedule';
|
|
139
139
|
import { Schedule, Day, WorkWeek, Month, MonthAgenda, Agenda, Year, ScheduleModule, ExcelExportService as ExcelExportService$2, DayService, WorkWeekService, MonthService, MonthAgendaService, ICalendarExportService, AgendaService, YearService } from '@syncfusion/ej2-angular-schedule';
|
140
140
|
import * as i10$3 from '@syncfusion/ej2-angular-kanban';
|
141
141
|
import { KanbanComponent, KanbanModule } from '@syncfusion/ej2-angular-kanban';
|
142
|
-
import * as i3$
|
142
|
+
import * as i3$5 from '@syncfusion/ej2-angular-inputs';
|
143
143
|
import { SignatureModule } from '@syncfusion/ej2-angular-inputs';
|
144
144
|
import { CircularGaugeModule, AnnotationsService, GaugeTooltipService, LegendService as LegendService$1, CircularGauge, Annotations, GaugeTooltip, CircularGaugeComponent, Legend as Legend$1 } from '@syncfusion/ej2-angular-circulargauge';
|
145
145
|
import { PivotViewModule, ExcelExportService as ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService, PivotView as PivotView$1, GroupingBar, ExcelExport as ExcelExport$1, PivotChart, PivotViewComponent } from '@syncfusion/ej2-angular-pivotview';
|
@@ -198,70 +198,6 @@ function BizDoc(args) {
|
|
198
198
|
// return map;
|
199
199
|
//}
|
200
200
|
|
201
|
-
const BIZDOC_CONFIG = new InjectionToken('bizdoc');
|
202
|
-
var OpenPolicy;
|
203
|
-
(function (OpenPolicy) {
|
204
|
-
OpenPolicy[OpenPolicy["Pane"] = 1] = "Pane";
|
205
|
-
OpenPolicy[OpenPolicy["Clear"] = 2] = "Clear";
|
206
|
-
OpenPolicy[OpenPolicy["Defer"] = 4] = "Defer";
|
207
|
-
OpenPolicy[OpenPolicy["Pinnable"] = 8] = "Pinnable";
|
208
|
-
OpenPolicy[OpenPolicy["Stretch"] = 16] = "Stretch";
|
209
|
-
OpenPolicy[OpenPolicy["Expandable"] = 32] = "Expandable";
|
210
|
-
OpenPolicy[OpenPolicy["Toggle"] = 64] = "Toggle";
|
211
|
-
OpenPolicy[OpenPolicy["Tab"] = 128] = "Tab";
|
212
|
-
OpenPolicy[OpenPolicy["Dismissable"] = 256] = "Dismissable";
|
213
|
-
OpenPolicy[OpenPolicy["Dialog"] = 672] = "Dialog";
|
214
|
-
})(OpenPolicy || (OpenPolicy = {}));
|
215
|
-
const DEFAULT_POLICY = OpenPolicy.Pane;
|
216
|
-
|
217
|
-
const DEVICE_TYPE = 'Chrome', ACTIVATION_DELAY = 3000;
|
218
|
-
var FirebaseState;
|
219
|
-
(function (FirebaseState) {
|
220
|
-
FirebaseState[FirebaseState["Activated"] = 0] = "Activated";
|
221
|
-
})(FirebaseState || (FirebaseState = {}));
|
222
|
-
class FirebaseService {
|
223
|
-
constructor(_config, _session) {
|
224
|
-
this._config = _config;
|
225
|
-
this._session = _session;
|
226
|
-
if (_config && navigator.serviceWorker) {
|
227
|
-
const { apiKey, projectId, senderId, appId } = _config;
|
228
|
-
if (apiKey) {
|
229
|
-
const app = firebase.initializeApp({
|
230
|
-
apiKey,
|
231
|
-
projectId,
|
232
|
-
appId,
|
233
|
-
messagingSenderId: senderId
|
234
|
-
});
|
235
|
-
this._messaging = getMessaging();
|
236
|
-
}
|
237
|
-
}
|
238
|
-
}
|
239
|
-
get state() {
|
240
|
-
return this._state;
|
241
|
-
}
|
242
|
-
activate() {
|
243
|
-
this._config && this._config.apiKey &&
|
244
|
-
setTimeout(() => this._activate(), this._config.grace || ACTIVATION_DELAY);
|
245
|
-
}
|
246
|
-
async close() {
|
247
|
-
await deleteToken(this._messaging);
|
248
|
-
return this._session.unregisterDevice(DEVICE_TYPE, this._token).subscribe();
|
249
|
-
}
|
250
|
-
_activate() {
|
251
|
-
const { vapidKey } = this._config;
|
252
|
-
navigator.serviceWorker.register('./js/firebase-messaging-sw.js')
|
253
|
-
.then((serviceWorkerRegistration) => {
|
254
|
-
//requestPermission();
|
255
|
-
getToken(this._messaging, { vapidKey, serviceWorkerRegistration }).
|
256
|
-
then(token => {
|
257
|
-
this._token = token;
|
258
|
-
this._session.registerDevice(DEVICE_TYPE, token).subscribe(() => this._state = FirebaseState.Activated);
|
259
|
-
});
|
260
|
-
//onTokenRefresh(token => this._session.registerDevice(DEVICE_TYPE, token).subscribe());
|
261
|
-
});
|
262
|
-
}
|
263
|
-
}
|
264
|
-
|
265
201
|
const FONT_FAMILY = 'Roboto, monospace, sans-serif';
|
266
202
|
//// colors from https://github.com/egoist/color-lib/blob/master/color.json
|
267
203
|
const MATERIAL_PALETTES = {
|
@@ -584,6 +520,358 @@ const MATERIAL_PALETTES = {
|
|
584
520
|
//}
|
585
521
|
};
|
586
522
|
|
523
|
+
const IMAGE_TYPE = ['image/png', 'image/jpeg', 'image/jpg', 'image/gif'];
|
524
|
+
function mapToArray(map) {
|
525
|
+
return Object.keys(map).map(k => ({ key: k, value: map[k] }));
|
526
|
+
}
|
527
|
+
function isImage(contentType) {
|
528
|
+
return IMAGE_TYPE.indexOf(contentType) > -1;
|
529
|
+
}
|
530
|
+
function cleanup(params) {
|
531
|
+
Object.keys(params).forEach(k => {
|
532
|
+
const val = params[k];
|
533
|
+
if (val === null || val === undefined)
|
534
|
+
delete params[k];
|
535
|
+
else if (typeof val === 'string' || val instanceof Date || typeof val === 'boolean')
|
536
|
+
return;
|
537
|
+
else if (Array.isArray(val)) {
|
538
|
+
if (val.length === 0)
|
539
|
+
delete params[k];
|
540
|
+
else
|
541
|
+
for (let i = 0; i < val.length; i++)
|
542
|
+
isObject(val[i]) && cleanup(val[i]);
|
543
|
+
}
|
544
|
+
else if (isObject(val)) {
|
545
|
+
cleanup(val);
|
546
|
+
if (Object.keys(val).length === 0)
|
547
|
+
delete params[k];
|
548
|
+
}
|
549
|
+
});
|
550
|
+
return params;
|
551
|
+
}
|
552
|
+
function outOfBound(element) {
|
553
|
+
const bounding = element.getBoundingClientRect();
|
554
|
+
return bounding.top < 0 ||
|
555
|
+
bounding.left < 0 ||
|
556
|
+
bounding.right > document.documentElement.clientWidth ||
|
557
|
+
bounding.bottom > document.documentElement.clientHeight;
|
558
|
+
}
|
559
|
+
const IS_MOBILE = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
560
|
+
function isMobile() {
|
561
|
+
return IS_MOBILE /*|| document.cookie.indexOf('aria=1') > -1*/;
|
562
|
+
}
|
563
|
+
function isFunction(val) {
|
564
|
+
return typeof val === 'function';
|
565
|
+
}
|
566
|
+
function isBoolean(val) {
|
567
|
+
return typeof val === 'boolean';
|
568
|
+
}
|
569
|
+
function isObject(val) {
|
570
|
+
return val !== null && typeof val === 'object';
|
571
|
+
}
|
572
|
+
function isPrimitive(val) {
|
573
|
+
return typeof val !== 'object' && !Array.isArray(val);
|
574
|
+
}
|
575
|
+
function isPromise(obj) {
|
576
|
+
return obj instanceof Promise;
|
577
|
+
}
|
578
|
+
function isDate(val) {
|
579
|
+
return val instanceof Date;
|
580
|
+
}
|
581
|
+
function isArray(val) {
|
582
|
+
return Array.isArray(val);
|
583
|
+
}
|
584
|
+
function isString(val) {
|
585
|
+
return typeof val === 'string' || val instanceof String;
|
586
|
+
}
|
587
|
+
function getWarn(mode = 500) {
|
588
|
+
return MATERIAL_PALETTES['red'][mode];
|
589
|
+
}
|
590
|
+
function playAudio(name) {
|
591
|
+
try {
|
592
|
+
const audio = new Audio();
|
593
|
+
audio.src = `/assets/sounds/${name}.ogg`;
|
594
|
+
audio.load();
|
595
|
+
audio.play();
|
596
|
+
}
|
597
|
+
catch (e) {
|
598
|
+
console.log(e);
|
599
|
+
}
|
600
|
+
}
|
601
|
+
/**
|
602
|
+
*
|
603
|
+
* @param o1
|
604
|
+
* @param o2
|
605
|
+
*/
|
606
|
+
function deepAssign(o1, o2) {
|
607
|
+
o2 && Object.keys(o2).forEach(p => {
|
608
|
+
const val2 = o2[p], val1 = o1[p];
|
609
|
+
if (val1 === undefined || val1 === null || isPrimitive(val2)) // val !== 'object' && !Array.isArray(val)
|
610
|
+
o1[p] = val2;
|
611
|
+
else if (Array.isArray(val2)) {
|
612
|
+
if (val2.length && !isPrimitive(val2[0])) {
|
613
|
+
for (let i = 0; i < val2.length; i++) {
|
614
|
+
if (val1[i] !== undefined)
|
615
|
+
deepAssign(val1[i], val2[i]);
|
616
|
+
else
|
617
|
+
val1.push(val2[i]);
|
618
|
+
}
|
619
|
+
val1.splice(val2.length);
|
620
|
+
}
|
621
|
+
else
|
622
|
+
//(val2 as any[]).splice(0, val2.length, ...val);
|
623
|
+
o1[p] = val2;
|
624
|
+
}
|
625
|
+
else //if (isObject(val2))
|
626
|
+
deepAssign(val1, val2);
|
627
|
+
});
|
628
|
+
return o1;
|
629
|
+
}
|
630
|
+
function generateEncryptionMap() {
|
631
|
+
const values = {};
|
632
|
+
for (let i = 65; i < 91; i++) {
|
633
|
+
const d = (i - 65).toString(), c = String.fromCharCode(i);
|
634
|
+
values[d] = c;
|
635
|
+
values[c] = d;
|
636
|
+
}
|
637
|
+
for (let i = 97; i < 123; i++) {
|
638
|
+
const d = (i - 71).toString(), c = String.fromCharCode(i);
|
639
|
+
values[d] = c;
|
640
|
+
values[c] = d;
|
641
|
+
}
|
642
|
+
return values;
|
643
|
+
}
|
644
|
+
const decode = generateEncryptionMap();
|
645
|
+
String.prototype.decodeId = function () {
|
646
|
+
let v = '';
|
647
|
+
for (let i = 0; i < this.length; i++) {
|
648
|
+
const c = this.charAt(i);
|
649
|
+
v += decode[c];
|
650
|
+
}
|
651
|
+
return parseInt(v);
|
652
|
+
};
|
653
|
+
Number.prototype.encodeId = function () {
|
654
|
+
let v = '', d = this.toString();
|
655
|
+
while (d.length > 0) {
|
656
|
+
let i = 51, c = i.toString();
|
657
|
+
while (!d.startsWith(c)) {
|
658
|
+
--i, c = i.toString();
|
659
|
+
}
|
660
|
+
v += decode[c];
|
661
|
+
d = d.substring(c.length);
|
662
|
+
}
|
663
|
+
return v;
|
664
|
+
};
|
665
|
+
/** global extended array functions */
|
666
|
+
window.global = window;
|
667
|
+
String.prototype.normalize = function () {
|
668
|
+
return this.replace(/ /g, '_').replace(/[^\w]/g, '').toLowerCase();
|
669
|
+
};
|
670
|
+
String.prototype.formatArgs = function (...args) {
|
671
|
+
return this.replace(/{(\d+)}/g, (_, index) => args[index] || '');
|
672
|
+
};
|
673
|
+
Array.prototype.last = function () {
|
674
|
+
return this[this.length - 1];
|
675
|
+
};
|
676
|
+
/** remove element from array */
|
677
|
+
Array.prototype.remove = function (value) {
|
678
|
+
const index = this.indexOf(value);
|
679
|
+
if (index > -1)
|
680
|
+
this.splice(index, 1);
|
681
|
+
return this;
|
682
|
+
};
|
683
|
+
/** calculate average using element predicate */
|
684
|
+
Array.prototype.average = function (predicate) {
|
685
|
+
let average = 0;
|
686
|
+
this.forEach(i => average += predicate(i));
|
687
|
+
return average !== 0 ? average / this.length : 0;
|
688
|
+
};
|
689
|
+
Array.prototype.distinct = function (predicate) {
|
690
|
+
const values = new Set();
|
691
|
+
this.forEach(i => values.add(predicate(i)));
|
692
|
+
return values;
|
693
|
+
};
|
694
|
+
Array.prototype.max = function (predicate) {
|
695
|
+
let n = 0;
|
696
|
+
this.forEach(i => n = Math.max(n, predicate(i)));
|
697
|
+
return n;
|
698
|
+
};
|
699
|
+
/** sum elements using predicate */
|
700
|
+
Array.prototype.sum = function (predicate) {
|
701
|
+
let n = 0;
|
702
|
+
this.forEach(i => n += predicate(i));
|
703
|
+
return n;
|
704
|
+
};
|
705
|
+
/**
|
706
|
+
*
|
707
|
+
* @param args
|
708
|
+
*/
|
709
|
+
function queryParams(args) {
|
710
|
+
const params = {};
|
711
|
+
args &&
|
712
|
+
Object.keys(args).forEach(k => {
|
713
|
+
const val = args[k];
|
714
|
+
if (val !== null && val !== undefined) {
|
715
|
+
if (isString(val))
|
716
|
+
params[k] = val;
|
717
|
+
else if (isArray(val) && val.length)
|
718
|
+
params[k] = val;
|
719
|
+
else if (isDate(val))
|
720
|
+
params[k] = val.toJSON();
|
721
|
+
else if (isObject(val)) {
|
722
|
+
if (Object.keys(val).length)
|
723
|
+
params[k] = queryParams(val);
|
724
|
+
}
|
725
|
+
else
|
726
|
+
params[k] = val;
|
727
|
+
}
|
728
|
+
});
|
729
|
+
return params;
|
730
|
+
}
|
731
|
+
function getParameterByName(name, url = window.location.href) {
|
732
|
+
name = name.replace(/[\[\]]/g, '\\$&');
|
733
|
+
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
|
734
|
+
if (!results)
|
735
|
+
return null;
|
736
|
+
if (!results[2])
|
737
|
+
return '';
|
738
|
+
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
739
|
+
}
|
740
|
+
|
741
|
+
/** */
|
742
|
+
class DatasourceService {
|
743
|
+
constructor(_http) {
|
744
|
+
this._http = _http;
|
745
|
+
this._cache = {};
|
746
|
+
}
|
747
|
+
keys(type) {
|
748
|
+
return this.map(type).pipe(map(m => Object.keys(m)));
|
749
|
+
}
|
750
|
+
/**
|
751
|
+
*
|
752
|
+
* @param type
|
753
|
+
* @param key
|
754
|
+
*/
|
755
|
+
get(type, key) {
|
756
|
+
return this.map(type).pipe(map(m => m[key] || key));
|
757
|
+
}
|
758
|
+
/**
|
759
|
+
*
|
760
|
+
* @param type
|
761
|
+
* @param value
|
762
|
+
*/
|
763
|
+
keyOf(type, value) {
|
764
|
+
return this.map(type).pipe(map(m => Object.keys(m).find(k => m[k] === value)));
|
765
|
+
}
|
766
|
+
/**
|
767
|
+
*
|
768
|
+
* @param type
|
769
|
+
* @param params
|
770
|
+
*/
|
771
|
+
map(type, queryParams) {
|
772
|
+
let cacheId = type;
|
773
|
+
if (queryParams) {
|
774
|
+
if (isObject(queryParams))
|
775
|
+
Object.keys(queryParams).forEach(k => cacheId += `${k}${queryParams[k]}`);
|
776
|
+
else
|
777
|
+
cacheId += queryParams.toString();
|
778
|
+
}
|
779
|
+
let observe = this._cache[cacheId];
|
780
|
+
if (!observe) {
|
781
|
+
const params = {};
|
782
|
+
if (queryParams) {
|
783
|
+
if (isObject(queryParams))
|
784
|
+
Object.assign(params, queryParams);
|
785
|
+
else
|
786
|
+
params.value = queryParams;
|
787
|
+
}
|
788
|
+
const dataSource = this._http.get(`/api/datatype/${encodeURIComponent(type)}`, {
|
789
|
+
params
|
790
|
+
});
|
791
|
+
observe = this._cache[cacheId] = dataSource.pipe(shareReplay());
|
792
|
+
}
|
793
|
+
return observe;
|
794
|
+
}
|
795
|
+
/**
|
796
|
+
*
|
797
|
+
* @param type
|
798
|
+
* @param params
|
799
|
+
*/
|
800
|
+
all(type, queryParams) {
|
801
|
+
return this.map(type, queryParams).pipe(map(mapToArray));
|
802
|
+
}
|
803
|
+
}
|
804
|
+
DatasourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DatasourceService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
805
|
+
DatasourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DatasourceService, providedIn: 'root' });
|
806
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DatasourceService, decorators: [{
|
807
|
+
type: Injectable,
|
808
|
+
args: [{ providedIn: 'root' }]
|
809
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
810
|
+
|
811
|
+
const BIZDOC_CONFIG = new InjectionToken('bizdoc');
|
812
|
+
var OpenPolicy;
|
813
|
+
(function (OpenPolicy) {
|
814
|
+
OpenPolicy[OpenPolicy["Pane"] = 1] = "Pane";
|
815
|
+
OpenPolicy[OpenPolicy["Clear"] = 2] = "Clear";
|
816
|
+
OpenPolicy[OpenPolicy["Defer"] = 4] = "Defer";
|
817
|
+
OpenPolicy[OpenPolicy["Pinnable"] = 8] = "Pinnable";
|
818
|
+
OpenPolicy[OpenPolicy["Stretch"] = 16] = "Stretch";
|
819
|
+
OpenPolicy[OpenPolicy["Expandable"] = 32] = "Expandable";
|
820
|
+
OpenPolicy[OpenPolicy["Toggle"] = 64] = "Toggle";
|
821
|
+
OpenPolicy[OpenPolicy["Tab"] = 128] = "Tab";
|
822
|
+
OpenPolicy[OpenPolicy["Dismissable"] = 256] = "Dismissable";
|
823
|
+
OpenPolicy[OpenPolicy["Dialog"] = 672] = "Dialog";
|
824
|
+
})(OpenPolicy || (OpenPolicy = {}));
|
825
|
+
const DEFAULT_POLICY = OpenPolicy.Pane;
|
826
|
+
|
827
|
+
const DEVICE_TYPE = 'Chrome', ACTIVATION_DELAY = 3000;
|
828
|
+
var FirebaseState;
|
829
|
+
(function (FirebaseState) {
|
830
|
+
FirebaseState[FirebaseState["Activated"] = 0] = "Activated";
|
831
|
+
})(FirebaseState || (FirebaseState = {}));
|
832
|
+
class FirebaseService {
|
833
|
+
constructor(_config, _session) {
|
834
|
+
this._config = _config;
|
835
|
+
this._session = _session;
|
836
|
+
if (_config && navigator.serviceWorker) {
|
837
|
+
const { apiKey, projectId, senderId, appId } = _config;
|
838
|
+
if (apiKey) {
|
839
|
+
const app = firebase.initializeApp({
|
840
|
+
apiKey,
|
841
|
+
projectId,
|
842
|
+
appId,
|
843
|
+
messagingSenderId: senderId
|
844
|
+
});
|
845
|
+
this._messaging = getMessaging();
|
846
|
+
}
|
847
|
+
}
|
848
|
+
}
|
849
|
+
get state() {
|
850
|
+
return this._state;
|
851
|
+
}
|
852
|
+
activate() {
|
853
|
+
this._config && this._config.apiKey &&
|
854
|
+
setTimeout(() => this._activate(), this._config.grace || ACTIVATION_DELAY);
|
855
|
+
}
|
856
|
+
async close() {
|
857
|
+
await deleteToken(this._messaging);
|
858
|
+
return this._session.unregisterDevice(DEVICE_TYPE, this._token).subscribe();
|
859
|
+
}
|
860
|
+
_activate() {
|
861
|
+
const { vapidKey } = this._config;
|
862
|
+
navigator.serviceWorker.register('./js/firebase-messaging-sw.js')
|
863
|
+
.then((serviceWorkerRegistration) => {
|
864
|
+
//requestPermission();
|
865
|
+
getToken(this._messaging, { vapidKey, serviceWorkerRegistration }).
|
866
|
+
then(token => {
|
867
|
+
this._token = token;
|
868
|
+
this._session.registerDevice(DEVICE_TYPE, token).subscribe(() => this._state = FirebaseState.Activated);
|
869
|
+
});
|
870
|
+
//onTokenRefresh(token => this._session.registerDevice(DEVICE_TYPE, token).subscribe());
|
871
|
+
});
|
872
|
+
}
|
873
|
+
}
|
874
|
+
|
587
875
|
class AuthenticationImpl {
|
588
876
|
}
|
589
877
|
|
@@ -940,223 +1228,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
940
1228
|
args: [BIZDOC_CONFIG]
|
941
1229
|
}] }, { type: i1.HttpClient }, { type: i2.CookieService }, { type: HubService }, { type: i10.MatIconRegistry }, { type: i1$1.DomSanitizer }]; } });
|
942
1230
|
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
}
|
947
|
-
function isImage(contentType) {
|
948
|
-
return IMAGE_TYPE.indexOf(contentType) > -1;
|
949
|
-
}
|
950
|
-
function cleanup(params) {
|
951
|
-
Object.keys(params).forEach(k => {
|
952
|
-
const val = params[k];
|
953
|
-
if (val === null || val === undefined)
|
954
|
-
delete params[k];
|
955
|
-
else if (typeof val === 'string' || val instanceof Date || typeof val === 'boolean')
|
956
|
-
return;
|
957
|
-
else if (Array.isArray(val)) {
|
958
|
-
if (val.length === 0)
|
959
|
-
delete params[k];
|
960
|
-
else
|
961
|
-
for (let i = 0; i < val.length; i++)
|
962
|
-
isObject(val[i]) && cleanup(val[i]);
|
963
|
-
}
|
964
|
-
else if (isObject(val)) {
|
965
|
-
cleanup(val);
|
966
|
-
if (Object.keys(val).length === 0)
|
967
|
-
delete params[k];
|
968
|
-
}
|
969
|
-
});
|
970
|
-
return params;
|
971
|
-
}
|
972
|
-
function outOfBound(element) {
|
973
|
-
const bounding = element.getBoundingClientRect();
|
974
|
-
return bounding.top < 0 ||
|
975
|
-
bounding.left < 0 ||
|
976
|
-
bounding.right > document.documentElement.clientWidth ||
|
977
|
-
bounding.bottom > document.documentElement.clientHeight;
|
978
|
-
}
|
979
|
-
const IS_MOBILE = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
980
|
-
function isMobile() {
|
981
|
-
return IS_MOBILE /*|| document.cookie.indexOf('aria=1') > -1*/;
|
982
|
-
}
|
983
|
-
function isFunction(val) {
|
984
|
-
return typeof val === 'function';
|
985
|
-
}
|
986
|
-
function isBoolean(val) {
|
987
|
-
return typeof val === 'boolean';
|
988
|
-
}
|
989
|
-
function isObject(val) {
|
990
|
-
return val !== null && typeof val === 'object';
|
991
|
-
}
|
992
|
-
function isPrimitive(val) {
|
993
|
-
return typeof val !== 'object' && !Array.isArray(val);
|
994
|
-
}
|
995
|
-
function isPromise(obj) {
|
996
|
-
return obj instanceof Promise;
|
997
|
-
}
|
998
|
-
function isDate(val) {
|
999
|
-
return val instanceof Date;
|
1000
|
-
}
|
1001
|
-
function isArray(val) {
|
1002
|
-
return Array.isArray(val);
|
1003
|
-
}
|
1004
|
-
function isString(val) {
|
1005
|
-
return typeof val === 'string' || val instanceof String;
|
1006
|
-
}
|
1007
|
-
function getWarn(mode = 500) {
|
1008
|
-
return MATERIAL_PALETTES['red'][mode];
|
1009
|
-
}
|
1010
|
-
function playAudio(name) {
|
1011
|
-
try {
|
1012
|
-
const audio = new Audio();
|
1013
|
-
audio.src = `/assets/sounds/${name}.ogg`;
|
1014
|
-
audio.load();
|
1015
|
-
audio.play();
|
1016
|
-
}
|
1017
|
-
catch (e) {
|
1018
|
-
console.log(e);
|
1231
|
+
class OptionsControlField {
|
1232
|
+
constructor(_ds) {
|
1233
|
+
this._ds = _ds;
|
1019
1234
|
}
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
* @param o2
|
1025
|
-
*/
|
1026
|
-
function deepAssign(o1, o2) {
|
1027
|
-
o2 && Object.keys(o2).forEach(p => {
|
1028
|
-
const val2 = o2[p], val1 = o1[p];
|
1029
|
-
if (val1 === undefined || val1 === null || isPrimitive(val2)) // val !== 'object' && !Array.isArray(val)
|
1030
|
-
o1[p] = val2;
|
1031
|
-
else if (Array.isArray(val2)) {
|
1032
|
-
if (val2.length && !isPrimitive(val2[0])) {
|
1033
|
-
for (let i = 0; i < val2.length; i++) {
|
1034
|
-
if (val1[i] !== undefined)
|
1035
|
-
deepAssign(val1[i], val2[i]);
|
1036
|
-
else
|
1037
|
-
val1.push(val2[i]);
|
1038
|
-
}
|
1039
|
-
val1.splice(val2.length);
|
1040
|
-
}
|
1041
|
-
else
|
1042
|
-
//(val2 as any[]).splice(0, val2.length, ...val);
|
1043
|
-
o1[p] = val2;
|
1044
|
-
}
|
1045
|
-
else //if (isObject(val2))
|
1046
|
-
deepAssign(val1, val2);
|
1047
|
-
});
|
1048
|
-
return o1;
|
1049
|
-
}
|
1050
|
-
function generateEncryptionMap() {
|
1051
|
-
const values = {};
|
1052
|
-
for (let i = 65; i < 91; i++) {
|
1053
|
-
const d = (i - 65).toString(), c = String.fromCharCode(i);
|
1054
|
-
values[d] = c;
|
1055
|
-
values[c] = d;
|
1235
|
+
ngOnInit() {
|
1236
|
+
this.required && this.control.addValidators(Validators.required);
|
1237
|
+
if (this.dataType)
|
1238
|
+
this._ds.all(this.dataType).subscribe(v => this.options = v);
|
1056
1239
|
}
|
1057
|
-
|
1058
|
-
|
1059
|
-
values[d] = c;
|
1060
|
-
values[c] = d;
|
1240
|
+
optionOf(value) {
|
1241
|
+
return this.options?.find(o => o.key === value)?.value;
|
1061
1242
|
}
|
1062
|
-
return values;
|
1063
1243
|
}
|
1064
|
-
|
1065
|
-
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
}
|
1080
|
-
v += decode[c];
|
1081
|
-
d = d.substring(c.length);
|
1244
|
+
OptionsControlField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: OptionsControlField, deps: [{ token: DatasourceService }], target: i0.ɵɵFactoryTarget.Directive });
|
1245
|
+
OptionsControlField.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: OptionsControlField, ngImport: i0 });
|
1246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: OptionsControlField, decorators: [{
|
1247
|
+
type: Directive
|
1248
|
+
}], ctorParameters: function () { return [{ type: DatasourceService }]; } });
|
1249
|
+
class OptionsControlDesigner {
|
1250
|
+
constructor(_session) {
|
1251
|
+
this._session = _session;
|
1252
|
+
this._typeRequired = (control) => {
|
1253
|
+
const options = control.parent?.get('options');
|
1254
|
+
if (options && !options.length)
|
1255
|
+
return { required: true };
|
1256
|
+
return null;
|
1257
|
+
};
|
1258
|
+
this.datatypes = this._session.profile.types;
|
1082
1259
|
}
|
1083
|
-
return v;
|
1084
|
-
};
|
1085
|
-
/** global extended array functions */
|
1086
|
-
window.global = window;
|
1087
|
-
String.prototype.normalize = function () {
|
1088
|
-
return this.replace(/ /g, '_').replace(/[^\w]/g, '').toLowerCase();
|
1089
|
-
};
|
1090
|
-
String.prototype.formatArgs = function (...args) {
|
1091
|
-
return this.replace(/{(\d+)}/g, (_, index) => args[index] || '');
|
1092
|
-
};
|
1093
|
-
Array.prototype.last = function () {
|
1094
|
-
return this[this.length - 1];
|
1095
|
-
};
|
1096
|
-
/** remove element from array */
|
1097
|
-
Array.prototype.remove = function (value) {
|
1098
|
-
const index = this.indexOf(value);
|
1099
|
-
if (index > -1)
|
1100
|
-
this.splice(index, 1);
|
1101
|
-
return this;
|
1102
|
-
};
|
1103
|
-
/** calculate average using element predicate */
|
1104
|
-
Array.prototype.average = function (predicate) {
|
1105
|
-
let average = 0;
|
1106
|
-
this.forEach(i => average += predicate(i));
|
1107
|
-
return average !== 0 ? average / this.length : 0;
|
1108
|
-
};
|
1109
|
-
Array.prototype.distinct = function (predicate) {
|
1110
|
-
const values = new Set();
|
1111
|
-
this.forEach(i => values.add(predicate(i)));
|
1112
|
-
return values;
|
1113
|
-
};
|
1114
|
-
Array.prototype.max = function (predicate) {
|
1115
|
-
let n = 0;
|
1116
|
-
this.forEach(i => n = Math.max(n, predicate(i)));
|
1117
|
-
return n;
|
1118
|
-
};
|
1119
|
-
/** sum elements using predicate */
|
1120
|
-
Array.prototype.sum = function (predicate) {
|
1121
|
-
let n = 0;
|
1122
|
-
this.forEach(i => n += predicate(i));
|
1123
|
-
return n;
|
1124
|
-
};
|
1125
|
-
/**
|
1126
|
-
*
|
1127
|
-
* @param args
|
1128
|
-
*/
|
1129
|
-
function queryParams(args) {
|
1130
|
-
const params = {};
|
1131
|
-
args &&
|
1132
|
-
Object.keys(args).forEach(k => {
|
1133
|
-
const val = args[k];
|
1134
|
-
if (val !== null && val !== undefined) {
|
1135
|
-
if (isString(val))
|
1136
|
-
params[k] = val;
|
1137
|
-
else if (isArray(val) && val.length)
|
1138
|
-
params[k] = val;
|
1139
|
-
else if (isDate(val))
|
1140
|
-
params[k] = val.toJSON();
|
1141
|
-
else if (isObject(val)) {
|
1142
|
-
if (Object.keys(val).length)
|
1143
|
-
params[k] = queryParams(val);
|
1144
|
-
}
|
1145
|
-
else
|
1146
|
-
params[k] = val;
|
1147
|
-
}
|
1148
|
-
});
|
1149
|
-
return params;
|
1150
1260
|
}
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1155
|
-
return
|
1156
|
-
if (!results[2])
|
1157
|
-
return '';
|
1158
|
-
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
1159
|
-
}
|
1261
|
+
OptionsControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: OptionsControlDesigner, deps: [{ token: SessionService }], target: i0.ɵɵFactoryTarget.Directive });
|
1262
|
+
OptionsControlDesigner.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: OptionsControlDesigner, ngImport: i0 });
|
1263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: OptionsControlDesigner, decorators: [{
|
1264
|
+
type: Directive
|
1265
|
+
}], ctorParameters: function () { return [{ type: SessionService }]; } });
|
1160
1266
|
|
1161
1267
|
class PopupRef {
|
1162
1268
|
constructor(_data) {
|
@@ -2858,47 +2964,46 @@ class ControlOptionsComponent {
|
|
2858
2964
|
}
|
2859
2965
|
}
|
2860
2966
|
ControlOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ControlOptionsComponent, deps: [{ token: TranslateService }, { token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
2861
|
-
ControlOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: { form: "form", model: "model" }, ngImport: i0, template: "<h2 class=\"mat-title row\">\r\n {{'Options'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add_circle_outline</mat-icon></button>\r\n</h2>\r\n<div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let c of options.controls; index as index\" class=\"row\" [formGroup]=\"c\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n <bizdoc-localized-string formControlName=\"value\" required class=\"row flex\" [placeholder]=\"'Label'|l18n\"></bizdoc-localized-string>\r\n <button mat-icon-button (click)=\"options.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: L18nPipe, name: "l18n" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
2967
|
+
ControlOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: { form: "form", model: "model" }, ngImport: i0, template: "<h2 class=\"mat-title row\">\r\n {{'Options'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add_circle_outline</mat-icon></button>\r\n</h2>\r\n<div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let c of options.controls; index as index\" class=\"row\" [formGroup]=\"c\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n \r\n <bizdoc-localized-string formControlName=\"value\" required class=\"row flex\" [placeholder]=\"'Label'|l18n\"></bizdoc-localized-string>\r\n <button mat-icon-button (click)=\"options.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: L18nPipe, name: "l18n" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
2862
2968
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ControlOptionsComponent, decorators: [{
|
2863
2969
|
type: Component,
|
2864
|
-
args: [{ selector: 'bizdoc-design-options', template: "<h2 class=\"mat-title row\">\r\n {{'Options'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add_circle_outline</mat-icon></button>\r\n</h2>\r\n<div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let c of options.controls; index as index\" class=\"row\" [formGroup]=\"c\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n <bizdoc-localized-string formControlName=\"value\" required class=\"row flex\" [placeholder]=\"'Label'|l18n\"></bizdoc-localized-string>\r\n <button mat-icon-button (click)=\"options.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n</div>\r\n" }]
|
2970
|
+
args: [{ selector: 'bizdoc-design-options', template: "<h2 class=\"mat-title row\">\r\n {{'Options'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add_circle_outline</mat-icon></button>\r\n</h2>\r\n<div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let c of options.controls; index as index\" class=\"row\" [formGroup]=\"c\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n \r\n <bizdoc-localized-string formControlName=\"value\" required class=\"row flex\" [placeholder]=\"'Label'|l18n\"></bizdoc-localized-string>\r\n <button mat-icon-button (click)=\"options.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n</div>\r\n" }]
|
2865
2971
|
}], ctorParameters: function () { return [{ type: TranslateService }, { type: i1$3.FormBuilder }]; }, propDecorators: { form: [{
|
2866
2972
|
type: Input
|
2867
2973
|
}], model: [{
|
2868
2974
|
type: Input
|
2869
2975
|
}] } });
|
2870
2976
|
|
2871
|
-
let SelectControlDesigner = class SelectControlDesigner {
|
2872
|
-
constructor(
|
2873
|
-
|
2977
|
+
let SelectControlDesigner = class SelectControlDesigner extends OptionsControlDesigner {
|
2978
|
+
constructor(session, _fb) {
|
2979
|
+
super(session);
|
2874
2980
|
this._fb = _fb;
|
2875
2981
|
this.form = this._fb.group({
|
2876
2982
|
label: null,
|
2877
2983
|
placeholder: null,
|
2878
2984
|
autocomplete: null,
|
2879
2985
|
multiple: null,
|
2880
|
-
dataType: null,
|
2986
|
+
dataType: this._fb.control(null, this._typeRequired),
|
2881
2987
|
});
|
2882
|
-
this.datatypes = this._session.profile.types;
|
2883
2988
|
}
|
2884
2989
|
onBind(model) {
|
2885
2990
|
this.model = model;
|
2886
2991
|
}
|
2887
2992
|
};
|
2888
2993
|
SelectControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectControlDesigner, deps: [{ token: SessionService }, { token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
2889
|
-
SelectControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectControlDesigner, selector: "ng-component", ngImport: i0, template: `
|
2994
|
+
SelectControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
2890
2995
|
<form autocomplete="off" [formGroup]="form" class="column">
|
2891
2996
|
<bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
|
2892
2997
|
<mat-form-field>
|
2893
2998
|
<mat-label>{{'DataType'|translate}}</mat-label>
|
2894
|
-
<mat-select formControlName="dataType"
|
2999
|
+
<mat-select formControlName="dataType">
|
2895
3000
|
<mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
|
2896
3001
|
</mat-select>
|
2897
|
-
<mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:'DataType'"></mat-error>
|
3002
|
+
<mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
|
2898
3003
|
</mat-form-field>
|
2899
3004
|
<bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
|
2900
3005
|
<mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
|
2901
|
-
</form>`, isInline: true, dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.
|
3006
|
+
</form>`, isInline: true, dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "component", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
2902
3007
|
SelectControlDesigner = __decorate([
|
2903
3008
|
BizDoc({ selector: 'select-control-designer' })
|
2904
3009
|
], SelectControlDesigner);
|
@@ -2910,10 +3015,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
2910
3015
|
<bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
|
2911
3016
|
<mat-form-field>
|
2912
3017
|
<mat-label>{{'DataType'|translate}}</mat-label>
|
2913
|
-
<mat-select formControlName="dataType"
|
3018
|
+
<mat-select formControlName="dataType">
|
2914
3019
|
<mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
|
2915
3020
|
</mat-select>
|
2916
|
-
<mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:'DataType'"></mat-error>
|
3021
|
+
<mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
|
2917
3022
|
</mat-form-field>
|
2918
3023
|
<bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
|
2919
3024
|
<mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
|
@@ -3279,26 +3384,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
3279
3384
|
}]
|
3280
3385
|
}], ctorParameters: function () { return [{ type: SessionService }, { type: i1$3.FormBuilder }]; } });
|
3281
3386
|
|
3282
|
-
let ChecklistControlDesigner = class ChecklistControlDesigner {
|
3283
|
-
constructor(
|
3284
|
-
|
3387
|
+
let ChecklistControlDesigner = class ChecklistControlDesigner extends OptionsControlDesigner {
|
3388
|
+
constructor(session, _fb) {
|
3389
|
+
super(session);
|
3285
3390
|
this._fb = _fb;
|
3286
3391
|
this.form = this._fb.group({
|
3287
3392
|
label: null,
|
3288
|
-
multiple:
|
3289
|
-
dataType: null,
|
3393
|
+
multiple: true,
|
3394
|
+
dataType: this._fb.control(null, this._typeRequired),
|
3290
3395
|
hint: null,
|
3291
3396
|
});
|
3292
|
-
this.datatypes = this._session.profile.types;
|
3293
|
-
}
|
3294
|
-
ngOnInit() {
|
3295
3397
|
}
|
3296
3398
|
onBind(model) {
|
3297
3399
|
this.model = model;
|
3298
3400
|
}
|
3299
3401
|
};
|
3300
3402
|
ChecklistControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChecklistControlDesigner, deps: [{ token: SessionService }, { token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
3301
|
-
ChecklistControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ChecklistControlDesigner, selector: "ng-component", ngImport: i0, template: `
|
3403
|
+
ChecklistControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ChecklistControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
3302
3404
|
<form autocomplete="off" [formGroup]="form" class="column">
|
3303
3405
|
<mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
|
3304
3406
|
<mat-form-field>
|
@@ -3306,9 +3408,10 @@ ChecklistControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
|
|
3306
3408
|
<mat-select formControlName="dataType">
|
3307
3409
|
<mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
|
3308
3410
|
</mat-select>
|
3411
|
+
<mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
|
3309
3412
|
</mat-form-field>
|
3310
3413
|
<bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
|
3311
|
-
</form>`, isInline: true, dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
3414
|
+
</form>`, isInline: true, dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
3312
3415
|
ChecklistControlDesigner = __decorate([
|
3313
3416
|
BizDoc({ selector: 'checklist-control-designer' })
|
3314
3417
|
], ChecklistControlDesigner);
|
@@ -3323,34 +3426,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
3323
3426
|
<mat-select formControlName="dataType">
|
3324
3427
|
<mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
|
3325
3428
|
</mat-select>
|
3429
|
+
<mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
|
3326
3430
|
</mat-form-field>
|
3327
3431
|
<bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
|
3328
3432
|
</form>`
|
3329
3433
|
}]
|
3330
3434
|
}], ctorParameters: function () { return [{ type: SessionService }, { type: i1$3.FormBuilder }]; } });
|
3331
3435
|
|
3332
|
-
let RadioButtonControlDesigner = class RadioButtonControlDesigner {
|
3333
|
-
constructor(
|
3334
|
-
|
3436
|
+
let RadioButtonControlDesigner = class RadioButtonControlDesigner extends OptionsControlDesigner {
|
3437
|
+
constructor(session, _fb) {
|
3438
|
+
super(session);
|
3335
3439
|
this._fb = _fb;
|
3336
3440
|
this.form = this._fb.group({
|
3337
3441
|
label: null,
|
3338
|
-
dataType: null,
|
3442
|
+
dataType: this._fb.control(null, this._typeRequired),
|
3443
|
+
hint: null,
|
3339
3444
|
});
|
3340
|
-
this.datatypes = this._session.profile.types;
|
3341
3445
|
}
|
3342
3446
|
onBind(model) {
|
3343
3447
|
this.model = model;
|
3344
3448
|
}
|
3345
3449
|
};
|
3346
3450
|
RadioButtonControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonControlDesigner, deps: [{ token: SessionService }, { token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
3347
|
-
RadioButtonControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: RadioButtonControlDesigner, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\">\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('dataType').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:'DataType'\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-design-options [form]=\"form\" [model]=\"model\"></bizdoc-design-options>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
3451
|
+
RadioButtonControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: RadioButtonControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\">\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('dataType').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-design-options [form]=\"form\" [model]=\"model\"></bizdoc-design-options>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
3348
3452
|
RadioButtonControlDesigner = __decorate([
|
3349
3453
|
BizDoc({ selector: 'radio-button-control-designer' })
|
3350
3454
|
], RadioButtonControlDesigner);
|
3351
3455
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonControlDesigner, decorators: [{
|
3352
3456
|
type: Component,
|
3353
|
-
args: [{ template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\">\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('dataType').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:'DataType'\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-design-options [form]=\"form\" [model]=\"model\"></bizdoc-design-options>\r\n</form>\r\n" }]
|
3457
|
+
args: [{ template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\">\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('dataType').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-design-options [form]=\"form\" [model]=\"model\"></bizdoc-design-options>\r\n</form>\r\n" }]
|
3354
3458
|
}], ctorParameters: function () { return [{ type: SessionService }, { type: i1$3.FormBuilder }]; } });
|
3355
3459
|
|
3356
3460
|
let AddressControlDesigner = class AddressControlDesigner {
|
@@ -3410,76 +3514,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
3410
3514
|
}]
|
3411
3515
|
}], ctorParameters: function () { return [{ type: i1$3.FormBuilder }]; } });
|
3412
3516
|
|
3413
|
-
/** */
|
3414
|
-
class DatasourceService {
|
3415
|
-
constructor(_http) {
|
3416
|
-
this._http = _http;
|
3417
|
-
this._cache = {};
|
3418
|
-
}
|
3419
|
-
keys(type) {
|
3420
|
-
return this.map(type).pipe(map(m => Object.keys(m)));
|
3421
|
-
}
|
3422
|
-
/**
|
3423
|
-
*
|
3424
|
-
* @param type
|
3425
|
-
* @param key
|
3426
|
-
*/
|
3427
|
-
get(type, key) {
|
3428
|
-
return this.map(type).pipe(map(m => m[key] || key));
|
3429
|
-
}
|
3430
|
-
/**
|
3431
|
-
*
|
3432
|
-
* @param type
|
3433
|
-
* @param value
|
3434
|
-
*/
|
3435
|
-
keyOf(type, value) {
|
3436
|
-
return this.map(type).pipe(map(m => Object.keys(m).find(k => m[k] === value)));
|
3437
|
-
}
|
3438
|
-
/**
|
3439
|
-
*
|
3440
|
-
* @param type
|
3441
|
-
* @param params
|
3442
|
-
*/
|
3443
|
-
map(type, queryParams) {
|
3444
|
-
let cacheId = type;
|
3445
|
-
if (queryParams) {
|
3446
|
-
if (isObject(queryParams))
|
3447
|
-
Object.keys(queryParams).forEach(k => cacheId += `${k}${queryParams[k]}`);
|
3448
|
-
else
|
3449
|
-
cacheId += queryParams.toString();
|
3450
|
-
}
|
3451
|
-
let observe = this._cache[cacheId];
|
3452
|
-
if (!observe) {
|
3453
|
-
const params = {};
|
3454
|
-
if (queryParams) {
|
3455
|
-
if (isObject(queryParams))
|
3456
|
-
Object.assign(params, queryParams);
|
3457
|
-
else
|
3458
|
-
params.value = queryParams;
|
3459
|
-
}
|
3460
|
-
const dataSource = this._http.get(`/api/datatype/${encodeURIComponent(type)}`, {
|
3461
|
-
params
|
3462
|
-
});
|
3463
|
-
observe = this._cache[cacheId] = dataSource.pipe(shareReplay());
|
3464
|
-
}
|
3465
|
-
return observe;
|
3466
|
-
}
|
3467
|
-
/**
|
3468
|
-
*
|
3469
|
-
* @param type
|
3470
|
-
* @param params
|
3471
|
-
*/
|
3472
|
-
all(type, queryParams) {
|
3473
|
-
return this.map(type, queryParams).pipe(map(mapToArray));
|
3474
|
-
}
|
3475
|
-
}
|
3476
|
-
DatasourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DatasourceService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
3477
|
-
DatasourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DatasourceService, providedIn: 'root' });
|
3478
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DatasourceService, decorators: [{
|
3479
|
-
type: Injectable,
|
3480
|
-
args: [{ providedIn: 'root' }]
|
3481
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
3482
|
-
|
3483
3517
|
class TypeAutocomplete {
|
3484
3518
|
constructor(ngControl, _fm, _elRef, _session, _service) {
|
3485
3519
|
this.ngControl = ngControl;
|
@@ -4664,16 +4698,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
4664
4698
|
type: Input
|
4665
4699
|
}] } });
|
4666
4700
|
|
4667
|
-
let SelectField = class SelectField {
|
4668
|
-
constructor(
|
4669
|
-
|
4701
|
+
let SelectField = class SelectField extends OptionsControlField {
|
4702
|
+
constructor() {
|
4703
|
+
super(...arguments);
|
4670
4704
|
this.control = new FormControl();
|
4671
4705
|
}
|
4672
|
-
ngOnInit() {
|
4673
|
-
this.dataType &&
|
4674
|
-
this._ds.all(this.dataType, this.params).subscribe(v => this.options = v);
|
4675
|
-
this.required && this.control.addValidators(Validators.required);
|
4676
|
-
}
|
4677
4706
|
focus() {
|
4678
4707
|
if (this.input)
|
4679
4708
|
this.input.focus();
|
@@ -4681,15 +4710,15 @@ let SelectField = class SelectField {
|
|
4681
4710
|
this.select.focus();
|
4682
4711
|
}
|
4683
4712
|
};
|
4684
|
-
SelectField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectField, deps:
|
4685
|
-
SelectField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: TypeSelect, descendants: true }, { propertyName: "select", first: true, predicate: MatSelect, descendants: true }], ngImport: i0, template: "<mat-form-field [appearance]=appearance *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <mat-select [placeholder]=\"placeholder\" [formControl]=control\r\n [required]=\"required\" [multiple]=\"multiple\">\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</mat-form-field>\r\n<ng-template #view>\r\n <span
|
4713
|
+
SelectField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
4714
|
+
SelectField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: TypeSelect, descendants: true }, { propertyName: "select", first: true, predicate: MatSelect, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=appearance *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <mat-select [placeholder]=\"placeholder\" [formControl]=control\r\n [required]=\"required\" [multiple]=\"multiple\">\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</mat-form-field>\r\n<ng-template #view>\r\n <span *ngIf=\"control.value\" [ngSwitch]=\"multiple\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <ng-container *ngFor=\"let o of control.value; index as index\">\r\n {{optionOf(o)|localizedString}}\r\n <ng-container *ngIf=\"index>0\">, </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{optionOf(control.value)|localizedString}}\r\n </ng-container>\r\n </span>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
4686
4715
|
SelectField = __decorate([
|
4687
4716
|
BizDoc({ selector: 'select-control' })
|
4688
4717
|
], SelectField);
|
4689
4718
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectField, decorators: [{
|
4690
4719
|
type: Component,
|
4691
|
-
args: [{ host: { class: 'field' }, template: "<mat-form-field [appearance]=appearance *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <mat-select [placeholder]=\"placeholder\" [formControl]=control\r\n [required]=\"required\" [multiple]=\"multiple\">\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</mat-form-field>\r\n<ng-template #view>\r\n <span
|
4692
|
-
}],
|
4720
|
+
args: [{ host: { class: 'field' }, template: "<mat-form-field [appearance]=appearance *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <mat-select [placeholder]=\"placeholder\" [formControl]=control\r\n [required]=\"required\" [multiple]=\"multiple\">\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</mat-form-field>\r\n<ng-template #view>\r\n <span *ngIf=\"control.value\" [ngSwitch]=\"multiple\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <ng-container *ngFor=\"let o of control.value; index as index\">\r\n {{optionOf(o)|localizedString}}\r\n <ng-container *ngIf=\"index>0\">, </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{optionOf(control.value)|localizedString}}\r\n </ng-container>\r\n </span>\r\n</ng-template>\r\n" }]
|
4721
|
+
}], propDecorators: { input: [{
|
4693
4722
|
type: ViewChild,
|
4694
4723
|
args: [TypeSelect]
|
4695
4724
|
}], select: [{
|
@@ -13909,11 +13938,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
13909
13938
|
|
13910
13939
|
/** */
|
13911
13940
|
class ReportRef {
|
13912
|
-
constructor(_configuration, _hub, dim) {
|
13941
|
+
constructor(_configuration, args, _hub, dim) {
|
13913
13942
|
this._configuration = _configuration;
|
13914
13943
|
this._hub = _hub;
|
13915
13944
|
this._exporting = new Subject();
|
13916
13945
|
this._resize = new BehaviorSubject(dim);
|
13946
|
+
this._args = new BehaviorSubject(args);
|
13917
13947
|
}
|
13918
13948
|
/** intercept user export */
|
13919
13949
|
exporting() {
|
@@ -13931,6 +13961,7 @@ class ReportRef {
|
|
13931
13961
|
}
|
13932
13962
|
/** configuration name */
|
13933
13963
|
get name() { return this._configuration.name; }
|
13964
|
+
get arguments() { return this._args.value; }
|
13934
13965
|
_destroy() {
|
13935
13966
|
this._resize.unsubscribe();
|
13936
13967
|
}
|
@@ -13991,7 +14022,7 @@ class ReportViewerComponent {
|
|
13991
14022
|
if (changes['report']) {
|
13992
14023
|
this._destroy.next();
|
13993
14024
|
this._reportRef && this._reportRef._destroy();
|
13994
|
-
this._reportRef = new ReportRef(this.report, this._hub, this._dim());
|
14025
|
+
this._reportRef = new ReportRef(this.report, this.args, this._hub, this._dim());
|
13995
14026
|
if (this.report.template)
|
13996
14027
|
this._createView();
|
13997
14028
|
else
|
@@ -14005,6 +14036,8 @@ class ReportViewerComponent {
|
|
14005
14036
|
});
|
14006
14037
|
this._resizing.pipe(debounceTime(150)).subscribe(() => this._reportRef._resize.next(this._dim()));
|
14007
14038
|
}
|
14039
|
+
if (changes['args'])
|
14040
|
+
this._reportRef._args.next(this.args);
|
14008
14041
|
}
|
14009
14042
|
/** */
|
14010
14043
|
_createView() {
|
@@ -22868,7 +22901,7 @@ let YesNoField = class YesNoField {
|
|
22868
22901
|
}
|
22869
22902
|
};
|
22870
22903
|
YesNoField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: YesNoField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
22871
|
-
YesNoField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: YesNoField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], ngImport: i0, template: "<div *ngIf=\"mode==='compose';else view\">\r\n<!-- <mat-label *ngIf=label>{{label|localizedString}}</mat-label>-->\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\r\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n {{(control.value?'Yes':'No')|translate}}\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type:
|
22904
|
+
YesNoField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: YesNoField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], ngImport: i0, template: "<div *ngIf=\"mode==='compose';else view\">\r\n<!-- <mat-label *ngIf=label>{{label|localizedString}}</mat-label>-->\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\r\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n {{(control.value?'Yes':'No')|translate}}\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
22872
22905
|
YesNoField = __decorate([
|
22873
22906
|
BizDoc({ selector: 'yesno-control' })
|
22874
22907
|
], YesNoField);
|
@@ -22880,59 +22913,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
22880
22913
|
args: [MatRadioButton]
|
22881
22914
|
}] } });
|
22882
22915
|
|
22883
|
-
let ChecklistField = class ChecklistField {
|
22884
|
-
constructor(
|
22885
|
-
|
22916
|
+
let ChecklistField = class ChecklistField extends OptionsControlField {
|
22917
|
+
constructor() {
|
22918
|
+
super(...arguments);
|
22886
22919
|
this.control = new FormControl();
|
22887
22920
|
}
|
22888
|
-
ngOnInit() {
|
22889
|
-
this.required && this.control.addValidators(Validators.required);
|
22890
|
-
if (this.dataType)
|
22891
|
-
this._ds.all(this.dataType).subscribe(v => this.options = v);
|
22892
|
-
}
|
22893
22921
|
focus() { this.input.focus(); }
|
22894
|
-
optionOf(value) {
|
22895
|
-
this.options.find(o => o.key === value)?.value;
|
22896
|
-
}
|
22897
22922
|
};
|
22898
|
-
ChecklistField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChecklistField, deps:
|
22899
|
-
ChecklistField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ChecklistField, selector: "ng-component", inputs: { params: "params" }, host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatSelectionList, descendants: true }], ngImport: i0, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label *ngIf=\"label\">{{label |localizedString}}</mat-label>\r\n <mat-selection-list [formControl]=\"control\" multiple>\r\n <mat-list-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value|localizedString}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <ng-container *ngIf=\"control.value\">\r\n <
|
22923
|
+
ChecklistField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChecklistField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
22924
|
+
ChecklistField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ChecklistField, selector: "ng-component", inputs: { params: "params" }, host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatSelectionList, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label *ngIf=\"label\">{{label |localizedString}}</mat-label>\r\n <mat-selection-list [formControl]=\"control\" multiple>\r\n <mat-list-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value|localizedString}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <ng-container *ngIf=\"control.value\">\r\n <ng-container *ngFor=\"let o of control.value; index as index\">\r\n {{optionOf(o)|localizedString}}\r\n <ng-container *ngIf=\"index>0\">, </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$5.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4$5.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
22900
22925
|
ChecklistField = __decorate([
|
22901
22926
|
BizDoc({ selector: 'checklist-control' })
|
22902
22927
|
], ChecklistField);
|
22903
22928
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChecklistField, decorators: [{
|
22904
22929
|
type: Component,
|
22905
|
-
args: [{ host: { class: 'field' }, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label *ngIf=\"label\">{{label |localizedString}}</mat-label>\r\n <mat-selection-list [formControl]=\"control\" multiple>\r\n <mat-list-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value|localizedString}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <ng-container *ngIf=\"control.value\">\r\n <
|
22906
|
-
}],
|
22930
|
+
args: [{ host: { class: 'field' }, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label *ngIf=\"label\">{{label |localizedString}}</mat-label>\r\n <mat-selection-list [formControl]=\"control\" multiple>\r\n <mat-list-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value|localizedString}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <ng-container *ngIf=\"control.value\">\r\n <ng-container *ngFor=\"let o of control.value; index as index\">\r\n {{optionOf(o)|localizedString}}\r\n <ng-container *ngIf=\"index>0\">, </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n" }]
|
22931
|
+
}], propDecorators: { params: [{
|
22907
22932
|
type: Input
|
22908
22933
|
}], input: [{
|
22909
22934
|
type: ViewChild,
|
22910
22935
|
args: [MatSelectionList]
|
22911
22936
|
}] } });
|
22912
22937
|
|
22913
|
-
let RadioButtonField = class RadioButtonField {
|
22914
|
-
constructor(
|
22915
|
-
|
22938
|
+
let RadioButtonField = class RadioButtonField extends OptionsControlField {
|
22939
|
+
constructor() {
|
22940
|
+
super(...arguments);
|
22916
22941
|
this.control = new FormControl(false);
|
22917
22942
|
}
|
22918
22943
|
focus() { this.input.focus(); }
|
22919
|
-
ngOnInit() {
|
22920
|
-
this.required && this.control.addValidators(Validators.required);
|
22921
|
-
this.dataType && this._ds.all(this.dataType).subscribe(v => this.options = v);
|
22922
|
-
}
|
22923
|
-
optionOf(value) {
|
22924
|
-
this.options.find(o => o.key === value)?.value;
|
22925
|
-
}
|
22926
22944
|
};
|
22927
|
-
RadioButtonField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonField, deps:
|
22928
|
-
RadioButtonField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: RadioButtonField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], ngImport: i0, template: "<div *ngIf=\"mode === 'compose'; else view\">\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-label>{{label|localizedString}}</mat-label>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button *ngFor=\"let o of options\" [value]=\"o.key\">\r\n {{o.value|localizedString}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label||name)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <span>\r\n {{optionOf(control.value)|localizedString}}\r\n </span>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type:
|
22945
|
+
RadioButtonField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
22946
|
+
RadioButtonField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: RadioButtonField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"mode === 'compose'; else view\">\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-label>{{label|localizedString}}</mat-label>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button *ngFor=\"let o of options\" [value]=\"o.key\">\r\n {{o.value|localizedString}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label||name)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <span *ngIf=\"control.value\">\r\n {{optionOf(control.value)|localizedString}}\r\n </span>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
22929
22947
|
RadioButtonField = __decorate([
|
22930
22948
|
BizDoc({ selector: 'radio-button-control' })
|
22931
22949
|
], RadioButtonField);
|
22932
22950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonField, decorators: [{
|
22933
22951
|
type: Component,
|
22934
|
-
args: [{ host: { class: 'field' }, template: "<div *ngIf=\"mode === 'compose'; else view\">\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-label>{{label|localizedString}}</mat-label>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button *ngFor=\"let o of options\" [value]=\"o.key\">\r\n {{o.value|localizedString}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label||name)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <span>\r\n {{optionOf(control.value)|localizedString}}\r\n </span>\r\n</ng-template>\r\n" }]
|
22935
|
-
}],
|
22952
|
+
args: [{ host: { class: 'field' }, template: "<div *ngIf=\"mode === 'compose'; else view\">\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-label>{{label|localizedString}}</mat-label>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button *ngFor=\"let o of options\" [value]=\"o.key\">\r\n {{o.value|localizedString}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label||name)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <span *ngIf=\"control.value\">\r\n {{optionOf(control.value)|localizedString}}\r\n </span>\r\n</ng-template>\r\n" }]
|
22953
|
+
}], propDecorators: { input: [{
|
22936
22954
|
type: ViewChild,
|
22937
22955
|
args: [MatRadioButton]
|
22938
22956
|
}] } });
|
@@ -22960,7 +22978,7 @@ let SignatureField = class SignatureField {
|
|
22960
22978
|
}
|
22961
22979
|
};
|
22962
22980
|
SignatureField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SignatureField, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
22963
|
-
SignatureField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SignatureField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["signature"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <canvas ejs-signature #signature id=\"signature\" (created)=\"created()\" (change)=\"change($event)\"></canvas>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n <button mat-icon-button (click)=\"clear()\" [bizdocTooltip]=\"'Clear'|translate\" [disabled]=\"!control.value\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n</div>\r\n<ng-template #view>\r\n <img [src]=\"src\" />\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$
|
22981
|
+
SignatureField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SignatureField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["signature"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <canvas ejs-signature #signature id=\"signature\" (created)=\"created()\" (change)=\"change($event)\"></canvas>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n <button mat-icon-button (click)=\"clear()\" [bizdocTooltip]=\"'Clear'|translate\" [disabled]=\"!control.value\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n</div>\r\n<ng-template #view>\r\n <img [src]=\"src\" />\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$5.SignatureComponent, selector: "[ejs-signature]", inputs: ["backgroundColor", "backgroundImage", "disabled", "enablePersistence", "enableRtl", "isReadOnly", "locale", "maxStrokeWidth", "minStrokeWidth", "saveWithBackground", "strokeColor", "velocity"], outputs: ["focus", "blur", "beforeSave", "change", "created"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
22964
22982
|
SignatureField = __decorate([
|
22965
22983
|
BizDoc({ selector: 'signature-control' })
|
22966
22984
|
], SignatureField);
|
@@ -25571,7 +25589,7 @@ Signature.nextId = 0;
|
|
25571
25589
|
Signature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: Signature, deps: [{ token: i1$3.NgControl, optional: true, self: true }, { token: i2$1.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
25572
25590
|
Signature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: Signature, selector: "bizdoc-signature", inputs: { width: "width", height: "height", velocity: "velocity", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: Signature }], viewQueries: [{ propertyName: "_control", first: true, predicate: ["signature"], descendants: true }], ngImport: i0, template: `
|
25573
25591
|
<canvas ejs-signature #signature (change)="_change($event)"></canvas>
|
25574
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i3$
|
25592
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i3$5.SignatureComponent, selector: "[ejs-signature]", inputs: ["backgroundColor", "backgroundImage", "disabled", "enablePersistence", "enableRtl", "isReadOnly", "locale", "maxStrokeWidth", "minStrokeWidth", "saveWithBackground", "strokeColor", "velocity"], outputs: ["focus", "blur", "beforeSave", "change", "created"] }] });
|
25575
25593
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: Signature, decorators: [{
|
25576
25594
|
type: Component,
|
25577
25595
|
args: [{
|
@@ -32475,7 +32493,8 @@ class ControlDesignComponent extends DesignerTypeElementComponent {
|
|
32475
32493
|
constructor() {
|
32476
32494
|
super(...arguments);
|
32477
32495
|
this.form = this._fb.group({
|
32478
|
-
dataType: this._fb.control(null, Validators.required)
|
32496
|
+
dataType: this._fb.control(null, Validators.required),
|
32497
|
+
visible: null
|
32479
32498
|
});
|
32480
32499
|
}
|
32481
32500
|
ngOnInit() {
|
@@ -32484,10 +32503,10 @@ class ControlDesignComponent extends DesignerTypeElementComponent {
|
|
32484
32503
|
}
|
32485
32504
|
}
|
32486
32505
|
ControlDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ControlDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
32487
|
-
ControlDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ControlDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "state"], outputs: ["continue", "save"] }] });
|
32506
|
+
ControlDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ControlDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div><mat-checkbox formControlName=\"visible\">{{'Visible'}}</mat-checkbox></div>\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i9$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "state"], outputs: ["continue", "save"] }] });
|
32488
32507
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ControlDesignComponent, decorators: [{
|
32489
32508
|
type: Component,
|
32490
|
-
args: [{ template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
|
32509
|
+
args: [{ template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div><mat-checkbox formControlName=\"visible\">{{'Visible'}}</mat-checkbox></div>\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
|
32491
32510
|
}] });
|
32492
32511
|
|
32493
32512
|
/** filter component*/
|
@@ -32751,7 +32770,7 @@ class CubeDesignComponent extends DesignerTypeElementComponent {
|
|
32751
32770
|
datatype(name) { return this.types.find(t => t.name == name)?.title; }
|
32752
32771
|
}
|
32753
32772
|
CubeDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: CubeDesignComponent, deps: [{ token: i1$3.FormBuilder }, { token: SystemService }, { token: PromptService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component });
|
32754
|
-
CubeDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: CubeDesignComponent, selector: "ng-component", viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" (continue)=\"complete()\" [state]=\"state\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl *ngIf=\"jobInfo\">\r\n <ng-container *ngIf=\"jobInfo.lastExecution\">\r\n <dt>{{'LastExecution'|translate}}</dt>\r\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.nextExecution\">\r\n <dt>{{'NextExecution'|translate}}</dt>\r\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.lastJobState\">\r\n <dt>{{'LastJobState'|translate}}</dt>\r\n <dd>\r\n <mat-icon *ngIf=\"jobInfo.error\" [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\r\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\r\n </dd>\r\n </ng-container>\r\n </dl>\r\n <div class=\"row\" fxLayoutAlign=\"start center\">\r\n <button mat-stroked-button (click)=\"sync()\" [disabled]=\"model.draft || syncing\">\r\n <span> {{'Synchronize'|translate}}</span>\r\n </button>\r\n \r\n <mat-spinner *ngIf=\"syncing\" diameter=\"22\"></mat-spinner>\r\n </div>\r\n <div class=\"row\">\r\n <div *ngIf=\"model.axes?.length\">\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.axes\">\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n <td class=\"mat-cell\">{{datatype(a.dataType)}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <!--<div *ngIf=\"model.indices?.length\">\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.indices\">\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n </tr>\r\n </table>\r\n </div>-->\r\n </div>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<!---->\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-label>{{'SecurityLevel'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"scope\">\r\n <mat-radio-button color=\"warn\">{{'Global'|translate}}</mat-radio-button>\r\n <br />\r\n <p>{{'SecurityGlobalHelp'|translate}}</p>\r\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\r\n <p>{{'SecurityPositionsHelp'|translate}}</p>\r\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\r\n <p>{{'SecurityPatternsHelp'|translate}}</p>\r\n </mat-radio-group>\r\n <ng-container formGroupName=\"yAxis\">\r\n <mat-form-field fxFlex>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Currency\">{{'Currency'|translate}}</mat-option>\r\n <mat-option value=\"Number\">{{'Numeric'|translate}}</mat-option>\r\n <mat-option value=\"Count\">{{'Accumulative'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <!--Axes-->\r\n <h2 class=\"mat-title row\">\r\n {{'Axes'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(axes, newAxis(), 'Axis', axisform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"axes\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, axes)\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of axes.controls; index as index\" [formGroup]=\"a\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{a.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(a, 'Axis', axisform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"axes.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <!--Indices-->\r\n <h2 class=\"mat-title row\">\r\n {{'Indices'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(indices, newIndex(), 'Index', indexform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"indices\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, indices)\">\r\n <tr class=\"mat-row\" *ngFor=\"let i of indices.controls; index as index\" [formGroup]=\"i\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{i.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(i, 'Index', indexform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"indices.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <mat-form-field *ngIf=\"indices.controls.length\">\r\n <mat-label>{{'AnomalyNotification'|translate}}</mat-label>\r\n <mat-select formControlName=\"anomaly\">\r\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Positions\">{{'Positions'|translate}}</mat-option>\r\n <mat-option value=\"Recipients\">{{'Everyone'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!--Patterns-->\r\n <h2 class=\"mat-title row\">\r\n {{'Patterns'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', patternform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"indices\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\r\n <tr class=\"mat-row\" *ngFor=\"let p of patterns.controls; index as index\" [formGroup]=\"p\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{p.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(p, 'Pattern', patternform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <!--Views-->\r\n <h2 class=\"row mat-title\">\r\n {{'Views'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(views, newView(), 'View', viewform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"views\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, views)\">\r\n <tr class=\"mat-row\" *ngFor=\"let v of views.controls; index as index\" [formGroup]=\"v\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{v.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(v, 'View', viewform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"views.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <mat-form-field>\r\n <mat-label>{{'Schedule'|translate}}</mat-label>\r\n <bizdoc-timespan-input formControlName=\"schedule\"></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n<!---->\r\n<ng-template #indexform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n<!-- pattern-->\r\n<ng-template #patternform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter [cube]=\"model\" [form]=\"form.get('axes')\"></bizdoc-designer-cube-filter>\r\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\r\n </form>\r\n</ng-template>\r\n<!-- view -->\r\n<ng-template #viewform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\r\n <mat-option value=\"Pivot\">{{'Pivot'|translate}}</mat-option>\r\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\r\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of axes.controls\" [value]=\"a.get('name').value\">{{a.get('title').value || a.get('name').value}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of axes.controls\">\r\n <mat-option [value]=\"a.get('name').value\" *ngIf=\"form.get('xAxis').value?.indexOf(a.get('name').value)<0\">{{a.get('title').value|| a.get('name').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <ng-container *ngFor=\"let i of indices.controls\">\r\n <mat-option [value]=\"i.get('name').value\">{{i.get('title').value|| i.get('name').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <ng-container [ngSwitch]=\"form.get('type').value\">\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <ng-container *ngIf=\"accumulative\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </ng-container>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n </ng-container>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\">\r\n <ng-container [ngSwitch]=\"form.get('type').value\">\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n </ng-container>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n<!-- Axis -->\r\n<ng-template #axisform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <ng-container *ngFor=\"let t of types\">\r\n <mat-option *ngIf=\"t.name\" [value]=\"t.name\">\r\n <span *ngIf=\"t.family\">{{t.family}} - </span>\r\n {{t.title}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <div><mat-checkbox formControlName=\"combination\">{{'Combination'}}</mat-checkbox></div>\r\n <div><mat-checkbox formControlName=\"sensitive\">{{'Sensitive'}}</mat-checkbox></div>\r\n <mat-form-field>\r\n <mat-label>{{'SelectionMode'|translate}}</mat-label>\r\n <mat-select formControlName=\"selectionMode\">\r\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\r\n <mat-option>{{'Single'|translate}}</mat-option>\r\n <mat-option value=\"Multiple\">{{'Multiple'|translate}}</mat-option>\r\n <mat-option value=\"Search\">{{'Search'|translate}}</mat-option>\r\n <mat-option value=\"Pattern\">{{'Pattern'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'DescendentOf'|translate}}</mat-label>\r\n <mat-select formControlName=\"descendentOf\">\r\n <ng-container *ngFor=\"let a of axes.controls\">\r\n <mat-option [value]=\"a.get('name').value\" *ngIf=\"a!=form\">{{a.get('title').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <div><mat-checkbox formControlName=\"indexable\">{{'Indexable'}}</mat-checkbox></div>\r\n </form>\r\n</ng-template>\r\n", styles: [":host ::ng-deep form{min-width:350px}:host ::ng-deep .mat-radio-group p{margin-inline-start:8px}.mat-table{width:100%}.mat-table .mat-cell:last-child{width:80px}.flex{flex:1}table tr td:first-child{width:26px}dl{width:100%;overflow:hidden;padding:0;margin:0}dt{float:left;width:35%;padding:0;margin:0;clear:both}dd{float:left;width:65%;padding:0;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i5$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i5$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4$6.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: TimespanInput, selector: "bizdoc-timespan-input", inputs: ["placeholder", "required", "disabled", "value"] }, { kind: "component", type: DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "state"], outputs: ["continue", "save"] }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
32773
|
+
CubeDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: CubeDesignComponent, selector: "ng-component", viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" (continue)=\"complete()\" [state]=\"state\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl *ngIf=\"jobInfo\">\r\n <ng-container *ngIf=\"jobInfo.lastExecution\">\r\n <dt>{{'LastExecution'|translate}}</dt>\r\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.nextExecution\">\r\n <dt>{{'NextExecution'|translate}}</dt>\r\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.lastJobState\">\r\n <dt>{{'LastJobState'|translate}}</dt>\r\n <dd>\r\n <mat-icon *ngIf=\"jobInfo.error\" [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\r\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\r\n </dd>\r\n </ng-container>\r\n </dl>\r\n <div class=\"row\" fxLayoutAlign=\"start center\">\r\n <button mat-stroked-button (click)=\"sync()\" [disabled]=\"model.draft || syncing\">\r\n <span> {{'Synchronize'|translate}}</span>\r\n </button>\r\n \r\n <mat-spinner *ngIf=\"syncing\" diameter=\"22\"></mat-spinner>\r\n </div>\r\n <div class=\"row\">\r\n <div *ngIf=\"model.axes?.length\">\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.axes\">\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n <td class=\"mat-cell\">{{datatype(a.dataType)}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <!--<div *ngIf=\"model.indices?.length\">\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.indices\">\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n </tr>\r\n </table>\r\n </div>-->\r\n </div>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<!---->\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-label>{{'SecurityLevel'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"scope\">\r\n <mat-radio-button color=\"warn\">{{'Global'|translate}}</mat-radio-button>\r\n <br />\r\n <p>{{'SecurityGlobalHelp'|translate}}</p>\r\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\r\n <p>{{'SecurityPositionsHelp'|translate}}</p>\r\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\r\n <p>{{'SecurityPatternsHelp'|translate}}</p>\r\n </mat-radio-group>\r\n <ng-container formGroupName=\"yAxis\">\r\n <mat-form-field fxFlex>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Currency\">{{'Currency'|translate}}</mat-option>\r\n <mat-option value=\"Number\">{{'Numeric'|translate}}</mat-option>\r\n <mat-option value=\"Count\">{{'Accumulative'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <!--Axes-->\r\n <h2 class=\"mat-title row\">\r\n {{'Axes'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(axes, newAxis(), 'Axis', axisform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"axes\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, axes)\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of axes.controls; index as index\" [formGroup]=\"a\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{a.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(a, 'Axis', axisform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"axes.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <!--Indices-->\r\n <h2 class=\"mat-title row\">\r\n {{'Indices'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(indices, newIndex(), 'Index', indexform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"indices\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, indices)\">\r\n <tr class=\"mat-row\" *ngFor=\"let i of indices.controls; index as index\" [formGroup]=\"i\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{i.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(i, 'Index', indexform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"indices.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <mat-form-field *ngIf=\"indices.controls.length\">\r\n <mat-label>{{'AnomalyNotification'|translate}}</mat-label>\r\n <mat-select formControlName=\"anomaly\">\r\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Positions\">{{'Positions'|translate}}</mat-option>\r\n <mat-option value=\"Recipients\">{{'Everyone'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!--Patterns-->\r\n <h2 class=\"mat-title row\">\r\n {{'Patterns'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', patternform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"indices\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\r\n <tr class=\"mat-row\" *ngFor=\"let p of patterns.controls; index as index\" [formGroup]=\"p\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{p.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(p, 'Pattern', patternform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <!--Views-->\r\n <h2 class=\"row mat-title\">\r\n {{'Views'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(views, newView(), 'View', viewform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"views\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, views)\">\r\n <tr class=\"mat-row\" *ngFor=\"let v of views.controls; index as index\" [formGroup]=\"v\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{v.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(v, 'View', viewform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"views.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <mat-form-field>\r\n <mat-label>{{'Schedule'|translate}}</mat-label>\r\n <bizdoc-timespan-input formControlName=\"schedule\"></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n<!---->\r\n<ng-template #indexform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n<!-- pattern-->\r\n<ng-template #patternform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter [cube]=\"model\" [form]=\"form.get('axes')\"></bizdoc-designer-cube-filter>\r\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\r\n </form>\r\n</ng-template>\r\n<!-- view -->\r\n<ng-template #viewform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\r\n <mat-option value=\"Pivot\">{{'Pivot'|translate}}</mat-option>\r\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\r\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of axes.controls\" [value]=\"a.get('name').value\">{{a.get('title').value || a.get('name').value}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of axes.controls\">\r\n <mat-option [value]=\"a.get('name').value\" *ngIf=\"form.get('xAxis').value?.indexOf(a.get('name').value)<0\">{{a.get('title').value|| a.get('name').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <ng-container *ngFor=\"let i of indices.controls\">\r\n <mat-option [value]=\"i.get('name').value\">{{i.get('title').value|| i.get('name').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <ng-container [ngSwitch]=\"form.get('type').value\">\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <ng-container *ngIf=\"accumulative\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </ng-container>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n </ng-container>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\">\r\n <ng-container [ngSwitch]=\"form.get('type').value\">\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n </ng-container>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n<!-- Axis -->\r\n<ng-template #axisform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <ng-container *ngFor=\"let t of types\">\r\n <mat-option *ngIf=\"t.name\" [value]=\"t.name\">\r\n <span *ngIf=\"t.family\">{{t.family}} - </span>\r\n {{t.title}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <div><mat-checkbox formControlName=\"combination\">{{'Combination'}}</mat-checkbox></div>\r\n <div><mat-checkbox formControlName=\"sensitive\">{{'Sensitive'}}</mat-checkbox></div>\r\n <mat-form-field>\r\n <mat-label>{{'SelectionMode'|translate}}</mat-label>\r\n <mat-select formControlName=\"selectionMode\">\r\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\r\n <mat-option>{{'Single'|translate}}</mat-option>\r\n <mat-option value=\"Multiple\">{{'Multiple'|translate}}</mat-option>\r\n <mat-option value=\"Search\">{{'Search'|translate}}</mat-option>\r\n <mat-option value=\"Pattern\">{{'Pattern'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'DescendentOf'|translate}}</mat-label>\r\n <mat-select formControlName=\"descendentOf\">\r\n <ng-container *ngFor=\"let a of axes.controls\">\r\n <mat-option [value]=\"a.get('name').value\" *ngIf=\"a!=form\">{{a.get('title').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <div><mat-checkbox formControlName=\"indexable\">{{'Indexable'}}</mat-checkbox></div>\r\n </form>\r\n</ng-template>\r\n", styles: [":host ::ng-deep form{min-width:350px}:host ::ng-deep .mat-radio-group p{margin-inline-start:8px}.mat-table{width:100%}.mat-table .mat-cell:last-child{width:80px}.flex{flex:1}table tr td:first-child{width:26px}dl{width:100%;overflow:hidden;padding:0;margin:0}dt{float:left;width:35%;padding:0;margin:0;clear:both}dd{float:left;width:65%;padding:0;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i5$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i5$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i3$4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: TimespanInput, selector: "bizdoc-timespan-input", inputs: ["placeholder", "required", "disabled", "value"] }, { kind: "component", type: DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "state"], outputs: ["continue", "save"] }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
32755
32774
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: CubeDesignComponent, decorators: [{
|
32756
32775
|
type: Component,
|
32757
32776
|
args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" (continue)=\"complete()\" [state]=\"state\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl *ngIf=\"jobInfo\">\r\n <ng-container *ngIf=\"jobInfo.lastExecution\">\r\n <dt>{{'LastExecution'|translate}}</dt>\r\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.nextExecution\">\r\n <dt>{{'NextExecution'|translate}}</dt>\r\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.lastJobState\">\r\n <dt>{{'LastJobState'|translate}}</dt>\r\n <dd>\r\n <mat-icon *ngIf=\"jobInfo.error\" [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\r\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\r\n </dd>\r\n </ng-container>\r\n </dl>\r\n <div class=\"row\" fxLayoutAlign=\"start center\">\r\n <button mat-stroked-button (click)=\"sync()\" [disabled]=\"model.draft || syncing\">\r\n <span> {{'Synchronize'|translate}}</span>\r\n </button>\r\n \r\n <mat-spinner *ngIf=\"syncing\" diameter=\"22\"></mat-spinner>\r\n </div>\r\n <div class=\"row\">\r\n <div *ngIf=\"model.axes?.length\">\r\n <h2 class=\"mat-title\">{{'Axes'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.axes\">\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n <td class=\"mat-cell\">{{datatype(a.dataType)}}</td>\r\n </tr>\r\n </table>\r\n </div>\r\n <!--<div *ngIf=\"model.indices?.length\">\r\n <h2 class=\"mat-title\">{{'Indices'|translate}}</h2>\r\n <table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of model.indices\">\r\n <td class=\"mat-cell\">{{a.title}}</td>\r\n </tr>\r\n </table>\r\n </div>-->\r\n </div>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<!---->\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-label>{{'SecurityLevel'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"scope\">\r\n <mat-radio-button color=\"warn\">{{'Global'|translate}}</mat-radio-button>\r\n <br />\r\n <p>{{'SecurityGlobalHelp'|translate}}</p>\r\n <mat-radio-button value=\"Positions\">{{'Positions'|translate}}</mat-radio-button>\r\n <p>{{'SecurityPositionsHelp'|translate}}</p>\r\n <mat-radio-button value=\"Patterns\">{{'Patterns'|translate}}</mat-radio-button>\r\n <p>{{'SecurityPatternsHelp'|translate}}</p>\r\n </mat-radio-group>\r\n <ng-container formGroupName=\"yAxis\">\r\n <mat-form-field fxFlex>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Currency\">{{'Currency'|translate}}</mat-option>\r\n <mat-option value=\"Number\">{{'Numeric'|translate}}</mat-option>\r\n <mat-option value=\"Count\">{{'Accumulative'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <!--Axes-->\r\n <h2 class=\"mat-title row\">\r\n {{'Axes'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(axes, newAxis(), 'Axis', axisform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"axes\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, axes)\">\r\n <tr class=\"mat-row\" *ngFor=\"let a of axes.controls; index as index\" [formGroup]=\"a\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{a.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(a, 'Axis', axisform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"axes.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <!--Indices-->\r\n <h2 class=\"mat-title row\">\r\n {{'Indices'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(indices, newIndex(), 'Index', indexform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"indices\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, indices)\">\r\n <tr class=\"mat-row\" *ngFor=\"let i of indices.controls; index as index\" [formGroup]=\"i\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{i.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(i, 'Index', indexform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"indices.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <mat-form-field *ngIf=\"indices.controls.length\">\r\n <mat-label>{{'AnomalyNotification'|translate}}</mat-label>\r\n <mat-select formControlName=\"anomaly\">\r\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Positions\">{{'Positions'|translate}}</mat-option>\r\n <mat-option value=\"Recipients\">{{'Everyone'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!--Patterns-->\r\n <h2 class=\"mat-title row\">\r\n {{'Patterns'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', patternform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"indices\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\r\n <tr class=\"mat-row\" *ngFor=\"let p of patterns.controls; index as index\" [formGroup]=\"p\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{p.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(p, 'Pattern', patternform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <!--Views-->\r\n <h2 class=\"row mat-title\">\r\n {{'Views'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(views, newView(), 'View', viewform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"views\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, views)\">\r\n <tr class=\"mat-row\" *ngFor=\"let v of views.controls; index as index\" [formGroup]=\"v\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell flex\">\r\n {{v.get('title').value}}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(v, 'View', viewform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"views.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <mat-form-field>\r\n <mat-label>{{'Schedule'|translate}}</mat-label>\r\n <bizdoc-timespan-input formControlName=\"schedule\"></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n<!---->\r\n<ng-template #indexform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n<!-- pattern-->\r\n<ng-template #patternform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter [cube]=\"model\" [form]=\"form.get('axes')\"></bizdoc-designer-cube-filter>\r\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\r\n </form>\r\n</ng-template>\r\n<!-- view -->\r\n<ng-template #viewform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"type\">\r\n <mat-option value=\"Chart\">{{'Chart'|translate}}</mat-option>\r\n <mat-option value=\"Pivot\">{{'Pivot'|translate}}</mat-option>\r\n <mat-option value=\"Grid\">{{'Grid'|translate}}</mat-option>\r\n <mat-option value=\"Spreadsheet\">{{'Spreadsheet'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of axes.controls\" [value]=\"a.get('name').value\">{{a.get('title').value || a.get('name').value}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of axes.controls\">\r\n <mat-option [value]=\"a.get('name').value\" *ngIf=\"form.get('xAxis').value?.indexOf(a.get('name').value)<0\">{{a.get('title').value|| a.get('name').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <ng-container *ngFor=\"let i of indices.controls\">\r\n <mat-option [value]=\"i.get('name').value\">{{i.get('title').value|| i.get('name').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <ng-container [ngSwitch]=\"form.get('type').value\">\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <ng-container *ngIf=\"accumulative\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </ng-container>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n </ng-container>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\">\r\n <ng-container [ngSwitch]=\"form.get('type').value\">\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n </ng-container>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n<!-- Axis -->\r\n<ng-template #axisform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\" required>\r\n <ng-container *ngFor=\"let t of types\">\r\n <mat-option *ngIf=\"t.name\" [value]=\"t.name\">\r\n <span *ngIf=\"t.family\">{{t.family}} - </span>\r\n {{t.title}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <div><mat-checkbox formControlName=\"combination\">{{'Combination'}}</mat-checkbox></div>\r\n <div><mat-checkbox formControlName=\"sensitive\">{{'Sensitive'}}</mat-checkbox></div>\r\n <mat-form-field>\r\n <mat-label>{{'SelectionMode'|translate}}</mat-label>\r\n <mat-select formControlName=\"selectionMode\">\r\n <mat-option value=\"None\">{{'None'|translate}}</mat-option>\r\n <mat-option>{{'Single'|translate}}</mat-option>\r\n <mat-option value=\"Multiple\">{{'Multiple'|translate}}</mat-option>\r\n <mat-option value=\"Search\">{{'Search'|translate}}</mat-option>\r\n <mat-option value=\"Pattern\">{{'Pattern'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'DescendentOf'|translate}}</mat-label>\r\n <mat-select formControlName=\"descendentOf\">\r\n <ng-container *ngFor=\"let a of axes.controls\">\r\n <mat-option [value]=\"a.get('name').value\" *ngIf=\"a!=form\">{{a.get('title').value}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <div><mat-checkbox formControlName=\"indexable\">{{'Indexable'}}</mat-checkbox></div>\r\n </form>\r\n</ng-template>\r\n", styles: [":host ::ng-deep form{min-width:350px}:host ::ng-deep .mat-radio-group p{margin-inline-start:8px}.mat-table{width:100%}.mat-table .mat-cell:last-child{width:80px}.flex{flex:1}table tr td:first-child{width:26px}dl{width:100%;overflow:hidden;padding:0;margin:0}dt{float:left;width:35%;padding:0;margin:0;clear:both}dd{float:left;width:65%;padding:0;margin:0}\n"] }]
|
@@ -34008,7 +34027,7 @@ let MatrixViewDesignComponent = class MatrixViewDesignComponent extends Designer
|
|
34008
34027
|
}
|
34009
34028
|
};
|
34010
34029
|
MatrixViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MatrixViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
34011
|
-
MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4$6.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
34030
|
+
MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i3$4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
34012
34031
|
MatrixViewDesignComponent = __decorate([
|
34013
34032
|
BizDoc({ selector: 'matrix-view-designer' })
|
34014
34033
|
], MatrixViewDesignComponent);
|
@@ -34241,7 +34260,7 @@ let UsageReportDesignComponent = class UsageReportDesignComponent extends Design
|
|
34241
34260
|
}
|
34242
34261
|
};
|
34243
34262
|
UsageReportDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: UsageReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
34244
|
-
UsageReportDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: UsageReportDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\r\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <ng-container [ngSwitch]=\"type.value\">\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('series').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let x of cube?.indices\" [value]=\"x.name\">{{x.title }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type:
|
34263
|
+
UsageReportDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: UsageReportDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-radio-group [formControl]=\"type\" (change)=\"typechange($event)\">\r\n <mat-radio-button value=\"Chart\">{{'Chart'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Pivot\">{{'Pivot'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <ng-container [ngSwitch]=\"type.value\">\r\n <ng-container *ngSwitchCase=\"'Pivot'\">\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('series').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let x of cube?.indices\" [value]=\"x.name\">{{x.title }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngSwitchCase=\"'Chart'\">\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3$4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
34245
34264
|
UsageReportDesignComponent = __decorate([
|
34246
34265
|
BizDoc({ selector: 'usage-report-designer' })
|
34247
34266
|
], UsageReportDesignComponent);
|