@the-liberators/ngx-scrumteamsurvey-tools 2.3.20 → 2.3.24
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/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs +821 -666
- package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs.map +1 -1
- package/lib/components/quantity-selector/quantity-selector.component.d.ts +20 -0
- package/lib/components/quantity-selector/quantity-selector.module.d.ts +12 -0
- package/package.json +8 -10
- package/public-api.d.ts +2 -2
- package/esm2022/lib/actions/actions.module.mjs +0 -128
- package/esm2022/lib/actions/components/action-list/action-list.component.mjs +0 -118
- package/esm2022/lib/actions/components/action-manage/action-manage.component.mjs +0 -164
- package/esm2022/lib/actions/components/action-tile/action-tile.component.mjs +0 -79
- package/esm2022/lib/actions/dialogs/dialog-export-actions/dialog-export-actions.component.mjs +0 -75
- package/esm2022/lib/actions/dialogs/dialog-export-actions/dialog-export-actions.directive.mjs +0 -30
- package/esm2022/lib/actions/dialogs/dialog-filters/dialog-filters.component.mjs +0 -113
- package/esm2022/lib/actions/dialogs/dialog-manageaction/dialog-manageaction.component.mjs +0 -78
- package/esm2022/lib/actions/interfaces/IActionState.mjs +0 -2
- package/esm2022/lib/actions/models/actionDto.mjs +0 -43
- package/esm2022/lib/actions/models/actionOptionsDto.mjs +0 -9
- package/esm2022/lib/actions/models/actionPrefillDto.mjs +0 -3
- package/esm2022/lib/actions/models/actionResponseDto.mjs +0 -7
- package/esm2022/lib/actions/models/exportRequestDto.mjs +0 -3
- package/esm2022/lib/actions/pipes/interventionOwnerToString.pipe.mjs +0 -32
- package/esm2022/lib/actions/pipes/interventionStateToString.pipe.mjs +0 -26
- package/esm2022/lib/actions/pipes/interventionTypeToString.pipe.mjs +0 -30
- package/esm2022/lib/actions/services/actionClientConfig.mjs +0 -30
- package/esm2022/lib/actions/services/actionService.mjs +0 -66
- package/esm2022/lib/add-calendar/generators/base-calendar.generator.mjs +0 -46
- package/esm2022/lib/add-calendar/generators/google-calendar.generator.mjs +0 -16
- package/esm2022/lib/add-calendar/generators/ics-calendar.generator.mjs +0 -33
- package/esm2022/lib/add-calendar/generators/outlook-calendar.generator.mjs +0 -17
- package/esm2022/lib/add-calendar/generators/yahoo-calendar.generator.mjs +0 -28
- package/esm2022/lib/add-calendar/index.mjs +0 -4
- package/esm2022/lib/add-calendar/model/calendar-event.model.mjs +0 -2
- package/esm2022/lib/add-calendar/model/calendar-type.enum.mjs +0 -9
- package/esm2022/lib/add-calendar/ng-add-to-calendar.module.mjs +0 -18
- package/esm2022/lib/add-calendar/service/ng-add-to-calendar.service.mjs +0 -33
- package/esm2022/lib/alerts/alerts.module.mjs +0 -24
- package/esm2022/lib/alerts/components/alerts-list/alerts.component.mjs +0 -105
- package/esm2022/lib/alerts/components/dialog-alerts/dialog-alerts.component.mjs +0 -25
- package/esm2022/lib/alerts/components/dialog-alerts/dialog-alerts.directive.mjs +0 -35
- package/esm2022/lib/alerts/interfaces/IAlertState.mjs +0 -2
- package/esm2022/lib/alerts/models/alertDto.model.mjs +0 -3
- package/esm2022/lib/alerts/models/alertFilterDto.model.mjs +0 -3
- package/esm2022/lib/alerts/models/alertResponseDto.model.mjs +0 -7
- package/esm2022/lib/alerts/models/dismissAlertRequestDto.model.mjs +0 -3
- package/esm2022/lib/alerts/services/alertClientConfig.mjs +0 -30
- package/esm2022/lib/alerts/services/alerts.service.mjs +0 -31
- package/esm2022/lib/apiUrlToken.mjs +0 -30
- package/esm2022/lib/branding/brandBackground.directive.mjs +0 -46
- package/esm2022/lib/branding/brandConditionalBackgroundColor.directive.mjs +0 -58
- package/esm2022/lib/branding/brandConditionalColor.directive.mjs +0 -63
- package/esm2022/lib/branding/brandHoverColor.directive.mjs +0 -84
- package/esm2022/lib/branding/branding.module.mjs +0 -68
- package/esm2022/lib/branding/brandingProvider.service.mjs +0 -33
- package/esm2022/lib/branding/components/site-default-footer/site-default-footer.component.mjs +0 -37
- package/esm2022/lib/branding/components/site-default-header/site-default-header.component.mjs +0 -74
- package/esm2022/lib/branding/components/site-micro-footer/site-micro-footer.component.mjs +0 -34
- package/esm2022/lib/community/community.module.mjs +0 -31
- package/esm2022/lib/community/components/gethelp-form/gethelp-form.component.mjs +0 -79
- package/esm2022/lib/community/components/meetups/meetups.component.mjs +0 -69
- package/esm2022/lib/community/components/recentcontent/recentcontent.component.mjs +0 -29
- package/esm2022/lib/community/interfaces/ICommunityState.mjs +0 -2
- package/esm2022/lib/community/models/meetupDto.mjs +0 -6
- package/esm2022/lib/community/models/resourceDto.mjs +0 -6
- package/esm2022/lib/community/services/communityClientConfig.mjs +0 -30
- package/esm2022/lib/componentBase.mjs +0 -33
- package/esm2022/lib/componentWithViewStateBase.mjs +0 -38
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -52
- package/esm2022/lib/components/checkbox/checkbox.module.mjs +0 -24
- package/esm2022/lib/components/expand/expand.component.mjs +0 -41
- package/esm2022/lib/components/expand/expand.module.mjs +0 -24
- package/esm2022/lib/components/loading/loading.component.mjs +0 -33
- package/esm2022/lib/components/loading/loading.module.mjs +0 -24
- package/esm2022/lib/components/mat-tags/mat-tags.component.mjs +0 -82
- package/esm2022/lib/components/mat-tags/mat-tags.module.mjs +0 -47
- package/esm2022/lib/components/metadata-input/metadata-input.component.mjs +0 -99
- package/esm2022/lib/components/metadata-input/metadata-input.module.mjs +0 -39
- package/esm2022/lib/components/multi-email-input/multi-email-input.component.mjs +0 -112
- package/esm2022/lib/components/multi-email-input/multi-email-input.module.mjs +0 -39
- package/esm2022/lib/components/paginator/paginator.component.mjs +0 -50
- package/esm2022/lib/components/paginator/paginator.module.mjs +0 -40
- package/esm2022/lib/components/select-list/select-list.component.mjs +0 -73
- package/esm2022/lib/components/select-list/select-list.module.mjs +0 -46
- package/esm2022/lib/components/snapshot-inviteurls/snapshot-inviteurls.component.mjs +0 -30
- package/esm2022/lib/components/snapshot-inviteurls/snapshot-inviteurls.module.mjs +0 -36
- package/esm2022/lib/components/tabnavigator/tabnavigator.component.mjs +0 -36
- package/esm2022/lib/components/tabnavigator/tabnavigator.module.mjs +0 -32
- package/esm2022/lib/components/topicselector/customCheckValidator.mjs +0 -15
- package/esm2022/lib/components/topicselector/minTopicsSelectedValidator.mjs +0 -15
- package/esm2022/lib/components/topicselector/topic-selector.component.mjs +0 -220
- package/esm2022/lib/components/topicselector/topic-selector.module.mjs +0 -55
- package/esm2022/lib/dialogs/dialog-account/account.service.mjs +0 -29
- package/esm2022/lib/dialogs/dialog-account/dialog-account.component.mjs +0 -86
- package/esm2022/lib/dialogs/dialog-account/dialog-account.module.mjs +0 -21
- package/esm2022/lib/dialogs/dialog-account/resetPasswordRequestDto.model.mjs +0 -3
- package/esm2022/lib/dialogs/dialog-factorinformation/dialog-factorinformation.component.mjs +0 -48
- package/esm2022/lib/dialogs/dialog-factorinformation/dialog-factorinformation.module.mjs +0 -21
- package/esm2022/lib/dialogs/dialog-resourcedownload/dialog-resourcedownload.component.mjs +0 -76
- package/esm2022/lib/dialogs/dialog-resourcedownload/dialog-resourcedownload.module.mjs +0 -23
- package/esm2022/lib/dialogs/dialog-resourcedownload/resourceDownload.service.mjs +0 -26
- package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.component.mjs +0 -25
- package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.directive.mjs +0 -30
- package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.module.mjs +0 -19
- package/esm2022/lib/dialogs/dialog-support/contactDto.mjs +0 -2
- package/esm2022/lib/dialogs/dialog-support/contactService.service.mjs +0 -25
- package/esm2022/lib/dialogs/dialog-support/contactTypeDto.mjs +0 -2
- package/esm2022/lib/dialogs/dialog-support/dialog-support.component.mjs +0 -90
- package/esm2022/lib/dialogs/dialog-support/dialog-support.directive.mjs +0 -131
- package/esm2022/lib/dialogs/dialog-support/dialog-support.module.mjs +0 -27
- package/esm2022/lib/directives/backbutton/backbutton.directive.mjs +0 -34
- package/esm2022/lib/directives/backbutton/backbutton.module.mjs +0 -17
- package/esm2022/lib/directives/guards/guards.module.mjs +0 -30
- package/esm2022/lib/directives/guards/validChangeTokenGuard.mjs +0 -27
- package/esm2022/lib/directives/guards/validKeyGuard.mjs +0 -26
- package/esm2022/lib/directives/guards/validSnapshotKeyGuard.mjs +0 -27
- package/esm2022/lib/directives/guards/validTeamKeyGuard.mjs +0 -27
- package/esm2022/lib/errorhandling/error.model.mjs +0 -16
- package/esm2022/lib/errorhandling/errorHandler.mjs +0 -96
- package/esm2022/lib/errorhandling/errorService.module.mjs +0 -24
- package/esm2022/lib/errorhandling/errorServiceConfig.mjs +0 -34
- package/esm2022/lib/guides/components/imageslider/imageslider.component.mjs +0 -52
- package/esm2022/lib/guides/components/resumeguidehover/resumeguidehover.component.mjs +0 -40
- package/esm2022/lib/guides/dialogs/dialog-guide/dialog-guide.component.mjs +0 -144
- package/esm2022/lib/guides/dialogs/dialog-guides/dialog-guides.component.mjs +0 -90
- package/esm2022/lib/guides/directives/startguide/startguide.directive.mjs +0 -27
- package/esm2022/lib/guides/guides.module.mjs +0 -92
- package/esm2022/lib/guides/interfaces/IGuideState.mjs +0 -2
- package/esm2022/lib/guides/models/guideCollectionDto.mjs +0 -19
- package/esm2022/lib/guides/services/guidePopup.service.mjs +0 -80
- package/esm2022/lib/guides/services/guideStateInBackEnd.service.mjs +0 -54
- package/esm2022/lib/guides/services/guideStateInBrowser.service.mjs +0 -56
- package/esm2022/lib/guides/services/guidesClientConfig.mjs +0 -30
- package/esm2022/lib/guides/services/interfaces.mjs +0 -2
- package/esm2022/lib/models/brandingSettingsDto.mjs +0 -5
- package/esm2022/lib/models/channelDto.mjs +0 -18
- package/esm2022/lib/models/clientInfoDto.mjs +0 -7
- package/esm2022/lib/models/contextItemDto.mjs +0 -7
- package/esm2022/lib/models/featuresDto.mjs +0 -3
- package/esm2022/lib/models/keyValueDto.mjs +0 -7
- package/esm2022/lib/models/modelStructureDto.mjs +0 -46
- package/esm2022/lib/models/paginatedResponse.mjs +0 -6
- package/esm2022/lib/models/pagingOptions.mjs +0 -3
- package/esm2022/lib/models/selectListItem.mjs +0 -8
- package/esm2022/lib/models/userInfoDto.mjs +0 -16
- package/esm2022/lib/models/userSettingsDto.mjs +0 -65
- package/esm2022/lib/pipes/callback/callback.module.mjs +0 -17
- package/esm2022/lib/pipes/callback/callback.pipe.mjs +0 -20
- package/esm2022/lib/pipes/dateRange/ngx-dateRange.module.mjs +0 -17
- package/esm2022/lib/pipes/dateRange/ngx-dateRange.pipe.mjs +0 -36
- package/esm2022/lib/pipes/dateRange/ngx-dateRangeDto.model.mjs +0 -3
- package/esm2022/lib/pipes/segmentName/segmentName.module.mjs +0 -17
- package/esm2022/lib/pipes/segmentName/segmentName.pipe.mjs +0 -31
- package/esm2022/lib/pipes/slugify/ngx-slugify.module.mjs +0 -17
- package/esm2022/lib/pipes/slugify/ngx-slugify.pipe.mjs +0 -24
- package/esm2022/lib/results/components/age-indicator/age-indicator.component.mjs +0 -37
- package/esm2022/lib/results/components/arrow/arrow.component.mjs +0 -224
- package/esm2022/lib/results/components/badge/badge.component.mjs +0 -29
- package/esm2022/lib/results/components/badge-progression/badge-progression.component.mjs +0 -25
- package/esm2022/lib/results/components/badge-streak/badge-streak.component.mjs +0 -29
- package/esm2022/lib/results/components/badges/badges.component.mjs +0 -40
- package/esm2022/lib/results/components/benchmark-indicator/benchmark-indicator.component.mjs +0 -21
- package/esm2022/lib/results/components/coachingcenter-teaser/coachingcenter-teaser.component.mjs +0 -28
- package/esm2022/lib/results/components/delta-arrow/delta-arrow.component.mjs +0 -37
- package/esm2022/lib/results/components/doityourself/doityourself.component.mjs +0 -17
- package/esm2022/lib/results/components/doityourselfworkshops/doityourselfworkshops.component.mjs +0 -41
- package/esm2022/lib/results/components/factor-axis/factor-axis.component.mjs +0 -62
- package/esm2022/lib/results/components/factors/factors.component.mjs +0 -46
- package/esm2022/lib/results/components/filter-tags/filter-tags.component.mjs +0 -31
- package/esm2022/lib/results/components/focusareas/focusareas.component.mjs +0 -43
- package/esm2022/lib/results/components/footer/footer.component.mjs +0 -30
- package/esm2022/lib/results/components/impact-indicator/impact-indicator.component.mjs +0 -20
- package/esm2022/lib/results/components/liberatorkits/liberatorkits.component.mjs +0 -29
- package/esm2022/lib/results/components/limitationsapply/limitationsapply.component.mjs +0 -20
- package/esm2022/lib/results/components/model/model.component.mjs +0 -79
- package/esm2022/lib/results/components/model-factor/model-factor.component.mjs +0 -95
- package/esm2022/lib/results/components/model-factor-breakdown/model-factor-breakdown.component.mjs +0 -44
- package/esm2022/lib/results/components/model-switcher/model-switcher.component.mjs +0 -33
- package/esm2022/lib/results/components/nav-button/nav-button.component.mjs +0 -85
- package/esm2022/lib/results/components/participants/participants.component.mjs +0 -78
- package/esm2022/lib/results/components/quicktips/quicktips.component.mjs +0 -77
- package/esm2022/lib/results/components/recommendation/recommendation.component.mjs +0 -53
- package/esm2022/lib/results/components/recommendations/recommendations.component.mjs +0 -57
- package/esm2022/lib/results/components/research/research.component.mjs +0 -16
- package/esm2022/lib/results/components/roadmap/roadmap.component.mjs +0 -29
- package/esm2022/lib/results/components/teamdashboard-teaser/teamdashboard-teaser.component.mjs +0 -30
- package/esm2022/lib/results/components/teameffectiveness/teameffectiveness.component.mjs +0 -40
- package/esm2022/lib/results/components/termsupdated/termsupdated.component.mjs +0 -37
- package/esm2022/lib/results/components/tip-badge/tip-badge.component.mjs +0 -53
- package/esm2022/lib/results/components/trends/trends.component.mjs +0 -138
- package/esm2022/lib/results/components/update-in-progress/update-in-progress.component.mjs +0 -36
- package/esm2022/lib/results/components/userprofile/userprofile.component.mjs +0 -166
- package/esm2022/lib/results/components/video/video.component.mjs +0 -23
- package/esm2022/lib/results/components/widget-factorscore/widget-factorscore.component.mjs +0 -41
- package/esm2022/lib/results/components/widget-participationrate/widget-participationrate.component.mjs +0 -32
- package/esm2022/lib/results/dialogs/dialog-export-factorscores/dialog-export-factorscores.component.mjs +0 -94
- package/esm2022/lib/results/dialogs/dialog-export-factorscores/dialog-export-factorscores.directive.mjs +0 -30
- package/esm2022/lib/results/dialogs/dialog-export-teamlist/dialog-export-teamlist.component.mjs +0 -93
- package/esm2022/lib/results/dialogs/dialog-export-teamlist/dialog-export-teamlist.directive.mjs +0 -30
- package/esm2022/lib/results/dialogs/dialog-modelfilter/dialog-modelfilter.component.mjs +0 -84
- package/esm2022/lib/results/dialogs/dialog-notes/dialog-notes.component.mjs +0 -46
- package/esm2022/lib/results/dialogs/dialog-settings/dialog-settings.component.mjs +0 -167
- package/esm2022/lib/results/interfaces/IResultsState.mjs +0 -2
- package/esm2022/lib/results/models/badgeDto.mjs +0 -10
- package/esm2022/lib/results/models/dataSetDto.mjs +0 -7
- package/esm2022/lib/results/models/dimensionResultDto.mjs +0 -3
- package/esm2022/lib/results/models/exportRequestDto.mjs +0 -11
- package/esm2022/lib/results/models/factorScoreDto.mjs +0 -96
- package/esm2022/lib/results/models/localUserDto.model.mjs +0 -4
- package/esm2022/lib/results/models/participantDto.model.mjs +0 -4
- package/esm2022/lib/results/models/snapshotDto.model.mjs +0 -4
- package/esm2022/lib/results/models/snapshotMetaDataDto.mjs +0 -5
- package/esm2022/lib/results/models/teamDto.model.mjs +0 -4
- package/esm2022/lib/results/models/teamListResponseDto.mjs +0 -6
- package/esm2022/lib/results/models/teamMetaDataDto.mjs +0 -11
- package/esm2022/lib/results/models/trendDataRequestDto.model.mjs +0 -3
- package/esm2022/lib/results/models/userListResponseDto.mjs +0 -6
- package/esm2022/lib/results/models/widgetDataDto.mjs +0 -3
- package/esm2022/lib/results/results.module.mjs +0 -385
- package/esm2022/lib/results/services/account.service.mjs +0 -24
- package/esm2022/lib/results/services/dimissPopupService.mjs +0 -18
- package/esm2022/lib/results/services/exportService.mjs +0 -30
- package/esm2022/lib/results/services/factorService.mjs +0 -24
- package/esm2022/lib/results/services/resultsClientConfig.mjs +0 -30
- package/esm2022/lib/results/services/terms.service.mjs +0 -24
- package/esm2022/lib/results/services/trend.service.mjs +0 -24
- package/esm2022/lib/results/services/userProfile.service.mjs +0 -41
- package/esm2022/lib/validators/domainValidator.mjs +0 -14
- package/esm2022/lib/validators/matchInputValidator.mjs +0 -25
- package/esm2022/lib/validators/maxSelectedValidator.mjs +0 -9
- package/esm2022/lib/viewModel/interfaces.mjs +0 -6
- package/esm2022/lib/viewModel/reloadStrategies/noReloadStrategy.mjs +0 -22
- package/esm2022/lib/viewModel/reloadStrategies/reloadOnPushStrategy.mjs +0 -52
- package/esm2022/lib/viewModel/services/sessionIdInterceptor.service.mjs +0 -31
- package/esm2022/lib/viewModel/services/sessionIdProvider.service.mjs +0 -22
- package/esm2022/lib/viewModel/userSettings.service.mjs +0 -32
- package/esm2022/lib/viewModel/viewModelState.module.mjs +0 -31
- package/esm2022/lib/viewModel/viewModelState.service.mjs +0 -79
- package/esm2022/lib/viewModel/viewModelStateConfig.mjs +0 -30
- package/esm2022/public-api.mjs +0 -224
- package/esm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs +0 -5
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
3
|
-
import { ComponentBase } from '../../../componentBase';
|
|
4
|
-
import { SelectItem } from '../../../models/selectListItem';
|
|
5
|
-
import { VIEWSTATE_PROVIDER } from '../../../viewModel/viewModelState.service';
|
|
6
|
-
import { InterventionStateEnum } from '../../models/actionDto';
|
|
7
|
-
import { ActionOptionDto } from '../../models/actionOptionsDto';
|
|
8
|
-
import { ActionPrefillDto } from '../../models/actionPrefillDto';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/material/dialog";
|
|
11
|
-
import * as i2 from "@angular/forms";
|
|
12
|
-
import * as i3 from "../../services/actionService";
|
|
13
|
-
import * as i4 from "@angular/material/snack-bar";
|
|
14
|
-
import * as i5 from "@angular/material/form-field";
|
|
15
|
-
import * as i6 from "@angular/material/select";
|
|
16
|
-
import * as i7 from "@angular/material/core";
|
|
17
|
-
import * as i8 from "@angular/common";
|
|
18
|
-
import * as i9 from "@angular/material/input";
|
|
19
|
-
import * as i10 from "@angular/material/datepicker";
|
|
20
|
-
import * as i11 from "../../../viewModel/viewModelState.service";
|
|
21
|
-
export class ActionManageComponent extends ComponentBase {
|
|
22
|
-
constructor(dialogRef, formBuilder, actionService, viewModelState, snackBar) {
|
|
23
|
-
super(snackBar);
|
|
24
|
-
this.dialogRef = dialogRef;
|
|
25
|
-
this.formBuilder = formBuilder;
|
|
26
|
-
this.actionService = actionService;
|
|
27
|
-
this.viewModelState = viewModelState;
|
|
28
|
-
this.snackBar = snackBar;
|
|
29
|
-
this.teams = [];
|
|
30
|
-
this.showTeamSelector = true;
|
|
31
|
-
}
|
|
32
|
-
ngOnInit() {
|
|
33
|
-
this.createForm();
|
|
34
|
-
this.ownerList = this.actionService.getOwnerOptions();
|
|
35
|
-
this.interventionTypeList = this.actionService.getTypeOptions();
|
|
36
|
-
this.stateList = this.actionService.getStateOptions();
|
|
37
|
-
this.viewStateSubscription = this.viewModelState.data.subscribe(success => {
|
|
38
|
-
if (success.loaded) {
|
|
39
|
-
this.factors = this.getFactors(success.factorScores.modelStructure);
|
|
40
|
-
this.expectedEffectOnList = success.factorScores.factorScores.map(p => new ActionOptionDto(p.key, p.name));
|
|
41
|
-
if (success.teamMetaData != null) {
|
|
42
|
-
this.teams.push(new ActionOptionDto(success.teamMetaData.teamKey, success.teamMetaData.name));
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.teams = success.factorScores.composition.points.points.map(p => new ActionOptionDto(p.publicKey, p.name));
|
|
46
|
-
}
|
|
47
|
-
if (this.teams.length == 1) {
|
|
48
|
-
this.prefill.teamKey = this.teams[0].key;
|
|
49
|
-
}
|
|
50
|
-
this.showTeamSelector = (!this.prefill.teamKey || this.prefill.teamKey.length == 0);
|
|
51
|
-
this.applyPrefill();
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
if (this.action && this.action.publicKey) {
|
|
55
|
-
this.form.controls.teamKey.setValue(this.action.team.publicKey);
|
|
56
|
-
this.form.controls.publicKey.setValue(this.action.publicKey);
|
|
57
|
-
this.form.controls.description.setValue(this.action.description);
|
|
58
|
-
this.form.controls.url.setValue(this.action.url);
|
|
59
|
-
this.form.controls.expectedImpactOn.setValue(this.action.expectedImpactOn);
|
|
60
|
-
this.form.controls.type.setValue(this.action.type);
|
|
61
|
-
this.form.controls.owner.setValue(this.action.owner);
|
|
62
|
-
this.form.controls.state.setValue(this.action.state);
|
|
63
|
-
this.form.controls.due.setValue(this.action.due);
|
|
64
|
-
this.form.controls.quickTipPublicKey.setValue(this.action.quickTipPublicKey);
|
|
65
|
-
this.showTeamSelector = false;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
async onSubmit(formDirective) {
|
|
69
|
-
if (!this.form.valid) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
if (this.form.controls.publicKey.value) {
|
|
73
|
-
await this.actionService.update(this.form.controls.teamKey.value, this.form.getRawValue());
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
await this.actionService.create(this.form.controls.teamKey.value, this.form.getRawValue());
|
|
77
|
-
}
|
|
78
|
-
this.dialogRef.closeAll();
|
|
79
|
-
this.viewModelState.updating.next(true);
|
|
80
|
-
}
|
|
81
|
-
async delete() {
|
|
82
|
-
if (window.confirm("Are you sure you want to delete this intervention?")) {
|
|
83
|
-
await this.actionService.delete(this.form.controls.teamKey.value, this.form.controls.publicKey.value);
|
|
84
|
-
this.dialogRef.closeAll();
|
|
85
|
-
this.viewModelState.updating.next(true);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
cancel() {
|
|
89
|
-
this.resetForm(null);
|
|
90
|
-
this.dialogRef.closeAll();
|
|
91
|
-
}
|
|
92
|
-
resetForm(formDirective) {
|
|
93
|
-
this.showTeamSelector = (!this.prefill.teamKey || this.prefill.teamKey.length == 0);
|
|
94
|
-
this.form.reset();
|
|
95
|
-
this.action = null;
|
|
96
|
-
if (formDirective) {
|
|
97
|
-
formDirective.resetForm();
|
|
98
|
-
}
|
|
99
|
-
this.form.controls.state.setValue(InterventionStateEnum.open);
|
|
100
|
-
this.applyPrefill();
|
|
101
|
-
}
|
|
102
|
-
getFactors(model) {
|
|
103
|
-
if (model == null || model.definition == null || model.definition.factors == null) {
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
var result = [];
|
|
107
|
-
for (var factor of model.definition.factors.filter(p => p.parentKey == null)) {
|
|
108
|
-
result.push(new SelectItem(factor.publicKey, factor.name, false));
|
|
109
|
-
for (var lowerDimension of factor.lower) {
|
|
110
|
-
result.push(new SelectItem(lowerDimension.publicKey, lowerDimension.name, true));
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
}
|
|
115
|
-
createForm() {
|
|
116
|
-
this.form = this.formBuilder.group({
|
|
117
|
-
publicKey: [""],
|
|
118
|
-
teamKey: ["", [Validators.required]],
|
|
119
|
-
quickTipPublicKey: [""],
|
|
120
|
-
description: ["", [Validators.required, Validators.maxLength(500)]],
|
|
121
|
-
url: ["", [Validators.maxLength(500)]],
|
|
122
|
-
owner: ["", Validators.required],
|
|
123
|
-
state: ["", Validators.required],
|
|
124
|
-
type: ["", Validators.required],
|
|
125
|
-
due: [""],
|
|
126
|
-
expectedImpactOn: ["", Validators.required]
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
applyPrefill() {
|
|
130
|
-
if (this.prefill) {
|
|
131
|
-
this.form.controls.teamKey.setValue(this.prefill.teamKey);
|
|
132
|
-
this.form.controls.description.setValue(this.prefill.description);
|
|
133
|
-
this.form.controls.expectedImpactOn.setValue(this.prefill.expectedImpactOn);
|
|
134
|
-
this.form.controls.type.setValue(this.prefill.type);
|
|
135
|
-
this.form.controls.owner.setValue(this.prefill.owner);
|
|
136
|
-
this.form.controls.state.setValue(this.prefill.state);
|
|
137
|
-
this.form.controls.url.setValue(this.prefill.url);
|
|
138
|
-
this.form.controls.quickTipPublicKey.setValue(this.prefill.quickTipPublicKey);
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
this.prefill = new ActionPrefillDto();
|
|
142
|
-
this.prefill.expectedImpactOn = [];
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
ngOnDestroy() {
|
|
146
|
-
if (this.viewStateSubscription) {
|
|
147
|
-
this.viewStateSubscription.unsubscribe();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ActionManageComponent, deps: [{ token: i1.MatDialog }, { token: i2.FormBuilder }, { token: i3.ActionService }, { token: VIEWSTATE_PROVIDER }, { token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
151
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ActionManageComponent, selector: "action-manage", inputs: { prefill: "prefill", action: "action" }, usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit(formDirective)\" #formDirective=\"ngForm\" class=\"manage-action-form\">\n <mat-form-field appearance=\"fill\" *ngIf=\"showTeamSelector\" subscriptSizing=\"dynamic\">\n <mat-label>Which team owns this action?</mat-label>\n <mat-select formControlName=\"teamKey\" id=\"teamKey\">\n <mat-option class=\"select-option\" *ngFor=\"let team of teams\" [value]=\"team.key\">{{team.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>Enter short description</mat-label>\n <textarea matInput formControlName=\"description\" id=\"description\" rows=\"2\" maxlength=\"500\"></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.expectedImpactOn || prefill.expectedImpactOn.length == 0\" subscriptSizing=\"dynamic\">\n <mat-label>Where do you expect improvement?</mat-label>\n <mat-select multiple formControlName=\"expectedImpactOn\" id=\"expectedImpactOn\">\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.owner\" subscriptSizing=\"dynamic\">\n <mat-label>Who owns this action?</mat-label>\n <mat-select formControlName=\"owner\" id=\"owner\">\n <mat-option class=\"select-option\" *ngFor=\"let owner of ownerList\" [value]=\"owner.key\">{{owner.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.type\" subscriptSizing=\"dynamic\">\n <mat-label>What is the type of action?</mat-label>\n <mat-select formControlName=\"type\" id=\"type\">\n <mat-option class=\"select-option\" *ngFor=\"let interventionType of interventionTypeList\" [value]=\"interventionType.key\">{{interventionType.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.state || action\" subscriptSizing=\"dynamic\">\n <mat-label>What is the state of this action?</mat-label>\n <mat-select formControlName=\"state\" id=\"state\">\n <mat-option class=\"select-option\" *ngFor=\"let state of stateList\" [value]=\"state.key\">{{state.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.url || prefill.url.length == 0\" subscriptSizing=\"dynamic\">\n <mat-label>Url for additional details (e.g. JIRA or Trello)</mat-label>\n <input matInput formControlName=\"url\" id=\"url\" rows=\"1\" maxlength=\"500\">\n </mat-form-field>\n <mat-form-field appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>When should it be done?</mat-label>\n <input matInput [matDatepicker]=\"picker\" formControlName=\"due\" id=\"due\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <div class=\"toolbar leftright\">\n <div>\n <a class=\"button borderless delete\" href=\"javascript:void(null);\" (click)=\"delete()\" id=\"delete\" *ngIf=\"action\"><span class=\"icon ph-trash\"></span> delete</a>\n <a class=\"button borderless cancel\" href=\"javascript:void(null);\" (click)=\"cancel()\" id=\"cancel\" *ngIf=\"form.dirty || action\"><span class=\"icon ph-x-circle\"></span> cancel</a>\n </div>\n <input class=\"button primary\" type=\"submit\" id=\"submit\" value=\"save\" />\n </div>\n</form>\n", styles: ["form{margin-top:20px;position:sticky;top:20px}form .mat-form-field{width:100%;margin-bottom:10px}form .toolbar .button.cancel{padding-left:0;margin-left:0}@media only screen and (min-width: 992px){form .toolbar .delete{padding-left:0;margin-left:0}}.mat-mdc-option.lower{margin-left:20px}\n"], dependencies: [{ kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.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.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i10.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] }); }
|
|
152
|
-
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ActionManageComponent, decorators: [{
|
|
154
|
-
type: Component,
|
|
155
|
-
args: [{ selector: 'action-manage', template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit(formDirective)\" #formDirective=\"ngForm\" class=\"manage-action-form\">\n <mat-form-field appearance=\"fill\" *ngIf=\"showTeamSelector\" subscriptSizing=\"dynamic\">\n <mat-label>Which team owns this action?</mat-label>\n <mat-select formControlName=\"teamKey\" id=\"teamKey\">\n <mat-option class=\"select-option\" *ngFor=\"let team of teams\" [value]=\"team.key\">{{team.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>Enter short description</mat-label>\n <textarea matInput formControlName=\"description\" id=\"description\" rows=\"2\" maxlength=\"500\"></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.expectedImpactOn || prefill.expectedImpactOn.length == 0\" subscriptSizing=\"dynamic\">\n <mat-label>Where do you expect improvement?</mat-label>\n <mat-select multiple formControlName=\"expectedImpactOn\" id=\"expectedImpactOn\">\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.owner\" subscriptSizing=\"dynamic\">\n <mat-label>Who owns this action?</mat-label>\n <mat-select formControlName=\"owner\" id=\"owner\">\n <mat-option class=\"select-option\" *ngFor=\"let owner of ownerList\" [value]=\"owner.key\">{{owner.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.type\" subscriptSizing=\"dynamic\">\n <mat-label>What is the type of action?</mat-label>\n <mat-select formControlName=\"type\" id=\"type\">\n <mat-option class=\"select-option\" *ngFor=\"let interventionType of interventionTypeList\" [value]=\"interventionType.key\">{{interventionType.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.state || action\" subscriptSizing=\"dynamic\">\n <mat-label>What is the state of this action?</mat-label>\n <mat-select formControlName=\"state\" id=\"state\">\n <mat-option class=\"select-option\" *ngFor=\"let state of stateList\" [value]=\"state.key\">{{state.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" *ngIf=\"!prefill.url || prefill.url.length == 0\" subscriptSizing=\"dynamic\">\n <mat-label>Url for additional details (e.g. JIRA or Trello)</mat-label>\n <input matInput formControlName=\"url\" id=\"url\" rows=\"1\" maxlength=\"500\">\n </mat-form-field>\n <mat-form-field appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>When should it be done?</mat-label>\n <input matInput [matDatepicker]=\"picker\" formControlName=\"due\" id=\"due\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <div class=\"toolbar leftright\">\n <div>\n <a class=\"button borderless delete\" href=\"javascript:void(null);\" (click)=\"delete()\" id=\"delete\" *ngIf=\"action\"><span class=\"icon ph-trash\"></span> delete</a>\n <a class=\"button borderless cancel\" href=\"javascript:void(null);\" (click)=\"cancel()\" id=\"cancel\" *ngIf=\"form.dirty || action\"><span class=\"icon ph-x-circle\"></span> cancel</a>\n </div>\n <input class=\"button primary\" type=\"submit\" id=\"submit\" value=\"save\" />\n </div>\n</form>\n", styles: ["form{margin-top:20px;position:sticky;top:20px}form .mat-form-field{width:100%;margin-bottom:10px}form .toolbar .button.cancel{padding-left:0;margin-left:0}@media only screen and (min-width: 992px){form .toolbar .delete{padding-left:0;margin-left:0}}.mat-mdc-option.lower{margin-left:20px}\n"] }]
|
|
156
|
-
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.FormBuilder }, { type: i3.ActionService }, { type: i11.ViewModelStateBase, decorators: [{
|
|
157
|
-
type: Inject,
|
|
158
|
-
args: [VIEWSTATE_PROVIDER]
|
|
159
|
-
}] }, { type: i4.MatSnackBar }], propDecorators: { prefill: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], action: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}] } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLW1hbmFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvYWN0aW9ucy9jb21wb25lbnRzL2FjdGlvbi1tYW5hZ2UvYWN0aW9uLW1hbmFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvYWN0aW9ucy9jb21wb25lbnRzL2FjdGlvbi1tYW5hZ2UvYWN0aW9uLW1hbmFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUE4QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBc0IsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuRyxPQUFPLEVBQWEscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRakUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGFBQWE7SUFjckQsWUFBb0IsU0FBb0IsRUFBVSxXQUF3QixFQUFVLGFBQTRCLEVBQXNDLGNBQWdELEVBQVksUUFBcUI7UUFDcE8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBREUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGdCQUFXLEdB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OzBCQWtCMEYsTUFBTTsyQkFBQyxrQkFBa0I7bUVBYjVILE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgRm9ybUdyb3VwRGlyZWN0aXZlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudEJhc2UnO1xuaW1wb3J0IHsgTW9kZWxTdHJ1Y3R1cmVEdG8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbW9kZWxTdHJ1Y3R1cmVEdG8nO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZWxlY3RMaXN0SXRlbSc7XG5pbXBvcnQgeyBWSUVXU1RBVEVfUFJPVklERVIsIFZpZXdNb2RlbFN0YXRlQmFzZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXdNb2RlbC92aWV3TW9kZWxTdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IElBY3Rpb25TdGF0ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFjdGlvblN0YXRlJztcbmltcG9ydCB7IEFjdGlvbkR0bywgSW50ZXJ2ZW50aW9uU3RhdGVFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvbkR0byc7XG5pbXBvcnQgeyBBY3Rpb25PcHRpb25EdG8gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWN0aW9uT3B0aW9uc0R0byc7XG5pbXBvcnQgeyBBY3Rpb25QcmVmaWxsRHRvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvblByZWZpbGxEdG8nO1xuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FjdGlvblNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiAnYWN0aW9uLW1hbmFnZScsXG4gICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLW1hbmFnZS5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tbWFuYWdlLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uTWFuYWdlQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7XG4gICBASW5wdXQoKSBwdWJsaWMgcHJlZmlsbDogQWN0aW9uUHJlZmlsbER0bztcbiAgIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb246IEFjdGlvbkR0bztcbiAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gICBwdWJsaWMgaW50ZXJ2ZW50aW9uVHlwZUxpc3Q6IEFjdGlvbk9wdGlvbkR0b1tdO1xuICAgcHVibGljIGV4cGVjdGVkRWZmZWN0T25MaXN0OiBBY3Rpb25PcHRpb25EdG9bXTtcbiAgIHB1YmxpYyBzdGF0ZUxpc3Q6IEFjdGlvbk9wdGlvbkR0b1tdO1xuICAgcHVibGljIG93bmVyTGlzdDogQWN0aW9uT3B0aW9uRHRvW107XG4gICBwdWJsaWMgdGVhbXM6IEFjdGlvbk9wdGlvbkR0b1tdID0gW107XG4gICBwdWJsaWMgbXVsdGlwbGVUZWFtczogYm9vbGVhbjtcbiAgIHB1YmxpYyB2aWV3U3RhdGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgIHB1YmxpYyBzaG93VGVhbVNlbGVjdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgIHB1YmxpYyBmYWN0b3JzOiBTZWxlY3RJdGVtW107XG5cbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2csIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjdGlvblNlcnZpY2U6IEFjdGlvblNlcnZpY2UsIEBJbmplY3QoVklFV1NUQVRFX1BST1ZJREVSKSBwcml2YXRlIHZpZXdNb2RlbFN0YXRlOiBWaWV3TW9kZWxTdGF0ZUJhc2U8SUFjdGlvblN0YXRlPiwgcHJvdGVjdGVkIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge1xuICAgICAgc3VwZXIoc25hY2tCYXIpXG4gICB9XG5cbiAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgICAgdGhpcy5vd25lckxpc3QgPSB0aGlzLmFjdGlvblNlcnZpY2UuZ2V0T3duZXJPcHRpb25zKCk7XG4gICAgICB0aGlzLmludGVydmVudGlvblR5cGVMaXN0ID0gdGhpcy5hY3Rpb25TZXJ2aWNlLmdldFR5cGVPcHRpb25zKCk7XG4gICAgICB0aGlzLnN0YXRlTGlzdCA9IHRoaXMuYWN0aW9uU2VydmljZS5nZXRTdGF0ZU9wdGlvbnMoKTtcblxuICAgICAgdGhpcy52aWV3U3RhdGVTdWJzY3JpcHRpb24gPSB0aGlzLnZpZXdNb2RlbFN0YXRlLmRhdGEuc3Vic2NyaWJlKHN1Y2Nlc3MgPT4ge1xuICAgICAgICAgaWYgKHN1Y2Nlc3MubG9hZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZhY3RvcnMgPSB0aGlzLmdldEZhY3RvcnMoc3VjY2Vzcy5mYWN0b3JTY29yZXMubW9kZWxTdHJ1Y3R1cmUpO1xuICAgICAgICAgICAgdGhpcy5leHBlY3RlZEVmZmVjdE9uTGlzdCA9IHN1Y2Nlc3MuZmFjdG9yU2NvcmVzLmZhY3RvclNjb3Jlcy5tYXAocCA9PiBuZXcgQWN0aW9uT3B0aW9uRHRvKHAua2V5LCBwLm5hbWUpKTtcblxuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MudGVhbU1ldGFEYXRhICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgIHRoaXMudGVhbXMucHVzaChuZXcgQWN0aW9uT3B0aW9uRHRvKHN1Y2Nlc3MudGVhbU1ldGFEYXRhLnRlYW1LZXksIHN1Y2Nlc3MudGVhbU1ldGFEYXRhLm5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgdGhpcy50ZWFtcyA9IHN1Y2Nlc3MuZmFjdG9yU2NvcmVzLmNvbXBvc2l0aW9uLnBvaW50cy5wb2ludHMubWFwKHAgPT4gbmV3IEFjdGlvbk9wdGlvbkR0byhwLnB1YmxpY0tleSwgcC5uYW1lKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRlYW1zLmxlbmd0aCA9PSAxKSB7IHRoaXMucHJlZmlsbC50ZWFtS2V5ID0gdGhpcy50ZWFtc1swXS5rZXk7IH1cbiAgICAgICAgICAgIHRoaXMuc2hvd1RlYW1TZWxlY3RvciA9ICghdGhpcy5wcmVmaWxsLnRlYW1LZXkgfHwgdGhpcy5wcmVmaWxsLnRlYW1LZXkubGVuZ3RoID09IDApO1xuICAgICAgICAgICAgdGhpcy5hcHBseVByZWZpbGwoKTtcbiAgICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy5hY3Rpb24gJiYgdGhpcy5hY3Rpb24ucHVibGljS2V5KSB7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMudGVhbUtleS5zZXRWYWx1ZSh0aGlzLmFjdGlvbi50ZWFtLnB1YmxpY0tleSk7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMucHVibGljS2V5LnNldFZhbHVlKHRoaXMuYWN0aW9uLnB1YmxpY0tleSk7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuZGVzY3JpcHRpb24uc2V0VmFsdWUodGhpcy5hY3Rpb24uZGVzY3JpcHRpb24pO1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnVybC5zZXRWYWx1ZSh0aGlzLmFjdGlvbi51cmwpO1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmV4cGVjdGVkSW1wYWN0T24uc2V0VmFsdWUodGhpcy5hY3Rpb24uZXhwZWN0ZWRJbXBhY3RPbik7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMudHlwZS5zZXRWYWx1ZSh0aGlzLmFjdGlvbi50eXBlKTtcbiAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5vd25lci5zZXRWYWx1ZSh0aGlzLmFjdGlvbi5vd25lcik7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhdGUuc2V0VmFsdWUodGhpcy5hY3Rpb24uc3RhdGUpO1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmR1ZS5zZXRWYWx1ZSh0aGlzLmFjdGlvbi5kdWUpO1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnF1aWNrVGlwUHVibGljS2V5LnNldFZhbHVlKHRoaXMuYWN0aW9uLnF1aWNrVGlwUHVibGljS2V5KTtcbiAgICAgICAgIHRoaXMuc2hvd1RlYW1TZWxlY3RvciA9IGZhbHNlO1xuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgYXN5bmMgb25TdWJtaXQoZm9ybURpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgeyByZXR1cm47IH1cblxuICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9scy5wdWJsaWNLZXkudmFsdWUpIHtcbiAgICAgICAgIGF3YWl0IHRoaXMuYWN0aW9uU2VydmljZS51cGRhdGUodGhpcy5mb3JtLmNvbnRyb2xzLnRlYW1LZXkudmFsdWUsIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICBhd2FpdCB0aGlzLmFjdGlvblNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS5jb250cm9scy50ZWFtS2V5LnZhbHVlLCB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlQWxsKCk7XG4gICAgICB0aGlzLnZpZXdNb2RlbFN0YXRlLnVwZGF0aW5nLm5leHQodHJ1ZSk7XG4gICB9XG5cbiAgIHB1YmxpYyBhc3luYyBkZWxldGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBpZiAod2luZG93LmNvbmZpcm0oXCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgaW50ZXJ2ZW50aW9uP1wiKSkge1xuICAgICAgICAgYXdhaXQgdGhpcy5hY3Rpb25TZXJ2aWNlLmRlbGV0ZSh0aGlzLmZvcm0uY29udHJvbHMudGVhbUtleS52YWx1ZSwgdGhpcy5mb3JtLmNvbnRyb2xzLnB1YmxpY0tleS52YWx1ZSk7XG4gICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZUFsbCgpO1xuICAgICAgICAgdGhpcy52aWV3TW9kZWxTdGF0ZS51cGRhdGluZy5uZXh0KHRydWUpO1xuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgY2FuY2VsKCkge1xuICAgICAgdGhpcy5yZXNldEZvcm0obnVsbCk7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZUFsbCgpO1xuICAgfVxuXG4gICBwcml2YXRlIHJlc2V0Rm9ybShmb3JtRGlyZWN0aXZlOiBGb3JtR3JvdXBEaXJlY3RpdmUpOiB2b2lkIHtcbiAgICAgIHRoaXMuc2hvd1RlYW1TZWxlY3RvciA9ICghdGhpcy5wcmVmaWxsLnRlYW1LZXkgfHwgdGhpcy5wcmVmaWxsLnRlYW1LZXkubGVuZ3RoID09IDApO1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgICB0aGlzLmFjdGlvbiA9IG51bGw7XG5cbiAgICAgIGlmIChmb3JtRGlyZWN0aXZlKSB7XG4gICAgICAgICBmb3JtRGlyZWN0aXZlLnJlc2V0Rm9ybSgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhdGUuc2V0VmFsdWUoSW50ZXJ2ZW50aW9uU3RhdGVFbnVtLm9wZW4pO1xuICAgICAgdGhpcy5hcHBseVByZWZpbGwoKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBnZXRGYWN0b3JzKG1vZGVsOiBNb2RlbFN0cnVjdHVyZUR0byk6IFNlbGVjdEl0ZW1bXSB7XG4gICAgICBpZiAobW9kZWwgPT0gbnVsbCB8fCBtb2RlbC5kZWZpbml0aW9uID09IG51bGwgfHwgbW9kZWwuZGVmaW5pdGlvbi5mYWN0b3JzID09IG51bGwpIHsgcmV0dXJuIG51bGw7IH1cbiAgICAgIHZhciByZXN1bHQ6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgICBmb3IgKHZhciBmYWN0b3Igb2YgbW9kZWwuZGVmaW5pdGlvbi5mYWN0b3JzLmZpbHRlcihwID0+IHAucGFyZW50S2V5ID09IG51bGwpKSB7XG4gICAgICAgICByZXN1bHQucHVzaChuZXcgU2VsZWN0SXRlbShmYWN0b3IucHVibGljS2V5LCBmYWN0b3IubmFtZSwgZmFsc2UpKTtcblxuICAgICAgICAgZm9yICh2YXIgbG93ZXJEaW1lbnNpb24gb2YgZmFjdG9yLmxvd2VyKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChuZXcgU2VsZWN0SXRlbShsb3dlckRpbWVuc2lvbi5wdWJsaWNLZXksIGxvd2VyRGltZW5zaW9uLm5hbWUsIHRydWUpKTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgIH1cblxuICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICBwdWJsaWNLZXk6IFtcIlwiXSxcbiAgICAgICAgIHRlYW1LZXk6IFtcIlwiLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgICAgcXVpY2tUaXBQdWJsaWNLZXk6IFtcIlwiXSxcbiAgICAgICAgIGRlc2NyaXB0aW9uOiBbXCJcIiwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwMCldXSxcbiAgICAgICAgIHVybDogW1wiXCIsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MDApXV0sXG4gICAgICAgICBvd25lcjogW1wiXCIsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgc3RhdGU6IFtcIlwiLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgIHR5cGU6IFtcIlwiLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgIGR1ZTogW1wiXCJdLFxuICAgICAgICAgZXhwZWN0ZWRJbXBhY3RPbjogW1wiXCIsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICB9KTtcbiAgIH1cblxuICAgcHJpdmF0ZSBhcHBseVByZWZpbGwoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5wcmVmaWxsKSB7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMudGVhbUtleS5zZXRWYWx1ZSh0aGlzLnByZWZpbGwudGVhbUtleSk7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuZGVzY3JpcHRpb24uc2V0VmFsdWUodGhpcy5wcmVmaWxsLmRlc2NyaXB0aW9uKTtcbiAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5leHBlY3RlZEltcGFjdE9uLnNldFZhbHVlKHRoaXMucHJlZmlsbC5leHBlY3RlZEltcGFjdE9uKTtcbiAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy50eXBlLnNldFZhbHVlKHRoaXMucHJlZmlsbC50eXBlKTtcbiAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5vd25lci5zZXRWYWx1ZSh0aGlzLnByZWZpbGwub3duZXIpO1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnN0YXRlLnNldFZhbHVlKHRoaXMucHJlZmlsbC5zdGF0ZSk7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMudXJsLnNldFZhbHVlKHRoaXMucHJlZmlsbC51cmwpO1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnF1aWNrVGlwUHVibGljS2V5LnNldFZhbHVlKHRoaXMucHJlZmlsbC5xdWlja1RpcFB1YmxpY0tleSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgIHRoaXMucHJlZmlsbCA9IG5ldyBBY3Rpb25QcmVmaWxsRHRvKCk7XG4gICAgICAgICB0aGlzLnByZWZpbGwuZXhwZWN0ZWRJbXBhY3RPbiA9IFtdO1xuICAgICAgfVxuICAgfVxuXG4gICBuZ09uRGVzdHJveSgpIHtcbiAgICAgIGlmICh0aGlzLnZpZXdTdGF0ZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgdGhpcy52aWV3U3RhdGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdChmb3JtRGlyZWN0aXZlKVwiICNmb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgY2xhc3M9XCJtYW5hZ2UtYWN0aW9uLWZvcm1cIj5cbiAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiICpuZ0lmPVwic2hvd1RlYW1TZWxlY3RvclwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgIDxtYXQtbGFiZWw+V2hpY2ggdGVhbSBvd25zIHRoaXMgYWN0aW9uPzwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidGVhbUtleVwiIGlkPVwidGVhbUtleVwiPlxuICAgICAgICAgPG1hdC1vcHRpb24gY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgKm5nRm9yPVwibGV0IHRlYW0gb2YgdGVhbXNcIiBbdmFsdWVdPVwidGVhbS5rZXlcIj57e3RlYW0ubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICA8bWF0LWxhYmVsPkVudGVyIHNob3J0IGRlc2NyaXB0aW9uPC9tYXQtbGFiZWw+XG4gICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiBpZD1cImRlc2NyaXB0aW9uXCIgcm93cz1cIjJcIiBtYXhsZW5ndGg9XCI1MDBcIj48L3RleHRhcmVhPlxuICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiICpuZ0lmPVwiIXByZWZpbGwuZXhwZWN0ZWRJbXBhY3RPbiB8fCBwcmVmaWxsLmV4cGVjdGVkSW1wYWN0T24ubGVuZ3RoID09IDBcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICA8bWF0LWxhYmVsPldoZXJlIGRvIHlvdSBleHBlY3QgaW1wcm92ZW1lbnQ/PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBtdWx0aXBsZSBmb3JtQ29udHJvbE5hbWU9XCJleHBlY3RlZEltcGFjdE9uXCIgaWQ9XCJleHBlY3RlZEltcGFjdE9uXCI+XG4gICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiBbbmdDbGFzc109XCJ7J2xvd2VyJyA6IGZhY3Rvci5sb3dlcn1cIiAqbmdGb3I9XCJsZXQgZmFjdG9yIG9mIGZhY3RvcnNcIiBbdmFsdWVdPVwiZmFjdG9yLnZhbHVlXCI+e3tmYWN0b3IubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiAqbmdJZj1cIiFwcmVmaWxsLm93bmVyXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgPG1hdC1sYWJlbD5XaG8gb3ducyB0aGlzIGFjdGlvbj88L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cIm93bmVyXCIgaWQ9XCJvd25lclwiPlxuICAgICAgICAgPG1hdC1vcHRpb24gY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgKm5nRm9yPVwibGV0IG93bmVyIG9mIG93bmVyTGlzdFwiIFt2YWx1ZV09XCJvd25lci5rZXlcIj57e293bmVyLmxhYmVsfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICA8L21hdC1mb3JtLWZpZWxkPlxuICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgKm5nSWY9XCIhcHJlZmlsbC50eXBlXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgPG1hdC1sYWJlbD5XaGF0IGlzIHRoZSB0eXBlIG9mIGFjdGlvbj88L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInR5cGVcIiBpZD1cInR5cGVcIj5cbiAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBpbnRlcnZlbnRpb25UeXBlIG9mIGludGVydmVudGlvblR5cGVMaXN0XCIgW3ZhbHVlXT1cImludGVydmVudGlvblR5cGUua2V5XCI+e3tpbnRlcnZlbnRpb25UeXBlLmxhYmVsfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICA8L21hdC1mb3JtLWZpZWxkPlxuICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgKm5nSWY9XCIhcHJlZmlsbC5zdGF0ZSB8fCBhY3Rpb25cIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICA8bWF0LWxhYmVsPldoYXQgaXMgdGhlIHN0YXRlIG9mIHRoaXMgYWN0aW9uPzwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic3RhdGVcIiBpZD1cInN0YXRlXCI+XG4gICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiAqbmdGb3I9XCJsZXQgc3RhdGUgb2Ygc3RhdGVMaXN0XCIgW3ZhbHVlXT1cInN0YXRlLmtleVwiPnt7c3RhdGUubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiAqbmdJZj1cIiFwcmVmaWxsLnVybCB8fCBwcmVmaWxsLnVybC5sZW5ndGggPT0gMFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgIDxtYXQtbGFiZWw+VXJsIGZvciBhZGRpdGlvbmFsIGRldGFpbHMgKGUuZy4gSklSQSBvciBUcmVsbG8pPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXJsXCIgaWQ9XCJ1cmxcIiByb3dzPVwiMVwiIG1heGxlbmd0aD1cIjUwMFwiPlxuICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgIDxtYXQtbGFiZWw+V2hlbiBzaG91bGQgaXQgYmUgZG9uZT88L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJkdWVcIiBpZD1cImR1ZVwiPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICA8L21hdC1mb3JtLWZpZWxkPlxuICAgPGRpdiBjbGFzcz1cInRvb2xiYXIgbGVmdHJpZ2h0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICAgPGEgY2xhc3M9XCJidXR0b24gYm9yZGVybGVzcyBkZWxldGVcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKG51bGwpO1wiIChjbGljayk9XCJkZWxldGUoKVwiIGlkPVwiZGVsZXRlXCIgKm5nSWY9XCJhY3Rpb25cIj48c3BhbiBjbGFzcz1cImljb24gcGgtdHJhc2hcIj48L3NwYW4+IGRlbGV0ZTwvYT5cbiAgICAgICAgIDxhIGNsYXNzPVwiYnV0dG9uIGJvcmRlcmxlc3MgY2FuY2VsXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZChudWxsKTtcIiAoY2xpY2spPVwiY2FuY2VsKClcIiBpZD1cImNhbmNlbFwiICpuZ0lmPVwiZm9ybS5kaXJ0eSB8fCBhY3Rpb25cIj48c3BhbiBjbGFzcz1cImljb24gcGgteC1jaXJjbGVcIj48L3NwYW4+IGNhbmNlbDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0IGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgaWQ9XCJzdWJtaXRcIiB2YWx1ZT1cInNhdmVcIiAvPlxuICAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
-
import { ComponentWithViewStateBase } from '../../../componentWithViewStateBase';
|
|
3
|
-
import { VIEWSTATE_PROVIDER } from '../../../viewModel/viewModelState.service';
|
|
4
|
-
import { InterventionStateEnum } from '../../models/actionDto';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/material/snack-bar";
|
|
7
|
-
import * as i2 from "../../services/actionService";
|
|
8
|
-
import * as i3 from "@angular/router";
|
|
9
|
-
import * as i4 from "@angular/material/tooltip";
|
|
10
|
-
import * as i5 from "@angular/common";
|
|
11
|
-
import * as i6 from "../../dialogs/dialog-manageaction/dialog-manageaction.component";
|
|
12
|
-
import * as i7 from "../../pipes/interventionTypeToString.pipe";
|
|
13
|
-
import * as i8 from "../../pipes/interventionOwnerToString.pipe";
|
|
14
|
-
import * as i9 from "../../../viewModel/viewModelState.service";
|
|
15
|
-
export class ActionTileComponent extends ComponentWithViewStateBase {
|
|
16
|
-
constructor(snackBar, actionService, viewModelState, route) {
|
|
17
|
-
super(viewModelState, snackBar);
|
|
18
|
-
this.snackBar = snackBar;
|
|
19
|
-
this.actionService = actionService;
|
|
20
|
-
this.viewModelState = viewModelState;
|
|
21
|
-
this.route = route;
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
super.ngOnInit();
|
|
25
|
-
}
|
|
26
|
-
async obsolete(event, action) {
|
|
27
|
-
event.stopPropagation();
|
|
28
|
-
await this.changeState(action, InterventionStateEnum.obsolete);
|
|
29
|
-
action.state = InterventionStateEnum.obsolete;
|
|
30
|
-
this.viewModelState.updating.next(true);
|
|
31
|
-
}
|
|
32
|
-
async complete(event, action) {
|
|
33
|
-
event.stopPropagation();
|
|
34
|
-
await this.changeState(action, InterventionStateEnum.completed);
|
|
35
|
-
action.state = InterventionStateEnum.completed;
|
|
36
|
-
this.viewModelState.updating.next(true);
|
|
37
|
-
}
|
|
38
|
-
async open(event, action) {
|
|
39
|
-
event.stopPropagation();
|
|
40
|
-
await this.changeState(action, InterventionStateEnum.open);
|
|
41
|
-
action.state = InterventionStateEnum.open;
|
|
42
|
-
this.viewModelState.updating.next(true);
|
|
43
|
-
}
|
|
44
|
-
async impede(event, action) {
|
|
45
|
-
event.stopPropagation();
|
|
46
|
-
await this.actionService.changeState(action.team.publicKey, action.publicKey, InterventionStateEnum.impeded);
|
|
47
|
-
action.state = InterventionStateEnum.impeded;
|
|
48
|
-
this.viewModelState.updating.next(true);
|
|
49
|
-
}
|
|
50
|
-
async unimpede(event, action) {
|
|
51
|
-
event.stopPropagation();
|
|
52
|
-
await this.changeState(action, InterventionStateEnum.open);
|
|
53
|
-
action.state = InterventionStateEnum.open;
|
|
54
|
-
this.viewModelState.updating.next(true);
|
|
55
|
-
}
|
|
56
|
-
async changeState(action, state) {
|
|
57
|
-
await this.actionService.changeState(action.team.publicKey, action.publicKey, state);
|
|
58
|
-
this.viewModelState.updating.next(true);
|
|
59
|
-
}
|
|
60
|
-
onDataUpdate(data) {
|
|
61
|
-
}
|
|
62
|
-
;
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ActionTileComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.ActionService }, { token: VIEWSTATE_PROVIDER }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ActionTileComponent, selector: "action-tile", inputs: { action: "action", multipleTeams: "multipleTeams", actionManageComponent: "actionManageComponent" }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"'action-' + action.publicKey\" class=\"wirebox action contentwithborders\" [ngClass]=\"[multipleTeams ? action.team.colorString : '', action.isDue ? 'due' : '']\" *ngIf=\"!action.deleted\" editActionDialog [action]=\"action\">\n <div class=\"summary property-description\" [innerHTML]=\"action.description\">\n </div>\n <div class=\"expectedeffect\">\n <h4>Should improve</h4>\n <span class=\"badge positive\" *ngFor=\"let area of action.expectedImpactOnLabels\">{{ area }}</span>\n </div>\n <div class=\"details\">\n <div class=\"properties\">\n <div class=\"property property-age\"><i class=\"ph-clock-bold icon\"></i> {{action.ageInDays}} days old</div>\n <div class=\"property property-team\" *ngIf=\"multipleTeams\"><i class=\"ph-users-three-bold icon\"></i> {{action.team.name}}</div>\n <div class=\"property property-owner\"><i class=\"ph-user-bold icon\"></i> {{action.owner | interventionOwnerToString}}</div>\n <div class=\"property property-type\"><i class=\"ph-tag-bold icon\"></i> {{action.type | interventionTypeToString}}</div>\n <div class=\"property property-url\" *ngIf=\"action.url\"><i class=\"ph-arrow-square-in-bold icon\"></i> <a [href]=\"action.url\" target=\"_blank\">open detail url</a></div>\n <div class=\"property property-due\" *ngIf=\"action.due\"><i class=\"ph-calendar-bold icon\" *ngIf=\"!action.isDue\"></i><i class=\"ph-bell-simple-ringing-bold\" *ngIf=\"action.isDue\"></i> Due on {{action.due | date}}</div>\n </div>\n <span class=\"status unimpeded ph-fire-simple\" matTooltip=\"Mark this item as impeded. This means that help from outside the team (e.g. management, coaches) is urgently needed to complete on this action. Impeded actions are highlighted in the Teams Dashboard.'\" *ngIf=\"action.state == 'Open'\" (click)=\"impede($event, action)\"></span>\n <span class=\"status impeded\" matTooltip=\"This action is impeded. The team needs urgent help from outside team to complete this action.\" *ngIf=\"action.state == 'Impeded'\" (click)=\"unimpede($event, action)\">\n <img src=\"/assets/img/impeded.svg\" class=\"icon\">\n </span>\n <div>\n <span class=\"status obsolete ph-eye-slash-bold\" matTooltip=\"This action was marked obsolete. Click to re-open this action\" *ngIf=\"action.state == 'Obsolete'\" (click)=\"open($event, action)\"></span>\n <span class=\"status checked ph-check-circle-fill\" matTooltip=\"Mark this action as uncompleted\" *ngIf=\"action.state == 'Completed'\" (click)=\"open($event, action)\"></span>\n <span class=\"status unchecked ph-circle\" matTooltip=\"Mark this action as completed\" *ngIf=\"action.state == 'Open' || action.state == 'Impeded'\" (click)=\"complete($event, action)\"></span>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.action{display:flex;flex-direction:column;margin-bottom:0;cursor:pointer;box-sizing:border-box;height:100%}.action.due{border-color:red}.action.due .property-due{font-family:StevieSans,sans-serif;font-weight:600!important;color:red!important}.action.green{border-left:#00af77 15px solid}.action.yellow{border-left:#fff73f 15px solid}.action.red{border-left:#ef6f00 15px solid}.action.pink{border-left:#ef4f9f 15px solid}.action.blue{border-left:#1F3F8F 15px solid}.action.gray{border-left:#2f2f2f 15px solid}.action.deleted{background:#00f}.action h4{margin:0 0 15px;text-transform:uppercase;font-style:normal;font-weight:600;font-size:15px;line-height:100%}.action .summary{flex:1 0 auto;margin-bottom:30px;word-break:break-word;white-space:pre-wrap}.action .expectedeffect .badge{margin-right:10px;display:inline-block}.action .details{margin-top:60px;position:relative}.action .details .properties .property{margin-bottom:15px;display:grid;grid-gap:15px;grid-template-columns:15px auto;text-transform:uppercase;font-style:normal;font-weight:600;font-size:15px;line-height:100%;color:#000;align-items:center}.action .details .properties .property a{text-decoration:none}.action .details .properties .property img{width:20px}.action .details .properties .property img line,.action .details .properties .property img circle,.action .details .properties .property img polyline,.action .details .properties .property img path,.action .details .properties .property img rect{stroke-width:16}.action .details .status{position:absolute;right:15px;bottom:15px;cursor:pointer;width:35px;font-size:35px}.action .details .status.impeded,.action .details .status.unimpeded{bottom:55px}.action .details .status.unimpeded{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;opacity:.3}.action .details .status.unimpeded:hover{opacity:1}\n"], dependencies: [{ kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.OpenEditActionDialogDirective, selector: "[editActionDialog]", inputs: ["action"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i7.InterventionTypeToStringPipe, name: "interventionTypeToString" }, { kind: "pipe", type: i8.InterventionOwnerToStringPipe, name: "interventionOwnerToString" }] }); }
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ActionTileComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{ selector: 'action-tile', template: "<div [id]=\"'action-' + action.publicKey\" class=\"wirebox action contentwithborders\" [ngClass]=\"[multipleTeams ? action.team.colorString : '', action.isDue ? 'due' : '']\" *ngIf=\"!action.deleted\" editActionDialog [action]=\"action\">\n <div class=\"summary property-description\" [innerHTML]=\"action.description\">\n </div>\n <div class=\"expectedeffect\">\n <h4>Should improve</h4>\n <span class=\"badge positive\" *ngFor=\"let area of action.expectedImpactOnLabels\">{{ area }}</span>\n </div>\n <div class=\"details\">\n <div class=\"properties\">\n <div class=\"property property-age\"><i class=\"ph-clock-bold icon\"></i> {{action.ageInDays}} days old</div>\n <div class=\"property property-team\" *ngIf=\"multipleTeams\"><i class=\"ph-users-three-bold icon\"></i> {{action.team.name}}</div>\n <div class=\"property property-owner\"><i class=\"ph-user-bold icon\"></i> {{action.owner | interventionOwnerToString}}</div>\n <div class=\"property property-type\"><i class=\"ph-tag-bold icon\"></i> {{action.type | interventionTypeToString}}</div>\n <div class=\"property property-url\" *ngIf=\"action.url\"><i class=\"ph-arrow-square-in-bold icon\"></i> <a [href]=\"action.url\" target=\"_blank\">open detail url</a></div>\n <div class=\"property property-due\" *ngIf=\"action.due\"><i class=\"ph-calendar-bold icon\" *ngIf=\"!action.isDue\"></i><i class=\"ph-bell-simple-ringing-bold\" *ngIf=\"action.isDue\"></i> Due on {{action.due | date}}</div>\n </div>\n <span class=\"status unimpeded ph-fire-simple\" matTooltip=\"Mark this item as impeded. This means that help from outside the team (e.g. management, coaches) is urgently needed to complete on this action. Impeded actions are highlighted in the Teams Dashboard.'\" *ngIf=\"action.state == 'Open'\" (click)=\"impede($event, action)\"></span>\n <span class=\"status impeded\" matTooltip=\"This action is impeded. The team needs urgent help from outside team to complete this action.\" *ngIf=\"action.state == 'Impeded'\" (click)=\"unimpede($event, action)\">\n <img src=\"/assets/img/impeded.svg\" class=\"icon\">\n </span>\n <div>\n <span class=\"status obsolete ph-eye-slash-bold\" matTooltip=\"This action was marked obsolete. Click to re-open this action\" *ngIf=\"action.state == 'Obsolete'\" (click)=\"open($event, action)\"></span>\n <span class=\"status checked ph-check-circle-fill\" matTooltip=\"Mark this action as uncompleted\" *ngIf=\"action.state == 'Completed'\" (click)=\"open($event, action)\"></span>\n <span class=\"status unchecked ph-circle\" matTooltip=\"Mark this action as completed\" *ngIf=\"action.state == 'Open' || action.state == 'Impeded'\" (click)=\"complete($event, action)\"></span>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.action{display:flex;flex-direction:column;margin-bottom:0;cursor:pointer;box-sizing:border-box;height:100%}.action.due{border-color:red}.action.due .property-due{font-family:StevieSans,sans-serif;font-weight:600!important;color:red!important}.action.green{border-left:#00af77 15px solid}.action.yellow{border-left:#fff73f 15px solid}.action.red{border-left:#ef6f00 15px solid}.action.pink{border-left:#ef4f9f 15px solid}.action.blue{border-left:#1F3F8F 15px solid}.action.gray{border-left:#2f2f2f 15px solid}.action.deleted{background:#00f}.action h4{margin:0 0 15px;text-transform:uppercase;font-style:normal;font-weight:600;font-size:15px;line-height:100%}.action .summary{flex:1 0 auto;margin-bottom:30px;word-break:break-word;white-space:pre-wrap}.action .expectedeffect .badge{margin-right:10px;display:inline-block}.action .details{margin-top:60px;position:relative}.action .details .properties .property{margin-bottom:15px;display:grid;grid-gap:15px;grid-template-columns:15px auto;text-transform:uppercase;font-style:normal;font-weight:600;font-size:15px;line-height:100%;color:#000;align-items:center}.action .details .properties .property a{text-decoration:none}.action .details .properties .property img{width:20px}.action .details .properties .property img line,.action .details .properties .property img circle,.action .details .properties .property img polyline,.action .details .properties .property img path,.action .details .properties .property img rect{stroke-width:16}.action .details .status{position:absolute;right:15px;bottom:15px;cursor:pointer;width:35px;font-size:35px}.action .details .status.impeded,.action .details .status.unimpeded{bottom:55px}.action .details .status.unimpeded{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;opacity:.3}.action .details .status.unimpeded:hover{opacity:1}\n"] }]
|
|
69
|
-
}], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i2.ActionService }, { type: i9.ViewModelStateBase, decorators: [{
|
|
70
|
-
type: Inject,
|
|
71
|
-
args: [VIEWSTATE_PROVIDER]
|
|
72
|
-
}] }, { type: i3.ActivatedRoute }], propDecorators: { action: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], multipleTeams: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], actionManageComponent: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXRpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2FjdGlvbnMvY29tcG9uZW50cy9hY3Rpb24tdGlsZS9hY3Rpb24tdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvYWN0aW9ucy9jb21wb25lbnRzL2FjdGlvbi10aWxlL2FjdGlvbi10aWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEVBQXNCLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFbkcsT0FBTyxFQUFhLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7O0FBUzFFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSwwQkFBd0M7SUFLOUUsWUFBc0IsUUFBcUIsRUFBWSxhQUE0QixFQUFzQyxjQUFnRCxFQUFZLEtBQXFCO1FBQ3ZNLEtBQUssQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFEWixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVksa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBc0MsbUJBQWMsR0FBZCxjQUFjLENBQWtDO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFFMU0sQ0FBQztJQUVELFFBQVE7UUFDTCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBaUIsRUFBRSxNQUFpQjtRQUN2RCxLQUFLLENB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LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRXaXRoVmlld1N0YXRlQmFzZSc7XG5pbXBvcnQgeyBWaWV3TW9kZWxTdGF0ZUJhc2UsIFZJRVdTVEFURV9QUk9WSURFUiB9IGZyb20gJy4uLy4uLy4uL3ZpZXdNb2RlbC92aWV3TW9kZWxTdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IElBY3Rpb25TdGF0ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFjdGlvblN0YXRlJztcbmltcG9ydCB7IEFjdGlvbkR0bywgSW50ZXJ2ZW50aW9uU3RhdGVFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvbkR0byc7XG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWN0aW9uU2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25NYW5hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tbWFuYWdlL2FjdGlvbi1tYW5hZ2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogJ2FjdGlvbi10aWxlJyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tdGlsZS5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tdGlsZS5jb21wb25lbnQubGVzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblRpbGVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRXaXRoVmlld1N0YXRlQmFzZTxJQWN0aW9uU3RhdGU+IHtcbiAgIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb246IEFjdGlvbkR0bztcbiAgIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZVRlYW1zOiBib29sZWFuO1xuICAgQElucHV0KCkgcHVibGljIGFjdGlvbk1hbmFnZUNvbXBvbmVudDogQWN0aW9uTWFuYWdlQ29tcG9uZW50O1xuXG4gICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcm90ZWN0ZWQgYWN0aW9uU2VydmljZTogQWN0aW9uU2VydmljZSwgQEluamVjdChWSUVXU1RBVEVfUFJPVklERVIpIHByaXZhdGUgdmlld01vZGVsU3RhdGU6IFZpZXdNb2RlbFN0YXRlQmFzZTxJQWN0aW9uU3RhdGU+LCBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgICBzdXBlcih2aWV3TW9kZWxTdGF0ZSwgc25hY2tCYXIpXG4gICB9XG5cbiAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgIH1cblxuICAgcHVibGljIGFzeW5jIG9ic29sZXRlKGV2ZW50OiBNb3VzZUV2ZW50LCBhY3Rpb246IEFjdGlvbkR0byk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBhd2FpdCB0aGlzLmNoYW5nZVN0YXRlKGFjdGlvbiwgSW50ZXJ2ZW50aW9uU3RhdGVFbnVtLm9ic29sZXRlKTtcbiAgICAgIGFjdGlvbi5zdGF0ZSA9IEludGVydmVudGlvblN0YXRlRW51bS5vYnNvbGV0ZTtcbiAgICAgIHRoaXMudmlld01vZGVsU3RhdGUudXBkYXRpbmcubmV4dCh0cnVlKTtcbiAgIH1cblxuICAgcHVibGljIGFzeW5jIGNvbXBsZXRlKGV2ZW50OiBNb3VzZUV2ZW50LCBhY3Rpb246IEFjdGlvbkR0byk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBhd2FpdCB0aGlzLmNoYW5nZVN0YXRlKGFjdGlvbiwgSW50ZXJ2ZW50aW9uU3RhdGVFbnVtLmNvbXBsZXRlZCk7XG4gICAgICBhY3Rpb24uc3RhdGUgPSBJbnRlcnZlbnRpb25TdGF0ZUVudW0uY29tcGxldGVkO1xuICAgICAgdGhpcy52aWV3TW9kZWxTdGF0ZS51cGRhdGluZy5uZXh0KHRydWUpO1xuICAgfVxuXG4gICBwdWJsaWMgYXN5bmMgb3BlbihldmVudDogTW91c2VFdmVudCwgYWN0aW9uOiBBY3Rpb25EdG8pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgYXdhaXQgdGhpcy5jaGFuZ2VTdGF0ZShhY3Rpb24sIEludGVydmVudGlvblN0YXRlRW51bS5vcGVuKTtcbiAgICAgIGFjdGlvbi5zdGF0ZSA9IEludGVydmVudGlvblN0YXRlRW51bS5vcGVuO1xuICAgICAgdGhpcy52aWV3TW9kZWxTdGF0ZS51cGRhdGluZy5uZXh0KHRydWUpO1xuICAgfVxuXG4gICBwdWJsaWMgYXN5bmMgaW1wZWRlKGV2ZW50OiBNb3VzZUV2ZW50LCBhY3Rpb246IEFjdGlvbkR0byk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBhd2FpdCB0aGlzLmFjdGlvblNlcnZpY2UuY2hhbmdlU3RhdGUoYWN0aW9uLnRlYW0ucHVibGljS2V5LCBhY3Rpb24ucHVibGljS2V5LCBJbnRlcnZlbnRpb25TdGF0ZUVudW0uaW1wZWRlZCk7XG4gICAgICBhY3Rpb24uc3RhdGUgPSBJbnRlcnZlbnRpb25TdGF0ZUVudW0uaW1wZWRlZDtcbiAgICAgIHRoaXMudmlld01vZGVsU3RhdGUudXBkYXRpbmcubmV4dCh0cnVlKTtcbiAgIH1cblxuICAgcHVibGljIGFzeW5jIHVuaW1wZWRlKGV2ZW50OiBNb3VzZUV2ZW50LCBhY3Rpb246IEFjdGlvbkR0byk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBhd2FpdCB0aGlzLmNoYW5nZVN0YXRlKGFjdGlvbiwgSW50ZXJ2ZW50aW9uU3RhdGVFbnVtLm9wZW4pO1xuICAgICAgYWN0aW9uLnN0YXRlID0gSW50ZXJ2ZW50aW9uU3RhdGVFbnVtLm9wZW47XG4gICAgICB0aGlzLnZpZXdNb2RlbFN0YXRlLnVwZGF0aW5nLm5leHQodHJ1ZSk7XG4gICB9XG5cbiAgIHByaXZhdGUgYXN5bmMgY2hhbmdlU3RhdGUoYWN0aW9uOiBBY3Rpb25EdG8sIHN0YXRlOiBJbnRlcnZlbnRpb25TdGF0ZUVudW0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGF3YWl0IHRoaXMuYWN0aW9uU2VydmljZS5jaGFuZ2VTdGF0ZShhY3Rpb24udGVhbS5wdWJsaWNLZXksIGFjdGlvbi5wdWJsaWNLZXksIHN0YXRlKTtcbiAgICAgIHRoaXMudmlld01vZGVsU3RhdGUudXBkYXRpbmcubmV4dCh0cnVlKTtcbiAgIH1cblxuICAgcHJvdGVjdGVkIG9uRGF0YVVwZGF0ZShkYXRhOiBJQWN0aW9uU3RhdGUpOiB2b2lkIHtcbiAgIH07XG59XG4iLCI8ZGl2IFtpZF09XCInYWN0aW9uLScgKyBhY3Rpb24ucHVibGljS2V5XCIgY2xhc3M9XCJ3aXJlYm94IGFjdGlvbiBjb250ZW50d2l0aGJvcmRlcnNcIiBbbmdDbGFzc109XCJbbXVsdGlwbGVUZWFtcyA/IGFjdGlvbi50ZWFtLmNvbG9yU3RyaW5nIDogJycsIGFjdGlvbi5pc0R1ZSA/ICdkdWUnIDogJyddXCIgKm5nSWY9XCIhYWN0aW9uLmRlbGV0ZWRcIiBlZGl0QWN0aW9uRGlhbG9nIFthY3Rpb25dPVwiYWN0aW9uXCI+XG4gICA8ZGl2IGNsYXNzPVwic3VtbWFyeSBwcm9wZXJ0eS1kZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwiYWN0aW9uLmRlc2NyaXB0aW9uXCI+XG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3M9XCJleHBlY3RlZGVmZmVjdFwiPlxuICAgICAgPGg0PlNob3VsZCBpbXByb3ZlPC9oND5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgcG9zaXRpdmVcIiAqbmdGb3I9XCJsZXQgYXJlYSBvZiBhY3Rpb24uZXhwZWN0ZWRJbXBhY3RPbkxhYmVsc1wiPnt7IGFyZWEgfX08L3NwYW4+XG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydGllc1wiPlxuICAgICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5IHByb3BlcnR5LWFnZVwiPjxpIGNsYXNzPVwicGgtY2xvY2stYm9sZCBpY29uXCI+PC9pPiB7e2FjdGlvbi5hZ2VJbkRheXN9fSBkYXlzIG9sZDwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5IHByb3BlcnR5LXRlYW1cIiAqbmdJZj1cIm11bHRpcGxlVGVhbXNcIj48aSBjbGFzcz1cInBoLXVzZXJzLXRocmVlLWJvbGQgaWNvblwiPjwvaT4ge3thY3Rpb24udGVhbS5uYW1lfX08L2Rpdj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eSBwcm9wZXJ0eS1vd25lclwiPjxpIGNsYXNzPVwicGgtdXNlci1ib2xkIGljb25cIj48L2k+IHt7YWN0aW9uLm93bmVyIHwgaW50ZXJ2ZW50aW9uT3duZXJUb1N0cmluZ319PC9kaXY+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHkgcHJvcGVydHktdHlwZVwiPjxpIGNsYXNzPVwicGgtdGFnLWJvbGQgaWNvblwiPjwvaT4ge3thY3Rpb24udHlwZSB8IGludGVydmVudGlvblR5cGVUb1N0cmluZ319PC9kaXY+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHkgcHJvcGVydHktdXJsXCIgKm5nSWY9XCJhY3Rpb24udXJsXCI+PGkgY2xhc3M9XCJwaC1hcnJvdy1zcXVhcmUtaW4tYm9sZCBpY29uXCI+PC9pPiA8YSBbaHJlZl09XCJhY3Rpb24udXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCI+b3BlbiBkZXRhaWwgdXJsPC9hPjwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5IHByb3BlcnR5LWR1ZVwiICpuZ0lmPVwiYWN0aW9uLmR1ZVwiPjxpIGNsYXNzPVwicGgtY2FsZW5kYXItYm9sZCBpY29uXCIgKm5nSWY9XCIhYWN0aW9uLmlzRHVlXCI+PC9pPjxpIGNsYXNzPVwicGgtYmVsbC1zaW1wbGUtcmluZ2luZy1ib2xkXCIgKm5nSWY9XCJhY3Rpb24uaXNEdWVcIj48L2k+IER1ZSBvbiB7e2FjdGlvbi5kdWUgfCBkYXRlfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJzdGF0dXMgdW5pbXBlZGVkIHBoLWZpcmUtc2ltcGxlXCIgbWF0VG9vbHRpcD1cIk1hcmsgdGhpcyBpdGVtIGFzIGltcGVkZWQuIFRoaXMgbWVhbnMgdGhhdCBoZWxwIGZyb20gb3V0c2lkZSB0aGUgdGVhbSAoZS5nLiBtYW5hZ2VtZW50LCBjb2FjaGVzKSBpcyB1cmdlbnRseSBuZWVkZWQgdG8gY29tcGxldGUgb24gdGhpcyBhY3Rpb24uIEltcGVkZWQgYWN0aW9ucyBhcmUgaGlnaGxpZ2h0ZWQgaW4gdGhlIFRlYW1zIERhc2hib2FyZC4nXCIgKm5nSWY9XCJhY3Rpb24uc3RhdGUgPT0gJ09wZW4nXCIgKGNsaWNrKT1cImltcGVkZSgkZXZlbnQsIGFjdGlvbilcIj48L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInN0YXR1cyBpbXBlZGVkXCIgbWF0VG9vbHRpcD1cIlRoaXMgYWN0aW9uIGlzIGltcGVkZWQuIFRoZSB0ZWFtIG5lZWRzIHVyZ2VudCBoZWxwIGZyb20gb3V0c2lkZSB0ZWFtIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLlwiICpuZ0lmPVwiYWN0aW9uLnN0YXRlID09ICdJbXBlZGVkJ1wiIChjbGljayk9XCJ1bmltcGVkZSgkZXZlbnQsIGFjdGlvbilcIj5cbiAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9pbWcvaW1wZWRlZC5zdmdcIiBjbGFzcz1cImljb25cIj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxkaXY+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXR1cyBvYnNvbGV0ZSBwaC1leWUtc2xhc2gtYm9sZFwiIG1hdFRvb2x0aXA9XCJUaGlzIGFjdGlvbiB3YXMgbWFya2VkIG9ic29sZXRlLiBDbGljayB0byByZS1vcGVuIHRoaXMgYWN0aW9uXCIgKm5nSWY9XCJhY3Rpb24uc3RhdGUgPT0gJ09ic29sZXRlJ1wiIChjbGljayk9XCJvcGVuKCRldmVudCwgYWN0aW9uKVwiPjwvc3Bhbj5cbiAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhdHVzIGNoZWNrZWQgcGgtY2hlY2stY2lyY2xlLWZpbGxcIiBtYXRUb29sdGlwPVwiTWFyayB0aGlzIGFjdGlvbiBhcyB1bmNvbXBsZXRlZFwiICpuZ0lmPVwiYWN0aW9uLnN0YXRlID09ICdDb21wbGV0ZWQnXCIgKGNsaWNrKT1cIm9wZW4oJGV2ZW50LCBhY3Rpb24pXCI+PC9zcGFuPlxuICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGF0dXMgdW5jaGVja2VkIHBoLWNpcmNsZVwiIG1hdFRvb2x0aXA9XCJNYXJrIHRoaXMgYWN0aW9uIGFzIGNvbXBsZXRlZFwiICpuZ0lmPVwiYWN0aW9uLnN0YXRlID09ICdPcGVuJyB8fCBhY3Rpb24uc3RhdGUgPT0gJ0ltcGVkZWQnXCIgKGNsaWNrKT1cImNvbXBsZXRlKCRldmVudCwgYWN0aW9uKVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2022/lib/actions/dialogs/dialog-export-actions/dialog-export-actions.component.mjs
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
3
|
-
import * as moment from 'moment';
|
|
4
|
-
import { ComponentWithViewStateBase } from '../../../componentWithViewStateBase';
|
|
5
|
-
import { DateRangeDto } from '../../../pipes/dateRange/ngx-dateRangeDto.model';
|
|
6
|
-
import { VIEWSTATE_PROVIDER } from '../../../viewModel/viewModelState.service';
|
|
7
|
-
import { ExportActionsRequestDto } from '../../models/exportRequestDto';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/material/snack-bar";
|
|
10
|
-
import * as i2 from "../../services/actionService";
|
|
11
|
-
import * as i3 from "@angular/material/dialog";
|
|
12
|
-
import * as i4 from "@angular/forms";
|
|
13
|
-
import * as i5 from "@angular/material/form-field";
|
|
14
|
-
import * as i6 from "@angular/common";
|
|
15
|
-
import * as i7 from "@angular/material/datepicker";
|
|
16
|
-
import * as i8 from "../../../viewModel/viewModelState.service";
|
|
17
|
-
export class DialogExportActionsComponent extends ComponentWithViewStateBase {
|
|
18
|
-
constructor(state, snackBar, actionService, dialogRef, formBuilder) {
|
|
19
|
-
super(state, snackBar);
|
|
20
|
-
this.state = state;
|
|
21
|
-
this.snackBar = snackBar;
|
|
22
|
-
this.actionService = actionService;
|
|
23
|
-
this.dialogRef = dialogRef;
|
|
24
|
-
this.formBuilder = formBuilder;
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
this.createForm();
|
|
28
|
-
this.form.controls.start.setValue(moment.utc().subtract(6, 'months').toISOString());
|
|
29
|
-
this.form.controls.end.setValue(moment.utc().toISOString());
|
|
30
|
-
}
|
|
31
|
-
async submit() {
|
|
32
|
-
this.submitted = true;
|
|
33
|
-
if (!this.form.valid) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
var request = new ExportActionsRequestDto();
|
|
37
|
-
request.dateRange = new DateRangeDto();
|
|
38
|
-
request.dateRange.from = this.form.controls.start.value;
|
|
39
|
-
request.dateRange.to = this.form.controls.end.value;
|
|
40
|
-
this.sending = true;
|
|
41
|
-
this.actionService.exportActions(request).subscribe(success => {
|
|
42
|
-
let binaryData = [];
|
|
43
|
-
binaryData.push(new Uint8Array([0xEF, 0xBB, 0xBF])); // UTF8 bom
|
|
44
|
-
binaryData.push(success);
|
|
45
|
-
let downloadLink = document.createElement('a');
|
|
46
|
-
downloadLink.href = window.URL.createObjectURL(new Blob(binaryData, { type: success.type }));
|
|
47
|
-
downloadLink.setAttribute('download', 'export-actions.csv');
|
|
48
|
-
document.body.appendChild(downloadLink);
|
|
49
|
-
downloadLink.click();
|
|
50
|
-
this.dialogRef.close();
|
|
51
|
-
this.sending = false;
|
|
52
|
-
this.showSuccess("Download started. You may have to allow it in your browser.");
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
onDataUpdate(data) {
|
|
56
|
-
}
|
|
57
|
-
;
|
|
58
|
-
createForm() {
|
|
59
|
-
this.form = this.formBuilder.group({
|
|
60
|
-
start: [{ value: "" }, Validators.required],
|
|
61
|
-
end: [{ value: "" }, Validators.required],
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
;
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DialogExportActionsComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1.MatSnackBar }, { token: i2.ActionService }, { token: i3.MatDialogRef }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DialogExportActionsComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Export actions</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\"></i></div>\n</div>\n<mat-dialog-content>\n <p>Export actions to .csv for your own analyses. <a href=\"https://github.com/theliberators/scrumteamsurvey.docs/wiki/Export-File-Definitions\">Our Wiki</a> has a definition.</p>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field>\n <mat-label>Select date range (creation date)</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"start\" placeholder=\"Start date\">\n <input matEndDate formControlName=\"end\" placeholder=\"End date\">\n </mat-date-range-input>\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n <mat-error *ngIf=\"form.controls.start.hasError('matStartDateInvalid')\">Invalid start date</mat-error>\n <mat-error *ngIf=\"form.controls.end.hasError('matEndDateInvalid')\">Invalid end date</mat-error>\n </mat-form-field>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\" [disabled]=\"sending\">export</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.errors{margin-bottom:15px}.confirmation h4{margin:0 0 5px}.confirmation p{margin:0}\n"], dependencies: [{ kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }] }); }
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DialogExportActionsComponent, decorators: [{
|
|
69
|
-
type: Component,
|
|
70
|
-
args: [{ template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Export actions</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\"></i></div>\n</div>\n<mat-dialog-content>\n <p>Export actions to .csv for your own analyses. <a href=\"https://github.com/theliberators/scrumteamsurvey.docs/wiki/Export-File-Definitions\">Our Wiki</a> has a definition.</p>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field>\n <mat-label>Select date range (creation date)</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"start\" placeholder=\"Start date\">\n <input matEndDate formControlName=\"end\" placeholder=\"End date\">\n </mat-date-range-input>\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n <mat-error *ngIf=\"form.controls.start.hasError('matStartDateInvalid')\">Invalid start date</mat-error>\n <mat-error *ngIf=\"form.controls.end.hasError('matEndDateInvalid')\">Invalid end date</mat-error>\n </mat-form-field>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\" [disabled]=\"sending\">export</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.errors{margin-bottom:15px}.confirmation h4{margin:0 0 5px}.confirmation p{margin:0}\n"] }]
|
|
71
|
-
}], ctorParameters: () => [{ type: i8.ViewModelStateBase, decorators: [{
|
|
72
|
-
type: Inject,
|
|
73
|
-
args: [VIEWSTATE_PROVIDER]
|
|
74
|
-
}] }, { type: i1.MatSnackBar }, { type: i2.ActionService }, { type: i3.MatDialogRef }, { type: i4.FormBuilder }] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWV4cG9ydC1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9hY3Rpb25zL2RpYWxvZ3MvZGlhbG9nLWV4cG9ydC1hY3Rpb25zL2RpYWxvZy1leHBvcnQtYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvYWN0aW9ucy9kaWFsb2dzL2RpYWxvZy1leHBvcnQtYWN0aW9ucy9kaWFsb2ctZXhwb3J0LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFFL0UsT0FBTyxFQUFzQixrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBT3hFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSwwQkFBc0M7SUFLckYsWUFBZ0QsS0FBcUMsRUFBWSxRQUFxQixFQUFVLGFBQTRCLEVBQVUsU0FBcUQsRUFBVSxXQUF3QjtRQUMxUCxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRHNCLFVBQUssR0FBTCxLQUFLLENBQWdDO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFV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QUFDOytHQWhEUSw0QkFBNEIsa0JBS2xCLGtCQUFrQjttR0FMNUIsNEJBQTRCLDJFQ2hCekMsZzhDQXlCQTs7NEZEVGEsNEJBQTRCO2tCQUp4QyxTQUFTOzs7MEJBU00sTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IENvbXBvbmVudFdpdGhWaWV3U3RhdGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2UnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlRHRvIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvZGF0ZVJhbmdlL25neC1kYXRlUmFuZ2VEdG8ubW9kZWwnO1xuaW1wb3J0IHsgSVZpZXdTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXdNb2RlbC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFZpZXdNb2RlbFN0YXRlQmFzZSwgVklFV1NUQVRFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vLi4vdmlld01vZGVsL3ZpZXdNb2RlbFN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXhwb3J0QWN0aW9uc1JlcXVlc3REdG8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0UmVxdWVzdER0byc7XG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWN0aW9uU2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1leHBvcnQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctZXhwb3J0LWFjdGlvbnMuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dFeHBvcnRBY3Rpb25zQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2U8SVZpZXdTdGF0ZT4ge1xuICAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgIHB1YmxpYyBzZW5kaW5nOiBib29sZWFuO1xuICAgcHVibGljIHN1Ym1pdHRlZDogYm9vbGVhbjtcblxuICAgY29uc3RydWN0b3IoQEluamVjdChWSUVXU1RBVEVfUFJPVklERVIpIHByaXZhdGUgc3RhdGU6IFZpZXdNb2RlbFN0YXRlQmFzZTxJVmlld1N0YXRlPiwgcHJvdGVjdGVkIHNuYWNrQmFyOiBNYXRTbmFja0JhciwgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBBY3Rpb25TZXJ2aWNlLCBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ0V4cG9ydEFjdGlvbnNDb21wb25lbnQ+LCBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICAgICAgc3VwZXIoc3RhdGUsIHNuYWNrQmFyKTtcbiAgIH1cblxuICAgbmdPbkluaXQoKSB7XG4gICAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5zdGFydC5zZXRWYWx1ZShtb21lbnQudXRjKCkuc3VidHJhY3QoNiwgJ21vbnRocycpLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmVuZC5zZXRWYWx1ZShtb21lbnQudXRjKCkudG9JU09TdHJpbmcoKSk7XG4gICB9XG5cbiAgIHB1YmxpYyBhc3luYyBzdWJtaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgeyByZXR1cm47IH1cblxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgRXhwb3J0QWN0aW9uc1JlcXVlc3REdG8oKTtcbiAgICAgIHJlcXVlc3QuZGF0ZVJhbmdlID0gbmV3IERhdGVSYW5nZUR0bygpO1xuICAgICAgcmVxdWVzdC5kYXRlUmFuZ2UuZnJvbSA9IHRoaXMuZm9ybS5jb250cm9scy5zdGFydC52YWx1ZTtcbiAgICAgIHJlcXVlc3QuZGF0ZVJhbmdlLnRvID0gdGhpcy5mb3JtLmNvbnRyb2xzLmVuZC52YWx1ZTtcblxuICAgICAgdGhpcy5zZW5kaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuYWN0aW9uU2VydmljZS5leHBvcnRBY3Rpb25zKHJlcXVlc3QpLnN1YnNjcmliZShzdWNjZXNzID0+IHtcbiAgICAgICAgIGxldCBiaW5hcnlEYXRhID0gW107XG4gICAgICAgICBiaW5hcnlEYXRhLnB1c2gobmV3IFVpbnQ4QXJyYXkoWzB4RUYsIDB4QkIsIDB4QkZdKSk7IC8vIFVURjggYm9tXG4gICAgICAgICBiaW5hcnlEYXRhLnB1c2goc3VjY2Vzcyk7XG4gICAgICAgICBsZXQgZG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgZG93bmxvYWRMaW5rLmhyZWYgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihiaW5hcnlEYXRhLCB7IHR5cGU6IHN1Y2Nlc3MudHlwZSB9KSk7XG4gICAgICAgICBkb3dubG9hZExpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsICdleHBvcnQtYWN0aW9ucy5jc3YnKTtcbiAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgIHRoaXMuc2VuZGluZyA9IGZhbHNlO1xuICAgICAgICAgdGhpcy5zaG93U3VjY2VzcyhcIkRvd25sb2FkIHN0YXJ0ZWQuIFlvdSBtYXkgaGF2ZSB0byBhbGxvdyBpdCBpbiB5b3VyIGJyb3dzZXIuXCIpO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIHByb3RlY3RlZCBvbkRhdGFVcGRhdGUoZGF0YTogSVZpZXdTdGF0ZSk6IHZvaWQge1xuICAgfTtcblxuICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICBzdGFydDogW3sgdmFsdWU6IFwiXCIgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICBlbmQ6IFt7IHZhbHVlOiBcIlwiIH0sIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgfSk7XG4gICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIj5cbiAgIDxoMSBtYXQtZGlhbG9nLXRpdGxlPkV4cG9ydCBhY3Rpb25zPC9oMT5cbiAgIDxkaXYgY2xhc3M9XCJjbG9zZVwiIG1hdC1kaWFsb2ctY2xvc2U+PGkgY2xhc3M9XCJyZXNwb25zaXZlIGljb24gcGgteC1ib2xkXCI+PC9pPjwvZGl2PlxuPC9kaXY+XG48bWF0LWRpYWxvZy1jb250ZW50PlxuICAgPHA+RXhwb3J0IGFjdGlvbnMgdG8gLmNzdiBmb3IgeW91ciBvd24gYW5hbHlzZXMuIDxhIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vdGhlbGliZXJhdG9ycy9zY3J1bXRlYW1zdXJ2ZXkuZG9jcy93aWtpL0V4cG9ydC1GaWxlLURlZmluaXRpb25zXCI+T3VyIFdpa2k8L2E+IGhhcyBhIGRlZmluaXRpb24uPC9wPlxuICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICA8bWF0LWxhYmVsPlNlbGVjdCBkYXRlIHJhbmdlIChjcmVhdGlvbiBkYXRlKTwvbWF0LWxhYmVsPlxuICAgICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0IFtyYW5nZVBpY2tlcl09XCJwaWNrZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRTdGFydERhdGUgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0IGRhdGVcIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRFbmREYXRlIGZvcm1Db250cm9sTmFtZT1cImVuZFwiIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIj5cbiAgICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMuc3RhcnQuaGFzRXJyb3IoJ21hdFN0YXJ0RGF0ZUludmFsaWQnKVwiPkludmFsaWQgc3RhcnQgZGF0ZTwvbWF0LWVycm9yPlxuICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMuZW5kLmhhc0Vycm9yKCdtYXRFbmREYXRlSW52YWxpZCcpXCI+SW52YWxpZCBlbmQgZGF0ZTwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPGRpdiBjbGFzcz1cInRvb2xiYXJcIj5cbiAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiBbbmdDbGFzc109XCJ7J2xvYWRpbmcnOiBzZW5kaW5nIH1cIiBbZGlzYWJsZWRdPVwic2VuZGluZ1wiPmV4cG9ydDwvYnV0dG9uPlxuICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIG1hdC1kaWFsb2ctY2xvc2U+Y2FuY2VsPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuIl19
|
package/esm2022/lib/actions/dialogs/dialog-export-actions/dialog-export-actions.directive.mjs
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener } from '@angular/core';
|
|
2
|
-
import { MatDialogConfig } from '@angular/material/dialog';
|
|
3
|
-
import { DialogExportActionsComponent } from './dialog-export-actions.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
export class OpenExportActionsDialogDirective {
|
|
7
|
-
constructor(dialog) {
|
|
8
|
-
this.dialog = dialog;
|
|
9
|
-
}
|
|
10
|
-
onClick() {
|
|
11
|
-
const dialogConfig = new MatDialogConfig();
|
|
12
|
-
dialogConfig.panelClass = ['dialog', 'export'];
|
|
13
|
-
dialogConfig.autoFocus = false;
|
|
14
|
-
dialogConfig.enterAnimationDuration = 0;
|
|
15
|
-
dialogConfig.exitAnimationDuration = 0;
|
|
16
|
-
this.dialog.open(DialogExportActionsComponent, dialogConfig);
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OpenExportActionsDialogDirective, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: OpenExportActionsDialogDirective, selector: "[exportActionsDialog]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OpenExportActionsDialogDirective, decorators: [{
|
|
22
|
-
type: Directive,
|
|
23
|
-
args: [{
|
|
24
|
-
selector: '[exportActionsDialog]',
|
|
25
|
-
}]
|
|
26
|
-
}], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { onClick: [{
|
|
27
|
-
type: HostListener,
|
|
28
|
-
args: ['click']
|
|
29
|
-
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWV4cG9ydC1hY3Rpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9hY3Rpb25zL2RpYWxvZ3MvZGlhbG9nLWV4cG9ydC1hY3Rpb25zL2RpYWxvZy1leHBvcnQtYWN0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFLakYsTUFBTSxPQUFPLGdDQUFnQztJQUMxQyxZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQ3JDLENBQUM7SUFHRCxPQUFPO1FBQ0osTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUMzQyxZQUFZLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLFlBQVksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQy9CLFlBQVksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDeEMsWUFBWSxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNoRSxDQUFDOytHQVpTLGdDQUFnQzttR0FBaEMsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQUg1QyxTQUFTO21CQUFDO29CQUNSLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ25DOzhFQU1FLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERpYWxvZ0V4cG9ydEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy1leHBvcnQtYWN0aW9ucy5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgIHNlbGVjdG9yOiAnW2V4cG9ydEFjdGlvbnNEaWFsb2ddJyxcbn0pXG5leHBvcnQgY2xhc3MgT3BlbkV4cG9ydEFjdGlvbnNEaWFsb2dEaXJlY3RpdmUge1xuICAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgICAgZGlhbG9nQ29uZmlnLnBhbmVsQ2xhc3MgPSBbJ2RpYWxvZycsICdleHBvcnQnXTtcbiAgICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSBmYWxzZTtcbiAgICAgIGRpYWxvZ0NvbmZpZy5lbnRlckFuaW1hdGlvbkR1cmF0aW9uID0gMDtcbiAgICAgIGRpYWxvZ0NvbmZpZy5leGl0QW5pbWF0aW9uRHVyYXRpb24gPSAwO1xuICAgICAgdGhpcy5kaWFsb2cub3BlbihEaWFsb2dFeHBvcnRBY3Rpb25zQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuICAgfVxufVxuIl19
|