@datarailsshared/datarailsshared 1.4.166 → 1.4.167

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.
Files changed (40) hide show
  1. package/bundles/datarailsshared-datarailsshared.umd.js +508 -31
  2. package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
  3. package/datarailsshared-datarailsshared-1.4.167.tgz +0 -0
  4. package/datarailsshared-datarailsshared.d.ts +2 -0
  5. package/datarailsshared-datarailsshared.metadata.json +1 -1
  6. package/esm2015/datarailsshared-datarailsshared.js +3 -1
  7. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +3 -8
  8. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +3 -8
  9. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +2 -2
  10. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +3 -8
  11. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +2 -2
  12. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +2 -1
  13. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +2 -1
  14. package/esm2015/lib/dr-inputs/dr-inputs.module.js +3 -2
  15. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +8 -3
  16. package/esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js +6 -0
  17. package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +93 -0
  18. package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +74 -0
  19. package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +73 -0
  20. package/esm2015/lib/dr-scenario/dr-scenario.module.js +28 -0
  21. package/esm2015/lib/dr-scenario/interfaces/scenario.js +8 -0
  22. package/esm2015/lib/dr-scenario/services/scenario.service.js +160 -0
  23. package/esm2015/lib/dr-tags/dr-tag.component.js +18 -5
  24. package/esm2015/lib/models/serverTags.js +13 -1
  25. package/esm2015/public-api.js +6 -1
  26. package/fesm2015/datarailsshared-datarailsshared.js +468 -32
  27. package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
  28. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +3 -0
  29. package/lib/dr-inputs/dr-toggle-button/toggle-button-mode.d.ts +4 -0
  30. package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +27 -0
  31. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +26 -0
  32. package/lib/dr-scenario/consts/scenario-tags-config.d.ts +24 -0
  33. package/lib/dr-scenario/dr-scenario.module.d.ts +2 -0
  34. package/lib/dr-scenario/interfaces/scenario.d.ts +43 -0
  35. package/lib/dr-scenario/services/scenario.service.d.ts +21 -0
  36. package/lib/dr-tags/dr-tag.component.d.ts +7 -3
  37. package/lib/models/serverTags.d.ts +15 -1
  38. package/package.json +1 -1
  39. package/public-api.d.ts +5 -1
  40. package/datarailsshared-datarailsshared-1.4.166.tgz +0 -0
@@ -3,7 +3,7 @@ import { EventEmitter, Component, ViewEncapsulation, Input, Output, HostBinding,
3
3
  import { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS } from '@angular/material/core';
4
4
  import { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';
5
5
  import * as _ from 'lodash';
6
- import { some, find, map, merge, forEach, reduce, isObject, isNil, isNumber } from 'lodash';
6
+ import { find, map, merge, forEach, some, orderBy, filter as filter$1, reduce, cloneDeep, isObject, isNil, isNumber, includes } from 'lodash';
7
7
  import { NG_VALUE_ACCESSOR, FormGroupDirective, FormGroup, FormControl, NgModel, NgControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
8
8
  import { isPlatformBrowser, DOCUMENT, CommonModule } from '@angular/common';
9
9
  import { Subject, from, merge as merge$1, fromEvent, noop as noop$1, BehaviorSubject } from 'rxjs';
@@ -265,13 +265,8 @@ class MonthTagComponent extends AnyTagComponent {
265
265
  return this.date ? !this.dateFilter(moment$7.unix(this.date).utc()) : false;
266
266
  }
267
267
  initDate() {
268
- if (this.defaultValue) {
269
- this.date = this.defaultValue;
270
- this.dateObj.date = this.date;
271
- }
272
- else {
273
- this.dateObj.date = moment$7().unix();
274
- }
268
+ this.date = this.defaultValue || moment$7().utc().unix();
269
+ this.dateObj.date = this.date;
275
270
  }
276
271
  initName() {
277
272
  if (!this.name) {
@@ -449,7 +444,7 @@ class WeekTagComponent extends AnyTagComponent {
449
444
  }
450
445
  ngOnInit() {
451
446
  this.initName();
452
- const timestamp = this.defaultValue || moment$5().unix();
447
+ const timestamp = this.defaultValue || moment$5().utc().unix();
453
448
  this.date = timestamp;
454
449
  this.dateObj.date = timestamp;
455
450
  this.chosenTagHandler(timestamp);
@@ -527,13 +522,8 @@ class YearTagComponent extends AnyTagComponent {
527
522
  return this.date ? !this.dateFilter(moment$4.unix(this.date).utc()) : false;
528
523
  }
529
524
  initDate() {
530
- if (this.defaultValue) {
531
- this.date = this.defaultValue;
532
- this.dateObj.date = this.date;
533
- }
534
- else {
535
- this.dateObj.date = moment$4().unix();
536
- }
525
+ this.date = this.defaultValue || moment$4().utc().unix();
526
+ this.dateObj.date = this.date;
537
527
  }
538
528
  initName() {
539
529
  if (!this.name) {
@@ -589,29 +579,49 @@ var TagTypes;
589
579
  TagTypes["LIST"] = "LIST";
590
580
  TagTypes["DATE"] = "DATE";
591
581
  })(TagTypes || (TagTypes = {}));
582
+ var TagsConfigSubType;
583
+ (function (TagsConfigSubType) {
584
+ TagsConfigSubType["YEAR"] = "year";
585
+ TagsConfigSubType["PLAN"] = "plan";
586
+ TagsConfigSubType["BUDGET_CYCLE"] = "budget cycle";
587
+ TagsConfigSubType["MONTH"] = "month";
588
+ TagsConfigSubType["WEEK"] = "week";
589
+ TagsConfigSubType["DAY"] = "day";
590
+ TagsConfigSubType["FORECAST_NEW"] = "forecast_new";
591
+ TagsConfigSubType["QUARTER"] = "quarter";
592
+ TagsConfigSubType["FILE_STATUS"] = "file_status";
593
+ })(TagsConfigSubType || (TagsConfigSubType = {}));
592
594
 
593
595
  class DrTagComponent {
594
596
  constructor() {
595
597
  this.lockedDate = [];
596
598
  this.dynamicTagValues = {};
597
- this.connectedTags = [];
598
599
  this.tagChange = new EventEmitter(); // Not emit value for dynamic tag
599
600
  this.dynamicTagChange = new EventEmitter();
600
601
  this.dynamicTagAdd = new EventEmitter();
601
602
  this.currentTagConnectedToDynamic = false;
602
603
  this.tagTypes = TagTypes;
603
604
  this.connectedTagsValues = [];
605
+ this._connectedTags = [];
604
606
  this.selectedTag = {
605
607
  id: 0,
606
608
  value: undefined,
607
609
  name: ''
608
610
  };
609
611
  }
612
+ set connectedTags(tags) {
613
+ this._connectedTags = tags || [];
614
+ }
615
+ get connectedTags() {
616
+ return this._connectedTags;
617
+ }
618
+ ngOnChanges(simpleChanges) {
619
+ if (simpleChanges.tagsConfig) {
620
+ this.calculateDynamicTag();
621
+ }
622
+ }
610
623
  ngOnInit() {
611
624
  var _a, _b;
612
- this.currentTagDynamic = this.tagConfig.options.is_custom;
613
- this.currentTagConnectedToDynamic = some(this.tagsConfig, (tagConfig) => tagConfig.options.is_custom
614
- && ['year'].includes(this.tagConfig.options.sub_type));
615
625
  this.dateTag = {
616
626
  type: this.tagConfig.type,
617
627
  sub_type: this.tagConfig.options.sub_type,
@@ -725,6 +735,11 @@ class DrTagComponent {
725
735
  }
726
736
  });
727
737
  }
738
+ calculateDynamicTag() {
739
+ this.currentTagDynamic = this.tagConfig.options.is_custom;
740
+ this.currentTagConnectedToDynamic = some(this.tagsConfig, (tagConfig) => tagConfig.options.is_custom
741
+ && ['year'].includes(this.tagConfig.options.sub_type));
742
+ }
728
743
  }
729
744
  DrTagComponent.decorators = [
730
745
  { type: Component, args: [{
@@ -810,13 +825,8 @@ class DayTagComponent extends AnyTagComponent {
810
825
  return this.date ? !this.dateFilter(moment$3.unix(this.date).utc()) : false;
811
826
  }
812
827
  initDate() {
813
- if (this.defaultValue) {
814
- this.date = this.defaultValue;
815
- this.dateObj.date = this.date;
816
- }
817
- else {
818
- this.dateObj.date = moment$3().unix();
819
- }
828
+ this.date = this.defaultValue || moment$3().utc().unix();
829
+ this.dateObj.date = this.date;
820
830
  }
821
831
  initName() {
822
832
  if (!this.name) {
@@ -1931,12 +1941,20 @@ DrToggleComponent.propDecorators = {
1931
1941
  elementClass: [{ type: HostBinding, args: ['class',] }]
1932
1942
  };
1933
1943
 
1944
+ var ToggleButtonMode;
1945
+ (function (ToggleButtonMode) {
1946
+ ToggleButtonMode["DEFAULT"] = "default";
1947
+ ToggleButtonMode["DOTTED"] = "dotted";
1948
+ })(ToggleButtonMode || (ToggleButtonMode = {}));
1949
+
1934
1950
  class DrToggleButtonComponent {
1935
1951
  constructor(cdr) {
1936
1952
  this.cdr = cdr;
1937
1953
  this._disabled = false;
1938
1954
  this.bindLabel = null;
1939
1955
  this.bindValue = null;
1956
+ this.bindHidden = null;
1957
+ this.mode = ToggleButtonMode.DEFAULT;
1940
1958
  this.onChange = () => {
1941
1959
  };
1942
1960
  this.onTouched = () => {
@@ -1968,12 +1986,12 @@ class DrToggleButtonComponent {
1968
1986
  DrToggleButtonComponent.decorators = [
1969
1987
  { type: Component, args: [{
1970
1988
  selector: 'dr-toggle-button',
1971
- template: "<div class=\"toggle-container\" [class.disabled]=\"_disabled\">\n <div\n *ngFor=\"let item of items\"\n (click)=\"setValue(item)\"\n [class.selected]=\"item[bindValue] === selectedValue || item === selectedValue\"\n [class.disabled]=\"item.disabled\"\n class=\"toggle-container__item\"\n >\n {{ item[bindLabel] || item.name || item }}\n </div>\n</div>\n",
1989
+ template: "<div class=\"toggle-container\"\n [class.disabled]=\"_disabled\"\n [attr.mode]=\"mode\">\n <ng-container *ngFor=\"let item of items\">\n <div *ngIf=\"!item?.[bindHidden]\"\n class=\"toggle-container__item\"\n [class.selected]=\"item[bindValue] === selectedValue || item === selectedValue\"\n [class.disabled]=\"item.disabled\"\n (click)=\"setValue(item)\">{{ item[bindLabel] || item.name || item }}</div>\n </ng-container>\n</div>\n",
1972
1990
  providers: [
1973
1991
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DrToggleButtonComponent), multi: true }
1974
1992
  ],
1975
1993
  changeDetection: ChangeDetectionStrategy.OnPush,
1976
- styles: [".toggle-container{display:flex;flex-wrap:nowrap;background:#f6f7f8;border:1px solid #c3c4ce;box-sizing:border-box;border-radius:20px;height:28px}.toggle-container.disabled{pointer-events:none}.toggle-container__item{height:28px;display:flex;align-items:center;justify-content:center;padding:4px 16px;border-radius:20px;margin:-1px;cursor:pointer;font-weight:400;font-size:12px;line-height:20px;white-space:nowrap;color:#4e566c}.toggle-container__item.selected{font-weight:400;background:#f2f2fb;border:1px solid #7f7fdd;color:#25258c}.toggle-container__item.disabled{pointer-events:none;cursor:default;background:#f0f1f4;color:#9ea1aa;border:1px solid #c3c4ce}\n"]
1994
+ styles: [".toggle-container{display:flex;flex-wrap:nowrap;box-sizing:border-box;border-radius:20px;height:28px}.toggle-container.disabled{pointer-events:none}.toggle-container__item{height:28px;display:flex;align-items:center;justify-content:center;padding:4px 16px;border-radius:20px;margin:-1px;cursor:pointer;font-weight:400;font-size:12px;line-height:20px;white-space:nowrap;color:#4e566c}.toggle-container__item.selected{background:#f2f2fb!important;border:1px solid #7f7fdd!important;color:#25258c!important}.toggle-container__item.disabled{pointer-events:none;cursor:default;background:#f0f1f4;color:#9ea1aa;border:1px solid #c3c4ce}.toggle-container[mode~=default]{background:#f6f7f8;border:1px solid #c3c4ce}.toggle-container[mode~=dotted] .toggle-container__item{padding:2px 8px;border:1px solid #9ea1aa;border-radius:18px;margin-left:4px;color:#0c142b}.toggle-container[mode~=dotted] .toggle-container__item:hover{background:#f0f1f4}.toggle-container[mode~=dotted] .toggle-container__item:hover .toggle-container[mode~=dotted] .toggle-container__item.selected{background:unset}.toggle-container[mode~=dotted] .toggle-container__item:first-child{margin-left:0}\n"]
1977
1995
  },] }
1978
1996
  ];
1979
1997
  DrToggleButtonComponent.ctorParameters = () => [
@@ -1983,6 +2001,8 @@ DrToggleButtonComponent.propDecorators = {
1983
2001
  items: [{ type: Input }],
1984
2002
  bindLabel: [{ type: Input }],
1985
2003
  bindValue: [{ type: Input }],
2004
+ bindHidden: [{ type: Input }],
2005
+ mode: [{ type: Input }],
1986
2006
  selectedValue: [{ type: Input }],
1987
2007
  disabled: [{ type: Input }]
1988
2008
  };
@@ -3582,6 +3602,14 @@ var TooltipPosition;
3582
3602
  TooltipPosition["LEFT_BOTTOM"] = "left-bottom";
3583
3603
  })(TooltipPosition || (TooltipPosition = {}));
3584
3604
 
3605
+ var Scenario;
3606
+ (function (Scenario) {
3607
+ Scenario["ACTUALS"] = "Actuals";
3608
+ Scenario["FORECAST"] = "Forecast";
3609
+ Scenario["BUDGET"] = "Budget";
3610
+ Scenario["NONE"] = "None";
3611
+ })(Scenario || (Scenario = {}));
3612
+
3585
3613
  class DrModelDebounceChangeDirective {
3586
3614
  constructor(ngModel) {
3587
3615
  this.ngModel = ngModel;
@@ -3644,6 +3672,232 @@ class ChatMessage {
3644
3672
  }
3645
3673
  }
3646
3674
 
3675
+ const allDateTags = {
3676
+ [TagsConfigSubType.YEAR]: {
3677
+ name: 'Date',
3678
+ toggle: false,
3679
+ },
3680
+ [TagsConfigSubType.QUARTER]: {
3681
+ name: 'Date',
3682
+ toggle: false,
3683
+ },
3684
+ [TagsConfigSubType.MONTH]: {
3685
+ name: 'Date',
3686
+ toggle: false,
3687
+ },
3688
+ [TagsConfigSubType.DAY]: {
3689
+ name: 'Date',
3690
+ toggle: false,
3691
+ },
3692
+ [TagsConfigSubType.WEEK]: {
3693
+ name: 'Date',
3694
+ toggle: false,
3695
+ }
3696
+ };
3697
+ function getScenarioTagDataConfig(isMultipleDimension) {
3698
+ return {
3699
+ [Scenario.ACTUALS]: Object.assign(Object.assign({}, allDateTags), { [TagsConfigSubType.MONTH]: {
3700
+ name: 'Date',
3701
+ toggle: true,
3702
+ }, [TagsConfigSubType.FILE_STATUS]: {
3703
+ toggle: false,
3704
+ } }),
3705
+ [Scenario.BUDGET]: {
3706
+ [TagsConfigSubType.BUDGET_CYCLE]: {
3707
+ toggle: true,
3708
+ acceptableDateTags: [TagsConfigSubType.YEAR],
3709
+ hidden: !isMultipleDimension,
3710
+ },
3711
+ [TagsConfigSubType.PLAN]: {
3712
+ toggle: false,
3713
+ turnOffDateTags: true,
3714
+ hidden: isMultipleDimension,
3715
+ },
3716
+ [TagsConfigSubType.YEAR]: {
3717
+ name: 'Date',
3718
+ toggle: true,
3719
+ },
3720
+ [TagsConfigSubType.QUARTER]: {
3721
+ name: 'Date',
3722
+ toggle: false,
3723
+ },
3724
+ [TagsConfigSubType.FILE_STATUS]: {
3725
+ toggle: false,
3726
+ },
3727
+ },
3728
+ [Scenario.FORECAST]: {
3729
+ [TagsConfigSubType.FORECAST_NEW]: {
3730
+ toggle: true,
3731
+ name: 'Date',
3732
+ },
3733
+ [TagsConfigSubType.FILE_STATUS]: {
3734
+ toggle: false,
3735
+ },
3736
+ },
3737
+ [Scenario.NONE]: Object.assign(Object.assign({}, allDateTags), { [TagsConfigSubType.MONTH]: {
3738
+ name: 'Date',
3739
+ toggle: true,
3740
+ }, [TagsConfigSubType.FILE_STATUS]: {
3741
+ toggle: true,
3742
+ } }),
3743
+ };
3744
+ }
3745
+
3746
+ class ScenarioService {
3747
+ constructor() {
3748
+ this.DEFAULT_FORECAST_DATE_TAG = 'Month';
3749
+ }
3750
+ get scenarios() {
3751
+ return orderBy(Object.values(Scenario), (scenario) => scenario === Scenario.NONE ? 1 : 0);
3752
+ }
3753
+ get areExistingTagsConfig() {
3754
+ return !!this.currentTagsConfig;
3755
+ }
3756
+ initScenarioTags(scenario, wholeTagsConfig, currentTagsConfig, isMultipleDimension) {
3757
+ if (!(wholeTagsConfig === null || wholeTagsConfig === void 0 ? void 0 : wholeTagsConfig.length) || !scenario)
3758
+ return;
3759
+ this.wholeTagsConfig = wholeTagsConfig;
3760
+ this.currentTagsConfig = currentTagsConfig;
3761
+ this.isMultipleDimension = isMultipleDimension;
3762
+ }
3763
+ getTagsConfigByScenarioTags(scenarioTags, tagsConfig) {
3764
+ const scenarioTagsConfig = filter$1(tagsConfig, (tagConfig) => some(scenarioTags, (scenarioTag) => scenarioTag.toggle && scenarioTag.selectedTagSubType === tagConfig.options.sub_type));
3765
+ return this.sortScenarioTags(scenarioTagsConfig);
3766
+ }
3767
+ getScenarioTagsByScenario(scenario) {
3768
+ const scenarioTagsConfig = this.getScenarioTagsConfig(scenario, this.wholeTagsConfig);
3769
+ const scenarioTagsUi = [];
3770
+ forEach(scenarioTagsConfig, (scenarioTag) => {
3771
+ const isDateTag = scenarioTag.type === TagTypes.DATE;
3772
+ const dateTag = isDateTag && find(scenarioTagsUi, { type: TagTypes.DATE });
3773
+ const tag = dateTag || this.prepareScenarioTag(scenarioTagsConfig, scenarioTag, scenario, isDateTag);
3774
+ if (isDateTag) {
3775
+ this.updateScenarioDateTag(tag, scenarioTag);
3776
+ }
3777
+ if (dateTag)
3778
+ return;
3779
+ scenarioTagsUi.push(tag);
3780
+ });
3781
+ if (this.areExistingTagsConfig) {
3782
+ this.initExistingTagsConfig(scenario, scenarioTagsUi);
3783
+ }
3784
+ const isTagNotSupportingDates = some(scenarioTagsUi, { turnOffDateTags: true, toggle: true });
3785
+ if (isTagNotSupportingDates) {
3786
+ this.turnOffDateTag(scenarioTagsUi);
3787
+ }
3788
+ const tagWithSpecificDateTags = find(scenarioTagsUi, (tag) => { var _a; return tag.toggle && !!((_a = tag.acceptableDateTags) === null || _a === void 0 ? void 0 : _a.length); });
3789
+ if (tagWithSpecificDateTags) {
3790
+ this.hideNotAvailableTags(tagWithSpecificDateTags, scenarioTagsUi);
3791
+ }
3792
+ return this.sortScenarioTags(scenarioTagsUi);
3793
+ }
3794
+ sortScenarioTags(scenarioTagsUi) {
3795
+ return orderBy(scenarioTagsUi, [
3796
+ (tag) => (tag.type === TagTypes.DATE ? 0 : 1),
3797
+ (tag) => (tag.name === 'File Status')
3798
+ ]);
3799
+ }
3800
+ initExistingTagsConfig(scenario, scenarioTagsUi) {
3801
+ forEach(this.currentTagsConfig, (tagConfig) => {
3802
+ var _a, _b;
3803
+ const tagSubType = (_a = tagConfig === null || tagConfig === void 0 ? void 0 : tagConfig.options) === null || _a === void 0 ? void 0 : _a.sub_type;
3804
+ const scenarioTagDataConfig = getScenarioTagDataConfig(this.isMultipleDimension);
3805
+ if (!((_b = scenarioTagDataConfig === null || scenarioTagDataConfig === void 0 ? void 0 : scenarioTagDataConfig[scenario]) === null || _b === void 0 ? void 0 : _b[tagSubType]))
3806
+ return;
3807
+ const scenarioTagUi = tagConfig.type === TagTypes.DATE
3808
+ ? find(scenarioTagsUi, { type: tagConfig.type })
3809
+ : find(scenarioTagsUi, { selectedTagSubType: tagSubType });
3810
+ scenarioTagUi.toggle = true;
3811
+ scenarioTagUi.selectedTagSubType = tagSubType;
3812
+ });
3813
+ }
3814
+ prepareScenarioTag(scenarioTagsConfig, scenarioTag, scenario, isDateTag) {
3815
+ const toggleStatus = isDateTag
3816
+ ? some(scenarioTagsConfig, (tag) => tag.type === TagTypes.DATE && tag.scenarioData.toggle)
3817
+ : scenarioTag.scenarioData.toggle;
3818
+ const selectedTagSubType = isDateTag
3819
+ ? this.getScenarioSelectedDateTag(scenario, scenarioTagsConfig)
3820
+ : scenarioTag.options.sub_type;
3821
+ const tag = {
3822
+ toggle: this.areExistingTagsConfig ? false : toggleStatus,
3823
+ name: scenarioTag.scenarioData.name || scenarioTag.name,
3824
+ description: scenarioTag.scenarioData.description || scenarioTag.description,
3825
+ type: scenarioTag.type,
3826
+ selectedTagSubType,
3827
+ };
3828
+ if (scenarioTag.scenarioData.turnOffDateTags) {
3829
+ tag.turnOffDateTags = scenarioTag.scenarioData.turnOffDateTags;
3830
+ }
3831
+ if (scenarioTag.scenarioData.acceptableDateTags) {
3832
+ tag.acceptableDateTags = scenarioTag.scenarioData.acceptableDateTags;
3833
+ }
3834
+ return tag;
3835
+ }
3836
+ updateScenarioDateTag(dateTag, scenarioTag) {
3837
+ if (!dateTag.subTags) {
3838
+ dateTag.subTags = [];
3839
+ }
3840
+ const tagSubType = scenarioTag.options.sub_type;
3841
+ dateTag.subTags.push({
3842
+ subType: tagSubType,
3843
+ name: tagSubType === TagsConfigSubType.FORECAST_NEW ? this.DEFAULT_FORECAST_DATE_TAG : scenarioTag.name,
3844
+ });
3845
+ }
3846
+ turnOffDateTag(scenarioTags) {
3847
+ const dateTag = find(scenarioTags, { type: TagTypes.DATE });
3848
+ if (!dateTag)
3849
+ return;
3850
+ dateTag.toggle = false;
3851
+ }
3852
+ hideNotAvailableTags(tagWithSpecificDateTags, scenarioTags) {
3853
+ var _a;
3854
+ const subTags = (_a = find(scenarioTags, { type: TagTypes.DATE })) === null || _a === void 0 ? void 0 : _a.subTags;
3855
+ if (!subTags.length)
3856
+ return;
3857
+ forEach(scenarioTags, (tag) => {
3858
+ var _a;
3859
+ if (!((_a = tag.acceptableDateTags) === null || _a === void 0 ? void 0 : _a.length))
3860
+ return;
3861
+ if (tag !== tagWithSpecificDateTags) {
3862
+ tag.toggle = false;
3863
+ }
3864
+ });
3865
+ forEach(subTags, (subTag) => {
3866
+ subTag.hidden = !tagWithSpecificDateTags.acceptableDateTags.includes(subTag.subType);
3867
+ });
3868
+ }
3869
+ getScenarioSelectedDateTag(scenario, dateTags) {
3870
+ var _a, _b;
3871
+ const monthSubType = (_b = (_a = find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.MONTH)) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.sub_type;
3872
+ const scenarioSelectedDateTag = {
3873
+ [Scenario.ACTUALS]: () => monthSubType,
3874
+ [Scenario.BUDGET]: () => { var _a, _b; return (_b = (_a = find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.YEAR)) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.sub_type; },
3875
+ [Scenario.FORECAST]: () => { var _a, _b; return (_b = (_a = find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.FORECAST_NEW)) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.sub_type; },
3876
+ [Scenario.NONE]: () => monthSubType,
3877
+ };
3878
+ if (!scenarioSelectedDateTag[scenario])
3879
+ return;
3880
+ return scenarioSelectedDateTag[scenario]();
3881
+ }
3882
+ getScenarioTagsConfig(scenario, tagsConfig) {
3883
+ return reduce(tagsConfig, (acc, tagConfig) => {
3884
+ var _a, _b;
3885
+ const tagSubType = (_a = tagConfig === null || tagConfig === void 0 ? void 0 : tagConfig.options) === null || _a === void 0 ? void 0 : _a.sub_type;
3886
+ const scenarioTagDataConfig = getScenarioTagDataConfig(this.isMultipleDimension);
3887
+ const scenarioTagConfig = (_b = scenarioTagDataConfig === null || scenarioTagDataConfig === void 0 ? void 0 : scenarioTagDataConfig[scenario]) === null || _b === void 0 ? void 0 : _b[tagSubType];
3888
+ if (!scenarioTagConfig || scenarioTagConfig.hidden)
3889
+ return acc;
3890
+ const clonedTagConfig = cloneDeep(tagConfig);
3891
+ const scenarioTag = Object.assign(Object.assign({}, clonedTagConfig), { scenarioData: scenarioTagConfig });
3892
+ acc.push(scenarioTag);
3893
+ return acc;
3894
+ }, []);
3895
+ }
3896
+ }
3897
+ ScenarioService.decorators = [
3898
+ { type: Injectable }
3899
+ ];
3900
+
3647
3901
  class DrSharedUtils {
3648
3902
  /**
3649
3903
  * Get timeframe (day, year, month, quarter) based on passed format
@@ -3689,6 +3943,7 @@ class DrSharedUtils {
3689
3943
  }
3690
3944
  }
3691
3945
 
3946
+ // @ts-ignore
3692
3947
  const moment$2 = require('moment');
3693
3948
  class DrDatePickerService {
3694
3949
  constructor() {
@@ -3877,6 +4132,7 @@ DrDatePickerService.decorators = [
3877
4132
  { type: Injectable }
3878
4133
  ];
3879
4134
 
4135
+ // @ts-ignore
3880
4136
  const moment$1 = require('moment');
3881
4137
  class DrDatePickerCustomHeaderComponent {
3882
4138
  constructor(_calendar, _dateAdapter, _dateFormats, cdr, datePickerService) {
@@ -4231,7 +4487,7 @@ DrDatePickerComponent.decorators = [
4231
4487
  changeDetection: ChangeDetectionStrategy.OnPush,
4232
4488
  providers: [
4233
4489
  { provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerComponent, multi: true },
4234
- { provide: DrDatePickerService }
4490
+ DrDatePickerService
4235
4491
  ],
4236
4492
  styles: [":host{position:relative;width:100%;display:flex;flex-direction:row;min-height:32px;height:32px;font-size:14px;font-family:\"Poppins\",sans-serif;background-color:#fff;border:1px solid #c3c4ce;border-radius:6px;color:#85889c;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#85889c}:host:focus-within{border-color:#4646ce!important;color:#151b3f}:host.disabled{pointer-events:none;border:1px solid #aeabac;background:#f0f1f4}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#03a678}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#de2833!important}:host.ng-untouched.ng-valid{border-color:#c3c4ce}:host:after,:host:before{position:absolute;display:flex;border-color:#999999 transparent transparent;color:#999}:host:after{content:\"\\e9b6\";font-family:DataRails;font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;position:absolute;display:flex;align-items:center;justify-content:center}:host i{position:absolute;color:#999;left:8px;top:3px}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;background:transparent}:host input::-webkit-search-decoration,:host input::-webkit-search-cancel-button,:host input::-webkit-search-results-button,:host input::-webkit-search-results-decoration{-webkit-appearance:none}::ng-deep .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background:#f2f2fb;color:#4646ce;font-weight:600}::ng-deep .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-button-focus-overlay{background:#f3f7ff}::ng-deep .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f3f7ff;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-calendar-controls .mat-calendar-period-button:hover{background:#f3f7ff;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#19181a}::ng-deep .mat-calendar-table-header-divider{display:none}::ng-deep .mat-calendar-body-label{color:#fff;padding:0}\n"]
4237
4493
  },] }
@@ -4698,7 +4954,8 @@ DrInputsModule.decorators = [
4698
4954
  MatDatepickerModule,
4699
4955
  MatTooltipModule,
4700
4956
  DrTooltipModule
4701
- ]
4957
+ ],
4958
+ entryComponents: [DrDatePickerCustomHeaderComponent]
4702
4959
  },] }
4703
4960
  ];
4704
4961
 
@@ -5655,11 +5912,190 @@ DrChatModule.decorators = [
5655
5912
  },] }
5656
5913
  ];
5657
5914
 
5915
+ class DrScenarioConfigurationComponent {
5916
+ constructor(scenarioService) {
5917
+ this.scenarioService = scenarioService;
5918
+ this.toggleButtonMode = ToggleButtonMode;
5919
+ this._scenarioTags = [];
5920
+ this.wholeTagsConfig = [];
5921
+ this.selectedScenario = Scenario.ACTUALS;
5922
+ this.isMultipleDimension = false;
5923
+ this.scenarioDataChanged = new EventEmitter();
5924
+ }
5925
+ get scenarioTags() {
5926
+ return this._scenarioTags;
5927
+ }
5928
+ set scenarioTags(tags) {
5929
+ this._scenarioTags = tags;
5930
+ this.tagNotSupportingDates = find(tags, { turnOffDateTags: true });
5931
+ }
5932
+ get dateTag() {
5933
+ return find(this.scenarioTags, { type: TagTypes.DATE });
5934
+ }
5935
+ ngOnInit() {
5936
+ this.scenarios = this.scenarioService.scenarios;
5937
+ this.scenarioService.initScenarioTags(this.selectedScenario, this.wholeTagsConfig, this.currentTagsConfig, this.isMultipleDimension);
5938
+ this.scenarioTags = this.scenarioService.getScenarioTagsByScenario(this.selectedScenario);
5939
+ }
5940
+ onScenarioChange(scenario) {
5941
+ this.scenarioTags = this.scenarioService.getScenarioTagsByScenario(scenario);
5942
+ this.onScenarioDataChange();
5943
+ }
5944
+ onScenarioTagToggle(tag) {
5945
+ this.tagNotSupportingDatesHandler(tag);
5946
+ this.tagAcceptableDateHandler(tag);
5947
+ this.onScenarioDataChange();
5948
+ }
5949
+ onScenarioDataChange() {
5950
+ this.scenarioDataChanged.emit({
5951
+ scenario: this.selectedScenario,
5952
+ tagsConfig: this.scenarioService.getTagsConfigByScenarioTags(this.scenarioTags, this.wholeTagsConfig),
5953
+ });
5954
+ }
5955
+ tagNotSupportingDatesHandler(tag) {
5956
+ if (!this.tagNotSupportingDates || !tag.toggle)
5957
+ return;
5958
+ if (tag.type === TagTypes.DATE) {
5959
+ this.tagNotSupportingDates.toggle = false;
5960
+ }
5961
+ if (tag === this.tagNotSupportingDates) {
5962
+ const dateTag = this.dateTag;
5963
+ if (dateTag) {
5964
+ dateTag.toggle = false;
5965
+ }
5966
+ }
5967
+ }
5968
+ tagAcceptableDateHandler(tag) {
5969
+ var _a;
5970
+ if (!((_a = tag.acceptableDateTags) === null || _a === void 0 ? void 0 : _a.length))
5971
+ return;
5972
+ const dateTag = this.dateTag;
5973
+ if (!dateTag)
5974
+ return;
5975
+ dateTag.subTags = map(dateTag.subTags, (subTag) => {
5976
+ subTag.hidden = tag.toggle && !includes(tag.acceptableDateTags, subTag.subType);
5977
+ return subTag;
5978
+ });
5979
+ dateTag.selectedTagSubType = tag.acceptableDateTags[0];
5980
+ }
5981
+ }
5982
+ DrScenarioConfigurationComponent.decorators = [
5983
+ { type: Component, args: [{
5984
+ selector: 'dr-scenario-configuration',
5985
+ template: "<div class=\"scenario\">\n <div class=\"scenario__list\">\n <p class=\"scenario__title scenario__title-list\">Scenario</p>\n <dr-select [(ngModel)]=\"selectedScenario\"\n placeholder=\"select\"\n [items]=\"scenarios\"\n (ngModelChange)=\"onScenarioChange($event)\"></dr-select>\n </div>\n <div class=\"scenario__tags\">\n <p class=\"scenario__title--extra scenario__tags__title\">Tags</p>\n <div class=\"scenario__tag\" *ngFor=\"let tag of scenarioTags\">\n <div class=\"scenario__tag__header\">\n <p class=\"scenario__title\">{{ tag.name }}</p>\n <dr-toggle [(ngModel)]=\"tag.toggle\"\n (ngModelChange)=\"onScenarioTagToggle(tag)\"></dr-toggle>\n </div>\n <div class=\"scenario__tag__description\">\n <p class=\"scenario__text\">{{ tag.description }}</p>\n </div>\n <div *ngIf=\"tag.toggle\" class=\"scenario__tag__body\">\n <div *ngIf=\"tag.subTags?.length\" class=\"scenario__sub-tag\">\n <dr-toggle-button [(ngModel)]=\"tag.selectedTagSubType\"\n bindHidden=\"hidden\"\n bindLabel=\"name\"\n bindValue=\"subType\"\n [items]=\"tag.subTags\"\n [mode]=\"toggleButtonMode.DOTTED\"\n (ngModelChange)=\"onScenarioDataChange()\"></dr-toggle-button>\n </div>\n </div>\n </div>\n </div>\n</div>\n",
5986
+ changeDetection: ChangeDetectionStrategy.OnPush,
5987
+ providers: [ScenarioService],
5988
+ styles: [".scenario__text,.scenario__title,.scenario__title--extra{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px}.scenario__title{font-weight:600}.scenario__title--extra{font-weight:700}.scenario__tags{margin-top:24px}.scenario__tags__title{margin-bottom:16px}.scenario__title-list{margin-bottom:4px}.scenario__tag{margin-bottom:24px;padding-top:16px;border-top:1px solid #dfe0e3}.scenario__tag__description{margin-top:5px}.scenario__tag__header{display:flex;justify-content:space-between}.scenario__sub-tag{margin-top:8px}:host::ng-deep .toggle-container__item{padding:2px 8px!important}\n"]
5989
+ },] }
5990
+ ];
5991
+ DrScenarioConfigurationComponent.ctorParameters = () => [
5992
+ { type: ScenarioService }
5993
+ ];
5994
+ DrScenarioConfigurationComponent.propDecorators = {
5995
+ currentTagsConfig: [{ type: Input }],
5996
+ wholeTagsConfig: [{ type: Input }],
5997
+ selectedScenario: [{ type: Input }],
5998
+ isMultipleDimension: [{ type: Input }],
5999
+ scenarioDataChanged: [{ type: Output }]
6000
+ };
6001
+
6002
+ class DrScenarioTagConfigurationComponent {
6003
+ constructor() {
6004
+ this.connectedTags = {};
6005
+ this.dynamicTagValues = {};
6006
+ this.lockedDates = [];
6007
+ this.scenarioTagDataChanged = new EventEmitter();
6008
+ this.currentTagsMap = {};
6009
+ this._currentTags = [];
6010
+ this.dynamicTagsToSave = [];
6011
+ this.tagsToSave = [];
6012
+ }
6013
+ set currentTags(tags) {
6014
+ this._currentTags = tags;
6015
+ this.currentTagsMap = reduce(tags, (acc, curr) => {
6016
+ var _a;
6017
+ const tagId = (_a = find(this.tagsConfig, { name: curr.name })) === null || _a === void 0 ? void 0 : _a.id;
6018
+ if (isNaN(tagId))
6019
+ return acc;
6020
+ acc[tagId] = curr;
6021
+ return acc;
6022
+ }, {});
6023
+ }
6024
+ get currentTags() {
6025
+ return this._currentTags;
6026
+ }
6027
+ ngOnChanges(simpleChanges) {
6028
+ this.currentTags = this.currentTags;
6029
+ }
6030
+ onTagChange($event) {
6031
+ const savedTag = find(this.tagsToSave, { id: $event.id });
6032
+ if (savedTag) {
6033
+ merge(savedTag, $event);
6034
+ }
6035
+ else {
6036
+ this.tagsToSave.push($event);
6037
+ }
6038
+ this.onScenarioTagDataChanged();
6039
+ }
6040
+ onDynamicTagsChange($event) {
6041
+ this.dynamicTagsToSave = $event;
6042
+ this.onScenarioTagDataChanged();
6043
+ }
6044
+ onScenarioTagDataChanged() {
6045
+ const tags = [...this.dynamicTagsToSave, ...this.tagsToSave];
6046
+ this.scenarioTagDataChanged.emit({
6047
+ scenario: this.scenario,
6048
+ tagsConfig: this.tagsConfig,
6049
+ tags,
6050
+ });
6051
+ }
6052
+ }
6053
+ DrScenarioTagConfigurationComponent.decorators = [
6054
+ { type: Component, args: [{
6055
+ selector: 'dr-scenario-tag-configuration',
6056
+ template: "<div class=\"scenario-tag-configuration\"\n *ngFor=\"let tagConfig of tagsConfig\">\n <dr-tag [tagConfig]=\"tagConfig\"\n [selectedTag]=\"currentTagsMap[tagConfig.id]\"\n [lockedDate]=\"lockedDates\"\n [fiscalYearStartsFrom]=\"fiscalYearStartsFrom\"\n [fiscalYearBack]=\"fiscalYearBack\"\n [tagsConfig]=\"tagsConfig\"\n [dynamicTagValues]=\"dynamicTagValues\"\n [connectedTags]=\"connectedTags[tagConfig.id]\"\n [isDynamicTagAddEnabled]=\"isDynamicAddEnabled\"\n (tagChange)=\"onTagChange($event)\"\n (dynamicTagChange)=\"onDynamicTagsChange($event)\"></dr-tag>\n</div>\n",
6057
+ changeDetection: ChangeDetectionStrategy.OnPush,
6058
+ styles: [".scenario-tag-configuration{margin-bottom:24px}.scenario-tag-configuration:last-child{margin-bottom:0}\n"]
6059
+ },] }
6060
+ ];
6061
+ DrScenarioTagConfigurationComponent.propDecorators = {
6062
+ tagsConfig: [{ type: Input }],
6063
+ currentTags: [{ type: Input }],
6064
+ scenario: [{ type: Input }],
6065
+ connectedTags: [{ type: Input }],
6066
+ dynamicTagValues: [{ type: Input }],
6067
+ lockedDates: [{ type: Input }],
6068
+ fiscalYearStartsFrom: [{ type: Input }],
6069
+ fiscalYearBack: [{ type: Input }],
6070
+ isDynamicAddEnabled: [{ type: Input }],
6071
+ scenarioTagDataChanged: [{ type: Output }]
6072
+ };
6073
+
6074
+ const COMPONENTS = [
6075
+ DrScenarioConfigurationComponent,
6076
+ DrScenarioTagConfigurationComponent,
6077
+ ];
6078
+ class DrScenarioModule {
6079
+ }
6080
+ DrScenarioModule.decorators = [
6081
+ { type: NgModule, args: [{
6082
+ declarations: [...COMPONENTS],
6083
+ providers: [ScenarioService],
6084
+ imports: [
6085
+ CommonModule,
6086
+ DrInputsModule,
6087
+ FormsModule,
6088
+ DrTagModule
6089
+ ],
6090
+ exports: [...COMPONENTS],
6091
+ },] }
6092
+ ];
6093
+
5658
6094
  /* components */
5659
6095
 
5660
6096
  /**
5661
6097
  * Generated bundle index. Do not edit.
5662
6098
  */
5663
6099
 
5664
- export { AnyTagComponent, CHAT_MESSAGE_TYPE, CalendarView, ChatMessage, ChatRole, CheckboxComponent, CustomDateFormat, DIALOG_BUTTON_LABEL, DIALOG_FIELD_TYPE, DIALOG_SIZE, DateFromats, DatePickerPeriodPosition, DateTagComponent, DateTagModule, DateTags, DayTagComponent, DialogService, DrAccordionComponent, DrAccordionItemBodyComponent, DrAccordionItemComponent, DrAccordionItemHeaderComponent, DrAccordionModule, DrAvatarComponent, DrAvatarModule, DrAvatarPipe, DrButtonComponent, DrChatModule, DrDetailsListComponent, DrDetailsListModule, DrDialogModule, DrDropdownComponent, DrDropdownDirective, DrDropdownItemShowPipe, DrDropdownModule, DrDropdownPositionDirective, DrDropdownService, DrErrorComponent, DrErrorModule, DrInputComponent, DrInputsModule, DrLayoutBodyComponent, DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutModule, DrModelDebounceChangeDirective, DrPopoverAlignmentDimension, DrPopoverComponent, DrPopoverDirective, DrPopoverModule, DrPopoverRef, DrPopoverService, DrSelectComponent, DrSharedUtils, DrSpinnerComponent, DrSpinnerDirective, DrSpinnerModule, DrStepperModule, DrTabComponent, DrTabsComponent, DrTabsModule, DrTagComponent, DrTagModule, DrToggleButtonComponent, DrToggleComponent, DrTooltipDirective, DrTooltipModule, ForecastTagComponent, IMAGE_TYPES, ListTagComponent, ListTagModule, MonthTagComponent, QuarterTagComponent, RadioButtonComponent, RadioGroupComponent, SpinnerSize, SpinnerType, TagTypes, TimeframeOption, TooltipComponent, TooltipPosition, WeekTagComponent, YearTagComponent, components$2 as ɵa, POPUP_ANIMATION as ɵb, DrDatePickerComponent as ɵc, DrDatePickerService as ɵd, DrDatePickerWithTimeframeComponent as ɵe, DrDatePickerFormatDirective as ɵf, DrDatePickerCustomHeaderComponent as ɵg, DrShowTimeframePipe as ɵh, DrSelectAddItemComponent as ɵi, TooltipInfoComponent as ɵj, TooltipInfoSimpleComponent as ɵk, TooltipNoBodyComponent as ɵl, TooltipProcessDefaultComponent as ɵm, DrDynamicTagModule as ɵn, DrDynamicTagComponent as ɵo, StepperComponent as ɵp, DialogWrapperComponent as ɵq, DialogModalWrapperComponent as ɵr, DrChatComponent as ɵs, DrChatCustomMessageService as ɵt, DrChatMessageComponent as ɵu, DrChatFormComponent as ɵv, DrChatSuggestionsComponent as ɵw, DrChatMessageTextComponent as ɵx, DrChatMessageFileComponent as ɵy, DrChatCustomMessageDirective as ɵz };
6100
+ export { AnyTagComponent, CHAT_MESSAGE_TYPE, CalendarView, ChatMessage, ChatRole, CheckboxComponent, CustomDateFormat, DIALOG_BUTTON_LABEL, DIALOG_FIELD_TYPE, DIALOG_SIZE, DateFromats, DatePickerPeriodPosition, DateTagComponent, DateTagModule, DateTags, DayTagComponent, DialogService, DrAccordionComponent, DrAccordionItemBodyComponent, DrAccordionItemComponent, DrAccordionItemHeaderComponent, DrAccordionModule, DrAvatarComponent, DrAvatarModule, DrAvatarPipe, DrButtonComponent, DrChatModule, DrDetailsListComponent, DrDetailsListModule, DrDialogModule, DrDropdownComponent, DrDropdownDirective, DrDropdownItemShowPipe, DrDropdownModule, DrDropdownPositionDirective, DrDropdownService, DrErrorComponent, DrErrorModule, DrInputComponent, DrInputsModule, DrLayoutBodyComponent, DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutModule, DrModelDebounceChangeDirective, DrPopoverAlignmentDimension, DrPopoverComponent, DrPopoverDirective, DrPopoverModule, DrPopoverRef, DrPopoverService, DrScenarioModule, DrSelectComponent, DrSharedUtils, DrSpinnerComponent, DrSpinnerDirective, DrSpinnerModule, DrStepperModule, DrTabComponent, DrTabsComponent, DrTabsModule, DrTagComponent, DrTagModule, DrToggleButtonComponent, DrToggleComponent, DrTooltipDirective, DrTooltipModule, ForecastTagComponent, IMAGE_TYPES, ListTagComponent, ListTagModule, MonthTagComponent, QuarterTagComponent, RadioButtonComponent, RadioGroupComponent, Scenario, ScenarioService, SpinnerSize, SpinnerType, TagTypes, TimeframeOption, ToggleButtonMode, TooltipComponent, TooltipPosition, WeekTagComponent, YearTagComponent, components$2 as ɵa, POPUP_ANIMATION as ɵb, DrScenarioConfigurationComponent as ɵba, DrScenarioTagConfigurationComponent as ɵbb, DrDatePickerComponent as ɵc, DrDatePickerService as ɵd, DrDatePickerWithTimeframeComponent as ɵe, DrDatePickerFormatDirective as ɵf, DrDatePickerCustomHeaderComponent as ɵg, DrShowTimeframePipe as ɵh, DrSelectAddItemComponent as ɵi, TooltipInfoComponent as ɵj, TooltipInfoSimpleComponent as ɵk, TooltipNoBodyComponent as ɵl, TooltipProcessDefaultComponent as ɵm, DrDynamicTagModule as ɵn, DrDynamicTagComponent as ɵo, StepperComponent as ɵp, DialogWrapperComponent as ɵq, DialogModalWrapperComponent as ɵr, DrChatComponent as ɵs, DrChatCustomMessageService as ɵt, DrChatMessageComponent as ɵu, DrChatFormComponent as ɵv, DrChatSuggestionsComponent as ɵw, DrChatMessageTextComponent as ɵx, DrChatMessageFileComponent as ɵy, DrChatCustomMessageDirective as ɵz };
5665
6101
  //# sourceMappingURL=datarailsshared-datarailsshared.js.map