@colijnit/sharedcomponents 1.0.69 → 253.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-sharedcomponents.umd.js +3863 -56
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +38 -0
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +39 -1
- package/esm2015/lib/components/activity-list-header/activity-list-header.component.js +67 -0
- package/esm2015/lib/components/activity-list-header/activity-list-header.module.js +28 -0
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.js +55 -0
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.component.js +103 -0
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.module.js +34 -0
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +130 -0
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.module.js +26 -0
- package/esm2015/lib/components/activity-overview-component/components/base-activity-overview.component.js +278 -0
- package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.js +100 -0
- package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.js +25 -0
- package/esm2015/lib/components/modify-task-form/components/base-activity-summary.component.js +132 -0
- package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.js +118 -0
- package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.js +27 -0
- package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.js +88 -0
- package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.js +24 -0
- package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.js +77 -0
- package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.js +24 -0
- package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.js +74 -0
- package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.js +25 -0
- package/esm2015/lib/components/modify-task-form/components/task-details/task-details.component.js +105 -0
- package/esm2015/lib/components/modify-task-form/components/task-details/task-details.module.js +25 -0
- package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +284 -0
- package/esm2015/lib/components/modify-task-form/modify-task-form.module.js +40 -0
- package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +278 -0
- package/esm2015/lib/components/open-activity-list/component-activity-list.module.js +30 -0
- package/esm2015/lib/components/open-activity-list/components/base-open-activity-list.component.js +266 -0
- package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.js +41 -0
- package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..js +19 -0
- package/esm2015/lib/components/simple-tags/simple-tags.component.js +5 -147
- package/esm2015/lib/components/simple-tags/simple-tags.module.js +4 -2
- package/esm2015/lib/components/simple-tags-form/simple-tags-form.component.js +196 -0
- package/esm2015/lib/components/simple-tags-form/simple-tags-form.module.js +26 -0
- package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +3 -3
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +28 -2
- package/esm2015/lib/components/stock/localization/translation.js +3 -1
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +7 -2
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +144 -85
- package/esm2015/lib/components/stock/stock.component.js +11 -42
- package/esm2015/lib/components/stock/stock.module.js +4 -3
- package/esm2015/lib/components/task-modifyer/task-modifier.component.js +270 -0
- package/esm2015/lib/components/task-modifyer/task-modifyer.module..js +31 -0
- package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.component.js +45 -0
- package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.module.js +22 -0
- package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.component.js +55 -0
- package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.module.js +22 -0
- package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.js +53 -0
- package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.js +81 -0
- package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.js +34 -0
- package/esm2015/lib/directives/absolute-overlay-template.directive.js +29 -0
- package/esm2015/lib/directives/align-with.directive.js +174 -0
- package/esm2015/lib/directives/click-outside.directive.js +25 -0
- package/esm2015/lib/directives/directives.module.js +22 -0
- package/esm2015/lib/enum/activity-cfg-name.enum.js +29 -0
- package/esm2015/lib/enum/app-button-type.enum.js +11 -0
- package/esm2015/lib/enum/icon.enum.js +13 -1
- package/esm2015/lib/interface/activities-task-config-names.js +2 -0
- package/esm2015/lib/interface/operation-callback-activity.js +5 -0
- package/esm2015/lib/interface/operation-callback-function-with-validation.js +5 -0
- package/esm2015/lib/model/icon-svg.js +13 -1
- package/esm2015/lib/service/app-absolute-overlay-outlet.service.js +20 -0
- package/esm2015/lib/service/shared-connector.service.js +213 -1
- package/esm2015/lib/service/shared.service.js +93 -1
- package/esm2015/lib/utils/browser-utils.js +100 -0
- package/esm2015/lib/utils/event-utils.js +59 -0
- package/esm2015/lib/utils/string-utils.js +5 -1
- package/esm2015/public-api.js +7 -1
- package/fesm2015/colijnit-sharedcomponents.js +4044 -228
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/activity-list-header/activity-list-header.component.d.ts +25 -0
- package/lib/components/activity-list-header/activity-list-header.module.d.ts +2 -0
- package/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.d.ts +11 -0
- package/lib/components/activity-list-header/components/period-filter/period-filter.component.d.ts +26 -0
- package/lib/components/activity-list-header/components/period-filter/period-filter.module.d.ts +2 -0
- package/lib/components/activity-list-header/components/period-filter/style/_layout.scss +62 -0
- package/lib/components/activity-list-header/components/period-filter/style/_material-definition.scss +1 -0
- package/lib/components/activity-list-header/components/period-filter/style/_theme.scss +5 -0
- package/lib/components/activity-list-header/components/period-filter/style/material.scss +4 -0
- package/lib/components/activity-list-header/style/_layout.scss +84 -0
- package/lib/components/activity-list-header/style/_material-definition.scss +1 -0
- package/lib/components/activity-list-header/style/_theme.scss +5 -0
- package/lib/components/activity-list-header/style/material.scss +4 -0
- package/lib/components/activity-overview-component/component-activity-overview.component.d.ts +15 -0
- package/lib/components/activity-overview-component/component-activity-overview.module.d.ts +2 -0
- package/lib/components/activity-overview-component/components/base-activity-overview.component.d.ts +79 -0
- package/lib/components/activity-overview-component/style/_layout.scss +107 -0
- package/lib/components/activity-overview-component/style/_material-definition.scss +1 -0
- package/lib/components/activity-overview-component/style/_theme.scss +5 -0
- package/lib/components/activity-overview-component/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.d.ts +31 -0
- package/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/activity-summary-block/style/_layout.scss +139 -0
- package/lib/components/modify-task-form/components/activity-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/activity-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/activity-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/base-activity-summary.component.d.ts +52 -0
- package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.d.ts +28 -0
- package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/creation-summary-block/style/_layout.scss +5 -0
- package/lib/components/modify-task-form/components/creation-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/creation-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/creation-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.d.ts +24 -0
- package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/executive-summary-block/style/_layout.scss +5 -0
- package/lib/components/modify-task-form/components/executive-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/executive-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/executive-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.d.ts +23 -0
- package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/notification-summary-block/style/_layout.scss +161 -0
- package/lib/components/modify-task-form/components/notification-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/notification-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/notification-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.d.ts +17 -0
- package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/status-summary-block/style/_layout.scss +18 -0
- package/lib/components/modify-task-form/components/status-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/status-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/status-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/task-details/style/_layout.scss +142 -0
- package/lib/components/modify-task-form/components/task-details/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/task-details/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/task-details/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/task-details/task-details.component.d.ts +23 -0
- package/lib/components/modify-task-form/components/task-details/task-details.module.d.ts +2 -0
- package/lib/components/modify-task-form/modify-task-form.component.d.ts +54 -0
- package/lib/components/modify-task-form/modify-task-form.module.d.ts +2 -0
- package/lib/components/modify-task-form/style/_layout.scss +139 -0
- package/lib/components/modify-task-form/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/style/material.scss +4 -0
- package/lib/components/open-activity-list/component-activity-list.component.d.ts +67 -0
- package/lib/components/open-activity-list/component-activity-list.module.d.ts +2 -0
- package/lib/components/open-activity-list/components/base-open-activity-list.component.d.ts +48 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.d.ts +4 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..d.ts +2 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/style/_layout.scss +105 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/style/_material-definition.scss +0 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/style/_theme.scss +4 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/style/material.scss +4 -0
- package/lib/components/open-activity-list/style/_layout.scss +26 -0
- package/lib/components/open-activity-list/style/_material-definition.scss +0 -0
- package/lib/components/open-activity-list/style/_theme.scss +4 -0
- package/lib/components/open-activity-list/style/material.scss +4 -0
- package/lib/components/simple-tags/simple-tags.component.d.ts +1 -8
- package/lib/components/simple-tags-form/simple-tags-form.component.d.ts +29 -0
- package/lib/components/simple-tags-form/simple-tags-form.module.d.ts +2 -0
- package/lib/components/simple-tags-form/style/_layout.scss +257 -0
- package/lib/components/simple-tags-form/style/_material-definition.scss +39 -0
- package/lib/components/simple-tags-form/style/_theme.scss +4 -0
- package/lib/components/simple-tags-form/style/material.scss +4 -0
- package/lib/components/stock/components/stock-location/stock-location.component.d.ts +7 -1
- package/lib/components/stock/localization/translation.d.ts +2 -0
- package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +2 -0
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +19 -6
- package/lib/components/stock/stock.component.d.ts +3 -0
- package/lib/components/stock/style/_layout.scss +64 -31
- package/lib/components/task-modifyer/style/_layout.scss +5 -0
- package/lib/components/task-modifyer/style/_material-definition.scss +0 -0
- package/lib/components/task-modifyer/style/_theme.scss +4 -0
- package/lib/components/task-modifyer/style/material.scss +4 -0
- package/lib/components/task-modifyer/task-modifier.component.d.ts +65 -0
- package/lib/components/task-modifyer/task-modifyer.module..d.ts +2 -0
- package/lib/components/workflow-info-tiles/components/style/_layout.scss +49 -0
- package/lib/components/workflow-info-tiles/components/style/_material-definition.scss +0 -0
- package/lib/components/workflow-info-tiles/components/style/_theme.scss +4 -0
- package/lib/components/workflow-info-tiles/components/style/material.scss +4 -0
- package/lib/components/workflow-info-tiles/components/workflow-info-tile.component.d.ts +15 -0
- package/lib/components/workflow-info-tiles/components/workflow-info-tile.module.d.ts +2 -0
- package/lib/components/workflow-info-tiles/style/_layout.scss +16 -0
- package/lib/components/workflow-info-tiles/style/_material-definition.scss +0 -0
- package/lib/components/workflow-info-tiles/style/_theme.scss +4 -0
- package/lib/components/workflow-info-tiles/style/material.scss +4 -0
- package/lib/components/workflow-info-tiles/workflow-info-tiles.component.d.ts +21 -0
- package/lib/components/workflow-info-tiles/workflow-info-tiles.module.d.ts +2 -0
- package/lib/components/workflow-notification-toggle/style/_layout.scss +59 -0
- package/lib/components/workflow-notification-toggle/style/_material-definition.scss +0 -0
- package/lib/components/workflow-notification-toggle/style/_theme.scss +4 -0
- package/lib/components/workflow-notification-toggle/style/material.scss +4 -0
- package/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.d.ts +15 -0
- package/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.d.ts +28 -0
- package/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.d.ts +2 -0
- package/lib/directives/absolute-overlay-template.directive.d.ts +9 -0
- package/lib/directives/align-with.directive.d.ts +35 -0
- package/lib/directives/click-outside.directive.d.ts +7 -0
- package/lib/directives/directives.module.d.ts +2 -0
- package/lib/enum/activity-cfg-name.enum.d.ts +27 -0
- package/lib/enum/app-button-type.enum.d.ts +9 -0
- package/lib/enum/icon.enum.d.ts +12 -0
- package/lib/interface/activities-task-config-names.d.ts +12 -0
- package/lib/interface/operation-callback-activity.d.ts +5 -0
- package/lib/interface/operation-callback-function-with-validation.d.ts +5 -0
- package/lib/service/app-absolute-overlay-outlet.service.d.ts +9 -0
- package/lib/service/shared-connector.service.d.ts +28 -0
- package/lib/service/shared.service.d.ts +28 -0
- package/lib/utils/browser-utils.d.ts +15 -0
- package/lib/utils/event-utils.d.ts +12 -0
- package/lib/utils/string-utils.d.ts +1 -0
- package/package.json +7 -5
- package/public-api.d.ts +6 -0
|
@@ -24,14 +24,22 @@ import { SendMethod as SendMethod$1 } from '@colijnit/mainapi/build/model/send-m
|
|
|
24
24
|
import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/business-object-factory';
|
|
25
25
|
import { TagTreeItem } from '@colijnit/mainapi/build/model/tag-tree-item.bo';
|
|
26
26
|
import { ObjectConfiguration } from '@colijnit/ioneconnector/build/model/object-configuration';
|
|
27
|
+
import { RelationApi } from '@colijnit/relationapi';
|
|
28
|
+
import { RelationListObject } from '@colijnit/relationapi/build/model/relation-list-object.bo';
|
|
29
|
+
import { TaskCategory } from '@colijnit/mainapi/build/model/task-category.bo';
|
|
30
|
+
import { WorkflowProcess } from '@colijnit/mainapi/build/model/workflow-process';
|
|
31
|
+
import { CoDomainValue } from '@colijnit/mainapi/build/model/co-domain-value.bo';
|
|
32
|
+
import { RoleEmailaddress } from '@colijnit/mainapi/build/model/role-email-address';
|
|
33
|
+
import { Activity } from '@colijnit/mainapi/build/model/activity.bo';
|
|
34
|
+
import { WorkflowProcessInfoPerStatus } from '@colijnit/mainapi/build/model/workflow-process-info-per-status';
|
|
27
35
|
import { PrintStockStickers } from '@colijnit/sharedapi/build/model/print-stock-stickers';
|
|
28
36
|
import { ArticleExtended } from '@colijnit/articleapi/build/model/article-extended.bo';
|
|
29
37
|
import { ArticleStock as ArticleStock$1 } from '@colijnit/articleapi/build/model/article-stock';
|
|
30
38
|
import { ArticleExtendedRequest } from '@colijnit/articleapi/build/model/article-extended-request';
|
|
31
39
|
import * as i1 from '@angular/platform-browser';
|
|
32
40
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
33
|
-
import { IconModule, InputCheckboxModule, CoDialogModule, ButtonModule, ListOfValuesModule, OverlayService, ClickoutsideModule, OverlayModule, InputRadioButtonModule, SimpleGridModule, ImageModule, InputTextModule, InputNumberPickerModule, CoDialogWizardModule, InputTextareaModule, PopupModule, ResponsiveTextModule, InputDatePickerModule, InputSearchModule, PromptService, FormComponent, SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, CoOrientation, CoreComponentsTranslationModule, TemplateWrapperModule, FormModule, ScreenConfigurationModule } from '@colijnit/corecomponents_v12';
|
|
34
41
|
import { ArticleStockManagement } from '@colijnit/articleapi/build/model/article-stock-management';
|
|
42
|
+
import { IconModule, InputCheckboxModule, CoDialogModule, ButtonModule, ListOfValuesModule, OverlayService, ClickoutsideModule, OverlayModule, InputRadioButtonModule, SimpleGridModule, ImageModule, InputTextModule, InputNumberPickerModule, CoDialogWizardModule, InputTextareaModule, PopupModule, InputDatePickerModule, ResponsiveTextModule, InputSearchModule, PromptService, FormComponent, SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, CoOrientation, CoreComponentsTranslationModule, TemplateWrapperModule, FormModule, ScreenConfigurationModule, FormMasterService, IconCacheService as IconCacheService$1, CoreDialogService, InputDateRangePickerModule, CollapsibleModule, ColorSequenceService } from '@colijnit/corecomponents_v12';
|
|
35
43
|
import { ArticleTransaction as ArticleTransaction$1 } from '@colijnit/articleapi/build/model/article-transaction';
|
|
36
44
|
import { PrintPriceStickers } from '@colijnit/sharedapi/build/model/print-price-stickers.bo';
|
|
37
45
|
import { ReportingDocumentEmailSignDocBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';
|
|
@@ -52,10 +60,22 @@ import { DocumentPublication } from '@colijnit/articleapi/build/enum/refcode/doc
|
|
|
52
60
|
import { CoDocumentRight } from '@colijnit/mainapi/build/model/co-document-right';
|
|
53
61
|
import { ArrayUtils as ArrayUtils$1 } from '@colijnit/sharedapi/build/utils/array-utils';
|
|
54
62
|
import { Overlay } from '@angular/cdk/overlay';
|
|
55
|
-
import { CoDomainValue } from '@colijnit/mainapi/build/model/co-domain-value.bo';
|
|
56
63
|
import { RelationKind } from '@colijnit/articleapi/build/enum/relation-kind.enum';
|
|
57
64
|
import { ActivityType } from '@colijnit/mainapi/build/enum/activity-type';
|
|
58
65
|
import { TimeUtils } from '@colijnit/mainapi/build/utils/time-utils';
|
|
66
|
+
import { isNill as isNill$1 } from '@colijnit/ioneconnector/build/utils/function/is-nill.function';
|
|
67
|
+
import { ActivityListViewModel } from '@colijnit/mainapi/build/model/activity-list-view-model';
|
|
68
|
+
import { ActivityViewModel } from '@colijnit/mainapi/build/model/activity-view-model';
|
|
69
|
+
import { PersonalActivityTabEnum } from '@colijnit/mainapi/build/enum/personal-activity-tab.enum';
|
|
70
|
+
import { ActivitySortType } from '@colijnit/mainapi/build/enum/activity-sort-type.enum';
|
|
71
|
+
import { Task } from '@colijnit/mainapi/build/model/task.bo';
|
|
72
|
+
import { TableName as TableName$1 } from '@colijnit/mainapi/build/enum/table-name.enum';
|
|
73
|
+
import { TagCategory } from '@colijnit/mainapi/build/enum/tab-category.enum';
|
|
74
|
+
import { ValidationResult } from '@colijnit/ioneconnector/build/model/validation-result';
|
|
75
|
+
import { DomainName } from '@colijnit/mainapi/build/enum/domain-name.enum';
|
|
76
|
+
import { PriorityType } from '@colijnit/mainapi/build/enum/priority-type.enum';
|
|
77
|
+
import { RelationRequest } from '@colijnit/relationapi/build/model/relation-request';
|
|
78
|
+
import { Period } from '@colijnit/mainapi/build/enum/period.enum';
|
|
59
79
|
|
|
60
80
|
class DocsignComponent {
|
|
61
81
|
constructor() {
|
|
@@ -526,6 +546,10 @@ class StringUtils {
|
|
|
526
546
|
static _escapeRegExp(str) {
|
|
527
547
|
return str; // .replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^$\|]/g, "\\$&");
|
|
528
548
|
}
|
|
549
|
+
static IsValidEmail(str) {
|
|
550
|
+
const emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
551
|
+
return !!emailRegex.test(str);
|
|
552
|
+
}
|
|
529
553
|
}
|
|
530
554
|
|
|
531
555
|
class Dictionary {
|
|
@@ -664,6 +688,7 @@ class SharedConnectorService {
|
|
|
664
688
|
yield this.sharedConnector.connect();
|
|
665
689
|
this.articleConnector = new Articles(this._optionsService.options);
|
|
666
690
|
this.mainConnector = new MainApi(this._optionsService.options);
|
|
691
|
+
this.relationConnector = new RelationApi(this._optionsService.options);
|
|
667
692
|
});
|
|
668
693
|
}
|
|
669
694
|
getConfiguration(module, params) {
|
|
@@ -754,6 +779,81 @@ class SharedConnectorService {
|
|
|
754
779
|
});
|
|
755
780
|
});
|
|
756
781
|
}
|
|
782
|
+
getComponentActivitiesWithoutRelationFiltering(table, key) {
|
|
783
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
784
|
+
return new Promise((resolve, reject) => {
|
|
785
|
+
return this.mainConnector.getComponentActivitiesWithoutRelationFiltering(table, key).then((result) => {
|
|
786
|
+
if (result && result.validationResult && result.validationResult.success) {
|
|
787
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Activity, result.resultObject));
|
|
788
|
+
}
|
|
789
|
+
else {
|
|
790
|
+
reject(result.validationMessagesAsString);
|
|
791
|
+
}
|
|
792
|
+
});
|
|
793
|
+
});
|
|
794
|
+
});
|
|
795
|
+
}
|
|
796
|
+
updateActivity(activity) {
|
|
797
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
798
|
+
return new Promise((resolve, reject) => {
|
|
799
|
+
return this.mainConnector.updateActivity(activity).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
800
|
+
resolve(result.validationResult);
|
|
801
|
+
}));
|
|
802
|
+
});
|
|
803
|
+
});
|
|
804
|
+
}
|
|
805
|
+
deleteActivity(activity) {
|
|
806
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
807
|
+
return new Promise((resolve, reject) => {
|
|
808
|
+
return this.mainConnector.deleteActivity(activity).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
809
|
+
resolve(result.validationResult);
|
|
810
|
+
}));
|
|
811
|
+
});
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
lockTask(id) {
|
|
815
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
816
|
+
return new Promise((resolve, reject) => {
|
|
817
|
+
return this.mainConnector.lockTask(id).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
818
|
+
resolve(result.validationResult);
|
|
819
|
+
}));
|
|
820
|
+
});
|
|
821
|
+
});
|
|
822
|
+
}
|
|
823
|
+
fireTrigger(workFlowProcessId, sequence, triggerId) {
|
|
824
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
825
|
+
return new Promise((resolve, reject) => {
|
|
826
|
+
return this.mainConnector.fireTrigger(workFlowProcessId, sequence, triggerId).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
827
|
+
resolve(result.validationResult);
|
|
828
|
+
}));
|
|
829
|
+
});
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
fireGenericTrigger(workFlowProcessId, genericTransitionId, relationId) {
|
|
833
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
834
|
+
return new Promise((resolve, reject) => {
|
|
835
|
+
return this.mainConnector.fireGenericTrigger(workFlowProcessId, genericTransitionId, relationId).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
836
|
+
resolve(result.validationResult);
|
|
837
|
+
}));
|
|
838
|
+
});
|
|
839
|
+
});
|
|
840
|
+
}
|
|
841
|
+
getJoinedTags(table, key) {
|
|
842
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
843
|
+
return new Promise((resolve, reject) => {
|
|
844
|
+
return this.mainConnector.getJoinedTags(table, key).then((result) => {
|
|
845
|
+
if (result.validationResult && result.validationResult.success) {
|
|
846
|
+
if (result.resultObjects) {
|
|
847
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(TagTreeItem, result.resultObjects));
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
else {
|
|
851
|
+
reject(result.validationMessagesAsString);
|
|
852
|
+
}
|
|
853
|
+
});
|
|
854
|
+
});
|
|
855
|
+
});
|
|
856
|
+
}
|
|
757
857
|
getDocumentContent(id, thumbnail = true) {
|
|
758
858
|
return __awaiter(this, void 0, void 0, function* () {
|
|
759
859
|
return new Promise((resolve, reject) => {
|
|
@@ -1052,6 +1152,134 @@ class SharedConnectorService {
|
|
|
1052
1152
|
});
|
|
1053
1153
|
});
|
|
1054
1154
|
}
|
|
1155
|
+
getRelationListObjects(request) {
|
|
1156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1157
|
+
return new Promise((resolve, reject) => {
|
|
1158
|
+
return this.relationConnector.getRelationListObjects(request, false).then((result) => {
|
|
1159
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1160
|
+
if (result.resultObjects) {
|
|
1161
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects));
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1164
|
+
else {
|
|
1165
|
+
reject(result.validationMessagesAsString);
|
|
1166
|
+
}
|
|
1167
|
+
});
|
|
1168
|
+
});
|
|
1169
|
+
});
|
|
1170
|
+
}
|
|
1171
|
+
getTaskCategories() {
|
|
1172
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1173
|
+
return new Promise((resolve, reject) => {
|
|
1174
|
+
return this.mainConnector.getTaskCategories().then((result) => {
|
|
1175
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1176
|
+
if (result.resultObjects) {
|
|
1177
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(TaskCategory, result.resultObjects));
|
|
1178
|
+
}
|
|
1179
|
+
}
|
|
1180
|
+
else {
|
|
1181
|
+
reject(result.validationMessagesAsString);
|
|
1182
|
+
}
|
|
1183
|
+
});
|
|
1184
|
+
});
|
|
1185
|
+
});
|
|
1186
|
+
}
|
|
1187
|
+
getActiveProcessesByTableAndKey(table, key) {
|
|
1188
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1189
|
+
return new Promise((resolve, reject) => {
|
|
1190
|
+
return this.mainConnector.getActiveProcessesByTableAndKey(table, key).then((result) => {
|
|
1191
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1192
|
+
if (result.resultObjects) {
|
|
1193
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(WorkflowProcess, result.resultObjects));
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1196
|
+
else {
|
|
1197
|
+
reject(result.validationMessagesAsString);
|
|
1198
|
+
}
|
|
1199
|
+
});
|
|
1200
|
+
});
|
|
1201
|
+
});
|
|
1202
|
+
}
|
|
1203
|
+
getDomainCollection(languageCode, domain) {
|
|
1204
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1205
|
+
return new Promise((resolve, reject) => {
|
|
1206
|
+
return this.mainConnector.getDomainCollection(languageCode, domain).then((result) => {
|
|
1207
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1208
|
+
if (result.resultObjects) {
|
|
1209
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects));
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
else {
|
|
1213
|
+
reject(result.validationMessagesAsString);
|
|
1214
|
+
}
|
|
1215
|
+
});
|
|
1216
|
+
});
|
|
1217
|
+
});
|
|
1218
|
+
}
|
|
1219
|
+
getRoleEmailAddressesByWorkflowCategoryAndKey(worlflowCategory, key) {
|
|
1220
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1221
|
+
return new Promise((resolve, reject) => {
|
|
1222
|
+
return this.mainConnector.getRoleEmailAddressesByWorkflowCategoryAndKey(worlflowCategory, key).then((result) => {
|
|
1223
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1224
|
+
if (result.resultObject) {
|
|
1225
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RoleEmailaddress, result.resultObject));
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
else {
|
|
1229
|
+
reject(result.validationMessagesAsString);
|
|
1230
|
+
}
|
|
1231
|
+
});
|
|
1232
|
+
});
|
|
1233
|
+
});
|
|
1234
|
+
}
|
|
1235
|
+
getWorkflowProcessInfoPerStatus(worlflowCategory) {
|
|
1236
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1237
|
+
return new Promise((resolve, reject) => {
|
|
1238
|
+
return this.mainConnector.getWorkflowProcessInfoPerStatus(worlflowCategory).then((result) => {
|
|
1239
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1240
|
+
if (result.resultObject) {
|
|
1241
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(WorkflowProcessInfoPerStatus, result.resultObject));
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
else {
|
|
1245
|
+
reject(result.validationMessagesAsString);
|
|
1246
|
+
}
|
|
1247
|
+
});
|
|
1248
|
+
});
|
|
1249
|
+
});
|
|
1250
|
+
}
|
|
1251
|
+
getHistoricActivities(table, key) {
|
|
1252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1253
|
+
return new Promise((resolve, reject) => {
|
|
1254
|
+
return this.mainConnector.getHistoricActivities(table, key).then((result) => {
|
|
1255
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1256
|
+
if (result.resultObject) {
|
|
1257
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Activity, result.resultObject));
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
else {
|
|
1261
|
+
reject(result.validationMessagesAsString);
|
|
1262
|
+
}
|
|
1263
|
+
});
|
|
1264
|
+
});
|
|
1265
|
+
});
|
|
1266
|
+
}
|
|
1267
|
+
getComponentActivities(table, key) {
|
|
1268
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1269
|
+
return new Promise((resolve, reject) => {
|
|
1270
|
+
return this.mainConnector.getComponentActivities(table, key).then((result) => {
|
|
1271
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1272
|
+
if (result.resultObject) {
|
|
1273
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Activity, result.resultObject));
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
else {
|
|
1277
|
+
reject(result.validationMessagesAsString);
|
|
1278
|
+
}
|
|
1279
|
+
});
|
|
1280
|
+
});
|
|
1281
|
+
});
|
|
1282
|
+
}
|
|
1055
1283
|
commit() {
|
|
1056
1284
|
return this.articleConnector.commit();
|
|
1057
1285
|
}
|
|
@@ -1211,22 +1439,30 @@ var Icon;
|
|
|
1211
1439
|
Icon["ArrowDown"] = "arrow_down";
|
|
1212
1440
|
Icon["ArrowDownRegular"] = "arrow_down_regular";
|
|
1213
1441
|
Icon["ArrowFatRight"] = "arrow_fat_right";
|
|
1442
|
+
Icon["ArrowPointDown"] = "arrow_point_down";
|
|
1214
1443
|
Icon["ArrowPointLeft"] = "arrow_point_left";
|
|
1215
1444
|
Icon["ArrowPointRight"] = "arrow_point_right";
|
|
1445
|
+
Icon["ArrowPointUp"] = "arrow_point_up";
|
|
1216
1446
|
Icon["AtSolid"] = "at_solid";
|
|
1217
1447
|
Icon["BarcodeReadRegular"] = "barcode_read_regular";
|
|
1448
|
+
Icon["BellRegular"] = "bell_regular";
|
|
1449
|
+
Icon["BellSlashRegular"] = "bell_slash_regular";
|
|
1218
1450
|
Icon["BringForwardRegular"] = "bring_forward_regular";
|
|
1219
1451
|
Icon["CheckDuotone"] = "check_duotone";
|
|
1220
1452
|
Icon["CheckRound"] = "check_round";
|
|
1453
|
+
Icon["CheckSolid"] = "check_solid";
|
|
1454
|
+
Icon["ChevronRightRegular"] = "chevron_right_regular";
|
|
1221
1455
|
Icon["ClockRegular"] = "clock_regular";
|
|
1222
1456
|
Icon["CommentRegular"] = "comment_regular";
|
|
1223
1457
|
Icon["CrossSkinny"] = "cross_skinny";
|
|
1224
1458
|
Icon["Cubes"] = "cubes";
|
|
1225
1459
|
Icon["DeleteLeftRegular"] = "delete_left_regular";
|
|
1226
1460
|
Icon["DeliveryTruck"] = "delivery_truck";
|
|
1461
|
+
Icon["DetailView"] = "detail_view";
|
|
1227
1462
|
Icon["Dropzone"] = "dropzone";
|
|
1228
1463
|
Icon["EditPenRegular"] = "edit_pen_regular";
|
|
1229
1464
|
Icon["Email"] = "email";
|
|
1465
|
+
Icon["Employee"] = "employee";
|
|
1230
1466
|
Icon["EnvelopeRegular"] = "envelope_regular";
|
|
1231
1467
|
Icon["EyeRegular"] = "eye_regular";
|
|
1232
1468
|
Icon["FileExportRegular"] = "file_export_regular";
|
|
@@ -1235,17 +1471,21 @@ var Icon;
|
|
|
1235
1471
|
Icon["FilePdfSolid"] = "file_pdf_solid";
|
|
1236
1472
|
Icon["FileSignatureRegular"] = "file_signature_regular";
|
|
1237
1473
|
Icon["HouseBlankRegular"] = "house_blank_regular";
|
|
1474
|
+
Icon["IoneWorkflow"] = "ione_workflow";
|
|
1238
1475
|
Icon["Lock"] = "lock";
|
|
1239
1476
|
Icon["MessageSmsRegular"] = "message_sms_regular";
|
|
1240
1477
|
Icon["MessageSmsSolid"] = "message_sms_solid";
|
|
1478
|
+
Icon["Notification"] = "notification";
|
|
1241
1479
|
Icon["PaperclipRegular"] = "paperclip_regular";
|
|
1242
1480
|
Icon["Pdf"] = "pdf";
|
|
1243
1481
|
Icon["PersonDiggingRegular"] = "person_digging_regular";
|
|
1482
|
+
Icon["PinRoundOpen"] = "pin_round_open";
|
|
1244
1483
|
Icon["Print"] = "print";
|
|
1245
1484
|
Icon["PrintRegular"] = "print_regular";
|
|
1246
1485
|
Icon["PrintSolid"] = "print_solid";
|
|
1247
1486
|
Icon["SignatureField"] = "signature_field";
|
|
1248
1487
|
Icon["TagRegular"] = "tag_regular";
|
|
1488
|
+
Icon["Task"] = "task";
|
|
1249
1489
|
Icon["Trashbin"] = "trashbin";
|
|
1250
1490
|
Icon["Xml"] = "xml";
|
|
1251
1491
|
Icon["XSolid"] = "x_solid";
|
|
@@ -1259,22 +1499,30 @@ const IconSvg = {
|
|
|
1259
1499
|
"arrow_down": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><polygon points=\"17.06 21.14 17.06 2.5 12.94 2.5 12.94 21.14 12.94 21.14 8.64 21.14 15 27.5 21.36 21.14 17.06 21.14\" fill=\"#484f60\"/></g></svg>",
|
|
1260
1500
|
"arrow_down_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><path d=\"M174.6 472.6c4.5 4.7 10.8 7.4 17.4 7.4s12.8-2.7 17.4-7.4l168-176c9.2-9.6 8.8-24.8-.8-33.9s-24.8-8.8-33.9 .8L216 396.1 216 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 340.1L41.4 263.4c-9.2-9.6-24.3-9.9-33.9-.8s-9.9 24.3-.8 33.9l168 176z\"/></svg>",
|
|
1261
1501
|
"arrow_fat_right": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><polygon points=\"37.5 25 25.2 12.7 25.2 20.35 12.5 20.35 12.5 29.66 25.2 29.66 25.2 37.3 37.5 25\" fill=\"#484f60\"/></svg>",
|
|
1502
|
+
"arrow_point_down": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"-280 371 51 51\" enable-background=\"new -280 371 51 51\" ><path fill=\"#29363E\" d=\"M-248.3,392.2c0.3,0,0.6,0.1,0.8,0.3c0.5,0.5,0.5,1.2,0,1.6l-6.2,6.2c-0.2,0.2-0.5,0.3-0.8,0.3c-0.3,0-0.6-0.1-0.8-0.3l-6.2-6.2c-0.2-0.2-0.3-0.5-0.3-0.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3c0.3,0,0.6,0.1,0.8,0.3l5.4,5.4l5.4-5.4C-248.9,392.4-248.6,392.2-248.3,392.2z\"/></svg>",
|
|
1262
1503
|
"arrow_point_left": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><path d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"/></svg>",
|
|
1263
1504
|
"arrow_point_right": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><path d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"/></svg>",
|
|
1505
|
+
"arrow_point_up": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"-280 371 51 51\" enable-background=\"new -280 371 51 51\" ><path fill=\"#29363E\" d=\"M-260.7,400.8c-0.3,0-0.6-0.1-0.8-0.3c-0.5-0.5-0.5-1.2,0-1.6l6.2-6.2c0.2-0.2,0.5-0.3,0.8-0.3c0.3,0,0.6,0.1,0.8,0.3l6.2,6.2c0.2,0.2,0.3,0.5,0.3,0.8c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3c-0.3,0-0.6-0.1-0.8-0.3l-5.4-5.4l-5.4,5.4C-260.1,400.6-260.4,400.8-260.7,400.8z\"/></svg>",
|
|
1264
1506
|
"at_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M207.8 20.73c-93.45 18.32-168.7 93.66-187 187.1c-27.64 140.9 68.65 266.2 199.1 285.1c19.01 2.888 36.17-12.26 36.17-31.49l.0001-.6631c0-15.74-11.44-28.88-26.84-31.24c-84.35-12.98-149.2-86.13-149.2-174.2c0-102.9 88.61-185.5 193.4-175.4c91.54 8.869 158.6 91.25 158.6 183.2l0 16.16c0 22.09-17.94 40.05-40 40.05s-40.01-17.96-40.01-40.05v-120.1c0-8.847-7.161-16.02-16.01-16.02l-31.98 .0036c-7.299 0-13.2 4.992-15.12 11.68c-24.85-12.15-54.24-16.38-86.06-5.106c-38.75 13.73-68.12 48.91-73.72 89.64c-9.483 69.01 43.81 128 110.9 128c26.44 0 50.43-9.544 69.59-24.88c24 31.3 65.23 48.69 109.4 37.49C465.2 369.3 496 324.1 495.1 277.2V256.3C495.1 107.1 361.2-9.332 207.8 20.73zM239.1 304.3c-26.47 0-48-21.56-48-48.05s21.53-48.05 48-48.05s48 21.56 48 48.05S266.5 304.3 239.1 304.3z\"/></svg>",
|
|
1265
1507
|
"barcode_read_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M56 48c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56zm64 80c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm56 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm272 0c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm-208 8c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm152-24c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM528 56c0-4.4-3.6-8-8-8H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56zM56 464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 4.4 3.6 8 8 8zm472-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 30.9-25.1 56-56 56H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8z\"/></svg>",
|
|
1508
|
+
"bell_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M256 32V49.88C328.5 61.39 384 124.2 384 200V233.4C384 278.8 399.5 322.9 427.8 358.4L442.7 377C448.5 384.2 449.6 394.1 445.6 402.4C441.6 410.7 433.2 416 424 416H24C14.77 416 6.365 410.7 2.369 402.4C-1.628 394.1-.504 384.2 5.26 377L20.17 358.4C48.54 322.9 64 278.8 64 233.4V200C64 124.2 119.5 61.39 192 49.88V32C192 14.33 206.3 0 224 0C241.7 0 256 14.33 256 32V32zM216 96C158.6 96 112 142.6 112 200V233.4C112 281.3 98.12 328 72.31 368H375.7C349.9 328 336 281.3 336 233.4V200C336 142.6 289.4 96 232 96H216zM288 448C288 464.1 281.3 481.3 269.3 493.3C257.3 505.3 240.1 512 224 512C207 512 190.7 505.3 178.7 493.3C166.7 481.3 160 464.1 160 448H288z\"/></svg>",
|
|
1509
|
+
"bell_slash_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M183.6 118.6C206.5 82.58 244.1 56.84 288 49.88V32C288 14.33 302.3 .0003 320 .0003C337.7 .0003 352 14.33 352 32V49.88C424.5 61.39 480 124.2 480 200V233.4C480 278.8 495.5 322.9 523.8 358.4L538.7 377C543.1 383.5 545.4 392.2 542.6 400L630.8 469.1C641.2 477.3 643.1 492.4 634.9 502.8C626.7 513.2 611.6 515.1 601.2 506.9L9.196 42.89C-1.236 34.71-3.065 19.63 5.112 9.196C13.29-1.236 28.37-3.065 38.81 5.112L183.6 118.6zM221.7 148.4L450.7 327.1C438.4 298.2 432 266.1 432 233.4V200C432 142.6 385.4 96 328 96H312C273.3 96 239.6 117.1 221.7 148.4V148.4zM160 233.4V222.1L206.7 258.9C202.7 297.7 189.5 335.2 168.3 368H345.2L406.2 416H120C110.8 416 102.4 410.7 98.37 402.4C94.37 394.1 95.5 384.2 101.3 377L116.2 358.4C144.5 322.9 160 278.8 160 233.4V233.4zM384 448C384 464.1 377.3 481.3 365.3 493.3C353.3 505.3 336.1 512 320 512C303 512 286.7 505.3 274.7 493.3C262.7 481.3 256 464.1 256 448H384z\"/></svg>",
|
|
1266
1510
|
"bring_forward_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"#183153\" d=\"M224 464H448C456.8 464 464 456.8 464 448V224C464 215.2 456.8 208 448 208H384V160H448C483.3 160 512 188.7 512 224V448C512 483.3 483.3 512 448 512H224C188.7 512 160 483.3 160 448V384H208V448C208 456.8 215.2 464 224 464zM64 352C28.65 352 0 323.3 0 288V64C0 28.65 28.65 0 64 0H288C323.3 0 352 28.65 352 64V288C352 323.3 323.3 352 288 352H64z\"/></svg>",
|
|
1267
1511
|
"check_duotone": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><defs><style>.fa-secondary{opacity:.4}</style></defs><path class=\"fa-primary\" d=\"M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z\"/></svg>",
|
|
1268
1512
|
"check_round": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10ZM23,34l-6.24-9.09,2.81-3.59L23,26.45,27.66,16h5.58Z\" fill=\"#484f60\"/></svg>",
|
|
1513
|
+
"check_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/></svg>",
|
|
1514
|
+
"chevron_right_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><path d=\"M305 239c9.4 9.4 9.4 24.6 0 33.9L113 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L79 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L305 239z\"/></svg>",
|
|
1269
1515
|
"clock_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"/></svg>",
|
|
1270
1516
|
"comment_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9c-.2 0-.5 .1-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9c.1-.2 .2-.3 .3-.5z\"/></svg>",
|
|
1271
1517
|
"cross_skinny": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><polygon points=\"25.35 5.52 24.65 4.81 15 14.46 5.35 4.81 4.65 5.52 14.29 15.17 4.65 24.81 5.35 25.52 15 15.87 24.65 25.52 25.35 24.81 15.71 15.17 25.35 5.52\" fill=\"#484f60\"/></g></svg>",
|
|
1272
1518
|
"cubes": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M192 64v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zM82.7 207c-15.3 8.8-20.5 28.4-11.7 43.7l32 55.4c8.8 15.3 28.4 20.5 43.7 11.7l55.4-32c15.3-8.8 20.5-28.4 11.7-43.7l-32-55.4c-8.8-15.3-28.4-20.5-43.7-11.7L82.7 207zM288 192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H288zm64 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H352zM160 384v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zM32 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32z\"/></svg>",
|
|
1273
1519
|
"delete_left_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M432.1 208.1L385.9 256L432.1 303C442.3 312.4 442.3 327.6 432.1 336.1C423.6 346.3 408.4 346.3 399 336.1L352 289.9L304.1 336.1C295.6 346.3 280.4 346.3 271 336.1C261.7 327.6 261.7 312.4 271 303L318.1 256L271 208.1C261.7 199.6 261.7 184.4 271 175C280.4 165.7 295.6 165.7 304.1 175L352 222.1L399 175C408.4 165.7 423.6 165.7 432.1 175C442.3 184.4 442.3 199.6 432.1 208.1V208.1zM512 64C547.3 64 576 92.65 576 128V384C576 419.3 547.3 448 512 448H205.3C188.3 448 172 441.3 160 429.3L9.372 278.6C3.371 272.6 0 264.5 0 256C0 247.5 3.372 239.4 9.372 233.4L160 82.75C172 70.74 188.3 64 205.3 64L512 64zM528 128C528 119.2 520.8 112 512 112H205.3C201 112 196.9 113.7 193.9 116.7L54.63 256L193.9 395.3C196.9 398.3 201 400 205.3 400H512C520.8 400 528 392.8 528 384V128z\"/></svg>",
|
|
1274
1520
|
"delivery_truck": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><rect x=\"15.35\" y=\"16.56\" width=\"15.14\" height=\"10.94\" transform=\"translate(-1.83 2.08) rotate(-5)\" fill=\"#484f60\"/><path d=\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\" fill=\"#484f60\"/><path d=\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\" fill=\"#484f60\"/><path d=\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\" fill=\"#484f60\"/><path d=\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\" fill=\"#484f60\"/><rect x=\"7.96\" y=\"17.63\" width=\"5\" height=\"1\" transform=\"translate(-1.54 0.98) rotate(-5)\" fill=\"#484f60\"/><rect x=\"11.02\" y=\"29.71\" width=\"3\" height=\"1\" transform=\"translate(-2.59 1.21) rotate(-5)\" fill=\"#484f60\"/><rect x=\"9.48\" y=\"23.53\" width=\"4\" height=\"1\" transform=\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\" fill=\"#484f60\"/></svg>",
|
|
1521
|
+
"detail_view": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><g><polygon points=\"24.55 16.18 24.55 27.49 2.44 27.49 2.44 5.38 14.69 5.38 15.59 4.48 14.04 2.94 0 2.94 0 29.93 26.99 29.93 26.99 15.88 25.92 14.81 24.55 16.18\" fill=\"#484f60\"/><polygon points=\"30 .4 17.92 .4 22 4.48 12.24 16.23 14.16 18.15 25.92 8.4 30 12.48 30 .4\" fill=\"#484f60\"/></g></g></svg>",
|
|
1275
1522
|
"dropzone": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><g><rect x=\"2\" y=\"1.67\" width=\"14\" height=\"6\" rx=\"2\" ry=\"2\" fill=\"#484f60\" opacity=\".5\"/><path d=\"M16.52,13.16l-.94-.47-1.61-2.53-1.23-1.62-.65-.85-1.53-1.59-2.06-1.17h-1.15l-.7,.7,.41,.91,2.47,2.2,.56,1.2,1.7,2.71,.82,2.26,.06,.74,.09,2.38-.23-.85-.97-.94-.79-.97-1.76-1.76-1.06-.35-.88,.24-.7,.62,1.32,1.44,1.56,1.97,2.14,3.73,2.2,2,1.82,1.14,2.44,1.06,1.91,1,2,1.03,.23,1.29,6.02-5.99v-.91s-.91-1-1-1.03c-.09-.03-.82-1.65-.82-1.65l-.47-1.91-.35-.97-1.32-1.67-.85-1.12-.5-.82-.88-1.14-.79-.77-1.33-.86-.22,.42,1.39,2.12-.94-.47-.86-1.48-1.33-1.38-1.06-.16-.03,.6,2.1,3.09-.94-.47-1.8-2.9-1.21-.86-1.29,.12,.18,.56,2.85,4.14Z\" fill=\"#484f60\"/><path d=\"M16,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\" fill=\"#484f60\" opacity=\".5\"/><path d=\"M18,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\" fill=\"#484f60\" opacity=\".25\"/><path d=\"M20,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\" fill=\"#484f60\" opacity=\".1\"/></g></g></svg>",
|
|
1276
1523
|
"edit_pen_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>",
|
|
1277
1524
|
"email": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M31.79,38.45A17.82,17.82,0,0,1,23.86,40,13.09,13.09,0,0,1,10.41,26.42C10.41,17.63,16.83,10,26.53,10c7.63,0,13.06,5.21,13.06,12.46,0,6.33-3.53,10.3-8.19,10.3a3.42,3.42,0,0,1-3.71-3.32h-.08A6.5,6.5,0,0,1,22,32.76c-2.75,0-4.82-2.11-4.82-5.65a9.85,9.85,0,0,1,10.13-10,12.89,12.89,0,0,1,5.13,1l-1.3,8c-.43,2.54-.13,3.71,1.08,3.75,1.85.09,4.18-2.28,4.18-7.28,0-5.65-3.62-10-10.3-10S13.73,17.76,13.73,26c0,7.25,4.57,11.3,11,11.3A14.81,14.81,0,0,0,31,36ZM28,20.65a5.34,5.34,0,0,0-1.33-.18c-2.85,0-5.09,2.81-5.09,6.12,0,1.64.73,2.68,2.16,2.68,1.59,0,3.27-2,3.66-4.53Z\" fill=\"#484f60\"/></svg>",
|
|
1525
|
+
"employee": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><path d=\"M15,2c-3.59,0-6.5,2.91-6.5,6.5s2.91,6.5,6.5,6.5,6.5-2.91,6.5-6.5-2.91-6.5-6.5-6.5Zm-.68,20.92l-3.58-5.37c-4.04,.67-7.12,4.18-7.12,8.41v.41c0,.9,.73,1.62,1.62,1.62H24.75c.9,0,1.62-.73,1.62-1.62v-.41c0-4.23-3.08-7.74-7.12-8.41l-3.58,5.37c-.32,.48-1.03,.48-1.35,0Z\" fill=\"#484f60\"/></g></svg>",
|
|
1278
1526
|
"envelope_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"/></svg>",
|
|
1279
1527
|
"eye_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"/></svg>",
|
|
1280
1528
|
"file_export_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M568.1 303l-80-80c-9.375-9.375-24.56-9.375-33.94 0s-9.375 24.56 0 33.94L494.1 296H216C202.8 296 192 306.8 192 320s10.75 24 24 24h278.1l-39.03 39.03C450.3 387.7 448 393.8 448 400s2.344 12.28 7.031 16.97c9.375 9.375 24.56 9.375 33.94 0l80-80C578.3 327.6 578.3 312.4 568.1 303zM360 384c-13.25 0-24 10.74-24 24V448c0 8.836-7.164 16-16 16H64.02c-8.836 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v72c0 13.25 10.74 24 23.1 24S384 245.3 384 232V138.6c0-16.98-6.742-33.26-18.75-45.26l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H63.1C28.65 0-.002 28.66 0 64l.0065 384c.002 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64v-40C384 394.7 373.3 384 360 384z\"/></svg>",
|
|
@@ -1283,17 +1531,21 @@ const IconSvg = {
|
|
|
1283
1531
|
"file_pdf_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><path d=\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 224H88c30.9 0 56 25.1 56 56s-25.1 56-56 56H80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 240c0-8.8 7.2-16 16-16zm24 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H80v48h8zm72-64c0-8.8 7.2-16 16-16h24c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V240zm32 112h8c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 240c0-8.8 7.2-16 16-16z\"/></svg>",
|
|
1284
1532
|
"file_signature_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M64 464H320c8.8 0 16-7.2 16-16v-6.7l39.8-9.9c2.8-.7 5.6-1.6 8.2-2.7V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v49.1l-48 48V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm96-115l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h25.6l12-48.2c1.4-5.6 4.3-10.8 8.4-14.9L441.1 191.8l71 71L382.9 391.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-1.1 .3-2.1 .4-3.2 .5c-.8 .1-1.5 .2-2.3 .2H256c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L160 349zM549.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0z\"/></svg>",
|
|
1285
1533
|
"house_blank_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8z\"/></svg>",
|
|
1534
|
+
"ione_workflow": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 50 50\" enable-background=\"new 0 0 50 50\" ><g display=\"none\"></g><g ><g ><g><g><rect x=\"34.3\" y=\"20\" fill=\"#484F60\" width=\"1.5\" height=\"3.7\"/><g><polygon fill=\"#484F60\" points=\"32,22.8 35,28 38,22.8 \"/></g></g><path fill=\"#484F60\" d=\"M18.5,21.5v7h-7v-7H18.5 M20,20H10v10h10V20L20,20z\"/><path fill=\"#484F60\" d=\"M38.5,11.5v7h-7v-7H38.5 M40,10H30v10h10V10L40,10z\"/><path fill=\"#484F60\" d=\"M38.5,31.5v7h-7v-7H38.5 M40,30H30v10h10V30L40,30z\"/><g><polygon fill=\"#484F60\" points=\"15.8,20 14.3,20 14.3,14.3 23.7,14.3 23.7,15.8 15.8,15.8 \"/><g><polygon fill=\"#484F60\" points=\"22.8,18 28,15 22.8,12 \"/></g></g><g><polygon fill=\"#484F60\" points=\"23.7,35.8 14.3,35.8 14.3,30 15.8,30 15.8,34.3 23.7,34.3 \"/><g><polygon fill=\"#484F60\" points=\"22.8,38 28,35 22.8,32 \"/></g></g></g></g><g display=\"none\"></g></g><g display=\"none\"></g><g display=\"none\"></g><g display=\"none\"></g><g display=\"none\"></g><g display=\"none\"><g display=\"inline\"><rect y=\"50\" opacity=\"0.25\" fill=\"#FFFFFF\" width=\"50\" height=\"50\"/></g><g display=\"inline\"><g><rect y=\"-45\" opacity=\"0.5\" fill=\"none\" width=\"50\" height=\"45\"/><text transform=\"matrix(1 0 0 1 7.375 -37.9002)\"><tspan x=\"0\" y=\"0\" font-family=\"'MyriadPro-Regular'\" font-size=\"10px\">Opmaak </tspan><tspan x=\"5.4\" y=\"12\" font-family=\"'MyriadPro-Regular'\" font-size=\"10px\">item / </tspan><tspan x=\"-1.4\" y=\"24\" font-family=\"'MyriadPro-Regular'\" font-size=\"10px\">structuur </tspan><tspan x=\"8.1\" y=\"36\" font-family=\"'MyriadPro-Regular'\" font-size=\"10px\">item </tspan></text></g></g><g display=\"inline\"><g><rect y=\"0\" opacity=\"0.25\" fill=\"#FFFFFF\" width=\"50\" height=\"50\"/><rect y=\"5\" opacity=\"0.5\" fill=\"none\" width=\"50\" height=\"45\"/><text transform=\"matrix(1 0 0 1 5.0054 12.0999)\" font-family=\"'MyriadPro-Regular'\" font-size=\"10px\">Workflow</text></g></g></g></svg>",
|
|
1286
1535
|
"lock": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><g><path d=\"M22.65,11.67H7.35c-2.82,0-3.07,2.29-3.07,5.12v8.09c0,2.83,.25,5.12,3.07,5.12h15.29c2.81,0,3.07-2.29,3.07-5.12v-8.09c0-2.83-.25-5.12-3.07-5.12Zm-12.42,15.82l2.6-6.32c-1-.7-1.65-1.85-1.65-3.15,0-2.12,1.71-3.84,3.82-3.84s3.82,1.73,3.82,3.84c0,1.31-.65,2.46-1.65,3.15l2.6,6.32H10.22Z\" fill=\"#484f60\"/><path d=\"M19.51,6.64c0-3.6-2.02-4.07-4.51-4.07h0c-2.49,0-4.51,.47-4.51,4.07v3h-2.7v-3C7.79,1.62,11.02,0,15,0h0c3.98,0,7.21,1.62,7.21,6.64v3h-2.7v-3Z\" fill=\"#484f60\"/></g></g></svg>",
|
|
1287
1536
|
"message_sms_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M448-.0004H64c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7L304 415.1H448c35.25 0 64-28.75 64-63.1V63.1C512 28.75 483.3-.0004 448-.0004zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352zM124.4 192.6C113.6 189.5 103.2 187.2 104.2 181.5c.7813-4.5 10.28-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.375 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34C143.1 147.8 136.5 145.9 130.6 145c-30.69-4.812-53.94 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34C135 239 125.7 241.1 114.3 239.4C107.9 238.4 100.4 235.4 93.38 232.9c-8.375-2.969-16 1.875-18.97 10.19S77.19 261.1 85.5 264.1C92.81 266.8 101.1 269.8 109.4 271C113.7 271.7 117.9 272 121.1 272c24.28 0 41.94-12.03 45.38-32.13C173.1 206.5 141.4 197.5 124.4 192.6zM396.4 192.6C385.6 189.5 375.2 187.2 376.2 181.5c.7813-4.5 10.31-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.406 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34c-6.156-2.125-12.69-4.062-18.59-4.969c-30.75-4.812-53.97 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34c-.7813 4.562-10.12 6.656-21.56 4.938c-6.342-.9883-13.9-3.939-20.88-6.438c-8.375-2.969-16 1.875-18.97 10.19s2.781 17.97 11.09 20.97c7.312 2.656 15.62 5.656 23.88 6.906C385.7 271.7 389.9 272 393.1 272c24.28 0 41.94-12.03 45.38-32.13C445.1 206.5 413.4 197.5 396.4 192.6zM309.1 144.8c-6.469-2.062-13.72 .0625-17.88 5.594L256 197.3L220.8 150.4C216.7 144.9 209.4 142.7 202.9 144.8C196.4 147 192 153.1 192 160v96c0 8.844 7.156 16 16 16S224 264.8 224 256V208l19.19 25.59c6.062 8.062 19.56 8.062 25.62 0L288 208V256c0 8.844 7.156 16 16 16S320 264.8 320 256V160C320 153.1 315.6 147 309.1 144.8z\"/></svg>",
|
|
1288
1537
|
"message_sms_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\"/></svg>",
|
|
1538
|
+
"notification": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><path d=\"M15,1.1C6.72,1.1,0,6,0,12.06c0,2.12,.84,4.09,2.27,5.77h-.16c.16,.1,.28,.22,.43,.32,.4,.44,.86,.85,1.35,1.24,3.07,3.75,.06,8.71-3.25,9.84,5.79-1.34,9.31-3.89,10.9-6.53,1.11,.19,2.27,.31,3.46,.31,8.28,0,15-4.91,15-10.96S23.28,1.1,15,1.1Zm1.38,17.07h-2.82v-7.06h2.82v7.06Zm-.34-9.59c-.28,.28-.61,.41-1,.41s-.72-.14-1-.41c-.28-.28-.41-.61-.41-1s.14-.72,.41-1c.27-.28,.61-.41,1-.41s.72,.14,1,.41c.28,.28,.41,.61,.41,1s-.14,.72-.41,1Z\" fill=\"#484f60\"/></g></svg>",
|
|
1289
1539
|
"paperclip_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M375 73c-26-26-68.1-26-94.1 0L89 265C45.3 308.6 45.3 379.4 89 423s114.4 43.6 158.1 0L399 271c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L281 457c-62.4 62.4-163.5 62.4-225.9 0S-7.4 293.4 55 231L247 39C291.7-5.7 364.2-5.7 409 39s44.7 117.2 0 161.9L225.2 384.7c-31.6 31.6-83.6 28.7-111.5-6.2c-23.8-29.8-21.5-72.8 5.5-99.8L271 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L153.2 312.7c-9.7 9.7-10.6 25.1-2 35.8c10 12.5 28.7 13.6 40 2.2L375 167c26-26 26-68.1 0-94.1z\"/></svg>",
|
|
1290
1540
|
"pdf": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M31.42,40.17H13.88c-2.16,0-2.72-.56-2.72-2.72V12.88c0-2.15.56-2.71,2.72-2.71h11.6l8.66,8.88v3.43H32.8V19.6l-7.88-8.09h-11c-1.38,0-1.38,0-1.38,1.37V37.45c0,1.37,0,1.37,1.38,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\" fill=\"#484f60\"/><path d=\"M27.83,26.63v4.24h1a3.57,3.57,0,0,0,.78-.06,1.22,1.22,0,0,0,.52-.26,1.44,1.44,0,0,0,.34-.62,4.13,4.13,0,0,0,.13-1.18,3.79,3.79,0,0,0-.13-1.14,1.51,1.51,0,0,0-.37-.62,1.14,1.14,0,0,0-.6-.3,5.93,5.93,0,0,0-1.06-.06Z\" fill=\"#484f60\"/><path d=\"M21.86,26.63v1.82h.71a3.57,3.57,0,0,0,1-.1A.88.88,0,0,0,24,28a.84.84,0,0,0,.14-.5.8.8,0,0,0-.2-.57.88.88,0,0,0-.52-.29,6.36,6.36,0,0,0-.93,0Z\" fill=\"#484f60\"/><path d=\"M19.14,24.27v9h19.7v-9Zm6.12,4.24a1.68,1.68,0,0,1-.54.63,1.9,1.9,0,0,1-.67.3,6.57,6.57,0,0,1-1.34.1h-.85V32H20.57V25.54h2.07a7.75,7.75,0,0,1,1.54.1,1.73,1.73,0,0,1,.93.63,2,2,0,0,1,.37,1.25A2,2,0,0,1,25.26,28.51Zm6.45,1.66A2.91,2.91,0,0,1,31,31.31a2.28,2.28,0,0,1-.91.51A4,4,0,0,1,29,32H26.54V25.54H28.9a4.21,4.21,0,0,1,1.22.13,2.08,2.08,0,0,1,1,.59,2.79,2.79,0,0,1,.61,1,4.76,4.76,0,0,1,.21,1.52A4.19,4.19,0,0,1,31.71,30.17Zm5.7-3.54h-3.1v1.52H37v1.08H34.31V32H33V25.54h4.39Z\" fill=\"#484f60\"/><path d=\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\" fill=\"#484f60\"/></svg>",
|
|
1291
1541
|
"person_digging_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440.8 288c8.2 .3 15.7 4.7 19.8 11.8l104 176c4.4 7.4 4.5 16.6 .2 24.1s-12.2 12.1-20.8 12.1H288c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l16-48c3.3-9.8 12.4-16.4 22.8-16.4h35.4l20.3-29.5L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4s19.1-18 31.4-12.9L61 210.1l19.8-36.2C96.2 145.6 125.8 128 158 128h3.8c52.3 0 98.5 33.8 114.4 83.6l32.3 101.6 79 32.9 32.8-47.7c4.6-6.8 12.4-10.7 20.6-10.4zm-190.4 1l-20-62.8c-9.5-29.9-37.3-50.2-68.6-50.2H158c-14.6 0-28.1 8-35.1 20.8l-17.3 31.8L250.4 289zm188.1 67.6l-66.7 97L364.6 464H501.9L438.5 356.6zM81.4 301.1l128 54.4c8.9 3.8 14.6 12.5 14.6 22.1V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V393.5L87.5 355.9 47 494.7c-3.7 12.7-17 20-29.8 16.3S-2.7 494 1 481.3L49 316.5l7.6-25.9 24.9 10.6z\"/></svg>",
|
|
1542
|
+
"pin_round_open": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 51 51\"><path d=\"M683.16,390.18a7.07,7.07,0,0,1-3.09-.77c-2.53-1.25-3.94-3.58-3.14-5.19a3.07,3.07,0,0,1,2.94-1.43h.1l-1,1.74v.2a2.48,2.48,0,0,0,.78,1.82,5.23,5.23,0,0,0,3.44,1.51,2,2,0,0,0,1.8-.84l.06-.09.52-1.48a3,3,0,0,1,.57,3.09,3.07,3.07,0,0,1-2.94,1.43Z\" transform=\"translate(-657.5 -358.97)\" fill=\"#4d5065\"/><path d=\"M683.15,386.94a4.06,4.06,0,0,1-2.62-1.16,1.5,1.5,0,0,1-.47-.92l2.32-4a5.24,5.24,0,0,0,3.13,1.45L684,386.63a1,1,0,0,1-.84.31Z\" transform=\"translate(-657.5 -358.97)\" fill=\"#4d5065\"/><path d=\"M686.75,381.45a5.78,5.78,0,0,1-2.52-.63c-2.06-1-3.21-2.9-2.57-4.21a2.48,2.48,0,0,1,2.37-1.15,5.78,5.78,0,0,1,2.53.63,5.5,5.5,0,0,1,2.32,2.05,2.26,2.26,0,0,1,.24,2.15,2.48,2.48,0,0,1-2.37,1.15Z\" transform=\"translate(-657.5 -358.97)\" fill=\"#4d5065\"/><path d=\"M679.42,390l-.89,1.92-.13,1.55,1-1.16.81-1.92-.54-.24Z\" transform=\"translate(-657.5 -358.97)\" fill=\"#4d5065\"/><path d=\"M683,399.47a15,15,0,1,1,15-15A15,15,0,0,1,683,399.47Zm0-29a14,14,0,1,0,14,14A14,14,0,0,0,683,370.44Z\" transform=\"translate(-657.5 -358.97)\" fill=\"#4d5065\"/></svg>",
|
|
1292
1543
|
"print": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M38,16.5H12a2,2,0,0,0-2,2v9a2,2,0,0,0,2,2h2v-5H36v5h2a2,2,0,0,0,2-2v-9A2,2,0,0,0,38,16.5ZM37,21a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,37,21Z\" fill=\"#484f60\"/><path d=\"M35,11.5v5H15v-5H35m1-1H14v7H36v-7Z\" fill=\"#484f60\"/><path d=\"M35,25.5v13H15v-13H35m1-1H14v15H36v-15Z\" fill=\"#484f60\"/><rect x=\"17\" y=\"28.3\" width=\"16\" height=\"0.8\" fill=\"#484f60\"/><rect x=\"17\" y=\"31.5\" width=\"16\" height=\"0.8\" fill=\"#484f60\"/><rect x=\"17\" y=\"34.7\" width=\"16\" height=\"0.8\" fill=\"#484f60\"/></svg>",
|
|
1293
1544
|
"print_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M111.1 48h254.1L400 81.94V160H448V81.94c0-12.73-5.057-24.94-14.06-33.94l-33.94-33.94C391 5.057 378.8 0 366.1 0H111.1C85.49 0 64.01 21.48 64 47.98l.002 82.28c-.002 0 .002 0 0 0L64 160h48.01L111.1 48zM440 192H72C32.3 192 0 224.3 0 264v112c0 13.25 10.75 24 24 24H80V480c0 17.67 14.33 32 32 32h288c17.67 0 32-14.33 32-32v-80h56c13.25 0 24-10.75 24-24v-112C512 224.3 479.7 192 440 192zM384 464H128v-96h256V464zM464 352h-32c0-17.67-14.33-32-32-32h-288c-17.67 0-32 14.33-32 32h-32V264c0-13.23 10.77-24 24-24h368c13.23 0 24 10.77 24 24V352z\"/></svg>",
|
|
1294
1545
|
"print_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M448 192H64C28.65 192 0 220.7 0 256v96c0 17.67 14.33 32 32 32h32v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h32c17.67 0 32-14.33 32-32V256C512 220.7 483.3 192 448 192zM384 448H128v-96h256V448zM432 296c-13.25 0-24-10.75-24-24c0-13.27 10.75-24 24-24s24 10.73 24 24C456 285.3 445.3 296 432 296zM128 64h229.5L384 90.51V160h64V77.25c0-8.484-3.375-16.62-9.375-22.62l-45.25-45.25C387.4 3.375 379.2 0 370.8 0H96C78.34 0 64 14.33 64 32v128h64V64z\"/></svg>",
|
|
1295
1546
|
"signature_field": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M20.1,25.42a1.1,1.1,0,1,1,1.27,1.45l-3.3,9.07A63.13,63.13,0,0,1,28,28.3l1.26-12-8.26-3-6.77,10A62.4,62.4,0,0,1,17,35.54l3.3-9.07A1.12,1.12,0,0,1,20.1,25.42Z\" fill=\"#484f60\"/><rect x=\"21.62\" y=\"11.43\" width=\"8.79\" height=\"2.34\" transform=\"translate(5.88 -8.14) rotate(20)\" fill=\"#484f60\"/><path d=\"M18.11,37.48c1.44,2.65,4.58,2.94,7.23,2.1,1.41-.44,2.2-1.49,3.44-2.06,2.42-1.1,3.13,1.2,5.36,1.37.42,0,2-.65,1.54-.68-2.55-.19-2.93-3.13-5.51-2.65a4.9,4.9,0,0,0-1.64.71c-.77.49-1.31,1.62-2.07,2l-4.61.56A3.38,3.38,0,0,1,20,37c-.22-.41-2,.28-1.85.5Z\" fill=\"#484f60\"/></svg>",
|
|
1296
1547
|
"tag_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M197.5 32c17 0 33.3 6.7 45.3 18.7l176 176c25 25 25 65.5 0 90.5L285.3 450.7c-25 25-65.5 25-90.5 0l-176-176C6.7 262.7 0 246.5 0 229.5V80C0 53.5 21.5 32 48 32H197.5zM48 229.5c0 4.2 1.7 8.3 4.7 11.3l176 176c6.2 6.2 16.4 6.2 22.6 0L384.8 283.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-3-3-7.1-4.7-11.3-4.7H48V229.5zM112 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"/></svg>",
|
|
1548
|
+
"task": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><g><path d=\"M23.82,3.53h-.88v1.32h.88c.24,0,.44,.2,.44,.44V28.24c0,.24-.2,.44-.44,.44H6.18c-.24,0-.44-.2-.44-.44V5.29c0-.24,.2-.44,.44-.44h.88v-1.32h-.88c-.97,0-1.76,.79-1.76,1.76V28.24c0,.97,.79,1.76,1.76,1.76H23.82c.97,0,1.76-.79,1.76-1.76V5.29c0-.97-.79-1.76-1.76-1.76Z\" fill=\"#484f60\"/><path d=\"M17.65,2.65c0,1.46-1.19,2.65-2.65,2.65s-2.65-1.19-2.65-2.65h-3.09c-.49,0-.88,.4-.88,.88v2.65c0,.49,.4,.88,.88,.88h11.47c.49,0,.88-.4,.88-.88V3.53c0-.49-.4-.88-.88-.88h-3.09Z\" fill=\"#484f60\"/><path d=\"M15,0C13.54,0,12.35,1.19,12.35,2.65s1.19,2.65,2.65,2.65,2.65-1.19,2.65-2.65S16.46,0,15,0Zm0,3.97c-.73,0-1.32-.59-1.32-1.32s.59-1.32,1.32-1.32,1.32,.59,1.32,1.32-.59,1.32-1.32,1.32Z\" fill=\"#484f60\"/><rect x=\"12.09\" y=\"11.51\" width=\"10\" height=\"1\" fill=\"#484f60\"/><rect x=\"12.09\" y=\"17.51\" width=\"10\" height=\"1\" fill=\"#484f60\"/><rect x=\"12.09\" y=\"23.51\" width=\"10\" height=\"1\" fill=\"#484f60\"/><path d=\"M10.09,23.51v1h-1v-1h1m1-1h-3v3h3v-3h0Z\" fill=\"#484f60\"/><polygon points=\"9.44 20.01 7.91 17.86 8.52 17.43 9.33 18.57 10.61 16.01 11.27 16.35 9.44 20.01\" fill=\"#484f60\"/><polygon points=\"9.44 14.01 7.91 11.86 8.52 11.43 9.33 12.57 10.61 10.01 11.27 10.35 9.44 14.01\" fill=\"#484f60\"/></g></g></svg>",
|
|
1297
1549
|
"trashbin": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M144 400C144 408.8 136.8 416 128 416C119.2 416 112 408.8 112 400V176C112 167.2 119.2 160 128 160C136.8 160 144 167.2 144 176V400zM240 400C240 408.8 232.8 416 224 416C215.2 416 208 408.8 208 400V176C208 167.2 215.2 160 224 160C232.8 160 240 167.2 240 176V400zM336 400C336 408.8 328.8 416 320 416C311.2 416 304 408.8 304 400V176C304 167.2 311.2 160 320 160C328.8 160 336 167.2 336 176V400zM310.1 22.56L336.9 64H432C440.8 64 448 71.16 448 80C448 88.84 440.8 96 432 96H416V432C416 476.2 380.2 512 336 512H112C67.82 512 32 476.2 32 432V96H16C7.164 96 0 88.84 0 80C0 71.16 7.164 64 16 64H111.1L137 22.56C145.8 8.526 161.2 0 177.7 0H270.3C286.8 0 302.2 8.526 310.1 22.56V22.56zM148.9 64H299.1L283.8 39.52C280.9 34.84 275.8 32 270.3 32H177.7C172.2 32 167.1 34.84 164.2 39.52L148.9 64zM64 432C64 458.5 85.49 480 112 480H336C362.5 480 384 458.5 384 432V96H64V432z\" fill=\"#484f60\"></path></svg>",
|
|
1298
1550
|
"xml": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><g><path d=\"M21.42,30.17H3.87c-2.16,0-2.72-.56-2.72-2.72V2.88C1.16,.73,1.72,.17,3.87,.17H15.48l8.66,8.88v3.43h-1.34v-2.88L14.92,1.51H3.87q-1.37,0-1.37,1.37V27.45q0,1.37,1.37,1.37H21.42q1.37,0,1.37-1.37v-2.43h1.34v2.43c0,2.16-.56,2.72-2.72,2.72Z\" fill=\"#484f60\"/><path d=\"M15.2,.84V7.28c0,1.78,.27,2.05,2.04,2.05h6.22L15.2,.84Z\" fill=\"#484f60\"/><path d=\"M9.14,14.27v8.96H28.84V14.27H9.14Zm5.36,7.4l-1.3-2.02-1.3,2.02h-1.42l2-3.05-1.81-2.8h1.38l1.17,1.88,1.15-1.88h1.37l-1.82,2.84,2,3.01h-1.43Zm7.67,0h-1.1v-4.61l-1.16,4.61h-1.14l-1.16-4.61v4.61h-1.1v-5.85h1.77l1.06,3.99,1.05-3.99h1.77v5.85Zm5.33,0h-4.12v-5.81h1.18v4.82h2.94v.99Z\" fill=\"#484f60\"/></g></g></svg>",
|
|
1299
1551
|
"x_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><path d=\"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\"/></svg>"
|
|
@@ -1361,10 +1613,12 @@ class StockComponent {
|
|
|
1361
1613
|
this.okButtonClicked = new EventEmitter();
|
|
1362
1614
|
this.cancelButtonClicked = new EventEmitter();
|
|
1363
1615
|
this.handleClick = new EventEmitter();
|
|
1616
|
+
this.updateGridData = new EventEmitter();
|
|
1364
1617
|
this.loaded = false;
|
|
1365
1618
|
this.showStockInformationGrid = true;
|
|
1366
1619
|
this.showStockTransfer = false;
|
|
1367
1620
|
this.stockInformation = [];
|
|
1621
|
+
this.articleDetailsInformation = new ArticleStockManagement();
|
|
1368
1622
|
this.stockHistory = [];
|
|
1369
1623
|
this.allAvailableStock = 0;
|
|
1370
1624
|
this.allTechnicalStock = 0;
|
|
@@ -1412,7 +1666,12 @@ class StockComponent {
|
|
|
1412
1666
|
data.entryDate = new Date;
|
|
1413
1667
|
this._stockService.updateArticleDetails(data).then(result => {
|
|
1414
1668
|
this.handleClick.emit();
|
|
1669
|
+
this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
|
|
1670
|
+
this.updateGridData.emit(details);
|
|
1671
|
+
});
|
|
1415
1672
|
});
|
|
1673
|
+
this.loaded = true;
|
|
1674
|
+
this.loadData();
|
|
1416
1675
|
}
|
|
1417
1676
|
backToStock(goodId) {
|
|
1418
1677
|
this.loadData();
|
|
@@ -1501,48 +1760,9 @@ StockComponent.decorators = [
|
|
|
1501
1760
|
(transferIconClicked)="handleStockTransferClick($event)"
|
|
1502
1761
|
(sendMethodDialogClicked)="handleSendMethodClick($event)"
|
|
1503
1762
|
[warehouses]="warehouses"
|
|
1504
|
-
|
|
1505
|
-
<div class="stock-transfer-wrapper">
|
|
1506
|
-
<co-dialog *ngIf="showStockTransfer"
|
|
1507
|
-
(closeClick)="showStockTransfer = false"
|
|
1508
|
-
[showCloseIcon]="true"
|
|
1509
|
-
[modal]="true"
|
|
1510
|
-
[headerTemplate]="headerTemplate"
|
|
1511
|
-
[footerTemplate]="footerTemplate">
|
|
1512
|
-
<ng-template #headerTemplate>
|
|
1513
|
-
<div class="co-dialog-header-title-wrapper">
|
|
1514
|
-
<co-icon [iconData]="iconCacheService.getIcon(icons.Cubes)"></co-icon>
|
|
1515
|
-
<div class="co-dialog-header-title" [textContent]="'TRANSFER_STOCK' | localize"></div>
|
|
1516
|
-
</div>
|
|
1517
|
-
</ng-template>
|
|
1518
|
-
<div class="dialog-wrapper">
|
|
1519
|
-
<co-stock-transfer (handleClick)="backToStock($event)"
|
|
1520
|
-
class="stock-transfer-dialog"
|
|
1521
|
-
[article]="stockTransferArticle"
|
|
1522
|
-
[articleToTransfer]="stockTransferArticleDetails"
|
|
1523
|
-
(handleStickerClicked)="handleStickerClicked.emit($event)"
|
|
1524
|
-
[articleWarehouse]="articleWarehouse"
|
|
1525
|
-
[allWarehouses]="allWarehouses">
|
|
1526
|
-
</co-stock-transfer>
|
|
1527
|
-
</div>
|
|
1528
|
-
<ng-template #footerTemplate>
|
|
1529
|
-
<div class="button-wrapper ok-cancel-buttons">
|
|
1530
|
-
<co-button class="save-button"
|
|
1531
|
-
(click)="handleOkClick(stockTransferArticleDetails)"
|
|
1532
|
-
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)">
|
|
1533
|
-
</co-button>
|
|
1534
|
-
<co-button class="cancel-button"
|
|
1535
|
-
(click)="showStockTransfer = false"
|
|
1536
|
-
[iconData]="iconCacheService.getIcon(icons.CrossSkinny)">
|
|
1537
|
-
</co-button>
|
|
1538
|
-
</div>
|
|
1539
|
-
</ng-template>
|
|
1540
|
-
</co-dialog>
|
|
1541
|
-
</div>
|
|
1763
|
+
[showStockTransfer]="showStockTransfer"
|
|
1542
1764
|
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
</co-send-method-dialog>
|
|
1765
|
+
></co-stock-tabs>
|
|
1546
1766
|
</div>
|
|
1547
1767
|
`,
|
|
1548
1768
|
encapsulation: ViewEncapsulation.None
|
|
@@ -2064,15 +2284,24 @@ StockInformationGridComponent.propDecorators = {
|
|
|
2064
2284
|
};
|
|
2065
2285
|
|
|
2066
2286
|
class StockTransferComponent {
|
|
2067
|
-
constructor(_stockService, iconCacheService) {
|
|
2287
|
+
constructor(_stockService, iconCacheService, _changeDetector) {
|
|
2068
2288
|
this._stockService = _stockService;
|
|
2069
2289
|
this.iconCacheService = iconCacheService;
|
|
2290
|
+
this._changeDetector = _changeDetector;
|
|
2291
|
+
this.selectedArticleDetailsData = new ArticleDetailsBo();
|
|
2292
|
+
this.articleDetailsInformation = new ArticleStockManagement();
|
|
2293
|
+
this.articleStockInfo = [];
|
|
2294
|
+
this.stockLocations = [];
|
|
2070
2295
|
this.handleClick = new EventEmitter();
|
|
2071
2296
|
this.handleStickerClicked = new EventEmitter();
|
|
2297
|
+
this.updateGridData = new EventEmitter();
|
|
2298
|
+
this.showStockTransferChange = new EventEmitter();
|
|
2072
2299
|
this.showSendMethodDialog = false;
|
|
2300
|
+
this.transferFull = false;
|
|
2073
2301
|
this.warehouses = [];
|
|
2074
2302
|
this.stockState = [];
|
|
2075
2303
|
this.locations = [];
|
|
2304
|
+
this.stockStatus = [];
|
|
2076
2305
|
this.icons = Icon;
|
|
2077
2306
|
}
|
|
2078
2307
|
ngAfterViewInit() {
|
|
@@ -2080,21 +2309,31 @@ class StockTransferComponent {
|
|
|
2080
2309
|
this.getStockState();
|
|
2081
2310
|
}
|
|
2082
2311
|
handleOkClick(data) {
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2312
|
+
if (this.articleToTransfer.amountTransfer > this.articleToTransfer.amountInStockFree) {
|
|
2313
|
+
this.transferFull = true;
|
|
2314
|
+
}
|
|
2315
|
+
else {
|
|
2316
|
+
data.selected = true;
|
|
2317
|
+
data.entryDate = new Date;
|
|
2318
|
+
this._stockService.updateArticleDetails(data).then((result) => {
|
|
2319
|
+
this.handleClick.emit();
|
|
2320
|
+
this.showStockTransferChange.emit(false);
|
|
2321
|
+
this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
|
|
2322
|
+
this.articleStockInfo = details;
|
|
2323
|
+
this.updateGridData.emit(details);
|
|
2324
|
+
});
|
|
2325
|
+
}).catch((result) => {
|
|
2326
|
+
// Log failure message
|
|
2327
|
+
});
|
|
2328
|
+
}
|
|
2090
2329
|
}
|
|
2091
|
-
|
|
2092
|
-
this.
|
|
2330
|
+
onCloseClick() {
|
|
2331
|
+
this.showStockTransferChange.emit(false);
|
|
2093
2332
|
}
|
|
2094
2333
|
handleSelectedWarehouse(event) {
|
|
2095
2334
|
this.articleToTransfer.targetWarehouse = event.warehouseNo;
|
|
2096
2335
|
this.selectedWarehouse = event;
|
|
2097
|
-
this.getStockManagementLocations(
|
|
2336
|
+
this.getStockManagementLocations();
|
|
2098
2337
|
}
|
|
2099
2338
|
handleSelectedLocation(event) {
|
|
2100
2339
|
this.articleToTransfer.targetLocation = event.locationNo;
|
|
@@ -2111,9 +2350,9 @@ class StockTransferComponent {
|
|
|
2111
2350
|
this.warehouses = warehouses;
|
|
2112
2351
|
});
|
|
2113
2352
|
}
|
|
2114
|
-
getStockManagementLocations(
|
|
2115
|
-
this._stockService.getStockManagementLocations(
|
|
2116
|
-
this.
|
|
2353
|
+
getStockManagementLocations() {
|
|
2354
|
+
this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then((locations) => {
|
|
2355
|
+
this.stockLocations = locations;
|
|
2117
2356
|
});
|
|
2118
2357
|
}
|
|
2119
2358
|
getStockState() {
|
|
@@ -2127,96 +2366,134 @@ StockTransferComponent.decorators = [
|
|
|
2127
2366
|
selector: "co-stock-transfer",
|
|
2128
2367
|
template: `
|
|
2129
2368
|
<div class="stock-transfer">
|
|
2130
|
-
<
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2369
|
+
<co-dialog
|
|
2370
|
+
(closeClick)="onCloseClick()"
|
|
2371
|
+
[showCloseIcon]="true"
|
|
2372
|
+
[modal]="true"
|
|
2373
|
+
[headerTemplate]="headerTemplate"
|
|
2374
|
+
[footerTemplate]="footerTemplate">
|
|
2375
|
+
<ng-template #headerTemplate>
|
|
2376
|
+
<div class="co-dialog-header-title-wrapper">
|
|
2377
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.Cubes)"></co-icon>
|
|
2378
|
+
<div class="co-dialog-header-title" [textContent]="'TRANSFER_STOCK' | localize"></div>
|
|
2379
|
+
</div>
|
|
2380
|
+
</ng-template>
|
|
2381
|
+
<div class="dialog-wrapper">
|
|
2382
|
+
<div class="stock-transfer-columns">
|
|
2383
|
+
<div *ngIf="articleToTransfer" class="stock-transfer-top-column">
|
|
2384
|
+
<div class="transfer-items">
|
|
2385
|
+
<div class="transfer-item">
|
|
2386
|
+
<label class="item-label" [textContent]="'WAREHOUSE' | localize"></label>
|
|
2387
|
+
<span class="item-value" [textContent]="articleToTransfer.warehouseDescription"></span>
|
|
2388
|
+
</div>
|
|
2389
|
+
<div class="transfer-item">
|
|
2390
|
+
<label class="item-label" [textContent]="'LOCATION' | localize"></label>
|
|
2391
|
+
<span class="item-value" [textContent]="articleToTransfer.locationNo"></span>
|
|
2392
|
+
</div>
|
|
2393
|
+
<div class="transfer-item" *ngIf="articleToTransfer?.batchNo">
|
|
2394
|
+
<label class="item-label" [textContent]="'BATCH_NO' | localize"></label>
|
|
2395
|
+
<span class="item-value" [textContent]="articleToTransfer.batchNo"></span>
|
|
2396
|
+
</div>
|
|
2397
|
+
<div class="transfer-item" *ngIf="articleToTransfer?.serialNo">
|
|
2398
|
+
<label class="item-label" [textContent]="'SERIE_NO' | localize"></label>
|
|
2399
|
+
<span class="item-value" [textContent]="articleToTransfer.serialNo"></span>
|
|
2400
|
+
</div>
|
|
2401
|
+
</div>
|
|
2402
|
+
<div class="transfer-quantity">
|
|
2403
|
+
<co-input-number-picker
|
|
2404
|
+
[(model)]="articleToTransfer.amountTransfer"
|
|
2405
|
+
[min]="1"
|
|
2406
|
+
[label]="'QUANTITY' | localize">
|
|
2407
|
+
</co-input-number-picker>
|
|
2408
|
+
<span *ngIf="transferFull" [textContent]="this.articleToTransfer.amountInStockFree + (' AVAILABLE' | localize)"></span>
|
|
2409
|
+
</div>
|
|
2136
2410
|
</div>
|
|
2137
|
-
<div class="transfer-
|
|
2138
|
-
<
|
|
2139
|
-
<
|
|
2411
|
+
<div class="transfer-arrow-wrapper">
|
|
2412
|
+
<span class="half-circle"></span>
|
|
2413
|
+
<div class="icon-wrapper">
|
|
2414
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.ArrowDownRegular)"></co-icon>
|
|
2415
|
+
</div>
|
|
2140
2416
|
</div>
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2417
|
+
|
|
2418
|
+
|
|
2419
|
+
<div class="stock-transfer-bottom-column">
|
|
2420
|
+
<div class="transfer-bottom-row">
|
|
2421
|
+
<co-list-of-values [collection]="warehouses"
|
|
2422
|
+
[displayField]="'warehouseDescription'"
|
|
2423
|
+
(modelChange)="handleSelectedWarehouse($event)"
|
|
2424
|
+
[label]="'WAREHOUSE' | localize"
|
|
2425
|
+
>
|
|
2426
|
+
</co-list-of-values>
|
|
2427
|
+
<co-list-of-values [collection]="stockLocations"
|
|
2428
|
+
[displayField]="'locationNo'"
|
|
2429
|
+
(modelChange)="handleSelectedLocation($event)"
|
|
2430
|
+
[label]="'LOCATION' | localize"
|
|
2431
|
+
>
|
|
2432
|
+
</co-list-of-values>
|
|
2433
|
+
</div>
|
|
2434
|
+
<div class="transfer-bottom-row">
|
|
2435
|
+
<co-list-of-values [collection]="stockState"
|
|
2436
|
+
[displayField]="'stateDescription'"
|
|
2437
|
+
[label]="'STOCK_STATE' | localize"
|
|
2438
|
+
(modelChange)="handleSelectedStockState($event)"
|
|
2439
|
+
>
|
|
2440
|
+
</co-list-of-values>
|
|
2441
|
+
</div>
|
|
2442
|
+
|
|
2144
2443
|
</div>
|
|
2145
|
-
<div class="transfer-
|
|
2146
|
-
<
|
|
2147
|
-
|
|
2444
|
+
<div class="transfer-sticker-buttons">
|
|
2445
|
+
<co-button
|
|
2446
|
+
[label]="'STICKER' | localize"
|
|
2447
|
+
(click)="handleStickerClick()"
|
|
2448
|
+
[iconData]="iconCacheService.getIcon(icons.BarcodeReadRegular)">
|
|
2449
|
+
</co-button>
|
|
2148
2450
|
</div>
|
|
2149
2451
|
</div>
|
|
2150
|
-
<div class="transfer-quantity">
|
|
2151
|
-
<co-input-number-picker
|
|
2152
|
-
[(model)]="articleToTransfer.amountTransfer"
|
|
2153
|
-
[min]="1"
|
|
2154
|
-
[label]="'QUANTITY' | localize">
|
|
2155
|
-
</co-input-number-picker>
|
|
2156
|
-
</div>
|
|
2157
2452
|
</div>
|
|
2158
|
-
<
|
|
2159
|
-
<
|
|
2160
|
-
|
|
2161
|
-
|
|
2453
|
+
<ng-template #footerTemplate>
|
|
2454
|
+
<div class="button-wrapper ok-cancel-buttons">
|
|
2455
|
+
<co-button class="save-button"
|
|
2456
|
+
(click)="handleOkClick(articleToTransfer)"
|
|
2457
|
+
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)">
|
|
2458
|
+
</co-button>
|
|
2459
|
+
<co-button class="cancel-button"
|
|
2460
|
+
(click)="onCloseClick()"
|
|
2461
|
+
[iconData]="iconCacheService.getIcon(icons.CrossSkinny)">
|
|
2462
|
+
</co-button>
|
|
2162
2463
|
</div>
|
|
2163
|
-
</
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
<div class="stock-transfer-bottom-column">
|
|
2167
|
-
<div class="transfer-bottom-row">
|
|
2168
|
-
<co-list-of-values [collection]="warehouses"
|
|
2169
|
-
[displayField]="'warehouseDescription'"
|
|
2170
|
-
(modelChange)="handleSelectedWarehouse($event)"
|
|
2171
|
-
[label]="'WAREHOUSE' | localize"
|
|
2172
|
-
>
|
|
2173
|
-
</co-list-of-values>
|
|
2174
|
-
<co-list-of-values [collection]="locations"
|
|
2175
|
-
[displayField]="'description'"
|
|
2176
|
-
(modelChange)="handleSelectedLocation($event)"
|
|
2177
|
-
[label]="'LOCATION' | localize"
|
|
2178
|
-
>
|
|
2179
|
-
</co-list-of-values>
|
|
2180
|
-
</div>
|
|
2181
|
-
<div class="transfer-bottom-row">
|
|
2182
|
-
<co-list-of-values [collection]="stockState"
|
|
2183
|
-
[displayField]="'stateDescription'"
|
|
2184
|
-
[label]="'STOCK_STATE' | localize"
|
|
2185
|
-
(modelChange)="handleSelectedStockState($event)"
|
|
2186
|
-
>
|
|
2187
|
-
</co-list-of-values>
|
|
2188
|
-
</div>
|
|
2189
|
-
<div class="transfer-bottom-row">
|
|
2190
|
-
<co-input-text [placeholder]="'DESCRIPTION' | localize"
|
|
2191
|
-
[(model)]="articleToTransfer.stockStateRemark">
|
|
2192
|
-
</co-input-text>
|
|
2193
|
-
</div>
|
|
2194
|
-
</div>
|
|
2195
|
-
<div class="transfer-sticker-buttons">
|
|
2196
|
-
<co-button
|
|
2197
|
-
[label]="'STICKER' | localize"
|
|
2198
|
-
(click)="handleStickerClick()"
|
|
2199
|
-
[iconData]="iconCacheService.getIcon(icons.BarcodeReadRegular)">
|
|
2200
|
-
</co-button>
|
|
2201
|
-
</div>
|
|
2202
|
-
</div>
|
|
2464
|
+
</ng-template>
|
|
2465
|
+
</co-dialog>
|
|
2203
2466
|
</div>
|
|
2467
|
+
<co-send-method-dialog *ngIf="showSendMethodDialog"
|
|
2468
|
+
(closeClick)="showSendMethodDialog = false">
|
|
2469
|
+
|
|
2470
|
+
</co-send-method-dialog>
|
|
2204
2471
|
`,
|
|
2205
2472
|
encapsulation: ViewEncapsulation.None
|
|
2206
2473
|
},] }
|
|
2207
2474
|
];
|
|
2208
2475
|
StockTransferComponent.ctorParameters = () => [
|
|
2209
2476
|
{ type: StockService },
|
|
2210
|
-
{ type: IconCacheService }
|
|
2477
|
+
{ type: IconCacheService },
|
|
2478
|
+
{ type: ChangeDetectorRef }
|
|
2211
2479
|
];
|
|
2212
2480
|
StockTransferComponent.propDecorators = {
|
|
2213
2481
|
stockSticker: [{ type: Input }],
|
|
2214
2482
|
article: [{ type: Input }],
|
|
2215
2483
|
articleToTransfer: [{ type: Input }],
|
|
2216
|
-
articleWarehouse: [{ type: Input }],
|
|
2217
2484
|
allWarehouses: [{ type: Input }],
|
|
2485
|
+
showStockTransfer: [{ type: Input }],
|
|
2486
|
+
selectedArticleDetailsData: [{ type: Input }],
|
|
2487
|
+
articleFlat: [{ type: Input }],
|
|
2488
|
+
articleDetailsInformation: [{ type: Input }],
|
|
2489
|
+
selectedWarehouse: [{ type: Input }],
|
|
2490
|
+
selectedLocationNo: [{ type: Input }],
|
|
2491
|
+
articleStockInfo: [{ type: Input }],
|
|
2492
|
+
stockLocations: [{ type: Input }],
|
|
2218
2493
|
handleClick: [{ type: Output }],
|
|
2219
|
-
handleStickerClicked: [{ type: Output }]
|
|
2494
|
+
handleStickerClicked: [{ type: Output }],
|
|
2495
|
+
updateGridData: [{ type: Output }],
|
|
2496
|
+
showStockTransferChange: [{ type: Output }]
|
|
2220
2497
|
};
|
|
2221
2498
|
|
|
2222
2499
|
class SharedService {
|
|
@@ -2230,6 +2507,11 @@ class SharedService {
|
|
|
2230
2507
|
yield this.connector.connect();
|
|
2231
2508
|
});
|
|
2232
2509
|
}
|
|
2510
|
+
connect() {
|
|
2511
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2512
|
+
yield this.connector.connect();
|
|
2513
|
+
});
|
|
2514
|
+
}
|
|
2233
2515
|
getAllPrinters() {
|
|
2234
2516
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2235
2517
|
return yield this.connector.getAllPrinters();
|
|
@@ -2255,18 +2537,105 @@ class SharedService {
|
|
|
2255
2537
|
return yield this.connector.getTagsFullTree(category, includeTags);
|
|
2256
2538
|
});
|
|
2257
2539
|
}
|
|
2540
|
+
getJoinedTags(table, key) {
|
|
2541
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2542
|
+
return yield this.connector.getJoinedTags(table, key);
|
|
2543
|
+
});
|
|
2544
|
+
}
|
|
2258
2545
|
getDocumentContent(docId, thumbnail = true) {
|
|
2259
2546
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2260
2547
|
return yield this.connector.getDocumentContent(docId, thumbnail);
|
|
2261
2548
|
});
|
|
2262
2549
|
}
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2550
|
+
getComponentActivitiesWithoutRelationFiltering(table, key) {
|
|
2551
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2552
|
+
return yield this.connector.getComponentActivitiesWithoutRelationFiltering(table, key);
|
|
2553
|
+
});
|
|
2554
|
+
}
|
|
2555
|
+
updateActivity(activity) {
|
|
2556
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2557
|
+
return yield this.connector.updateActivity(activity);
|
|
2558
|
+
});
|
|
2559
|
+
}
|
|
2560
|
+
deleteActivity(activity) {
|
|
2561
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2562
|
+
return yield this.connector.deleteActivity(activity);
|
|
2563
|
+
});
|
|
2564
|
+
}
|
|
2565
|
+
lockTask(id) {
|
|
2566
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2567
|
+
return yield this.connector.lockTask(id);
|
|
2568
|
+
});
|
|
2569
|
+
}
|
|
2570
|
+
canFireTrigger(activity, task) {
|
|
2571
|
+
return true;
|
|
2572
|
+
}
|
|
2573
|
+
fireTrigger(workFlowProcessId, sequence, triggerId) {
|
|
2574
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2575
|
+
return yield this.connector.fireTrigger(workFlowProcessId, sequence, triggerId);
|
|
2576
|
+
});
|
|
2577
|
+
}
|
|
2578
|
+
fireGenericTrigger(workFlowProcessId, genericTransitionId, relationId) {
|
|
2579
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2580
|
+
return yield this.connector.fireGenericTrigger(workFlowProcessId, genericTransitionId, relationId);
|
|
2581
|
+
});
|
|
2582
|
+
}
|
|
2583
|
+
getRelationListObjects(request) {
|
|
2584
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2585
|
+
return yield this.connector.getRelationListObjects(request);
|
|
2586
|
+
});
|
|
2587
|
+
}
|
|
2588
|
+
getTaskCategories() {
|
|
2589
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2590
|
+
return yield this.connector.getTaskCategories();
|
|
2591
|
+
});
|
|
2592
|
+
}
|
|
2593
|
+
getActiveProcessesByTableAndKey(table, key) {
|
|
2594
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2595
|
+
return yield this.connector.getActiveProcessesByTableAndKey(table, key);
|
|
2596
|
+
});
|
|
2597
|
+
}
|
|
2598
|
+
getDomainCollection(languageCode, domainName) {
|
|
2599
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2600
|
+
return yield this.connector.getDomainCollection(languageCode, domainName);
|
|
2601
|
+
});
|
|
2602
|
+
}
|
|
2603
|
+
getRoleEmailAddressesByWorkflowCategoryAndKey(workflowCategory, key) {
|
|
2604
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2605
|
+
return yield this.connector.getRoleEmailAddressesByWorkflowCategoryAndKey(workflowCategory, key);
|
|
2606
|
+
});
|
|
2607
|
+
}
|
|
2608
|
+
getWorkflowProcessInfoPerStatus(workflowCategory) {
|
|
2609
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2610
|
+
return yield this.connector.getWorkflowProcessInfoPerStatus(workflowCategory);
|
|
2611
|
+
});
|
|
2612
|
+
}
|
|
2613
|
+
getActivities(table, key) {
|
|
2614
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2615
|
+
const activities = yield this.connector.getComponentActivities(table, key);
|
|
2616
|
+
const histActivities = yield this.connector.getHistoricActivities(table, key);
|
|
2617
|
+
const activeActivities = [];
|
|
2618
|
+
const historicActivities = [];
|
|
2619
|
+
if (activities && activities.length > 0) {
|
|
2620
|
+
activities.forEach((activity) => {
|
|
2621
|
+
activeActivities.push(activity);
|
|
2622
|
+
});
|
|
2623
|
+
}
|
|
2624
|
+
if (histActivities && histActivities.length > 0) {
|
|
2625
|
+
histActivities.forEach((activity) => {
|
|
2626
|
+
historicActivities.push(activity);
|
|
2627
|
+
});
|
|
2628
|
+
}
|
|
2629
|
+
return activeActivities.concat(historicActivities);
|
|
2630
|
+
});
|
|
2631
|
+
}
|
|
2632
|
+
}
|
|
2633
|
+
SharedService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedService_Factory() { return new SharedService(i0.ɵɵinject(OptionsService), i0.ɵɵinject(SharedConnectorService)); }, token: SharedService, providedIn: "root" });
|
|
2634
|
+
SharedService.decorators = [
|
|
2635
|
+
{ type: Injectable, args: [{
|
|
2636
|
+
providedIn: "root"
|
|
2637
|
+
},] }
|
|
2638
|
+
];
|
|
2270
2639
|
SharedService.ctorParameters = () => [
|
|
2271
2640
|
{ type: OptionsService },
|
|
2272
2641
|
{ type: SharedConnectorService }
|
|
@@ -3296,6 +3665,9 @@ class StockTabsComponent {
|
|
|
3296
3665
|
},
|
|
3297
3666
|
];
|
|
3298
3667
|
}
|
|
3668
|
+
onShowStockTransferChange(show) {
|
|
3669
|
+
this.showStockTransfer = show;
|
|
3670
|
+
}
|
|
3299
3671
|
handleLocationClicked(data) {
|
|
3300
3672
|
this.tabs[0].active = false;
|
|
3301
3673
|
this.tabs[2].active = true;
|
|
@@ -3435,7 +3807,8 @@ StockTabsComponent.decorators = [
|
|
|
3435
3807
|
[stockLocations]="stockLocations"
|
|
3436
3808
|
(transferIconClicked)="transferIconClicked.emit($event)"
|
|
3437
3809
|
(sendMethodDialogClicked)="sendMethodDialogClicked.emit($event)"
|
|
3438
|
-
|
|
3810
|
+
[showStockTransfer]="showStockTransfer"
|
|
3811
|
+
(showStockTransferChange)="onShowStockTransferChange($event)"
|
|
3439
3812
|
></co-stock-location>
|
|
3440
3813
|
|
|
3441
3814
|
<co-order-tab *ngIf="tabs[3].active"
|
|
@@ -3482,6 +3855,7 @@ StockTabsComponent.propDecorators = {
|
|
|
3482
3855
|
stockInformation: [{ type: Input }],
|
|
3483
3856
|
article: [{ type: Input }],
|
|
3484
3857
|
articleFlat: [{ type: Input }],
|
|
3858
|
+
showStockTransfer: [{ type: Input }],
|
|
3485
3859
|
warehouses: [{ type: Input }],
|
|
3486
3860
|
transferIconClicked: [{ type: Output }],
|
|
3487
3861
|
sendMethodDialogClicked: [{ type: Output }]
|
|
@@ -3569,9 +3943,13 @@ class StockLocationComponent {
|
|
|
3569
3943
|
this.icons = Icon;
|
|
3570
3944
|
this.articleStockInfo = [];
|
|
3571
3945
|
this.articleStockInformation = [];
|
|
3946
|
+
this.articleWarehouse = [];
|
|
3947
|
+
this.allWarehouses = [];
|
|
3572
3948
|
this.dataWareHouseCode = [];
|
|
3573
3949
|
this.transferIconClicked = new EventEmitter();
|
|
3574
3950
|
this.sendMethodDialogClicked = new EventEmitter();
|
|
3951
|
+
this.showStockTransferChange = new EventEmitter();
|
|
3952
|
+
this.handleStickerClicked = new EventEmitter();
|
|
3575
3953
|
this.showConfirmationDialog = false;
|
|
3576
3954
|
this.newStockLine = false;
|
|
3577
3955
|
this.showConfirmStockRow = false;
|
|
@@ -3596,6 +3974,10 @@ class StockLocationComponent {
|
|
|
3596
3974
|
}
|
|
3597
3975
|
ngOnDestroy() {
|
|
3598
3976
|
}
|
|
3977
|
+
onShowStockTransferChange(show) {
|
|
3978
|
+
this.showStockTransfer = show;
|
|
3979
|
+
this.showStockTransferChange.emit(this.showStockTransfer);
|
|
3980
|
+
}
|
|
3599
3981
|
onLocationDropdownClick() {
|
|
3600
3982
|
this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then((locations) => {
|
|
3601
3983
|
this.stockLocations = locations;
|
|
@@ -3613,7 +3995,8 @@ class StockLocationComponent {
|
|
|
3613
3995
|
this.sendMethodDialogClicked.emit(data);
|
|
3614
3996
|
}
|
|
3615
3997
|
handleStockTransferClick(event) {
|
|
3616
|
-
this.
|
|
3998
|
+
this.articleDetails = event;
|
|
3999
|
+
this.showStockTransfer = true;
|
|
3617
4000
|
}
|
|
3618
4001
|
onOkClickSendLocations(row) {
|
|
3619
4002
|
this.selectedArticleDetailsData = row;
|
|
@@ -3685,6 +4068,18 @@ StockLocationComponent.decorators = [
|
|
|
3685
4068
|
selector: "co-stock-location",
|
|
3686
4069
|
template: `
|
|
3687
4070
|
<div class="stock-grid">
|
|
4071
|
+
<div class="stock-transfer-wrapper">
|
|
4072
|
+
<co-stock-transfer *ngIf="showStockTransfer"
|
|
4073
|
+
class="stock-transfer-dialog"
|
|
4074
|
+
[articleToTransfer]="articleDetails"
|
|
4075
|
+
(handleStickerClicked)="handleStickerClicked.emit($event)"
|
|
4076
|
+
[allWarehouses]="allWarehouses"
|
|
4077
|
+
[stockLocations]="stockLocations"
|
|
4078
|
+
[articleFlat]="articleFlat"
|
|
4079
|
+
[showStockTransfer]="showStockTransfer"
|
|
4080
|
+
(showStockTransferChange)="onShowStockTransferChange($event)">
|
|
4081
|
+
</co-stock-transfer>
|
|
4082
|
+
</div>
|
|
3688
4083
|
<co-stock-location-popup
|
|
3689
4084
|
[selectedWarehouse]="selectedWarehouse"
|
|
3690
4085
|
[articleFlat]="articleFlat"
|
|
@@ -3795,11 +4190,16 @@ StockLocationComponent.ctorParameters = () => [
|
|
|
3795
4190
|
StockLocationComponent.propDecorators = {
|
|
3796
4191
|
articleStockInfo: [{ type: Input }],
|
|
3797
4192
|
articleStockInformation: [{ type: Input }],
|
|
4193
|
+
articleWarehouse: [{ type: Input }],
|
|
4194
|
+
allWarehouses: [{ type: Input }],
|
|
3798
4195
|
article: [{ type: Input }],
|
|
4196
|
+
showStockTransfer: [{ type: Input }],
|
|
3799
4197
|
articleFlat: [{ type: Input }],
|
|
3800
4198
|
dataWareHouseCode: [{ type: Input }],
|
|
3801
4199
|
transferIconClicked: [{ type: Output }],
|
|
3802
4200
|
sendMethodDialogClicked: [{ type: Output }],
|
|
4201
|
+
showStockTransferChange: [{ type: Output }],
|
|
4202
|
+
handleStickerClicked: [{ type: Output }],
|
|
3803
4203
|
selectedWarehouse: [{ type: Input }],
|
|
3804
4204
|
stockLocations: [{ type: Input }]
|
|
3805
4205
|
};
|
|
@@ -4686,10 +5086,10 @@ StockLocationPopupComponent.decorators = [
|
|
|
4686
5086
|
[readonly]="false"
|
|
4687
5087
|
></co-input-text>
|
|
4688
5088
|
</div>
|
|
4689
|
-
<co-input-
|
|
5089
|
+
<co-input-date [model]="selectedArticleDetailsData?.entryDate | date"
|
|
4690
5090
|
[placeholder]="'DATE' | localize"
|
|
4691
5091
|
[readonly]="false"
|
|
4692
|
-
></co-input-
|
|
5092
|
+
></co-input-date>
|
|
4693
5093
|
</div>
|
|
4694
5094
|
<div class="stock-dialog-row">
|
|
4695
5095
|
<co-list-of-values [label]="'STATUS' | localize"
|
|
@@ -4768,7 +5168,8 @@ StockModule.decorators = [
|
|
|
4768
5168
|
StockStatusbarModule,
|
|
4769
5169
|
ListOfValuesModule,
|
|
4770
5170
|
LocalizationModule,
|
|
4771
|
-
PopupModule
|
|
5171
|
+
PopupModule,
|
|
5172
|
+
InputDatePickerModule
|
|
4772
5173
|
],
|
|
4773
5174
|
declarations: [
|
|
4774
5175
|
StockComponent,
|
|
@@ -4851,6 +5252,7 @@ class Translation {
|
|
|
4851
5252
|
this.REFERENCE = 'REFERENCE';
|
|
4852
5253
|
this.RELATION_ID = 'RELATION_ID';
|
|
4853
5254
|
this.RELATION_NR = 'RELATION_NR';
|
|
5255
|
+
this.REMARK = 'REMARK';
|
|
4854
5256
|
this.RESERVED = 'RESERVED';
|
|
4855
5257
|
this.QUANTITY = 'QUANTITY';
|
|
4856
5258
|
this.SEARCH = 'SEARCH';
|
|
@@ -4858,6 +5260,7 @@ class Translation {
|
|
|
4858
5260
|
this.SERIE_NO = 'SERIE_NO';
|
|
4859
5261
|
this.STANDARD_WAREHOUSE = 'STANDARD_WAREHOUSE';
|
|
4860
5262
|
this.STANDARD_LOCATION = 'STANDARD_LOCATION';
|
|
5263
|
+
this.STATUS = 'STATUS';
|
|
4861
5264
|
this.STICKER = 'STICKER';
|
|
4862
5265
|
this.STOCK = 'STOCK';
|
|
4863
5266
|
this.STOCK_DETAILS = 'STOCK_DETAILS';
|
|
@@ -7287,6 +7690,88 @@ class SimpleTagsComponent {
|
|
|
7287
7690
|
this._tags = [];
|
|
7288
7691
|
this._linkedTags = [];
|
|
7289
7692
|
}
|
|
7693
|
+
set tags(tags) {
|
|
7694
|
+
this._tags = tags;
|
|
7695
|
+
}
|
|
7696
|
+
get tags() {
|
|
7697
|
+
return this._tags;
|
|
7698
|
+
}
|
|
7699
|
+
set linkedTags(tags) {
|
|
7700
|
+
this._linkedTags = tags;
|
|
7701
|
+
}
|
|
7702
|
+
get linkedTags() {
|
|
7703
|
+
return this._linkedTags;
|
|
7704
|
+
}
|
|
7705
|
+
showClass() {
|
|
7706
|
+
return true;
|
|
7707
|
+
}
|
|
7708
|
+
handleSaveTags() {
|
|
7709
|
+
this.saveClick.next(this._linkedTags);
|
|
7710
|
+
this.closeClick.next();
|
|
7711
|
+
}
|
|
7712
|
+
}
|
|
7713
|
+
SimpleTagsComponent.decorators = [
|
|
7714
|
+
{ type: Component, args: [{
|
|
7715
|
+
selector: "co-simple-tags",
|
|
7716
|
+
template: `
|
|
7717
|
+
<co-dialog
|
|
7718
|
+
[headerTemplate]="headerTemplate"
|
|
7719
|
+
[footerTemplate]="footerTemplate"
|
|
7720
|
+
(closeClick)="closeClick.emit()"
|
|
7721
|
+
>
|
|
7722
|
+
<ng-template #headerTemplate>
|
|
7723
|
+
<div class="header-wrapper">
|
|
7724
|
+
<co-icon [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
7725
|
+
<span class="co-dialog-header-title" [textContent]="'Tags'"></span>
|
|
7726
|
+
</div>
|
|
7727
|
+
</ng-template>
|
|
7728
|
+
|
|
7729
|
+
<div class="dialog-content-wrapper">
|
|
7730
|
+
<co-simple-tags-form [tags]="tags" [(linkedTags)]="linkedTags"></co-simple-tags-form>
|
|
7731
|
+
</div>
|
|
7732
|
+
|
|
7733
|
+
<ng-template #footerTemplate>
|
|
7734
|
+
<div class="co-dialog-footer-button-wrapper">
|
|
7735
|
+
<co-button class="save-button"
|
|
7736
|
+
[iconData]="iconCacheService.getIcon(icon.CheckDuotone)"
|
|
7737
|
+
(click)="handleSaveTags()"
|
|
7738
|
+
></co-button>
|
|
7739
|
+
<co-button
|
|
7740
|
+
class="close-button"
|
|
7741
|
+
[iconData]="iconCacheService.getIcon(icon.CrossSkinny)"
|
|
7742
|
+
(click)="closeClick.next()"
|
|
7743
|
+
></co-button>
|
|
7744
|
+
</div>
|
|
7745
|
+
</ng-template>
|
|
7746
|
+
</co-dialog>
|
|
7747
|
+
`,
|
|
7748
|
+
encapsulation: ViewEncapsulation.None
|
|
7749
|
+
},] }
|
|
7750
|
+
];
|
|
7751
|
+
SimpleTagsComponent.ctorParameters = () => [
|
|
7752
|
+
{ type: IconCacheService },
|
|
7753
|
+
{ type: SharedService }
|
|
7754
|
+
];
|
|
7755
|
+
SimpleTagsComponent.propDecorators = {
|
|
7756
|
+
tags: [{ type: Input }],
|
|
7757
|
+
linkedTags: [{ type: Input }],
|
|
7758
|
+
closeClick: [{ type: Output }],
|
|
7759
|
+
saveClick: [{ type: Output }],
|
|
7760
|
+
showClass: [{ type: HostBinding, args: ["class.co-simple-tags",] }]
|
|
7761
|
+
};
|
|
7762
|
+
|
|
7763
|
+
class SimpleTagsFormComponent {
|
|
7764
|
+
constructor(iconCacheService, sharedService) {
|
|
7765
|
+
this.iconCacheService = iconCacheService;
|
|
7766
|
+
this.sharedService = sharedService;
|
|
7767
|
+
this.icon = Icon;
|
|
7768
|
+
this.linkedTagsChange = new EventEmitter();
|
|
7769
|
+
this.breadCrumbs = [];
|
|
7770
|
+
this.displayTags = [];
|
|
7771
|
+
this.searchString = '';
|
|
7772
|
+
this._tags = [];
|
|
7773
|
+
this._linkedTags = [];
|
|
7774
|
+
}
|
|
7290
7775
|
set tags(tags) {
|
|
7291
7776
|
this._tags = tags;
|
|
7292
7777
|
this.setRootDisplayTags();
|
|
@@ -7359,10 +7844,6 @@ class SimpleTagsComponent {
|
|
|
7359
7844
|
this.displayTags = matchingObjects;
|
|
7360
7845
|
this.breadCrumbs = [];
|
|
7361
7846
|
}
|
|
7362
|
-
handleSaveTags() {
|
|
7363
|
-
this.saveClick.next(this._linkedTags);
|
|
7364
|
-
this.closeClick.next();
|
|
7365
|
-
}
|
|
7366
7847
|
_loadThumbnail(tagTreeItem) {
|
|
7367
7848
|
if (tagTreeItem.image && tagTreeItem.image.documentId && !tagTreeItem.image.thumbnailBody) {
|
|
7368
7849
|
this.sharedService.getDocumentContent(tagTreeItem.image.documentId, true)
|
|
@@ -7374,52 +7855,40 @@ class SimpleTagsComponent {
|
|
|
7374
7855
|
}
|
|
7375
7856
|
}
|
|
7376
7857
|
}
|
|
7377
|
-
|
|
7858
|
+
SimpleTagsFormComponent.decorators = [
|
|
7378
7859
|
{ type: Component, args: [{
|
|
7379
|
-
selector: "co-simple-tags",
|
|
7860
|
+
selector: "co-simple-tags-form",
|
|
7380
7861
|
template: `
|
|
7381
|
-
<
|
|
7382
|
-
|
|
7383
|
-
|
|
7384
|
-
|
|
7385
|
-
|
|
7386
|
-
|
|
7387
|
-
|
|
7388
|
-
|
|
7389
|
-
|
|
7390
|
-
|
|
7391
|
-
|
|
7392
|
-
|
|
7393
|
-
|
|
7394
|
-
|
|
7395
|
-
|
|
7396
|
-
<
|
|
7397
|
-
[
|
|
7398
|
-
|
|
7399
|
-
|
|
7400
|
-
|
|
7401
|
-
(rightIconClick)="searchCollection()"
|
|
7402
|
-
></co-input-search>
|
|
7403
|
-
<div class="breadcrumbs">
|
|
7404
|
-
<co-icon
|
|
7405
|
-
[iconData]="iconCacheService.getIcon(icon.HouseBlankRegular)"
|
|
7406
|
-
(click)="setRootDisplayTags()"
|
|
7407
|
-
></co-icon>
|
|
7408
|
-
<div class="crumbs">
|
|
7409
|
-
<span class="spacer" [textContent]="'|'"></span>
|
|
7410
|
-
<div class="crumb" *ngFor="let crumb of breadCrumbs; let index = index" (click)="handleCrumbClicked(crumb, index)">
|
|
7411
|
-
<span class="spacer" *ngIf="index !== 0" [textContent]="'/'"></span>
|
|
7412
|
-
<span [textContent]="crumb.description"></span>
|
|
7413
|
-
</div>
|
|
7862
|
+
<div class="form-content-wrapper">
|
|
7863
|
+
<div class="collection-navigation co-small-scrollbar">
|
|
7864
|
+
<span class="title" [textContent]="'Beschikbare tags'"></span>
|
|
7865
|
+
<co-input-search
|
|
7866
|
+
[(model)]="searchString"
|
|
7867
|
+
[placeholder]="'Search for tag name'"
|
|
7868
|
+
(search)="searchCollection()"
|
|
7869
|
+
(modelChange)="searchCollection()"
|
|
7870
|
+
(rightIconClick)="searchCollection()"
|
|
7871
|
+
></co-input-search>
|
|
7872
|
+
<div class="breadcrumbs">
|
|
7873
|
+
<co-icon
|
|
7874
|
+
[iconData]="iconCacheService.getIcon(icon.HouseBlankRegular)"
|
|
7875
|
+
(click)="setRootDisplayTags()"
|
|
7876
|
+
></co-icon>
|
|
7877
|
+
<div class="crumbs">
|
|
7878
|
+
<span class="spacer" [textContent]="'|'"></span>
|
|
7879
|
+
<div class="crumb" *ngFor="let crumb of breadCrumbs; let index = index" (click)="handleCrumbClicked(crumb, index)">
|
|
7880
|
+
<span class="spacer" *ngIf="index !== 0" [textContent]="'/'"></span>
|
|
7881
|
+
<span [textContent]="crumb.description"></span>
|
|
7414
7882
|
</div>
|
|
7415
7883
|
</div>
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
|
|
7420
|
-
|
|
7421
|
-
|
|
7422
|
-
|
|
7884
|
+
</div>
|
|
7885
|
+
<div class="collection-view"
|
|
7886
|
+
cdkDropList
|
|
7887
|
+
cdkDropListSortingDisabled
|
|
7888
|
+
#collectionList="cdkDropList"
|
|
7889
|
+
[cdkDropListData]="displayTags"
|
|
7890
|
+
[cdkDropListConnectedTo]="[linkedList]">
|
|
7891
|
+
<div class="collection-item"
|
|
7423
7892
|
*ngFor="let tag of displayTags"
|
|
7424
7893
|
cdkDrag
|
|
7425
7894
|
[cdkDragDisabled]="tag.tagType !== 'T' || linkedTags.includes(tag)"
|
|
@@ -7437,68 +7906,73 @@ SimpleTagsComponent.decorators = [
|
|
|
7437
7906
|
<co-icon *ngIf="tag.tagType === 'T'" [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
7438
7907
|
<span [textContent]="tag.description"></span>
|
|
7439
7908
|
</div>
|
|
7440
|
-
</div>
|
|
7441
7909
|
</div>
|
|
7910
|
+
</div>
|
|
7442
7911
|
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
|
|
7447
|
-
|
|
7448
|
-
|
|
7449
|
-
|
|
7450
|
-
|
|
7451
|
-
|
|
7912
|
+
<div class="linked-tags-view">
|
|
7913
|
+
<span class="title" [textContent]="'Gekoppelde tags'"></span>
|
|
7914
|
+
<div class="view-wrapper"
|
|
7915
|
+
cdkDropList
|
|
7916
|
+
#linkedList="cdkDropList"
|
|
7917
|
+
[cdkDropListData]="linkedTags"
|
|
7918
|
+
(cdkDropListDropped)="handleAddTag($event)">
|
|
7919
|
+
<div class="tag-item" *ngFor="let tag of linkedTags" [cdkDragDisabled]="true" cdkDrag [style.background-color]="tag.color?.replace('0x', '#')">
|
|
7920
|
+
<div class="placeholderLinked" *cdkDragPlaceholder></div>
|
|
7452
7921
|
|
|
7453
|
-
|
|
7454
|
-
|
|
7455
|
-
|
|
7456
|
-
|
|
7457
|
-
|
|
7922
|
+
<div class="thumbnail-description">
|
|
7923
|
+
<co-icon *ngIf="!tag.image?.thumbnailBody" [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
7924
|
+
<div *ngIf="tag.image" class="thumbnail-wrapper">
|
|
7925
|
+
<img [src]="tag.image.thumbnailBodyAsDataUri">
|
|
7926
|
+
</div>
|
|
7458
7927
|
|
|
7459
|
-
|
|
7460
|
-
|
|
7461
|
-
|
|
7462
|
-
</div>
|
|
7928
|
+
<div class="description-wrapper">
|
|
7929
|
+
<span [textContent]="tag.parentDescription"></span>
|
|
7930
|
+
<span class="description" [textContent]="tag.description"></span>
|
|
7463
7931
|
</div>
|
|
7464
|
-
<co-icon class="delete-tag" (click)="deleteLinkedTag(tag)"
|
|
7465
|
-
[iconData]="iconCacheService.getIcon(icon.XSolid)"
|
|
7466
|
-
></co-icon>
|
|
7467
7932
|
</div>
|
|
7933
|
+
<co-icon class="delete-tag" (click)="deleteLinkedTag(tag)"
|
|
7934
|
+
[iconData]="iconCacheService.getIcon(icon.XSolid)"
|
|
7935
|
+
></co-icon>
|
|
7468
7936
|
</div>
|
|
7469
7937
|
</div>
|
|
7470
7938
|
</div>
|
|
7471
|
-
|
|
7472
|
-
<ng-template #footerTemplate>
|
|
7473
|
-
<div class="co-dialog-footer-button-wrapper">
|
|
7474
|
-
<co-button class="save-button"
|
|
7475
|
-
[iconData]="iconCacheService.getIcon(icon.CheckDuotone)"
|
|
7476
|
-
(click)="handleSaveTags()"
|
|
7477
|
-
></co-button>
|
|
7478
|
-
<co-button
|
|
7479
|
-
class="close-button"
|
|
7480
|
-
[iconData]="iconCacheService.getIcon(icon.CrossSkinny)"
|
|
7481
|
-
(click)="closeClick.next()"
|
|
7482
|
-
></co-button>
|
|
7483
|
-
</div>
|
|
7484
|
-
</ng-template>
|
|
7485
|
-
</co-dialog>
|
|
7939
|
+
</div>
|
|
7486
7940
|
`,
|
|
7487
7941
|
encapsulation: ViewEncapsulation.None
|
|
7488
7942
|
},] }
|
|
7489
7943
|
];
|
|
7490
|
-
|
|
7944
|
+
SimpleTagsFormComponent.ctorParameters = () => [
|
|
7491
7945
|
{ type: IconCacheService },
|
|
7492
7946
|
{ type: SharedService }
|
|
7493
7947
|
];
|
|
7494
|
-
|
|
7948
|
+
SimpleTagsFormComponent.propDecorators = {
|
|
7495
7949
|
tags: [{ type: Input }],
|
|
7496
7950
|
linkedTags: [{ type: Input }],
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
showClass: [{ type: HostBinding, args: ["class.co-simple-tags",] }]
|
|
7951
|
+
linkedTagsChange: [{ type: Output }],
|
|
7952
|
+
showClass: [{ type: HostBinding, args: ["class.co-simple-tags-form",] }]
|
|
7500
7953
|
};
|
|
7501
7954
|
|
|
7955
|
+
class SimpleTagsFormModule {
|
|
7956
|
+
}
|
|
7957
|
+
SimpleTagsFormModule.decorators = [
|
|
7958
|
+
{ type: NgModule, args: [{
|
|
7959
|
+
imports: [
|
|
7960
|
+
CommonModule,
|
|
7961
|
+
CoDialogModule,
|
|
7962
|
+
InputSearchModule,
|
|
7963
|
+
IconModule,
|
|
7964
|
+
DragDropModule,
|
|
7965
|
+
ButtonModule
|
|
7966
|
+
],
|
|
7967
|
+
declarations: [
|
|
7968
|
+
SimpleTagsFormComponent
|
|
7969
|
+
],
|
|
7970
|
+
exports: [
|
|
7971
|
+
SimpleTagsFormComponent
|
|
7972
|
+
]
|
|
7973
|
+
},] }
|
|
7974
|
+
];
|
|
7975
|
+
|
|
7502
7976
|
class SimpleTagsModule {
|
|
7503
7977
|
}
|
|
7504
7978
|
SimpleTagsModule.decorators = [
|
|
@@ -7509,7 +7983,8 @@ SimpleTagsModule.decorators = [
|
|
|
7509
7983
|
InputSearchModule,
|
|
7510
7984
|
IconModule,
|
|
7511
7985
|
DragDropModule,
|
|
7512
|
-
ButtonModule
|
|
7986
|
+
ButtonModule,
|
|
7987
|
+
SimpleTagsFormModule
|
|
7513
7988
|
],
|
|
7514
7989
|
declarations: [
|
|
7515
7990
|
SimpleTagsComponent
|
|
@@ -10928,6 +11403,3347 @@ ActivityListModule.decorators = [
|
|
|
10928
11403
|
},] }
|
|
10929
11404
|
];
|
|
10930
11405
|
|
|
11406
|
+
class BaseActivityListComponent {
|
|
11407
|
+
constructor() {
|
|
11408
|
+
this.reloadTimer = 60000; // 1 minute in milliseconds
|
|
11409
|
+
this.handleOpenLinkSidebar = false;
|
|
11410
|
+
//viewmodels
|
|
11411
|
+
this.privateActivityListViewModels = [];
|
|
11412
|
+
this.privateDelegatedActivityListViewModels = [];
|
|
11413
|
+
this.filteredActivityListViewModels = [];
|
|
11414
|
+
this.filteredDelegatedActivityListViewModels = [];
|
|
11415
|
+
this._showUsergroupActivities = false;
|
|
11416
|
+
this._activities = [];
|
|
11417
|
+
this._delegatedActivities = [];
|
|
11418
|
+
//protected userService: UserService
|
|
11419
|
+
}
|
|
11420
|
+
set activities(value) {
|
|
11421
|
+
clearTimeout(this._updateInterval);
|
|
11422
|
+
this._activities = value;
|
|
11423
|
+
this.filteredActivities = this._activities.slice();
|
|
11424
|
+
this.applyFilter();
|
|
11425
|
+
this._startInterval();
|
|
11426
|
+
}
|
|
11427
|
+
get activities() {
|
|
11428
|
+
return this._activities;
|
|
11429
|
+
}
|
|
11430
|
+
set delegatedActivities(value) {
|
|
11431
|
+
if (value && value.length > 0) {
|
|
11432
|
+
clearTimeout(this._updateInterval);
|
|
11433
|
+
this._delegatedActivities = value;
|
|
11434
|
+
this.filteredDelegatedActivities = this._delegatedActivities.slice();
|
|
11435
|
+
this.applyFilter();
|
|
11436
|
+
this._startInterval();
|
|
11437
|
+
}
|
|
11438
|
+
}
|
|
11439
|
+
get delegatedActivities() {
|
|
11440
|
+
return this._delegatedActivities;
|
|
11441
|
+
}
|
|
11442
|
+
// TODO: return this.userService.showUsergroupActivities and allow to set properly;
|
|
11443
|
+
get showUsergroupActivities() {
|
|
11444
|
+
return this._showUsergroupActivities;
|
|
11445
|
+
}
|
|
11446
|
+
set showUsergroupActivities(value) {
|
|
11447
|
+
this._showUsergroupActivities = value;
|
|
11448
|
+
}
|
|
11449
|
+
ngOnDestroy() {
|
|
11450
|
+
clearInterval(this._updateInterval);
|
|
11451
|
+
}
|
|
11452
|
+
reset() {
|
|
11453
|
+
this.filteredActivities = [];
|
|
11454
|
+
this.filteredDelegatedActivities = [];
|
|
11455
|
+
this._activities = [];
|
|
11456
|
+
this._delegatedActivities = [];
|
|
11457
|
+
}
|
|
11458
|
+
applyFilter() {
|
|
11459
|
+
this._applyFilter(this.activities, this.filteredActivities, this.filteredActivityListViewModels);
|
|
11460
|
+
this._applyFilter(this.delegatedActivities, this.filteredDelegatedActivities, this.filteredDelegatedActivityListViewModels);
|
|
11461
|
+
this._refreshActivities();
|
|
11462
|
+
this.afterFilterApplied();
|
|
11463
|
+
}
|
|
11464
|
+
afterFilterApplied() {
|
|
11465
|
+
}
|
|
11466
|
+
getTheActivities() {
|
|
11467
|
+
this.getActivities();
|
|
11468
|
+
this.getDelegatedActivities();
|
|
11469
|
+
}
|
|
11470
|
+
_removeNotShowing(listViewModels) {
|
|
11471
|
+
for (let i = listViewModels.length - 1; i > 0; i--) {
|
|
11472
|
+
const listViewModel = listViewModels[i];
|
|
11473
|
+
if (!listViewModel.showing) {
|
|
11474
|
+
listViewModels.splice(i, 1);
|
|
11475
|
+
}
|
|
11476
|
+
else { // iterate through activityViewModels
|
|
11477
|
+
for (let j = listViewModel.activities.length - 1; j > 0; j--) {
|
|
11478
|
+
const activityViewModel = listViewModel.activities[j];
|
|
11479
|
+
if (!activityViewModel.showing) {
|
|
11480
|
+
listViewModel.activities.splice(j, 1);
|
|
11481
|
+
}
|
|
11482
|
+
}
|
|
11483
|
+
}
|
|
11484
|
+
}
|
|
11485
|
+
}
|
|
11486
|
+
updatePrivateListsWithFilteredLists() {
|
|
11487
|
+
this.privateActivityListViewModels =
|
|
11488
|
+
this._updatePrivateListWithFilteredList(this.privateActivityListViewModels, this.filteredActivityListViewModels);
|
|
11489
|
+
this.privateDelegatedActivityListViewModels =
|
|
11490
|
+
this._updatePrivateListWithFilteredList(this.privateDelegatedActivityListViewModels, this.filteredDelegatedActivityListViewModels);
|
|
11491
|
+
}
|
|
11492
|
+
_applyFilter(activities, filteredActivities, filteredActivityListViewModels) {
|
|
11493
|
+
if (isNill$1(activities)) {
|
|
11494
|
+
filteredActivities.length = 0;
|
|
11495
|
+
return;
|
|
11496
|
+
}
|
|
11497
|
+
filteredActivities = activities.slice(0);
|
|
11498
|
+
if (this.filterFrom && this.filterTo) {
|
|
11499
|
+
filteredActivities =
|
|
11500
|
+
activities.filter((a) => {
|
|
11501
|
+
if (a.executionDateTime === null || a.overDue) {
|
|
11502
|
+
return true;
|
|
11503
|
+
}
|
|
11504
|
+
else {
|
|
11505
|
+
return DateUtils.IsInBetween(a.executionDateTime, this.filterFrom, this.filterTo, false);
|
|
11506
|
+
}
|
|
11507
|
+
});
|
|
11508
|
+
}
|
|
11509
|
+
filteredActivities.sort((a, b) => a.deadlineDateTime > b.deadlineDateTime ? 1 : -1);
|
|
11510
|
+
this._searchText(filteredActivities);
|
|
11511
|
+
this._prepareViewModels(filteredActivities, filteredActivityListViewModels);
|
|
11512
|
+
}
|
|
11513
|
+
_searchText(filteredActivities) {
|
|
11514
|
+
if (!this.searchText) {
|
|
11515
|
+
return;
|
|
11516
|
+
}
|
|
11517
|
+
for (let i = filteredActivities.length - 1; i >= 0; i--) {
|
|
11518
|
+
const activity = filteredActivities[i];
|
|
11519
|
+
let found = false;
|
|
11520
|
+
for (let key in activity) {
|
|
11521
|
+
if (activity.hasOwnProperty(key)) {
|
|
11522
|
+
if (activity[key].toString().indexOf(this.searchText) > -1) {
|
|
11523
|
+
found = true;
|
|
11524
|
+
break;
|
|
11525
|
+
}
|
|
11526
|
+
}
|
|
11527
|
+
}
|
|
11528
|
+
if (!found) {
|
|
11529
|
+
filteredActivities.splice(i, 1);
|
|
11530
|
+
}
|
|
11531
|
+
}
|
|
11532
|
+
}
|
|
11533
|
+
_updatePrivateListWithFilteredList(listViewModels, filteredList) {
|
|
11534
|
+
let result;
|
|
11535
|
+
if (listViewModels.length === 0) {
|
|
11536
|
+
result = filteredList.slice();
|
|
11537
|
+
}
|
|
11538
|
+
else {
|
|
11539
|
+
result = listViewModels.slice();
|
|
11540
|
+
// set showing to false for items which are not in the list anymore
|
|
11541
|
+
for (let i = 0; i < result.length; i++) {
|
|
11542
|
+
const listViewModel = result[i];
|
|
11543
|
+
const filteredViewModel = filteredList.find(f => f.position === listViewModel.position);
|
|
11544
|
+
if (!filteredViewModel) {
|
|
11545
|
+
// flag as removed when listviewmodel is no longer in the list
|
|
11546
|
+
listViewModel.showing = false;
|
|
11547
|
+
}
|
|
11548
|
+
else {
|
|
11549
|
+
for (let j = 0; j < listViewModel.activities.length; j++) {
|
|
11550
|
+
const viewModel = listViewModel.activities[j];
|
|
11551
|
+
if (!filteredViewModel.activities.find(fa => fa.guid === viewModel.guid)) {
|
|
11552
|
+
// flag as removed when viewmodel is no longer in the list
|
|
11553
|
+
viewModel.showing = false;
|
|
11554
|
+
}
|
|
11555
|
+
}
|
|
11556
|
+
}
|
|
11557
|
+
}
|
|
11558
|
+
// add new items
|
|
11559
|
+
for (let i = 0; i < filteredList.length; i++) {
|
|
11560
|
+
const filteredActivityListViewModel = filteredList[i];
|
|
11561
|
+
const listViewModel = result.find(lvm => lvm.label === filteredActivityListViewModel.label);
|
|
11562
|
+
if (!listViewModel) {
|
|
11563
|
+
result.push(filteredActivityListViewModel);
|
|
11564
|
+
}
|
|
11565
|
+
else {
|
|
11566
|
+
for (let j = 0; j < filteredActivityListViewModel.activities.length; j++) {
|
|
11567
|
+
const filteredActivityViewModel = filteredActivityListViewModel.activities[j];
|
|
11568
|
+
if (!listViewModel.activities.find(a => a.activity.getId() === filteredActivityViewModel.activity.getId())) {
|
|
11569
|
+
listViewModel.activities.push(filteredActivityViewModel);
|
|
11570
|
+
}
|
|
11571
|
+
}
|
|
11572
|
+
}
|
|
11573
|
+
}
|
|
11574
|
+
}
|
|
11575
|
+
result.sort(this._sortByPosition);
|
|
11576
|
+
return result;
|
|
11577
|
+
}
|
|
11578
|
+
_refreshActivities() {
|
|
11579
|
+
// first remove items which are set invisible before
|
|
11580
|
+
this._removeNotShowing(this.privateActivityListViewModels);
|
|
11581
|
+
this._removeNotShowing(this.privateDelegatedActivityListViewModels);
|
|
11582
|
+
// update private list with (new) filtered list
|
|
11583
|
+
this.updatePrivateListsWithFilteredLists();
|
|
11584
|
+
}
|
|
11585
|
+
_prepareViewModels(filteredActivities, filteredActivityListViewModels) {
|
|
11586
|
+
filteredActivityListViewModels.map(alm => {
|
|
11587
|
+
alm.showing = false;
|
|
11588
|
+
alm.activities.map(aa => aa.showing = false);
|
|
11589
|
+
});
|
|
11590
|
+
if (filteredActivities) {
|
|
11591
|
+
for (let i = 0; i < filteredActivities.length; i++) {
|
|
11592
|
+
const activity = filteredActivities[i];
|
|
11593
|
+
if (!activity.overDue && DateUtils.IsToday(activity.deadlineDateTime)) {
|
|
11594
|
+
this._addToActivityListViewModel(filteredActivityListViewModels, 'TODAY', 1, activity);
|
|
11595
|
+
}
|
|
11596
|
+
else if (activity.overDue) {
|
|
11597
|
+
this._addToActivityListViewModel(filteredActivityListViewModels, 'TOO_LATE', 2, activity);
|
|
11598
|
+
}
|
|
11599
|
+
else if (activity.deadlineDateTime) {
|
|
11600
|
+
this._addToActivityListViewModel(filteredActivityListViewModels, 'NEXT2', 3, activity);
|
|
11601
|
+
}
|
|
11602
|
+
else {
|
|
11603
|
+
this._addToActivityListViewModel(filteredActivityListViewModels, 'UNSCHEDULED', 4, activity);
|
|
11604
|
+
}
|
|
11605
|
+
}
|
|
11606
|
+
}
|
|
11607
|
+
filteredActivityListViewModels.sort(this._sortByPosition);
|
|
11608
|
+
this._setAmountListViewModels(filteredActivityListViewModels);
|
|
11609
|
+
}
|
|
11610
|
+
_setAmountListViewModels(filteredActivityListViewModels) {
|
|
11611
|
+
for (let i = 0; i < filteredActivityListViewModels.length; i++) {
|
|
11612
|
+
filteredActivityListViewModels[i].setAmount();
|
|
11613
|
+
}
|
|
11614
|
+
}
|
|
11615
|
+
_sortByPosition(a, b) {
|
|
11616
|
+
return a.position > b.position ? 1 : -1;
|
|
11617
|
+
}
|
|
11618
|
+
_addToActivityListViewModel(filteredActivityListViewModels, label, order, activity) {
|
|
11619
|
+
const activityListViewModel = this._getActivityListViewModel(filteredActivityListViewModels, label, order);
|
|
11620
|
+
activityListViewModel.showing = true;
|
|
11621
|
+
const activityViewModel = this._getActivityViewModel(activityListViewModel, activity);
|
|
11622
|
+
activityViewModel.showing = !activityViewModel.deleted;
|
|
11623
|
+
this._updateViewModelContent(activityViewModel, activity);
|
|
11624
|
+
}
|
|
11625
|
+
_getActivityViewModel(listViewModel, activity) {
|
|
11626
|
+
let viewModel = listViewModel.activities.find(a => a.activity.getId() === activity.getId());
|
|
11627
|
+
if (!viewModel) {
|
|
11628
|
+
viewModel = new ActivityViewModel();
|
|
11629
|
+
viewModel.activity = activity;
|
|
11630
|
+
viewModel.parent = listViewModel;
|
|
11631
|
+
listViewModel.activities.push(viewModel);
|
|
11632
|
+
}
|
|
11633
|
+
return viewModel;
|
|
11634
|
+
}
|
|
11635
|
+
_getActivityListViewModel(filteredActivityListViewModels, label, order) {
|
|
11636
|
+
let result = filteredActivityListViewModels.find(a => a.label === label);
|
|
11637
|
+
if (!result) {
|
|
11638
|
+
result = new ActivityListViewModel(label, order);
|
|
11639
|
+
filteredActivityListViewModels.push(result);
|
|
11640
|
+
}
|
|
11641
|
+
return result;
|
|
11642
|
+
}
|
|
11643
|
+
_startInterval() {
|
|
11644
|
+
this._updateInterval = window.setInterval(() => {
|
|
11645
|
+
this.getTheActivities();
|
|
11646
|
+
}, this.reloadTimer);
|
|
11647
|
+
}
|
|
11648
|
+
_updateViewModelContent(activityViewModel, activity) {
|
|
11649
|
+
activityViewModel.activity = activity;
|
|
11650
|
+
return activityViewModel;
|
|
11651
|
+
}
|
|
11652
|
+
}
|
|
11653
|
+
BaseActivityListComponent.decorators = [
|
|
11654
|
+
{ type: Directive },
|
|
11655
|
+
{ type: Injectable }
|
|
11656
|
+
];
|
|
11657
|
+
BaseActivityListComponent.ctorParameters = () => [];
|
|
11658
|
+
BaseActivityListComponent.propDecorators = {
|
|
11659
|
+
handleOpenLinkSidebar: [{ type: Input }]
|
|
11660
|
+
};
|
|
11661
|
+
__decorate([
|
|
11662
|
+
InputBoolean()
|
|
11663
|
+
], BaseActivityListComponent.prototype, "handleOpenLinkSidebar", void 0);
|
|
11664
|
+
|
|
11665
|
+
var ActivityCfgName;
|
|
11666
|
+
(function (ActivityCfgName) {
|
|
11667
|
+
ActivityCfgName["TaskForms"] = "TaskForms";
|
|
11668
|
+
ActivityCfgName["NewTaskFormHeader"] = "NewTaskFormHeader";
|
|
11669
|
+
ActivityCfgName["NewTaskTitle"] = "NewTaskTitle";
|
|
11670
|
+
ActivityCfgName["ActivitiesHeader"] = "activitiesHeader";
|
|
11671
|
+
ActivityCfgName["NewTaskGlobalButton"] = "newTaskGlobalButton";
|
|
11672
|
+
ActivityCfgName["AddActivityTaskButton"] = "addActivityTaskButton";
|
|
11673
|
+
ActivityCfgName["DeleteActivityTaskButton"] = "deleteActivityTaskButton";
|
|
11674
|
+
ActivityCfgName["AddActivityRemarkButton"] = "addActivityRemarkButton";
|
|
11675
|
+
ActivityCfgName["AddActivityWorkButton"] = "addActivityWorkButton";
|
|
11676
|
+
ActivityCfgName["TimeRegistrationMandatory"] = "timeRegistrationMandatory";
|
|
11677
|
+
ActivityCfgName["StatusSummaryHeader"] = "statusSummaryHeader";
|
|
11678
|
+
ActivityCfgName["CreationSummaryHeader"] = "creationSummaryHeader";
|
|
11679
|
+
ActivityCfgName["ExecutiveSummaryHeader"] = "executiveSummaryHeader";
|
|
11680
|
+
ActivityCfgName["PlanningSummaryHeader"] = "planningSummaryHeader";
|
|
11681
|
+
ActivityCfgName["AttachmentsHeader"] = "attachmentsHeader";
|
|
11682
|
+
ActivityCfgName["NotificationsSummaryHeader"] = "notificationsSummaryHeader";
|
|
11683
|
+
ActivityCfgName["TagsHeader"] = "tagsHeader";
|
|
11684
|
+
ActivityCfgName["WorkHeader"] = "workHeader";
|
|
11685
|
+
ActivityCfgName["WorkExecutive"] = "workExecutive";
|
|
11686
|
+
ActivityCfgName["WorkCalculationKey"] = "calculationKey";
|
|
11687
|
+
ActivityCfgName["WorkDescription"] = "workDescription";
|
|
11688
|
+
ActivityCfgName["WorkFile"] = "workFile";
|
|
11689
|
+
ActivityCfgName["EstimationStandardTime"] = "estimate";
|
|
11690
|
+
ActivityCfgName["TaskInvoice"] = "taskInvoice";
|
|
11691
|
+
ActivityCfgName["WorkedTime"] = "workedTime";
|
|
11692
|
+
})(ActivityCfgName || (ActivityCfgName = {}));
|
|
11693
|
+
|
|
11694
|
+
var AppPopupButtonType;
|
|
11695
|
+
(function (AppPopupButtonType) {
|
|
11696
|
+
AppPopupButtonType[AppPopupButtonType["Ok"] = 0] = "Ok";
|
|
11697
|
+
AppPopupButtonType[AppPopupButtonType["Open"] = 1] = "Open";
|
|
11698
|
+
AppPopupButtonType[AppPopupButtonType["Save"] = 2] = "Save";
|
|
11699
|
+
AppPopupButtonType[AppPopupButtonType["Cancel"] = 3] = "Cancel";
|
|
11700
|
+
AppPopupButtonType[AppPopupButtonType["Yes"] = 4] = "Yes";
|
|
11701
|
+
AppPopupButtonType[AppPopupButtonType["No"] = 5] = "No";
|
|
11702
|
+
AppPopupButtonType[AppPopupButtonType["NoButton"] = 6] = "NoButton";
|
|
11703
|
+
})(AppPopupButtonType || (AppPopupButtonType = {}));
|
|
11704
|
+
|
|
11705
|
+
class ModifyTaskFormComponent {
|
|
11706
|
+
constructor(_boFactory, sharedService, iconCacheService
|
|
11707
|
+
//private _mediaMonitor: MediaMonitorService,
|
|
11708
|
+
/*private _activityService: ActivityService*/
|
|
11709
|
+
) {
|
|
11710
|
+
this._boFactory = _boFactory;
|
|
11711
|
+
this.sharedService = sharedService;
|
|
11712
|
+
this.iconCacheService = iconCacheService;
|
|
11713
|
+
//public readonly TagCategory: typeof TagCategory = TagCategory;
|
|
11714
|
+
this.TableNames = TableName$1;
|
|
11715
|
+
this.readonly = false;
|
|
11716
|
+
this.popupContext = false;
|
|
11717
|
+
this.activityChange = new EventEmitter();
|
|
11718
|
+
this.statusChange = new EventEmitter();
|
|
11719
|
+
this.showWorkLog = new EventEmitter();
|
|
11720
|
+
this.selectedMenu = 'content-menu1';
|
|
11721
|
+
this.activities = [];
|
|
11722
|
+
this.table = TableName$1.Tasks;
|
|
11723
|
+
this.expandActivities = false;
|
|
11724
|
+
this.showTagPopup = false;
|
|
11725
|
+
}
|
|
11726
|
+
/* @ViewChild(ActivityActivitiesComponent, { static: true })
|
|
11727
|
+
public activityActivities: ActivityActivitiesComponent;*/
|
|
11728
|
+
set activity(value) {
|
|
11729
|
+
this._activity = value;
|
|
11730
|
+
this.key = this._activity.task.taskId + "";
|
|
11731
|
+
}
|
|
11732
|
+
showClass() {
|
|
11733
|
+
return true;
|
|
11734
|
+
}
|
|
11735
|
+
get activity() {
|
|
11736
|
+
return this._activity;
|
|
11737
|
+
}
|
|
11738
|
+
get hasDocuments() {
|
|
11739
|
+
var _a, _b, _c;
|
|
11740
|
+
return (((_c = (_b = (_a = this._activity) === null || _a === void 0 ? void 0 : _a.task) === null || _b === void 0 ? void 0 : _b.documents) === null || _c === void 0 ? void 0 : _c.length) > 0);
|
|
11741
|
+
}
|
|
11742
|
+
set forceReadonly(value) {
|
|
11743
|
+
this.readonly = value;
|
|
11744
|
+
}
|
|
11745
|
+
handleAddDocuments(docs) {
|
|
11746
|
+
docs.forEach(doc => this.activity.task.documents.push(doc));
|
|
11747
|
+
}
|
|
11748
|
+
handleAddDocument(doc) {
|
|
11749
|
+
this.activity.task.documents.push(doc);
|
|
11750
|
+
}
|
|
11751
|
+
ngOnInit() {
|
|
11752
|
+
this._getActivities();
|
|
11753
|
+
this._getTags();
|
|
11754
|
+
}
|
|
11755
|
+
showContent(menu) {
|
|
11756
|
+
this.selectedMenu = menu;
|
|
11757
|
+
}
|
|
11758
|
+
handleRegisterWork() {
|
|
11759
|
+
setTimeout(() => {
|
|
11760
|
+
/*if (this.activityActivities) {
|
|
11761
|
+
this.expandActivities = true;
|
|
11762
|
+
this.activityActivities.showRegisterWorkLeaf();
|
|
11763
|
+
}*/
|
|
11764
|
+
});
|
|
11765
|
+
}
|
|
11766
|
+
handleSaveActivity(activity) {
|
|
11767
|
+
this._updateTaskObject(activity, activity.IsWork ? "workLog" : "remarks");
|
|
11768
|
+
const index = this.activities.findIndex((src) => {
|
|
11769
|
+
return src.getId() === activity.getId();
|
|
11770
|
+
});
|
|
11771
|
+
if (index > -1) {
|
|
11772
|
+
this.activities[index] = activity;
|
|
11773
|
+
}
|
|
11774
|
+
else {
|
|
11775
|
+
this.activities.push(activity);
|
|
11776
|
+
}
|
|
11777
|
+
this.activities = this.activities.slice(0); // reset view
|
|
11778
|
+
}
|
|
11779
|
+
handleDeleteActivity(activity) {
|
|
11780
|
+
if (activity.IsWork) {
|
|
11781
|
+
this.activity.task.deleteWorkLog(activity.work);
|
|
11782
|
+
}
|
|
11783
|
+
else if (activity.IsRemark) {
|
|
11784
|
+
this.activity.task.deleteRemark(activity.remark);
|
|
11785
|
+
}
|
|
11786
|
+
}
|
|
11787
|
+
handleShowWorkLow() {
|
|
11788
|
+
this.expandActivities = true;
|
|
11789
|
+
this.showWorkLog.emit();
|
|
11790
|
+
}
|
|
11791
|
+
handleEditTags() {
|
|
11792
|
+
this._getTags();
|
|
11793
|
+
this.showTagPopup = true;
|
|
11794
|
+
}
|
|
11795
|
+
handleSaveTags(tags) {
|
|
11796
|
+
this.activity.task.tags = tags;
|
|
11797
|
+
}
|
|
11798
|
+
_updateTaskObject(activity, prop) {
|
|
11799
|
+
const cloneActivity = this._boFactory.makeWithRawBackendData(Activity, activity);
|
|
11800
|
+
if (cloneActivity.isNew) {
|
|
11801
|
+
this.activity.task[prop].push(activity.getBaseContent());
|
|
11802
|
+
}
|
|
11803
|
+
else {
|
|
11804
|
+
const index = this.activity.task[prop].findIndex((src) => {
|
|
11805
|
+
return src.getId() === activity.getBaseContent().getId();
|
|
11806
|
+
});
|
|
11807
|
+
if (index > -1) {
|
|
11808
|
+
this.activity.task[prop][index] = activity.getBaseContent();
|
|
11809
|
+
}
|
|
11810
|
+
}
|
|
11811
|
+
activity.editting = false;
|
|
11812
|
+
activity.isNew = false;
|
|
11813
|
+
}
|
|
11814
|
+
_getActivities() {
|
|
11815
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
11816
|
+
if (!this.key) {
|
|
11817
|
+
return;
|
|
11818
|
+
}
|
|
11819
|
+
this.activities = yield this.sharedService.getActivities(this.table, this.key.toString());
|
|
11820
|
+
});
|
|
11821
|
+
}
|
|
11822
|
+
_getTags() {
|
|
11823
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
11824
|
+
this.allTags = yield this.sharedService.getTagsFullTree(TagCategory.tasks, true);
|
|
11825
|
+
/*if (!this.key) {
|
|
11826
|
+
return;
|
|
11827
|
+
} else {
|
|
11828
|
+
this.editingTags = await this.sharedService.getJoinedTags(this.table, this.key.toString());
|
|
11829
|
+
}*/ /*if (!this.key) {
|
|
11830
|
+
return;
|
|
11831
|
+
} else {
|
|
11832
|
+
this.editingTags = await this.sharedService.getJoinedTags(this.table, this.key.toString());
|
|
11833
|
+
}*/
|
|
11834
|
+
});
|
|
11835
|
+
}
|
|
11836
|
+
}
|
|
11837
|
+
ModifyTaskFormComponent.decorators = [
|
|
11838
|
+
{ type: Component, args: [{
|
|
11839
|
+
selector: "co-modify-task-form",
|
|
11840
|
+
template: `
|
|
11841
|
+
<div class="wrapper">
|
|
11842
|
+
<div class="modify-task-header-wrapper">
|
|
11843
|
+
<div class="modify-task-header">
|
|
11844
|
+
<span class="header-menu"
|
|
11845
|
+
[class.active]="selectedMenu === 'content-menu1'"
|
|
11846
|
+
[textContent]="'TASK_DETAILS' | localize"
|
|
11847
|
+
(click)="showContent('content-menu1')"></span>
|
|
11848
|
+
<span class="header-menu"
|
|
11849
|
+
[class.active]="selectedMenu === 'content-menu2'"
|
|
11850
|
+
[textContent]="'TASK_INFORMATION' | localize"
|
|
11851
|
+
(click)="showContent('content-menu2')"></span>
|
|
11852
|
+
<span class="header-menu"
|
|
11853
|
+
[class.active]="selectedMenu === 'content-menu3'"
|
|
11854
|
+
[textContent]="'PLANNING' | localize"
|
|
11855
|
+
(click)="showContent('content-menu3')"></span>
|
|
11856
|
+
</div>
|
|
11857
|
+
</div>
|
|
11858
|
+
<div class="content-menu-wrapper narrow-scrollbar">
|
|
11859
|
+
<div class="content-menu" [hidden]="selectedMenu !== 'content-menu1'">
|
|
11860
|
+
<div class="content-row-wrapper">
|
|
11861
|
+
<div class="content-left">
|
|
11862
|
+
<co-task-details [readonly]="readonly"
|
|
11863
|
+
[table]="TableNames.Tasks"
|
|
11864
|
+
[key]="key"
|
|
11865
|
+
[(activity)]="activity"
|
|
11866
|
+
(activityChange)="activityChange.emit($event)"
|
|
11867
|
+
(showWorkLog)="handleShowWorkLow()"
|
|
11868
|
+
noBorder
|
|
11869
|
+
></co-task-details>
|
|
11870
|
+
<co-input-checkbox
|
|
11871
|
+
class="invoice-checkbox"
|
|
11872
|
+
[label]="'MARKED' | localize"
|
|
11873
|
+
[(model)]="activity.task.isInvoiced">
|
|
11874
|
+
</co-input-checkbox>
|
|
11875
|
+
<div class="marked-time-wrapper">
|
|
11876
|
+
<co-input-checkbox
|
|
11877
|
+
[(model)]="activity.task.workMandatory"
|
|
11878
|
+
[label]="'TIMEREGISTRATION_MANDATORY' | localize"
|
|
11879
|
+
noModuleService>
|
|
11880
|
+
</co-input-checkbox>
|
|
11881
|
+
<!-- TODO implement back later-->
|
|
11882
|
+
<!-- <arrow-link *ngIf="!readonly" label="REGISTER_TIME_HERE" (click)="handleRegisterWork()"></arrow-link>-->
|
|
11883
|
+
</div>
|
|
11884
|
+
|
|
11885
|
+
</div>
|
|
11886
|
+
<div class="content-right">
|
|
11887
|
+
<div class="activity-content-header" [textContent]="'PERSONS' | localize"></div>
|
|
11888
|
+
<co-executive-summary-block
|
|
11889
|
+
[readonly]="readonly"
|
|
11890
|
+
[(activity)]="activity"
|
|
11891
|
+
(activityChange)="activityChange.emit($event)" noBorder
|
|
11892
|
+
></co-executive-summary-block>
|
|
11893
|
+
|
|
11894
|
+
<!--TODO implement new file upload here-->
|
|
11895
|
+
<!-- <activity-attachments
|
|
11896
|
+
[(activity)]="activity"
|
|
11897
|
+
[readonly]="readonly"
|
|
11898
|
+
[key]="activity.task.id"
|
|
11899
|
+
[noForceInput]="true"
|
|
11900
|
+
(activityChange)="activityChange.emit($event)"
|
|
11901
|
+
noBorder
|
|
11902
|
+
></activity-attachments>-->
|
|
11903
|
+
</div>
|
|
11904
|
+
</div>
|
|
11905
|
+
<div class="activities-wrapper">
|
|
11906
|
+
<co-activity-list [activities]="activities">
|
|
11907
|
+
|
|
11908
|
+
</co-activity-list>
|
|
11909
|
+
</div>
|
|
11910
|
+
</div>
|
|
11911
|
+
<div class="content-menu" [hidden]="selectedMenu !== 'content-menu2'">
|
|
11912
|
+
<co-status-summary-block
|
|
11913
|
+
[readonly]="readonly"
|
|
11914
|
+
[(activity)]="activity"
|
|
11915
|
+
[table]="TableNames.Tasks"
|
|
11916
|
+
[key]="key"
|
|
11917
|
+
(activityChange)="activityChange.emit($event)" noBorder
|
|
11918
|
+
></co-status-summary-block>
|
|
11919
|
+
<co-creation-summary-block
|
|
11920
|
+
[readonly]="readonly"
|
|
11921
|
+
[(activity)]="activity"
|
|
11922
|
+
(activityChange)="activityChange.emit($event)" noBorder
|
|
11923
|
+
></co-creation-summary-block>
|
|
11924
|
+
<!--<planning-summary-block
|
|
11925
|
+
[readonly]="readonly"
|
|
11926
|
+
[(activity)]="activity"
|
|
11927
|
+
(activityChange)="activityChange.emit($event)" noBorder
|
|
11928
|
+
></planning-summary-block>-->
|
|
11929
|
+
</div>
|
|
11930
|
+
<div class="content-menu" [hidden]="selectedMenu !== 'content-menu3'">
|
|
11931
|
+
<co-notification-summary-block
|
|
11932
|
+
[readonly]="readonly"
|
|
11933
|
+
[(activity)]="activity"
|
|
11934
|
+
(activityChange)="activityChange.emit($event)" noBorder
|
|
11935
|
+
></co-notification-summary-block>
|
|
11936
|
+
|
|
11937
|
+
<div class="edit-tags-wrapper">
|
|
11938
|
+
<co-simple-tags-form [tags]="allTags"
|
|
11939
|
+
[linkedTags]="activity.task.tags">
|
|
11940
|
+
</co-simple-tags-form>
|
|
11941
|
+
</div>
|
|
11942
|
+
<div class="transaction-tag-wrapper" *ngFor="let tag of activity.task.tags">
|
|
11943
|
+
<div class="tag" [textContent]="tag.description"></div>
|
|
11944
|
+
</div>
|
|
11945
|
+
</div>
|
|
11946
|
+
</div>
|
|
11947
|
+
|
|
11948
|
+
</div>
|
|
11949
|
+
`,
|
|
11950
|
+
providers: [
|
|
11951
|
+
FormMasterService,
|
|
11952
|
+
{
|
|
11953
|
+
provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
|
|
11954
|
+
useExisting: forwardRef(() => ModifyTaskFormComponent)
|
|
11955
|
+
}
|
|
11956
|
+
]
|
|
11957
|
+
},] }
|
|
11958
|
+
];
|
|
11959
|
+
ModifyTaskFormComponent.ctorParameters = () => [
|
|
11960
|
+
{ type: BusinessObjectFactory },
|
|
11961
|
+
{ type: SharedService },
|
|
11962
|
+
{ type: IconCacheService$1 }
|
|
11963
|
+
];
|
|
11964
|
+
ModifyTaskFormComponent.propDecorators = {
|
|
11965
|
+
activity: [{ type: Input }],
|
|
11966
|
+
showClass: [{ type: HostBinding, args: ["class.co-modify-task-form",] }],
|
|
11967
|
+
activityTaskConfigNames: [{ type: Input }],
|
|
11968
|
+
readonly: [{ type: Input }],
|
|
11969
|
+
popupContext: [{ type: Input }],
|
|
11970
|
+
forceReadonly: [{ type: Input }],
|
|
11971
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }],
|
|
11972
|
+
activityChange: [{ type: Output }],
|
|
11973
|
+
statusChange: [{ type: Output }],
|
|
11974
|
+
showWorkLog: [{ type: Output }]
|
|
11975
|
+
};
|
|
11976
|
+
__decorate([
|
|
11977
|
+
InputBoolean()
|
|
11978
|
+
], ModifyTaskFormComponent.prototype, "forceReadonly", null);
|
|
11979
|
+
|
|
11980
|
+
class TaskModifierComponent {
|
|
11981
|
+
constructor(_dialogService, _boFactory, _dictionary, iconService, sharedService) {
|
|
11982
|
+
this._dialogService = _dialogService;
|
|
11983
|
+
this._boFactory = _boFactory;
|
|
11984
|
+
this._dictionary = _dictionary;
|
|
11985
|
+
this.iconService = iconService;
|
|
11986
|
+
this.sharedService = sharedService;
|
|
11987
|
+
this.icons = Icon;
|
|
11988
|
+
this.editingComplete = new EventEmitter();
|
|
11989
|
+
this.activitySaved = new EventEmitter();
|
|
11990
|
+
this.activityDeleted = new EventEmitter();
|
|
11991
|
+
this.closedWithoutComplete = new EventEmitter();
|
|
11992
|
+
this.showWorkLog = new EventEmitter();
|
|
11993
|
+
this.taskCreated = new EventEmitter();
|
|
11994
|
+
this.taskModified = new EventEmitter();
|
|
11995
|
+
this.showAfterInsert = false;
|
|
11996
|
+
this.showNewForm = false;
|
|
11997
|
+
this.showModificationForm = false;
|
|
11998
|
+
this.taskEditting = false;
|
|
11999
|
+
this.Icon = Icon;
|
|
12000
|
+
}
|
|
12001
|
+
get readonly() {
|
|
12002
|
+
//return this.moduleService.readonly &&
|
|
12003
|
+
return false;
|
|
12004
|
+
}
|
|
12005
|
+
showClass() {
|
|
12006
|
+
return true;
|
|
12007
|
+
}
|
|
12008
|
+
get showForm() {
|
|
12009
|
+
return this.showNewForm || this.showModificationForm;
|
|
12010
|
+
}
|
|
12011
|
+
get header() {
|
|
12012
|
+
return (this.showModificationForm) ? "TASK" : "ADD_TASK2";
|
|
12013
|
+
}
|
|
12014
|
+
get subHeader() {
|
|
12015
|
+
return this.currentActivity ? this.currentActivity.task.taskId + "" : "";
|
|
12016
|
+
}
|
|
12017
|
+
get subSubHeader() {
|
|
12018
|
+
var _a, _b, _c, _d, _e, _f;
|
|
12019
|
+
if (((_b = (_a = this.currentActivity) === null || _a === void 0 ? void 0 : _a.task) === null || _b === void 0 ? void 0 : _b.lastModifiedBy) && ((_d = (_c = this.currentActivity) === null || _c === void 0 ? void 0 : _c.task) === null || _d === void 0 ? void 0 : _d.lastModifiedDate)) {
|
|
12020
|
+
const label = this._dictionary.get('LAST_CHANGE');
|
|
12021
|
+
const lastModifiedBy = (_e = this.currentActivity.task) === null || _e === void 0 ? void 0 : _e.lastModifiedDisplayName;
|
|
12022
|
+
const lastModifiedDate = (_f = this.currentActivity.task) === null || _f === void 0 ? void 0 : _f.lastModifiedDate.toLocaleString();
|
|
12023
|
+
return label + ': ' + lastModifiedBy + ' | ' + lastModifiedDate;
|
|
12024
|
+
}
|
|
12025
|
+
return "";
|
|
12026
|
+
}
|
|
12027
|
+
get subHeaderLink() {
|
|
12028
|
+
if (this.showModificationForm && this.currentActivity && this.currentActivity.task) {
|
|
12029
|
+
if (this.currentActivity.task.workflowCategory && this.currentActivity.task.reference) {
|
|
12030
|
+
let activityName;
|
|
12031
|
+
activityName = this._dictionary.get("WORKFLOW_CATEGORY_" + this.currentActivity.task.workflowCategory) + " " + this.currentActivity.task.reference + ")";
|
|
12032
|
+
return activityName;
|
|
12033
|
+
}
|
|
12034
|
+
}
|
|
12035
|
+
return "";
|
|
12036
|
+
}
|
|
12037
|
+
get userIsTaskReporter() {
|
|
12038
|
+
return this.editActivity &&
|
|
12039
|
+
((this.editActivity.task.reporterUserGroupId && this.editActivity.task.reporterUserGroupId === this.userGroupId) ||
|
|
12040
|
+
(this.editActivity.task.reporter && this.editActivity.task.reporter.relationId === this.relationId));
|
|
12041
|
+
}
|
|
12042
|
+
ngOnDestroy() {
|
|
12043
|
+
}
|
|
12044
|
+
handleSaveForm() {
|
|
12045
|
+
this.mainForm.submit();
|
|
12046
|
+
}
|
|
12047
|
+
onValid() {
|
|
12048
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12049
|
+
if (this.editActivity) {
|
|
12050
|
+
const newActivity = this.editActivity.isNew;
|
|
12051
|
+
const result = yield this.sharedService.updateActivity(this.editActivity);
|
|
12052
|
+
if (result) {
|
|
12053
|
+
this.activitySaved.next(this.editActivity);
|
|
12054
|
+
this.editingComplete.next(this.editActivity);
|
|
12055
|
+
if (newActivity) {
|
|
12056
|
+
this.taskCreated.next(this.editActivity.task);
|
|
12057
|
+
}
|
|
12058
|
+
else {
|
|
12059
|
+
this.taskModified.next(this.editActivity.task);
|
|
12060
|
+
}
|
|
12061
|
+
if (this.showAfterInsert) {
|
|
12062
|
+
this.startModifyingTask(this.editActivity);
|
|
12063
|
+
}
|
|
12064
|
+
}
|
|
12065
|
+
this.hide();
|
|
12066
|
+
}
|
|
12067
|
+
});
|
|
12068
|
+
}
|
|
12069
|
+
handleCancelForm() {
|
|
12070
|
+
this._createClone();
|
|
12071
|
+
//TODO: is this needed?
|
|
12072
|
+
//this.moduleService.cancelEdit();
|
|
12073
|
+
this.closedWithoutComplete.next(true);
|
|
12074
|
+
this.hide();
|
|
12075
|
+
}
|
|
12076
|
+
onPopupClose() {
|
|
12077
|
+
this.forceReadonly = false;
|
|
12078
|
+
this.hide();
|
|
12079
|
+
this.closedWithoutComplete.next(true);
|
|
12080
|
+
}
|
|
12081
|
+
//TODO figure out routing from external component
|
|
12082
|
+
/*public openReferenceInModule(): void {
|
|
12083
|
+
if (this.currentActivity && this.currentActivity.task) {
|
|
12084
|
+
if (this.currentActivity.task.workflowCategory === WorkflowCategoryType.AbsenceFile || this.currentActivity.task.workflowCategory === WorkflowCategoryType.PreventiveAbsenceFile) {
|
|
12085
|
+
this._appNavigator.navigateToIOneModule(IOneModuleName.AbsenceFile, this.currentActivity.task.referenceId);
|
|
12086
|
+
}
|
|
12087
|
+
}
|
|
12088
|
+
|
|
12089
|
+
}*/
|
|
12090
|
+
hide() {
|
|
12091
|
+
this.showNewForm = false;
|
|
12092
|
+
this.showModificationForm = false;
|
|
12093
|
+
}
|
|
12094
|
+
deleteTask() {
|
|
12095
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12096
|
+
const doDelete = yield this._dialogService.showYesNo("DELETE_TASK", "DELETE_TASK", false);
|
|
12097
|
+
if (doDelete.button === AppPopupButtonType.Yes) {
|
|
12098
|
+
yield this.sharedService.deleteActivity(this.editActivity);
|
|
12099
|
+
this.activityDeleted.next(this.editActivity);
|
|
12100
|
+
this.hide();
|
|
12101
|
+
}
|
|
12102
|
+
});
|
|
12103
|
+
}
|
|
12104
|
+
createNewTask(standalone = true) {
|
|
12105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12106
|
+
if (this.showForm) {
|
|
12107
|
+
return;
|
|
12108
|
+
}
|
|
12109
|
+
this.showAfterInsert = false;
|
|
12110
|
+
this.currentActivity = yield this.createTaskOperation({ standalone: standalone, workflowCategory: this.workflowCategory, reference: this.reference, referenceId: this.referenceId });
|
|
12111
|
+
this._createClone();
|
|
12112
|
+
this.showNewForm = true;
|
|
12113
|
+
});
|
|
12114
|
+
}
|
|
12115
|
+
startModifyingTask(activity) {
|
|
12116
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12117
|
+
if (this.showForm || !activity.IsTask) {
|
|
12118
|
+
return;
|
|
12119
|
+
}
|
|
12120
|
+
this.showAfterInsert = false;
|
|
12121
|
+
yield this.sharedService.lockTask(activity.task.taskId);
|
|
12122
|
+
activity.task = activity.task;
|
|
12123
|
+
this.currentActivity = activity;
|
|
12124
|
+
this._createClone();
|
|
12125
|
+
this.showModificationForm = true;
|
|
12126
|
+
});
|
|
12127
|
+
}
|
|
12128
|
+
startModifyingTaskAndWorkLog(activity) {
|
|
12129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12130
|
+
yield this.startModifyingTask(activity);
|
|
12131
|
+
setTimeout(() => {
|
|
12132
|
+
/*if (this.modifyTaskForm) {
|
|
12133
|
+
this.modifyTaskForm.handleRegisterWork();
|
|
12134
|
+
}*/
|
|
12135
|
+
});
|
|
12136
|
+
});
|
|
12137
|
+
}
|
|
12138
|
+
_createClone() {
|
|
12139
|
+
this.editActivity = this._boFactory.makeWithRawBackendData(Activity, this.currentActivity);
|
|
12140
|
+
}
|
|
12141
|
+
doHandleStatusChange(editting) {
|
|
12142
|
+
this.taskEditting = editting;
|
|
12143
|
+
}
|
|
12144
|
+
updateEditActivity(activity) {
|
|
12145
|
+
this.editActivity = this._boFactory.makeWithRawBackendData(Activity, activity);
|
|
12146
|
+
}
|
|
12147
|
+
}
|
|
12148
|
+
TaskModifierComponent.decorators = [
|
|
12149
|
+
{ type: Component, args: [{
|
|
12150
|
+
selector: "co-task-modifier",
|
|
12151
|
+
template: `
|
|
12152
|
+
<co-dialog *ngIf="showForm"
|
|
12153
|
+
(closeClick)="onPopupClose()"
|
|
12154
|
+
class="task-popup"
|
|
12155
|
+
cssId="task_modifier_popup"
|
|
12156
|
+
noClickOutside contentSize>
|
|
12157
|
+
<!--
|
|
12158
|
+
[header]="header"
|
|
12159
|
+
[subHeader]="subHeader"
|
|
12160
|
+
[subHeaderLink]="subHeaderLink"
|
|
12161
|
+
[subSubHeader]="subSubHeader"
|
|
12162
|
+
[headerIcon]="icons.Task"
|
|
12163
|
+
(openLink)="openReferenceInModule()"-->
|
|
12164
|
+
<!-- <ng-template>-->
|
|
12165
|
+
<div class="popup-wrapper"
|
|
12166
|
+
[ngClass]="(showNewForm) ? 'new-task-popup' : ''">
|
|
12167
|
+
<div class="form-wrapper mini-scrollbar">
|
|
12168
|
+
<co-form #mainForm (validSubmit)="onValid()">
|
|
12169
|
+
<!--
|
|
12170
|
+
<new-task-form *ngIf="showNewForm" [activity]="editActivity" [myCfgNames]="taskCfgNames" [taskKey]="referenceId" [taskWorkflowCategory]="workflowCategory"></new-task-form>
|
|
12171
|
+
-->
|
|
12172
|
+
<co-modify-task-form #modifyTaskForm *ngIf="showModificationForm"
|
|
12173
|
+
[activity]="editActivity"
|
|
12174
|
+
[readonly]="readonly"
|
|
12175
|
+
[popupContext]="true"
|
|
12176
|
+
(statusChange)="doHandleStatusChange($event)"
|
|
12177
|
+
(showWorkLog)="showWorkLog.emit()"
|
|
12178
|
+
(activityChange)="updateEditActivity($event)"
|
|
12179
|
+
></co-modify-task-form>
|
|
12180
|
+
</co-form>
|
|
12181
|
+
</div>
|
|
12182
|
+
</div>
|
|
12183
|
+
<div class="popup-buttons" fxLayout="column">
|
|
12184
|
+
<div *ngIf="showNewForm" fxLayout="row" class="popup-thumb">
|
|
12185
|
+
<span [textContent]="'SHOW_AFTER_INSERT' | localize"></span>
|
|
12186
|
+
<!-- <thumb [(active)]=showAfterInsert"></thumb>-->
|
|
12187
|
+
</div>
|
|
12188
|
+
<div class="ok-cancel-buttons">
|
|
12189
|
+
<div class="button-left">
|
|
12190
|
+
<co-button [disabled]="readonly || taskEditting" [textContent]="'SAVE' | localize" (click)="handleSaveForm()"></co-button>
|
|
12191
|
+
</div>
|
|
12192
|
+
<div class="button-middle">
|
|
12193
|
+
<co-button *ngIf="showNewForm" [textContent]="'CANCEL' | localize" (click)="handleCancelForm()"></co-button>
|
|
12194
|
+
</div>
|
|
12195
|
+
<div class="button-right">
|
|
12196
|
+
<co-button *ngIf="showModificationForm && !readonly"
|
|
12197
|
+
[iconData]="iconService.getIcon(icons.Trashbin)" class="delete light"
|
|
12198
|
+
[disabled]="readonly || taskEditting"
|
|
12199
|
+
(click)="deleteTask()"></co-button>
|
|
12200
|
+
</div>
|
|
12201
|
+
</div>
|
|
12202
|
+
</div>
|
|
12203
|
+
<!-- </ng-template>-->
|
|
12204
|
+
</co-dialog>
|
|
12205
|
+
`
|
|
12206
|
+
},] }
|
|
12207
|
+
];
|
|
12208
|
+
TaskModifierComponent.ctorParameters = () => [
|
|
12209
|
+
{ type: CoreDialogService },
|
|
12210
|
+
{ type: BusinessObjectFactory },
|
|
12211
|
+
{ type: DictionaryService },
|
|
12212
|
+
{ type: IconCacheService },
|
|
12213
|
+
{ type: SharedService }
|
|
12214
|
+
];
|
|
12215
|
+
TaskModifierComponent.propDecorators = {
|
|
12216
|
+
mainForm: [{ type: ViewChild, args: [FormComponent,] }],
|
|
12217
|
+
modifyTaskForm: [{ type: ViewChild, args: [forwardRef(() => ModifyTaskFormComponent),] }],
|
|
12218
|
+
workflowCategory: [{ type: Input }],
|
|
12219
|
+
reference: [{ type: Input }],
|
|
12220
|
+
referenceId: [{ type: Input }],
|
|
12221
|
+
userGroupId: [{ type: Input }],
|
|
12222
|
+
relationId: [{ type: Input }],
|
|
12223
|
+
createTaskOperation: [{ type: Input }],
|
|
12224
|
+
forceReadonly: [{ type: Input }],
|
|
12225
|
+
editingComplete: [{ type: Output }],
|
|
12226
|
+
activitySaved: [{ type: Output }],
|
|
12227
|
+
activityDeleted: [{ type: Output }],
|
|
12228
|
+
closedWithoutComplete: [{ type: Output }],
|
|
12229
|
+
showWorkLog: [{ type: Output }],
|
|
12230
|
+
taskCreated: [{ type: Output }],
|
|
12231
|
+
taskModified: [{ type: Output }],
|
|
12232
|
+
showClass: [{ type: HostBinding, args: ["class.co-task-modifier",] }]
|
|
12233
|
+
};
|
|
12234
|
+
__decorate([
|
|
12235
|
+
InputBoolean()
|
|
12236
|
+
], TaskModifierComponent.prototype, "forceReadonly", void 0);
|
|
12237
|
+
|
|
12238
|
+
class BaseActivityOverviewComponent {
|
|
12239
|
+
constructor(_dialogService, _dictionaryService, _sharedService
|
|
12240
|
+
//TODO reinstate when formbuilder is transferred
|
|
12241
|
+
//private _formRepo: FormDalRepository,
|
|
12242
|
+
/*private _router: Router*/
|
|
12243
|
+
) {
|
|
12244
|
+
this._dialogService = _dialogService;
|
|
12245
|
+
this._dictionaryService = _dictionaryService;
|
|
12246
|
+
this._sharedService = _sharedService;
|
|
12247
|
+
this.icon = Icon;
|
|
12248
|
+
this.cfgNames = ActivityCfgName;
|
|
12249
|
+
this.taskCfgNames = {
|
|
12250
|
+
timeRegistrationMandatory: ActivityCfgName.TimeRegistrationMandatory,
|
|
12251
|
+
deleteActivityTaskButton: ActivityCfgName.DeleteActivityTaskButton,
|
|
12252
|
+
statusSummaryHeader: ActivityCfgName.StatusSummaryHeader,
|
|
12253
|
+
creationSummaryHeader: ActivityCfgName.CreationSummaryHeader,
|
|
12254
|
+
executiveSummaryHeader: ActivityCfgName.ExecutiveSummaryHeader,
|
|
12255
|
+
planningSummaryHeader: ActivityCfgName.PlanningSummaryHeader,
|
|
12256
|
+
attachmentsHeader: ActivityCfgName.AttachmentsHeader,
|
|
12257
|
+
notificationsSummaryHeader: ActivityCfgName.NotificationsSummaryHeader,
|
|
12258
|
+
tagsHeader: ActivityCfgName.TagsHeader,
|
|
12259
|
+
taskInvoice: ActivityCfgName.TaskInvoice
|
|
12260
|
+
};
|
|
12261
|
+
this.prepareWorkflowOperation = OperationWithAlwaysSuccessCallback;
|
|
12262
|
+
this.handleOpenLinkSidebar = false;
|
|
12263
|
+
this.activityChange = new EventEmitter();
|
|
12264
|
+
this.activityDeleted = new EventEmitter();
|
|
12265
|
+
this.triggerFired = new EventEmitter();
|
|
12266
|
+
this.genericTriggerFired = new EventEmitter();
|
|
12267
|
+
this.formCreated = new EventEmitter();
|
|
12268
|
+
this.openLink = new EventEmitter();
|
|
12269
|
+
this.linkClicked = new EventEmitter();
|
|
12270
|
+
this.overDue = false;
|
|
12271
|
+
this.userIsSupervisor = false;
|
|
12272
|
+
this.urls = [];
|
|
12273
|
+
this.isTask = false;
|
|
12274
|
+
this.hasTriggers = false;
|
|
12275
|
+
this.sameDates = false;
|
|
12276
|
+
this._activity = new Activity();
|
|
12277
|
+
}
|
|
12278
|
+
set viewModel(value) {
|
|
12279
|
+
this._viewModel = value;
|
|
12280
|
+
this.overDue = value.overDue;
|
|
12281
|
+
this.activity = value.activity;
|
|
12282
|
+
}
|
|
12283
|
+
set triggerToFireOnSave(value) {
|
|
12284
|
+
this._triggerToFireOnSave = value;
|
|
12285
|
+
}
|
|
12286
|
+
get triggerToFireOnSave() {
|
|
12287
|
+
return this._triggerToFireOnSave;
|
|
12288
|
+
}
|
|
12289
|
+
set activity(value) {
|
|
12290
|
+
this._activity = value;
|
|
12291
|
+
this._prepareData();
|
|
12292
|
+
}
|
|
12293
|
+
get activity() {
|
|
12294
|
+
return this._activity;
|
|
12295
|
+
}
|
|
12296
|
+
handleButtonEndClick() {
|
|
12297
|
+
this.handleTriggerClick(this.firstTriggerToCloseWF);
|
|
12298
|
+
}
|
|
12299
|
+
handleGenericTriggerClick(event) {
|
|
12300
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12301
|
+
const result = yield this._sharedService.fireGenericTrigger(this.workFlow.workflowProcessId, event.genericTransitionId, this.userRelationId);
|
|
12302
|
+
if (result.success) {
|
|
12303
|
+
this.genericTriggerFired.next(this.activity);
|
|
12304
|
+
}
|
|
12305
|
+
else {
|
|
12306
|
+
const messages = [];
|
|
12307
|
+
const len = result.messages.length;
|
|
12308
|
+
for (let i = 0; i < len; i++) {
|
|
12309
|
+
messages.push(this._dictionaryService.get(result.messages[i].message.toUpperCase()));
|
|
12310
|
+
}
|
|
12311
|
+
this._dialogService.showError(messages.toString());
|
|
12312
|
+
}
|
|
12313
|
+
});
|
|
12314
|
+
}
|
|
12315
|
+
handleTriggerClick(eventTrigger) {
|
|
12316
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12317
|
+
if (eventTrigger.isTaskTrigger && eventTrigger.taskId) {
|
|
12318
|
+
//prepare task on the activity object, so the task modifier can handle it
|
|
12319
|
+
this.activity.task = new Task();
|
|
12320
|
+
this.activity.activityType = ActivityType.Task;
|
|
12321
|
+
this.activity.task.taskId = eventTrigger.taskId;
|
|
12322
|
+
this.taskModifier.startModifyingTask(this.activity);
|
|
12323
|
+
}
|
|
12324
|
+
else if (eventTrigger.isFormTrigger) {
|
|
12325
|
+
//TODO reinstate when we know what to do with the formbuilder
|
|
12326
|
+
/*this.form = await this._formRepo.getForm(eventTrigger.formId);
|
|
12327
|
+
this.table = this.workFlow.table;
|
|
12328
|
+
this.key = this.workFlow.key;
|
|
12329
|
+
this.showCreateForm = true;*/
|
|
12330
|
+
}
|
|
12331
|
+
else {
|
|
12332
|
+
if (eventTrigger.toClosedState && !this._sharedService.canFireTrigger(this.activity, this.activity.task)) {
|
|
12333
|
+
yield this.prepareWorkflowOperation({ table: this.workFlow.table, key: this.workFlow.key });
|
|
12334
|
+
this.triggerToFireOnSave = eventTrigger;
|
|
12335
|
+
this.showTaskFormAndWorkLog();
|
|
12336
|
+
return;
|
|
12337
|
+
}
|
|
12338
|
+
const result = yield this._sharedService.fireTrigger(this.workFlow.workflowProcessId, this.workFlow.sequence, eventTrigger.triggerId);
|
|
12339
|
+
if (result.success) {
|
|
12340
|
+
this.triggerFired.next(this.activity);
|
|
12341
|
+
}
|
|
12342
|
+
else {
|
|
12343
|
+
const messages = [];
|
|
12344
|
+
const len = result.messages.length;
|
|
12345
|
+
for (let i = 0; i < len; i++) {
|
|
12346
|
+
messages.push(this._dictionaryService.get(result.messages[i].message.toUpperCase()));
|
|
12347
|
+
}
|
|
12348
|
+
this._dialogService.showError(messages.toString());
|
|
12349
|
+
}
|
|
12350
|
+
}
|
|
12351
|
+
});
|
|
12352
|
+
}
|
|
12353
|
+
handleOpenLink(event, url) {
|
|
12354
|
+
this._stopEventPropagation(event);
|
|
12355
|
+
if (url) { // breadCrumbs to url
|
|
12356
|
+
this._openUrl(url);
|
|
12357
|
+
}
|
|
12358
|
+
else {
|
|
12359
|
+
this.startModifyingTask();
|
|
12360
|
+
}
|
|
12361
|
+
}
|
|
12362
|
+
handleOpenLinkOrUrl(event) {
|
|
12363
|
+
this._stopEventPropagation(event);
|
|
12364
|
+
if (this.link && this.link.module) {
|
|
12365
|
+
this.linkClicked.next({ module: this.link.module, id: this.link.id });
|
|
12366
|
+
}
|
|
12367
|
+
else if (this.urls && this.urls.length) {
|
|
12368
|
+
this._openUrl(this.urls[0]);
|
|
12369
|
+
}
|
|
12370
|
+
else {
|
|
12371
|
+
this.startModifyingTask();
|
|
12372
|
+
}
|
|
12373
|
+
}
|
|
12374
|
+
startModifyingTask() {
|
|
12375
|
+
if (this.workFlow && this.workFlow.workFlowHasOneTaskTrigger) {
|
|
12376
|
+
this.activity.task = new Task();
|
|
12377
|
+
this.activity.activityType = ActivityType.Task;
|
|
12378
|
+
this.activity.task.taskId = this.workFlow.taskIdFromTaskTrigger;
|
|
12379
|
+
}
|
|
12380
|
+
if (this.activity.task) {
|
|
12381
|
+
if (this.handleOpenLinkSidebar === true) {
|
|
12382
|
+
this.openLink.next(this.activity);
|
|
12383
|
+
}
|
|
12384
|
+
else {
|
|
12385
|
+
this.taskModifier.startModifyingTask(this.activity);
|
|
12386
|
+
}
|
|
12387
|
+
}
|
|
12388
|
+
// TODO: for now a message is shown.
|
|
12389
|
+
else if (this.workFlow) {
|
|
12390
|
+
this._dialogService.showInformation("Component: " + this.workFlow.component + " key: " + this.workFlow.displayKey);
|
|
12391
|
+
}
|
|
12392
|
+
}
|
|
12393
|
+
showTaskFormAndWorkLog() {
|
|
12394
|
+
if (this.activity.task) {
|
|
12395
|
+
//TODO REINSTATE AFTER FIXING FORM
|
|
12396
|
+
//this.taskModifier.startModifyingTaskAndWorkLog(this.activity);
|
|
12397
|
+
}
|
|
12398
|
+
}
|
|
12399
|
+
onSaveActivity(activity) {
|
|
12400
|
+
this.activity = activity;
|
|
12401
|
+
this.activityChange.next(this.activity);
|
|
12402
|
+
}
|
|
12403
|
+
onDeleteActivity(activity) {
|
|
12404
|
+
if (this.activity.getId() === activity.getId()) {
|
|
12405
|
+
if (this._viewModel) {
|
|
12406
|
+
this._viewModel.deleted = true;
|
|
12407
|
+
this._viewModel.showing = false;
|
|
12408
|
+
this._viewModel.refreshViewModel();
|
|
12409
|
+
}
|
|
12410
|
+
this.activityDeleted.emit(activity);
|
|
12411
|
+
}
|
|
12412
|
+
}
|
|
12413
|
+
//TODO Reinstate once we know what to do with the formbuilder
|
|
12414
|
+
/*public doCancelForm(): void {
|
|
12415
|
+
this.showCreateForm = false;
|
|
12416
|
+
}
|
|
12417
|
+
|
|
12418
|
+
public async doSaveForm(form: FormResponse): Promise<void> {
|
|
12419
|
+
const result: ValidationResult = await this._formRepo.insertFormResponse(form);
|
|
12420
|
+
if (result.success) {
|
|
12421
|
+
this.formCreated.next();
|
|
12422
|
+
this.showCreateForm = false;
|
|
12423
|
+
}
|
|
12424
|
+
}*/
|
|
12425
|
+
_prepareData() {
|
|
12426
|
+
this.workFlow = this._activity.workflow;
|
|
12427
|
+
if (this.workFlow) {
|
|
12428
|
+
this.workFlow.useSingleTaskTriggerAsTask = true;
|
|
12429
|
+
this.urls = this.workFlow.urls;
|
|
12430
|
+
this.hasTriggers = this.workFlow.hasTriggers;
|
|
12431
|
+
}
|
|
12432
|
+
this.activityName = this.activity.name;
|
|
12433
|
+
this.link = this.activity.link;
|
|
12434
|
+
this.linkDescription = this.activity.linkDescription;
|
|
12435
|
+
this.targetDate = this.activity.targetDateTime;
|
|
12436
|
+
this.deadlineDate = this.activity.deadlineDateTime;
|
|
12437
|
+
this.openButtonLabel = this.activity.linkLabel;
|
|
12438
|
+
this.activityTitle = this.activity.activityTitle;
|
|
12439
|
+
this.activityContextTitle = this.activity.activityContextTitle;
|
|
12440
|
+
this.isTask = this._activity.IsTask;
|
|
12441
|
+
this.sameDates = DateUtils.IsSameDay(this.targetDate, this.deadlineDate);
|
|
12442
|
+
this._setFirstTriggerToCloseWF();
|
|
12443
|
+
}
|
|
12444
|
+
_setFirstTriggerToCloseWF() {
|
|
12445
|
+
if (isNill$1(this.workFlow) || isNill$1(this.workFlow.manualTriggers)) {
|
|
12446
|
+
return;
|
|
12447
|
+
}
|
|
12448
|
+
this.firstTriggerToCloseWF = undefined;
|
|
12449
|
+
const len = this.workFlow.manualTriggers.length;
|
|
12450
|
+
for (let i = 0; i < len; i++) {
|
|
12451
|
+
if (this.workFlow.manualTriggers[i].toClosedState) {
|
|
12452
|
+
this.firstTriggerToCloseWF = this.workFlow.manualTriggers[i];
|
|
12453
|
+
break;
|
|
12454
|
+
}
|
|
12455
|
+
}
|
|
12456
|
+
}
|
|
12457
|
+
_openUrl(url) {
|
|
12458
|
+
const regEx = new RegExp(/(http)|(www.)/);
|
|
12459
|
+
if (regEx.test(url)) {
|
|
12460
|
+
window.open(url.indexOf("http") === -1 ? "http://" + url : url, "_blank");
|
|
12461
|
+
}
|
|
12462
|
+
else {
|
|
12463
|
+
//this._router.navigateByUrl(url);
|
|
12464
|
+
}
|
|
12465
|
+
}
|
|
12466
|
+
_stopEventPropagation(event) {
|
|
12467
|
+
event.preventDefault();
|
|
12468
|
+
event.stopPropagation();
|
|
12469
|
+
event.stopImmediatePropagation();
|
|
12470
|
+
}
|
|
12471
|
+
}
|
|
12472
|
+
BaseActivityOverviewComponent.decorators = [
|
|
12473
|
+
{ type: Directive },
|
|
12474
|
+
{ type: Injectable }
|
|
12475
|
+
];
|
|
12476
|
+
BaseActivityOverviewComponent.ctorParameters = () => [
|
|
12477
|
+
{ type: CoreDialogService },
|
|
12478
|
+
{ type: DictionaryService },
|
|
12479
|
+
{ type: SharedService }
|
|
12480
|
+
];
|
|
12481
|
+
BaseActivityOverviewComponent.propDecorators = {
|
|
12482
|
+
taskModifier: [{ type: ViewChild, args: [TaskModifierComponent, { static: true },] }],
|
|
12483
|
+
viewModel: [{ type: Input }],
|
|
12484
|
+
triggerToFireOnSave: [{ type: Input }],
|
|
12485
|
+
prepareWorkflowOperation: [{ type: Input }],
|
|
12486
|
+
userRelationId: [{ type: Input }],
|
|
12487
|
+
userGroupId: [{ type: Input }],
|
|
12488
|
+
handleOpenLinkSidebar: [{ type: Input }],
|
|
12489
|
+
activityChange: [{ type: Output }],
|
|
12490
|
+
activityDeleted: [{ type: Output }],
|
|
12491
|
+
triggerFired: [{ type: Output }],
|
|
12492
|
+
genericTriggerFired: [{ type: Output }],
|
|
12493
|
+
formCreated: [{ type: Output }],
|
|
12494
|
+
openLink: [{ type: Output }],
|
|
12495
|
+
linkClicked: [{ type: Output }]
|
|
12496
|
+
};
|
|
12497
|
+
__decorate([
|
|
12498
|
+
InputBoolean()
|
|
12499
|
+
], BaseActivityOverviewComponent.prototype, "handleOpenLinkSidebar", void 0);
|
|
12500
|
+
|
|
12501
|
+
class PersonalActivityOverviewComponent extends BaseActivityOverviewComponent {
|
|
12502
|
+
showClass() {
|
|
12503
|
+
return true;
|
|
12504
|
+
}
|
|
12505
|
+
}
|
|
12506
|
+
PersonalActivityOverviewComponent.decorators = [
|
|
12507
|
+
{ type: Component, args: [{
|
|
12508
|
+
selector: "co-personal-activity-overview",
|
|
12509
|
+
template: `
|
|
12510
|
+
<div class="overview-wrapper pointer-hover" (click)="handleOpenLinkOrUrl($event)">
|
|
12511
|
+
<div class="overview-wrapper-labels">
|
|
12512
|
+
<div class="activity-title" [textContent]="activityTitle"></div>
|
|
12513
|
+
<div class="activity-context-title" [textContent]="activityContextTitle"></div>
|
|
12514
|
+
</div>
|
|
12515
|
+
<div class="overview-wrapper-date">
|
|
12516
|
+
<div class="date-wrapper" [class.overdue]="overDue">
|
|
12517
|
+
<ng-container *ngIf="!sameDates">
|
|
12518
|
+
<div class="date" [textContent]="targetDate | date:'dd-MM-YYYY'"></div>
|
|
12519
|
+
<div class="date-divider" [textContent]="'-'"></div>
|
|
12520
|
+
</ng-container>
|
|
12521
|
+
<!--TODO REINSTATE AFTER finding what the heck is wrong with date-->
|
|
12522
|
+
<!--<div class="date" [textContent]="deadlineDate | date:'dd-MM-YYYY'"></div>-->
|
|
12523
|
+
</div>
|
|
12524
|
+
</div>
|
|
12525
|
+
</div>
|
|
12526
|
+
<!--TODO REINSTATE AFTER FIXING FORM-->
|
|
12527
|
+
<!-- <co-task-modifier
|
|
12528
|
+
(editingComplete)="onSaveActivity($event)"
|
|
12529
|
+
(activityDeleted)="onDeleteActivity($event)"
|
|
12530
|
+
(showWorkLog)="showTaskFormAndWorkLog()"
|
|
12531
|
+
></co-task-modifier>-->
|
|
12532
|
+
<!-- [taskCfgNames]="taskCfgNames"-->
|
|
12533
|
+
`
|
|
12534
|
+
},] }
|
|
12535
|
+
];
|
|
12536
|
+
PersonalActivityOverviewComponent.propDecorators = {
|
|
12537
|
+
showClass: [{ type: HostBinding, args: ["class.co-personal-activity-overview",] }]
|
|
12538
|
+
};
|
|
12539
|
+
|
|
12540
|
+
function OperationWithValidationCallback(object, object2, object3) {
|
|
12541
|
+
return Promise.resolve(new ValidationResult());
|
|
12542
|
+
}
|
|
12543
|
+
|
|
12544
|
+
class ComponentActivityListComponent extends BaseActivityListComponent {
|
|
12545
|
+
constructor(sharedService) {
|
|
12546
|
+
super();
|
|
12547
|
+
this.sharedService = sharedService;
|
|
12548
|
+
this.tabs = PersonalActivityTabEnum;
|
|
12549
|
+
this.icons = Icon;
|
|
12550
|
+
this.activityClass = Activity;
|
|
12551
|
+
this.activitySortType = ActivitySortType;
|
|
12552
|
+
this.hideTitle = false;
|
|
12553
|
+
this.noFreeTasks = false;
|
|
12554
|
+
this.componentActivitiesMethod = OperationWithAlwaysSuccessCallback;
|
|
12555
|
+
this.setHasPausedNotificationsForWorkflowProcessOperation = OperationWithValidationCallback;
|
|
12556
|
+
this.openLinkClick = new EventEmitter();
|
|
12557
|
+
this.amountActivityChanged = new EventEmitter();
|
|
12558
|
+
this.linkClicked = new EventEmitter();
|
|
12559
|
+
this.formCreated = new EventEmitter();
|
|
12560
|
+
this.refreshRequested = new EventEmitter();
|
|
12561
|
+
this.showUsergroupActivitiesChanged = new EventEmitter();
|
|
12562
|
+
this.activeTab = PersonalActivityTabEnum.TODO;
|
|
12563
|
+
/*public activitySortList: boolean[] = [];*/
|
|
12564
|
+
this.activityList = [];
|
|
12565
|
+
this._subs = [];
|
|
12566
|
+
this._activitiesList = [];
|
|
12567
|
+
}
|
|
12568
|
+
showClass() {
|
|
12569
|
+
return true;
|
|
12570
|
+
}
|
|
12571
|
+
set table(value) {
|
|
12572
|
+
this._table = value;
|
|
12573
|
+
this.getTheActivities();
|
|
12574
|
+
}
|
|
12575
|
+
get table() {
|
|
12576
|
+
return this._table;
|
|
12577
|
+
}
|
|
12578
|
+
set key(value) {
|
|
12579
|
+
this._key = value;
|
|
12580
|
+
this.getTheActivities();
|
|
12581
|
+
}
|
|
12582
|
+
get key() {
|
|
12583
|
+
return this._key;
|
|
12584
|
+
}
|
|
12585
|
+
trackByFn(index, vm) {
|
|
12586
|
+
return vm.activity.id + '_' + vm.activity.workflow.combinedTriggerIds;
|
|
12587
|
+
}
|
|
12588
|
+
ngOnInit() {
|
|
12589
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12590
|
+
this.getTheActivities();
|
|
12591
|
+
/*this._subs.push(
|
|
12592
|
+
this._appEventService.taskCreated.subscribe(() => {
|
|
12593
|
+
this.getTheActivities();
|
|
12594
|
+
}),
|
|
12595
|
+
this._appEventService.taskModified.subscribe(() => {
|
|
12596
|
+
this.getTheActivities();
|
|
12597
|
+
})
|
|
12598
|
+
);*/
|
|
12599
|
+
});
|
|
12600
|
+
}
|
|
12601
|
+
ngOnDestroy() {
|
|
12602
|
+
//this._subs.forEach(s => s.unsubscribe());
|
|
12603
|
+
super.ngOnDestroy();
|
|
12604
|
+
}
|
|
12605
|
+
getActivities() {
|
|
12606
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12607
|
+
if (this.table && this.key) {
|
|
12608
|
+
const allActivities = yield this.sharedService.getComponentActivitiesWithoutRelationFiltering(this.table, this.key);
|
|
12609
|
+
if (allActivities) {
|
|
12610
|
+
this.activities = this.noFreeTasks ? allActivities.filter(aa => !aa.task && aa.activityType !== ActivityType.WorkflowTask) :
|
|
12611
|
+
allActivities.filter(aa => aa.activityType !== ActivityType.WorkflowTask);
|
|
12612
|
+
}
|
|
12613
|
+
else {
|
|
12614
|
+
this.activities = [];
|
|
12615
|
+
}
|
|
12616
|
+
this.amountActivityChanged.next(this.activities.length);
|
|
12617
|
+
}
|
|
12618
|
+
});
|
|
12619
|
+
}
|
|
12620
|
+
set activitiesList(allActivities) {
|
|
12621
|
+
this._activitiesList = allActivities;
|
|
12622
|
+
if (allActivities) {
|
|
12623
|
+
this.activities = this.noFreeTasks ? allActivities.filter(aa => !aa.task && aa.activityType !== ActivityType.WorkflowTask) :
|
|
12624
|
+
allActivities.filter(aa => aa.activityType !== ActivityType.WorkflowTask);
|
|
12625
|
+
}
|
|
12626
|
+
else {
|
|
12627
|
+
this.activities = [];
|
|
12628
|
+
}
|
|
12629
|
+
}
|
|
12630
|
+
get activitiesList() {
|
|
12631
|
+
return this._activitiesList;
|
|
12632
|
+
}
|
|
12633
|
+
getDelegatedActivities() {
|
|
12634
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12635
|
+
// const allActivities: Activity[] = await this._activityRepo.getComponentActivities(this.table, this.key);
|
|
12636
|
+
// this.delegatedActivities = allActivities ? allActivities.filter(aa => aa.activityType !== ActivityType.WorkflowTask) : [];
|
|
12637
|
+
});
|
|
12638
|
+
}
|
|
12639
|
+
/*//TODO there were already unused before the move. Can they go?
|
|
12640
|
+
public handleOpenLink(activity: Activity): void {
|
|
12641
|
+
this.openLinkClick.next(activity);
|
|
12642
|
+
}*/
|
|
12643
|
+
showUsergroupActivitiesChange() {
|
|
12644
|
+
this.showUsergroupActivitiesChanged.next();
|
|
12645
|
+
}
|
|
12646
|
+
handleTriggerFired(activity) {
|
|
12647
|
+
this.getTheActivities();
|
|
12648
|
+
this.refreshRequested.emit();
|
|
12649
|
+
}
|
|
12650
|
+
handleGenericTriggerFired(activity) {
|
|
12651
|
+
this.getTheActivities();
|
|
12652
|
+
this.refreshRequested.emit();
|
|
12653
|
+
}
|
|
12654
|
+
handleFormCreation() {
|
|
12655
|
+
this.formCreated.next();
|
|
12656
|
+
}
|
|
12657
|
+
handleChangedActivity(idx, activity) {
|
|
12658
|
+
if (this.activities) {
|
|
12659
|
+
this.activities[idx] = activity;
|
|
12660
|
+
}
|
|
12661
|
+
}
|
|
12662
|
+
deleteActivity(activity) {
|
|
12663
|
+
this.amountActivityChanged.next(this.activities.length - 1);
|
|
12664
|
+
}
|
|
12665
|
+
reset() {
|
|
12666
|
+
super.reset();
|
|
12667
|
+
this.activityList = [];
|
|
12668
|
+
}
|
|
12669
|
+
doFilterClicked(filter) {
|
|
12670
|
+
if (filter.from && filter.to) {
|
|
12671
|
+
this.filterFrom = new Date(filter.from);
|
|
12672
|
+
this.filterFrom.setHours(0);
|
|
12673
|
+
this.filterFrom.setMinutes(0);
|
|
12674
|
+
this.filterFrom.setSeconds(0);
|
|
12675
|
+
this.filterTo = new Date(filter.to);
|
|
12676
|
+
this.filterTo.setHours(0);
|
|
12677
|
+
this.filterTo.setMinutes(0);
|
|
12678
|
+
this.filterTo.setSeconds(0);
|
|
12679
|
+
}
|
|
12680
|
+
else {
|
|
12681
|
+
this.filterFrom = undefined;
|
|
12682
|
+
this.filterTo = undefined;
|
|
12683
|
+
}
|
|
12684
|
+
this.applyFilter();
|
|
12685
|
+
}
|
|
12686
|
+
openFirstTask() {
|
|
12687
|
+
if (!this.activities) {
|
|
12688
|
+
return;
|
|
12689
|
+
}
|
|
12690
|
+
const tasks = this.activities.filter((value => value.IsTask));
|
|
12691
|
+
if (tasks && tasks.length > 0) {
|
|
12692
|
+
const activityOverviews = this.activityOverviewList.toArray();
|
|
12693
|
+
if (activityOverviews && activityOverviews.length) {
|
|
12694
|
+
const len = activityOverviews.length;
|
|
12695
|
+
for (let i = 0; i < len; i++) {
|
|
12696
|
+
if (activityOverviews[i].activity.getId() === tasks[0].getId()) {
|
|
12697
|
+
activityOverviews[i].startModifyingTask();
|
|
12698
|
+
}
|
|
12699
|
+
}
|
|
12700
|
+
}
|
|
12701
|
+
}
|
|
12702
|
+
}
|
|
12703
|
+
}
|
|
12704
|
+
ComponentActivityListComponent.decorators = [
|
|
12705
|
+
{ type: Component, args: [{
|
|
12706
|
+
selector: "co-component-activity-list",
|
|
12707
|
+
template: `
|
|
12708
|
+
<co-activity-list-header
|
|
12709
|
+
[title]="'ACTIVITIES'"
|
|
12710
|
+
[table]="table"
|
|
12711
|
+
[key]="key"
|
|
12712
|
+
[(showUsergroupActivities)]="showUsergroupActivities"
|
|
12713
|
+
[(searchText)]="searchText"
|
|
12714
|
+
(periodFilterClicked)="doFilterClicked($event)"
|
|
12715
|
+
(searchTextChange)="applyFilter()"
|
|
12716
|
+
(showUsergroupActivitiesChange)="showUsergroupActivitiesChange()"
|
|
12717
|
+
[setHasPausedNotificationsForWorkflowProcessOperation]="setHasPausedNotificationsForWorkflowProcessOperation"
|
|
12718
|
+
></co-activity-list-header>
|
|
12719
|
+
<div class="activity-list-content">
|
|
12720
|
+
<div class="activity-wrapper" [@showHideTab]="activeTab">
|
|
12721
|
+
<div class="activity-tab-content mini-scrollbar">
|
|
12722
|
+
<ng-container *ngFor="let activityListViewModel of privateActivityListViewModels">
|
|
12723
|
+
<co-collapsible *ngIf="activityListViewModel.showing" #collapseable
|
|
12724
|
+
[headerTitle]="activityListViewModel.label + ' ' + activityListViewModel.amount"
|
|
12725
|
+
[(expanded)]="activityListViewModel.expanded">
|
|
12726
|
+
<ng-container *ngFor="let activityViewModel of activityListViewModel.activities; trackBy: trackByFn; let index = index">
|
|
12727
|
+
<co-component-activity-overview *ngIf="activityViewModel.showing"
|
|
12728
|
+
[viewModel]="activityViewModel"
|
|
12729
|
+
[userRelationId]="relationId"
|
|
12730
|
+
[userGroupId]="userGroupId"
|
|
12731
|
+
(activityChange)="handleChangedActivity(index, $event)"
|
|
12732
|
+
(activityDeleted)="deleteActivity($event)"
|
|
12733
|
+
(genericTriggerFired)="handleGenericTriggerFired($event)"
|
|
12734
|
+
(triggerFired)="handleTriggerFired($event)"
|
|
12735
|
+
(linkClicked)="linkClicked.emit($event)"
|
|
12736
|
+
(formCreated)="handleFormCreation()"></co-component-activity-overview>
|
|
12737
|
+
</ng-container>
|
|
12738
|
+
</co-collapsible>
|
|
12739
|
+
</ng-container>
|
|
12740
|
+
</div>
|
|
12741
|
+
<div class="activity-tab-content mini-scrollbar">
|
|
12742
|
+
<ng-container *ngFor="let activityListViewModel of privateDelegatedActivityListViewModels">
|
|
12743
|
+
<co-collapsible *ngIf="activityListViewModel.showing" #collapseable
|
|
12744
|
+
[headerTitle]="activityListViewModel.label + ' ' + activityListViewModel.amount"
|
|
12745
|
+
[(expanded)]="activityListViewModel.expanded">
|
|
12746
|
+
<ng-container *ngFor="let activityViewModel of activityListViewModel.activities; trackBy: trackByFn; let index = index">
|
|
12747
|
+
<co-component-activity-overview *ngIf="activityViewModel.showing"
|
|
12748
|
+
[viewModel]="activityViewModel"
|
|
12749
|
+
[userRelationId]="relationId"
|
|
12750
|
+
[userGroupId]="userGroupId"
|
|
12751
|
+
(activityChange)="handleChangedActivity(index, $event)"
|
|
12752
|
+
(activityDeleted)="deleteActivity($event)"
|
|
12753
|
+
(genericTriggerFired)="handleGenericTriggerFired($event)"
|
|
12754
|
+
(triggerFired)="handleTriggerFired($event)"
|
|
12755
|
+
(linkClicked)="linkClicked.emit($event)"
|
|
12756
|
+
(formCreated)="handleFormCreation()"></co-component-activity-overview>
|
|
12757
|
+
</ng-container>
|
|
12758
|
+
</co-collapsible>
|
|
12759
|
+
</ng-container>
|
|
12760
|
+
</div>
|
|
12761
|
+
</div>
|
|
12762
|
+
</div>
|
|
12763
|
+
`,
|
|
12764
|
+
animations: [
|
|
12765
|
+
trigger("showHideContent", [
|
|
12766
|
+
state("void", style({ transform: "scaleY(0)", opacity: 0 })),
|
|
12767
|
+
state("*", style({ transform: "scaleY(1)", opacity: 1 })),
|
|
12768
|
+
transition(`void <=> *`, animate("200ms ease-in-out"))
|
|
12769
|
+
]),
|
|
12770
|
+
trigger("showHideTab", [
|
|
12771
|
+
state("TODO", style({ transform: "translateX(0)" })),
|
|
12772
|
+
state("DELEGATED", style({ transform: "translateX(calc(-100% - 20px))" })),
|
|
12773
|
+
transition(`TODO <=> DELEGATED`, animate("200ms ease-in-out"))
|
|
12774
|
+
])
|
|
12775
|
+
]
|
|
12776
|
+
},] }
|
|
12777
|
+
];
|
|
12778
|
+
ComponentActivityListComponent.ctorParameters = () => [
|
|
12779
|
+
{ type: SharedService }
|
|
12780
|
+
];
|
|
12781
|
+
ComponentActivityListComponent.propDecorators = {
|
|
12782
|
+
activityOverviewList: [{ type: ViewChildren, args: [PersonalActivityOverviewComponent,] }],
|
|
12783
|
+
showClass: [{ type: HostBinding, args: ["class.co-component-activity-list",] }],
|
|
12784
|
+
table: [{ type: Input }],
|
|
12785
|
+
key: [{ type: Input }],
|
|
12786
|
+
hideTitle: [{ type: Input }],
|
|
12787
|
+
noFreeTasks: [{ type: Input }],
|
|
12788
|
+
customTitle: [{ type: Input }],
|
|
12789
|
+
userGroupId: [{ type: Input }],
|
|
12790
|
+
relationId: [{ type: Input }],
|
|
12791
|
+
componentActivitiesMethod: [{ type: Input }],
|
|
12792
|
+
setHasPausedNotificationsForWorkflowProcessOperation: [{ type: Input }],
|
|
12793
|
+
openLinkClick: [{ type: Output }],
|
|
12794
|
+
amountActivityChanged: [{ type: Output }],
|
|
12795
|
+
linkClicked: [{ type: Output }],
|
|
12796
|
+
formCreated: [{ type: Output }],
|
|
12797
|
+
refreshRequested: [{ type: Output }],
|
|
12798
|
+
showUsergroupActivitiesChanged: [{ type: Output }],
|
|
12799
|
+
activitiesList: [{ type: Input }]
|
|
12800
|
+
};
|
|
12801
|
+
__decorate([
|
|
12802
|
+
InputBoolean()
|
|
12803
|
+
], ComponentActivityListComponent.prototype, "hideTitle", void 0);
|
|
12804
|
+
__decorate([
|
|
12805
|
+
InputBoolean()
|
|
12806
|
+
], ComponentActivityListComponent.prototype, "noFreeTasks", void 0);
|
|
12807
|
+
|
|
12808
|
+
class PersonalActivityOverviewModule {
|
|
12809
|
+
}
|
|
12810
|
+
PersonalActivityOverviewModule.decorators = [
|
|
12811
|
+
{ type: NgModule, args: [{
|
|
12812
|
+
imports: [
|
|
12813
|
+
CommonModule
|
|
12814
|
+
],
|
|
12815
|
+
declarations: [
|
|
12816
|
+
PersonalActivityOverviewComponent
|
|
12817
|
+
],
|
|
12818
|
+
exports: [
|
|
12819
|
+
PersonalActivityOverviewComponent
|
|
12820
|
+
]
|
|
12821
|
+
},] }
|
|
12822
|
+
];
|
|
12823
|
+
|
|
12824
|
+
class ComponentActivityOverviewComponent extends BaseActivityOverviewComponent {
|
|
12825
|
+
constructor(iconCacheService, dialogService, dictionaryService, sharedService
|
|
12826
|
+
/*public router: Router*/ ) {
|
|
12827
|
+
super(dialogService, dictionaryService, sharedService /*router*/);
|
|
12828
|
+
this.iconCacheService = iconCacheService;
|
|
12829
|
+
this.dialogService = dialogService;
|
|
12830
|
+
this.dictionaryService = dictionaryService;
|
|
12831
|
+
this.sharedService = sharedService;
|
|
12832
|
+
this.Icon = Icon;
|
|
12833
|
+
}
|
|
12834
|
+
showClass() {
|
|
12835
|
+
return true;
|
|
12836
|
+
}
|
|
12837
|
+
}
|
|
12838
|
+
ComponentActivityOverviewComponent.decorators = [
|
|
12839
|
+
{ type: Component, args: [{
|
|
12840
|
+
selector: "co-component-activity-overview",
|
|
12841
|
+
template: `
|
|
12842
|
+
<div class="overview-wrapper">
|
|
12843
|
+
<div class="overview-wrapper-icons">
|
|
12844
|
+
<co-icon *ngIf="userIsSupervisor && (!isTask || firstTriggerToCloseWF === undefined)" icon="supervisor"
|
|
12845
|
+
class="supervisor-icon big dark"
|
|
12846
|
+
[title]="'MY_TASKS_SUPERVISOR' | localize"></co-icon>
|
|
12847
|
+
</div>
|
|
12848
|
+
<div class="overview-wrapper-labels">
|
|
12849
|
+
<div class="activity-title" [textContent]="activityTitle"></div>
|
|
12850
|
+
<div class="activity-context-title" [textContent]="activityContextTitle"></div>
|
|
12851
|
+
</div>
|
|
12852
|
+
<div class="overview-wrapper-date">
|
|
12853
|
+
<div class="date-wrapper" [class.overdue]="overDue">
|
|
12854
|
+
<ng-container *ngIf="!sameDates">
|
|
12855
|
+
<div class="date" [textContent]="targetDate | date:'dd-MM-YYYY'"></div>
|
|
12856
|
+
<div class="date-divider" [textContent]="'-'"></div>
|
|
12857
|
+
</ng-container>
|
|
12858
|
+
<div class="date" [textContent]="deadlineDate | date:'dd-MM-YYYY'"></div>
|
|
12859
|
+
</div>
|
|
12860
|
+
</div>
|
|
12861
|
+
</div>
|
|
12862
|
+
<div class="overview-main">
|
|
12863
|
+
<ng-container *ngIf="isTask && firstTriggerToCloseWF !== undefined">
|
|
12864
|
+
<co-button class="trans-green custom-text button-trigger no-margin" [label]="firstTriggerToCloseWF.description"
|
|
12865
|
+
(click)="handleButtonEndClick()"></co-button>
|
|
12866
|
+
</ng-container>
|
|
12867
|
+
<ng-container *ngIf="openButtonLabel">
|
|
12868
|
+
<co-button class="trans-green default-bg custom-text button-trigger-icon action-hover no-margin"
|
|
12869
|
+
iconClass="custom small" [iconData]="iconCacheService.getIcon(icon.DetailView)" [label]="openButtonLabel | localize"
|
|
12870
|
+
(click)="handleOpenLink($event)"></co-button>
|
|
12871
|
+
</ng-container>
|
|
12872
|
+
<!--TODO reinstate this when we figure out how to trigger a screen change. -->
|
|
12873
|
+
<!--<ng-container *ngIf="urls && urls.length > 0">
|
|
12874
|
+
<button-colijn *ngFor="let url of urls"
|
|
12875
|
+
class="trans-green custom-text button-trigger-icon action-hover no-margin"
|
|
12876
|
+
[icon]="icon.DetailView"
|
|
12877
|
+
[label]="'OPEN_LINK' | localize"
|
|
12878
|
+
iconClass="custom small"
|
|
12879
|
+
(click)="handleOpenLink($event, url)"></button-colijn>
|
|
12880
|
+
</ng-container>-->
|
|
12881
|
+
<ng-container *ngIf="!isTask && hasTriggers">
|
|
12882
|
+
<co-button class="trans-green custom-text action-hover button-trigger no-margin" *ngFor="let trigger of workFlow.manualGenericTriggers"
|
|
12883
|
+
[class.button-trigger-icon]="trigger.isTaskTrigger"
|
|
12884
|
+
[label]="trigger.triggerButtonName"
|
|
12885
|
+
[iconData]="trigger.isTaskTrigger ? iconCacheService.getIcon(icon.Account): null"
|
|
12886
|
+
iconClass="custom small"
|
|
12887
|
+
(click)="handleGenericTriggerClick(trigger)"
|
|
12888
|
+
></co-button>
|
|
12889
|
+
<co-button class="trans-green custom-text action-hover button-trigger no-margin" *ngFor="let trigger of workFlow.manualTriggers"
|
|
12890
|
+
[class.high-prio]="trigger.overDue"
|
|
12891
|
+
[class.button-trigger-icon]="trigger.isTaskTrigger"
|
|
12892
|
+
[label]="trigger.triggerButtonName"
|
|
12893
|
+
[iconData]="trigger.isTaskTrigger ? iconCacheService.getIcon(icon.DetailView): null"
|
|
12894
|
+
iconClass="custom small"
|
|
12895
|
+
(click)="handleTriggerClick(trigger)"
|
|
12896
|
+
></co-button >
|
|
12897
|
+
</ng-container>
|
|
12898
|
+
</div>
|
|
12899
|
+
<!--TODO reinstate this when we figure out how to trigger a screen change. -->
|
|
12900
|
+
<!-- <formbuilder-user-form *ngIf="showCreateForm"
|
|
12901
|
+
[showPopup]="showCreateForm"
|
|
12902
|
+
[table]="table"
|
|
12903
|
+
[key]="key"
|
|
12904
|
+
[form]="form"
|
|
12905
|
+
(cancelForm)="doCancelForm()"
|
|
12906
|
+
(saveForm)="doSaveForm($event)"
|
|
12907
|
+
></formbuilder-user-form>-->
|
|
12908
|
+
<co-task-modifier
|
|
12909
|
+
[userGroupId]="userGroupId"
|
|
12910
|
+
[relationId]="userRelationId"
|
|
12911
|
+
(editingComplete)="onSaveActivity($event)"
|
|
12912
|
+
(activityDeleted)="onDeleteActivity($event)"
|
|
12913
|
+
(showWorkLog)="showTaskFormAndWorkLog()"
|
|
12914
|
+
></co-task-modifier>
|
|
12915
|
+
|
|
12916
|
+
`,
|
|
12917
|
+
/* providers: [
|
|
12918
|
+
{provide: BaseModuleScreenConfigService, useExisting: ScreenConfigurationMockService}
|
|
12919
|
+
],*/
|
|
12920
|
+
animations: [
|
|
12921
|
+
trigger("fadeInOut", [
|
|
12922
|
+
state("void", style({ opacity: 0 })),
|
|
12923
|
+
state("*", style({ opacity: 1 })),
|
|
12924
|
+
transition(":enter, :leave", animate("200ms ease-in-out")),
|
|
12925
|
+
]),
|
|
12926
|
+
trigger("showHideExtended", [
|
|
12927
|
+
state("void", style({ "transform-origin": "top center", transform: "scaleY(0)" })),
|
|
12928
|
+
state("*", style({ "transform-origin": "top center", transform: "scaleY(1)" })),
|
|
12929
|
+
transition(":enter, :leave", [
|
|
12930
|
+
animate("200ms ease-in-out")
|
|
12931
|
+
])
|
|
12932
|
+
])
|
|
12933
|
+
]
|
|
12934
|
+
},] }
|
|
12935
|
+
];
|
|
12936
|
+
ComponentActivityOverviewComponent.ctorParameters = () => [
|
|
12937
|
+
{ type: IconCacheService },
|
|
12938
|
+
{ type: CoreDialogService },
|
|
12939
|
+
{ type: DictionaryService },
|
|
12940
|
+
{ type: SharedService }
|
|
12941
|
+
];
|
|
12942
|
+
ComponentActivityOverviewComponent.propDecorators = {
|
|
12943
|
+
showClass: [{ type: HostBinding, args: ["class.co-component-activity-overview",] }]
|
|
12944
|
+
};
|
|
12945
|
+
|
|
12946
|
+
class BaseActivitySummaryComponent {
|
|
12947
|
+
constructor(dictionaryService, dialogService, _sharedService) {
|
|
12948
|
+
this.dictionaryService = dictionaryService;
|
|
12949
|
+
this.dialogService = dialogService;
|
|
12950
|
+
this._sharedService = _sharedService;
|
|
12951
|
+
this.expanded = false;
|
|
12952
|
+
this.noBorder = false;
|
|
12953
|
+
this.readonly = false;
|
|
12954
|
+
this.prepareWorkflowOperation = OperationWithAlwaysSuccessCallback;
|
|
12955
|
+
this.loadTaskOperation = OperationWithAlwaysSuccessCallback;
|
|
12956
|
+
this.activityChange = new EventEmitter();
|
|
12957
|
+
this.showWorkLog = new EventEmitter();
|
|
12958
|
+
this.triggerFired = new EventEmitter();
|
|
12959
|
+
}
|
|
12960
|
+
set activity(value) {
|
|
12961
|
+
this.editActivity = value;
|
|
12962
|
+
}
|
|
12963
|
+
get activity() {
|
|
12964
|
+
return this.editActivity;
|
|
12965
|
+
}
|
|
12966
|
+
set workFlow(value) {
|
|
12967
|
+
this._workFlow = value;
|
|
12968
|
+
}
|
|
12969
|
+
get workFlow() {
|
|
12970
|
+
return this._workFlow;
|
|
12971
|
+
}
|
|
12972
|
+
set task(value) {
|
|
12973
|
+
this._task = value;
|
|
12974
|
+
}
|
|
12975
|
+
get task() {
|
|
12976
|
+
return this._task;
|
|
12977
|
+
}
|
|
12978
|
+
set triggerToFireOnSave(value) {
|
|
12979
|
+
this._triggerToFireOnSave = value;
|
|
12980
|
+
}
|
|
12981
|
+
get triggerToFireOnSave() {
|
|
12982
|
+
return this._triggerToFireOnSave;
|
|
12983
|
+
}
|
|
12984
|
+
handleSave(event) {
|
|
12985
|
+
this._saveClone();
|
|
12986
|
+
}
|
|
12987
|
+
handleCancel(event) {
|
|
12988
|
+
this.expanded = false;
|
|
12989
|
+
}
|
|
12990
|
+
handleTriggerClick(trigger) {
|
|
12991
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12992
|
+
if (this.readonly) {
|
|
12993
|
+
return;
|
|
12994
|
+
}
|
|
12995
|
+
if (trigger.toClosedState) {
|
|
12996
|
+
const canFire = this._sharedService.canFireTrigger(this.editActivity, this.editActivity.task);
|
|
12997
|
+
if (!canFire) {
|
|
12998
|
+
this.triggerToFireOnSave = trigger;
|
|
12999
|
+
this.showWorkLog.next();
|
|
13000
|
+
return;
|
|
13001
|
+
}
|
|
13002
|
+
}
|
|
13003
|
+
const result = yield this._sharedService.fireTrigger(this.workFlow.workflowId, this.workFlow.sequence, trigger.triggerId);
|
|
13004
|
+
if (result.success) {
|
|
13005
|
+
yield this.updateActivityTask(this.editActivity.task);
|
|
13006
|
+
yield this.prepareWorkflow();
|
|
13007
|
+
this.triggerFired.emit(this.workFlow);
|
|
13008
|
+
}
|
|
13009
|
+
else {
|
|
13010
|
+
const messages = [];
|
|
13011
|
+
const len = result.messages.length;
|
|
13012
|
+
for (let i = 0; i < len; i++) {
|
|
13013
|
+
messages.push(this.dictionaryService.get(result.messages[i].message.toUpperCase()));
|
|
13014
|
+
}
|
|
13015
|
+
this.dialogService.showError(messages.toString());
|
|
13016
|
+
}
|
|
13017
|
+
});
|
|
13018
|
+
}
|
|
13019
|
+
handleExpandClick(value) {
|
|
13020
|
+
this.expanded = value;
|
|
13021
|
+
}
|
|
13022
|
+
prepareWorkflow() {
|
|
13023
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13024
|
+
if (this.table && this.key) {
|
|
13025
|
+
yield this.prepareWorkflowOperation({ table: this.table, key: this.key });
|
|
13026
|
+
}
|
|
13027
|
+
});
|
|
13028
|
+
}
|
|
13029
|
+
_saveClone() {
|
|
13030
|
+
this.activityChange.next(this.editActivity);
|
|
13031
|
+
}
|
|
13032
|
+
updateActivityTask(task) {
|
|
13033
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13034
|
+
if (task) {
|
|
13035
|
+
yield this.loadTaskOperation(task.taskId);
|
|
13036
|
+
this.editActivity.task = this.task;
|
|
13037
|
+
this.activityChange.emit(this.editActivity);
|
|
13038
|
+
}
|
|
13039
|
+
});
|
|
13040
|
+
}
|
|
13041
|
+
}
|
|
13042
|
+
BaseActivitySummaryComponent.decorators = [
|
|
13043
|
+
{ type: Directive }
|
|
13044
|
+
];
|
|
13045
|
+
BaseActivitySummaryComponent.ctorParameters = () => [
|
|
13046
|
+
{ type: DictionaryService },
|
|
13047
|
+
{ type: CoreDialogService },
|
|
13048
|
+
{ type: SharedService }
|
|
13049
|
+
];
|
|
13050
|
+
BaseActivitySummaryComponent.propDecorators = {
|
|
13051
|
+
activity: [{ type: Input }],
|
|
13052
|
+
workFlow: [{ type: Input }],
|
|
13053
|
+
task: [{ type: Input }],
|
|
13054
|
+
table: [{ type: Input }],
|
|
13055
|
+
key: [{ type: Input }],
|
|
13056
|
+
expanded: [{ type: Input }],
|
|
13057
|
+
noBorder: [{ type: HostBinding, args: ["class.no-border",] }, { type: Input }],
|
|
13058
|
+
readonly: [{ type: Input }],
|
|
13059
|
+
prepareWorkflowOperation: [{ type: Input }],
|
|
13060
|
+
loadTaskOperation: [{ type: Input }],
|
|
13061
|
+
triggerToFireOnSave: [{ type: Input }],
|
|
13062
|
+
activityChange: [{ type: Output }],
|
|
13063
|
+
showWorkLog: [{ type: Output }],
|
|
13064
|
+
triggerFired: [{ type: Output }],
|
|
13065
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }]
|
|
13066
|
+
};
|
|
13067
|
+
__decorate([
|
|
13068
|
+
InputBoolean()
|
|
13069
|
+
], BaseActivitySummaryComponent.prototype, "noBorder", void 0);
|
|
13070
|
+
|
|
13071
|
+
class TaskDetailsComponent extends BaseActivitySummaryComponent {
|
|
13072
|
+
constructor(dictionaryService, dialogService, iconCacheService, sharedService) {
|
|
13073
|
+
super(dictionaryService, dialogService, sharedService);
|
|
13074
|
+
this.dictionaryService = dictionaryService;
|
|
13075
|
+
this.dialogService = dialogService;
|
|
13076
|
+
this.iconCacheService = iconCacheService;
|
|
13077
|
+
this.sharedService = sharedService;
|
|
13078
|
+
this.Icon = Icon;
|
|
13079
|
+
this.showStatusDropdown = false;
|
|
13080
|
+
}
|
|
13081
|
+
set activity(value) {
|
|
13082
|
+
this.editActivity = value;
|
|
13083
|
+
this.prepareWorkflow();
|
|
13084
|
+
}
|
|
13085
|
+
showClass() {
|
|
13086
|
+
return true;
|
|
13087
|
+
}
|
|
13088
|
+
get activity() {
|
|
13089
|
+
return this.editActivity;
|
|
13090
|
+
}
|
|
13091
|
+
toggleStatusDropdown() {
|
|
13092
|
+
this.showStatusDropdown = !this.showStatusDropdown;
|
|
13093
|
+
}
|
|
13094
|
+
handleTriggerClickAndClose(trigger) {
|
|
13095
|
+
this.handleTriggerClick(trigger);
|
|
13096
|
+
this.showStatusDropdown = false;
|
|
13097
|
+
}
|
|
13098
|
+
}
|
|
13099
|
+
TaskDetailsComponent.decorators = [
|
|
13100
|
+
{ type: Component, args: [{
|
|
13101
|
+
selector: "co-task-details",
|
|
13102
|
+
template: `
|
|
13103
|
+
<div class="header-wrapper">
|
|
13104
|
+
<div class="workflow-dropdown-wrapper">
|
|
13105
|
+
<div *ngIf="!workFlow" class="workflow-dropdown">
|
|
13106
|
+
<div class="workflow-drop error-color" [class.active]="!workFlow">
|
|
13107
|
+
<label [textContent]="'NO_ACTIVE_WORKFLOW_FOR_TASK' | localize"></label>
|
|
13108
|
+
</div>
|
|
13109
|
+
</div>
|
|
13110
|
+
<div *ngIf="workFlow && !workFlow.ended" class="workflow-dropdown">
|
|
13111
|
+
<div class="workflow-drop"
|
|
13112
|
+
[class.towait]="workFlow?.stateName?.includes('wacht') || workFlow?.stateName?.includes('hold')"
|
|
13113
|
+
[class.toclose]="workFlow.closed"
|
|
13114
|
+
(click)="toggleStatusDropdown()">
|
|
13115
|
+
<label [textContent]="workFlow?.stateName"></label>
|
|
13116
|
+
<co-icon *ngIf="!workFlow.closed" [iconData]="iconCacheService.getIcon(Icon.ChevronRightRegular)"></co-icon>
|
|
13117
|
+
<co-icon *ngIf="workFlow.closed" [iconData]="iconCacheService.getIcon(Icon.CheckSolid)"></co-icon>
|
|
13118
|
+
</div>
|
|
13119
|
+
<div class="workflow-dropdown-list" *ngIf="showStatusDropdown">
|
|
13120
|
+
<div class="workflow-drop"
|
|
13121
|
+
*ngFor="let trigger of workFlow?.manualTriggers"
|
|
13122
|
+
(click)="handleTriggerClickAndClose(trigger)">
|
|
13123
|
+
<label [textContent]="trigger.manualButtonText"></label>
|
|
13124
|
+
<div class="drop-point"
|
|
13125
|
+
[class.toclose]="trigger.toClosedState"
|
|
13126
|
+
[class.toend]="trigger.toEndOfWorkflow"
|
|
13127
|
+
[class.towait]="trigger.manualButtonText.includes('wacht') || trigger.manualButtonText.includes('hold')">
|
|
13128
|
+
<span class="dot" ></span>
|
|
13129
|
+
</div>
|
|
13130
|
+
</div>
|
|
13131
|
+
</div>
|
|
13132
|
+
</div>
|
|
13133
|
+
<div *ngIf="workFlow && workFlow?.ended" class="workflow-dropdown">
|
|
13134
|
+
<div class="workflow-drop toend" *ngIf="workFlow.ended">
|
|
13135
|
+
<label [textContent]="'CLOSED' | localize"></label>
|
|
13136
|
+
<co-icon [iconData]="iconCacheService.getIcon(Icon.CheckSolid)"></co-icon>
|
|
13137
|
+
</div>
|
|
13138
|
+
</div>
|
|
13139
|
+
</div>
|
|
13140
|
+
</div>
|
|
13141
|
+
<div class="details-wrapper" fxLayout="column" fxLayoutGap="5px">
|
|
13142
|
+
<co-input-text
|
|
13143
|
+
[placeholder]="'TITLE2' | localize"
|
|
13144
|
+
[readonly]="readonly"
|
|
13145
|
+
[(model)]="editActivity.task.name"
|
|
13146
|
+
[asyncValidators]="blackListValidatorsArray"
|
|
13147
|
+
></co-input-text>
|
|
13148
|
+
<co-input-textarea
|
|
13149
|
+
[placeholder]="'DESCRIPTION' | localize"
|
|
13150
|
+
[readonly]="readonly"
|
|
13151
|
+
[(model)]="editActivity.task.description"
|
|
13152
|
+
[asyncValidators]="blackListValidatorsArray"
|
|
13153
|
+
></co-input-textarea>
|
|
13154
|
+
</div>
|
|
13155
|
+
`
|
|
13156
|
+
},] }
|
|
13157
|
+
];
|
|
13158
|
+
TaskDetailsComponent.ctorParameters = () => [
|
|
13159
|
+
{ type: DictionaryService },
|
|
13160
|
+
{ type: CoreDialogService },
|
|
13161
|
+
{ type: IconCacheService },
|
|
13162
|
+
{ type: SharedService }
|
|
13163
|
+
];
|
|
13164
|
+
TaskDetailsComponent.propDecorators = {
|
|
13165
|
+
activity: [{ type: Input }],
|
|
13166
|
+
showClass: [{ type: HostBinding, args: ["class.co-task-details",] }]
|
|
13167
|
+
};
|
|
13168
|
+
|
|
13169
|
+
class TaskDetailsModule {
|
|
13170
|
+
}
|
|
13171
|
+
TaskDetailsModule.decorators = [
|
|
13172
|
+
{ type: NgModule, args: [{
|
|
13173
|
+
imports: [
|
|
13174
|
+
LocalizationModule,
|
|
13175
|
+
InputTextModule,
|
|
13176
|
+
InputTextareaModule,
|
|
13177
|
+
IconModule,
|
|
13178
|
+
CommonModule,
|
|
13179
|
+
],
|
|
13180
|
+
declarations: [
|
|
13181
|
+
TaskDetailsComponent
|
|
13182
|
+
],
|
|
13183
|
+
exports: [
|
|
13184
|
+
TaskDetailsComponent
|
|
13185
|
+
]
|
|
13186
|
+
},] }
|
|
13187
|
+
];
|
|
13188
|
+
|
|
13189
|
+
class ActivitySummaryBlockComponent {
|
|
13190
|
+
constructor(_formMaster, elementRef) {
|
|
13191
|
+
this._formMaster = _formMaster;
|
|
13192
|
+
this.elementRef = elementRef;
|
|
13193
|
+
this.Icon = Icon;
|
|
13194
|
+
this.noBorder = false;
|
|
13195
|
+
this.readonly = false;
|
|
13196
|
+
this.showButtons = false;
|
|
13197
|
+
this.hideCancel = false;
|
|
13198
|
+
this.actionIcon = false;
|
|
13199
|
+
this.expandable = false;
|
|
13200
|
+
this.saveClick = new EventEmitter();
|
|
13201
|
+
this.cancelClick = new EventEmitter();
|
|
13202
|
+
}
|
|
13203
|
+
showClass() {
|
|
13204
|
+
return true;
|
|
13205
|
+
}
|
|
13206
|
+
get summaryElement() {
|
|
13207
|
+
return this.elementRef;
|
|
13208
|
+
}
|
|
13209
|
+
ngOnDestroy() {
|
|
13210
|
+
this.elementRef = undefined;
|
|
13211
|
+
}
|
|
13212
|
+
handleOkClick(event) {
|
|
13213
|
+
if (this.mainForm) {
|
|
13214
|
+
this.mainForm.submit();
|
|
13215
|
+
}
|
|
13216
|
+
}
|
|
13217
|
+
handleCancelClick(event) {
|
|
13218
|
+
this.cancelClick.next(event);
|
|
13219
|
+
}
|
|
13220
|
+
onValid() {
|
|
13221
|
+
this.saveClick.next(null);
|
|
13222
|
+
}
|
|
13223
|
+
}
|
|
13224
|
+
ActivitySummaryBlockComponent.decorators = [
|
|
13225
|
+
{ type: Component, args: [{
|
|
13226
|
+
selector: "co-activity-summary-block",
|
|
13227
|
+
template: `
|
|
13228
|
+
<div class="block-wrapper border">
|
|
13229
|
+
<div class="activity-summary-block-edit-template" [id]="cssId">
|
|
13230
|
+
<co-form (validSubmit)="onValid()">
|
|
13231
|
+
<div class="template-wrapper">
|
|
13232
|
+
<ng-template [templateWrapper]="editTemplate" *ngIf="editTemplate"></ng-template>
|
|
13233
|
+
</div>
|
|
13234
|
+
</co-form>
|
|
13235
|
+
<div class="ok-cancel-buttons" *ngIf="showButtons">
|
|
13236
|
+
<co-button [disabled]="readonly" [textContent]="'OK' | localize" (click)="handleOkClick($event)"></co-button>
|
|
13237
|
+
<co-button *ngIf="hideCancel" [textContent]="'STICKER' | localize" (click)="handleCancelClick($event)"></co-button>
|
|
13238
|
+
<ng-template [templateWrapper]="extraButtonsTemplate" *ngIf="extraButtonsTemplate"></ng-template>
|
|
13239
|
+
</div>
|
|
13240
|
+
</div>
|
|
13241
|
+
</div>
|
|
13242
|
+
`,
|
|
13243
|
+
providers: [
|
|
13244
|
+
FormMasterService
|
|
13245
|
+
]
|
|
13246
|
+
},] }
|
|
13247
|
+
];
|
|
13248
|
+
ActivitySummaryBlockComponent.ctorParameters = () => [
|
|
13249
|
+
{ type: FormMasterService },
|
|
13250
|
+
{ type: ElementRef }
|
|
13251
|
+
];
|
|
13252
|
+
ActivitySummaryBlockComponent.propDecorators = {
|
|
13253
|
+
mainForm: [{ type: ViewChild, args: [FormComponent,] }],
|
|
13254
|
+
cssId: [{ type: Input }],
|
|
13255
|
+
noBorder: [{ type: HostBinding, args: ["class.no-border",] }, { type: Input }],
|
|
13256
|
+
icon: [{ type: Input }],
|
|
13257
|
+
editIcon: [{ type: Input }],
|
|
13258
|
+
image: [{ type: Input }],
|
|
13259
|
+
editTitle: [{ type: Input }],
|
|
13260
|
+
editTemplate: [{ type: Input }],
|
|
13261
|
+
extraButtonsTemplate: [{ type: Input }],
|
|
13262
|
+
readonly: [{ type: Input }],
|
|
13263
|
+
showButtons: [{ type: Input }],
|
|
13264
|
+
hideCancel: [{ type: Input }],
|
|
13265
|
+
actionIcon: [{ type: HostBinding, args: ["class.icon-action",] }, { type: Input }],
|
|
13266
|
+
expandable: [{ type: Input }],
|
|
13267
|
+
saveClick: [{ type: Output }],
|
|
13268
|
+
cancelClick: [{ type: Output }],
|
|
13269
|
+
showClass: [{ type: HostBinding, args: ["class.co-activity-summary-block",] }]
|
|
13270
|
+
};
|
|
13271
|
+
__decorate([
|
|
13272
|
+
InputBoolean()
|
|
13273
|
+
], ActivitySummaryBlockComponent.prototype, "noBorder", void 0);
|
|
13274
|
+
__decorate([
|
|
13275
|
+
InputBoolean()
|
|
13276
|
+
], ActivitySummaryBlockComponent.prototype, "hideCancel", void 0);
|
|
13277
|
+
__decorate([
|
|
13278
|
+
InputBoolean()
|
|
13279
|
+
], ActivitySummaryBlockComponent.prototype, "actionIcon", void 0);
|
|
13280
|
+
__decorate([
|
|
13281
|
+
InputBoolean()
|
|
13282
|
+
], ActivitySummaryBlockComponent.prototype, "expandable", void 0);
|
|
13283
|
+
|
|
13284
|
+
class ActivitySummaryBlockModule {
|
|
13285
|
+
}
|
|
13286
|
+
ActivitySummaryBlockModule.decorators = [
|
|
13287
|
+
{ type: NgModule, args: [{
|
|
13288
|
+
imports: [
|
|
13289
|
+
FormModule,
|
|
13290
|
+
ButtonModule,
|
|
13291
|
+
CommonModule,
|
|
13292
|
+
LocalizationModule,
|
|
13293
|
+
TemplateWrapperModule
|
|
13294
|
+
],
|
|
13295
|
+
declarations: [
|
|
13296
|
+
ActivitySummaryBlockComponent
|
|
13297
|
+
],
|
|
13298
|
+
exports: [
|
|
13299
|
+
ActivitySummaryBlockComponent
|
|
13300
|
+
]
|
|
13301
|
+
},] }
|
|
13302
|
+
];
|
|
13303
|
+
|
|
13304
|
+
class StatusSummaryBlockComponent extends BaseActivitySummaryComponent {
|
|
13305
|
+
constructor(dictionaryService, dialogService, iconService, sharedService) {
|
|
13306
|
+
super(dictionaryService, dialogService, sharedService);
|
|
13307
|
+
this.dictionaryService = dictionaryService;
|
|
13308
|
+
this.dialogService = dialogService;
|
|
13309
|
+
this.iconService = iconService;
|
|
13310
|
+
this.sharedService = sharedService;
|
|
13311
|
+
this.Icon = Icon;
|
|
13312
|
+
}
|
|
13313
|
+
showClass() {
|
|
13314
|
+
return true;
|
|
13315
|
+
}
|
|
13316
|
+
ngOnInit() {
|
|
13317
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13318
|
+
yield this.prepareWorkflow();
|
|
13319
|
+
});
|
|
13320
|
+
}
|
|
13321
|
+
}
|
|
13322
|
+
StatusSummaryBlockComponent.decorators = [
|
|
13323
|
+
{ type: Component, args: [{
|
|
13324
|
+
selector: "co-status-summary-block",
|
|
13325
|
+
template: `
|
|
13326
|
+
<co-activity-summary-block
|
|
13327
|
+
[cssId]="'status_summary_block_edit_template'"
|
|
13328
|
+
[readonly]="readonly"
|
|
13329
|
+
[icon]="Icon.IoneWorkflow"
|
|
13330
|
+
[editIcon]="Icon.IoneWorkflow"
|
|
13331
|
+
editTitle="STATUS_AND_WORKFLOW"
|
|
13332
|
+
[editTemplate]="editTemplate" actionIcon expandable noBorder
|
|
13333
|
+
(saveClick)="handleSave($event)" (cancelClick)="handleCancel($event)">
|
|
13334
|
+
</co-activity-summary-block>
|
|
13335
|
+
<ng-template #editTemplate>
|
|
13336
|
+
<div fxLayout="column">
|
|
13337
|
+
<div class="status-summary-date-wrapper">
|
|
13338
|
+
<co-input-date [model]="editActivity.task.startDateTime"
|
|
13339
|
+
[placeholder]="'FIRST_ACTION_DATE' | localize"
|
|
13340
|
+
[readonly]="true" ></co-input-date>
|
|
13341
|
+
<co-input-date [(model)]="editActivity.task.executedOnDateTime"
|
|
13342
|
+
[placeholder]="'ACTUAL_EXECUTION_DATE' | localize"
|
|
13343
|
+
></co-input-date>
|
|
13344
|
+
</div>
|
|
13345
|
+
</div>
|
|
13346
|
+
<co-input-text class="single-field"
|
|
13347
|
+
[placeholder]="'ACTIVITY_STATUS' | localize"
|
|
13348
|
+
[model]="workFlow?.state"
|
|
13349
|
+
[leftIconData]="iconService.getIcon(Icon.PinRoundOpen)"
|
|
13350
|
+
[readonly]="true"
|
|
13351
|
+
></co-input-text>
|
|
13352
|
+
</ng-template>
|
|
13353
|
+
`,
|
|
13354
|
+
providers: [{
|
|
13355
|
+
provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
|
|
13356
|
+
useExisting: forwardRef(() => StatusSummaryBlockComponent)
|
|
13357
|
+
}]
|
|
13358
|
+
},] }
|
|
13359
|
+
];
|
|
13360
|
+
StatusSummaryBlockComponent.ctorParameters = () => [
|
|
13361
|
+
{ type: DictionaryService },
|
|
13362
|
+
{ type: CoreDialogService },
|
|
13363
|
+
{ type: IconCacheService },
|
|
13364
|
+
{ type: SharedService }
|
|
13365
|
+
];
|
|
13366
|
+
StatusSummaryBlockComponent.propDecorators = {
|
|
13367
|
+
showClass: [{ type: HostBinding, args: ["class.co-status-summary-block",] }]
|
|
13368
|
+
};
|
|
13369
|
+
|
|
13370
|
+
class StatusSummaryBlockModule {
|
|
13371
|
+
}
|
|
13372
|
+
StatusSummaryBlockModule.decorators = [
|
|
13373
|
+
{ type: NgModule, args: [{
|
|
13374
|
+
imports: [
|
|
13375
|
+
ActivitySummaryBlockModule,
|
|
13376
|
+
InputDateRangePickerModule,
|
|
13377
|
+
InputDatePickerModule,
|
|
13378
|
+
LocalizationModule,
|
|
13379
|
+
InputTextModule
|
|
13380
|
+
],
|
|
13381
|
+
declarations: [
|
|
13382
|
+
StatusSummaryBlockComponent
|
|
13383
|
+
],
|
|
13384
|
+
exports: [
|
|
13385
|
+
StatusSummaryBlockComponent
|
|
13386
|
+
]
|
|
13387
|
+
},] }
|
|
13388
|
+
];
|
|
13389
|
+
|
|
13390
|
+
class CreationSummaryBlockComponent extends BaseActivitySummaryComponent {
|
|
13391
|
+
constructor(dictionaryService, dialogService, sharedService, locale) {
|
|
13392
|
+
super(dictionaryService, dialogService, sharedService);
|
|
13393
|
+
this.dictionaryService = dictionaryService;
|
|
13394
|
+
this.dialogService = dialogService;
|
|
13395
|
+
this.sharedService = sharedService;
|
|
13396
|
+
this.locale = locale;
|
|
13397
|
+
this.Icon = Icon;
|
|
13398
|
+
this.taskCategories = [];
|
|
13399
|
+
this.priorityDomainColl = [];
|
|
13400
|
+
}
|
|
13401
|
+
showClass() {
|
|
13402
|
+
return true;
|
|
13403
|
+
}
|
|
13404
|
+
ngOnDestroy() {
|
|
13405
|
+
this.editTemplate = undefined;
|
|
13406
|
+
}
|
|
13407
|
+
ngOnInit() {
|
|
13408
|
+
this.sharedService.getTaskCategories().then((result) => {
|
|
13409
|
+
this.taskCategories = result;
|
|
13410
|
+
this.chosenTaskCategory = this.taskCategories.find(t => t.categoryId === this.editActivity.task.categoryId);
|
|
13411
|
+
});
|
|
13412
|
+
this.sharedService.getDomainCollection(this.locale, DomainName.Priority).then((result) => {
|
|
13413
|
+
this.priorityDomainColl = result;
|
|
13414
|
+
if (this.chosenTaskCategory) {
|
|
13415
|
+
this.chosenPriority = this._findDomainValueOfPriorityType(this.editActivity.task.priority);
|
|
13416
|
+
}
|
|
13417
|
+
});
|
|
13418
|
+
}
|
|
13419
|
+
handleTaskCategoryChange(taskCategory) {
|
|
13420
|
+
if (this.taskCategories.length > 0 && taskCategory) {
|
|
13421
|
+
this.editActivity.task.categoryId = this.chosenTaskCategory.categoryId;
|
|
13422
|
+
this.editActivity.task.category = this.chosenTaskCategory.category;
|
|
13423
|
+
}
|
|
13424
|
+
}
|
|
13425
|
+
handlePriorityChange(domainValue) {
|
|
13426
|
+
if (this.priorityDomainColl.length > 0 && domainValue) {
|
|
13427
|
+
this.editActivity.task.priority = PriorityType[domainValue.code];
|
|
13428
|
+
}
|
|
13429
|
+
}
|
|
13430
|
+
_findDomainValueOfPriorityType(priorityType) {
|
|
13431
|
+
if (!this.priorityDomainColl || isNill$1(priorityType)) {
|
|
13432
|
+
return undefined;
|
|
13433
|
+
}
|
|
13434
|
+
return this.priorityDomainColl.find((domainValue) => {
|
|
13435
|
+
return domainValue.codeAsNumber === priorityType;
|
|
13436
|
+
});
|
|
13437
|
+
}
|
|
13438
|
+
}
|
|
13439
|
+
CreationSummaryBlockComponent.decorators = [
|
|
13440
|
+
{ type: Component, args: [{
|
|
13441
|
+
selector: "co-creation-summary-block",
|
|
13442
|
+
template: `
|
|
13443
|
+
<co-activity-summary-block
|
|
13444
|
+
[readonly]="readonly"
|
|
13445
|
+
[icon]="Icon.Task" editTitle="TASK_INFORMATION"
|
|
13446
|
+
[editTemplate]="editTemplate"
|
|
13447
|
+
(saveClick)="handleSave($event)"
|
|
13448
|
+
(cancelClick)="handleCancel($event)" expandable noBorder>
|
|
13449
|
+
</co-activity-summary-block>
|
|
13450
|
+
|
|
13451
|
+
<ng-template #editTemplate>
|
|
13452
|
+
<div fxLayout="column">
|
|
13453
|
+
<div class="creation-summary-date-wrapper">
|
|
13454
|
+
<co-input-date
|
|
13455
|
+
[placeholder]="'CREATION_DATE' | localize"
|
|
13456
|
+
[model]="editActivity.task.creationDateTime"
|
|
13457
|
+
[readonly]="true">
|
|
13458
|
+
</co-input-date>
|
|
13459
|
+
<co-input-text
|
|
13460
|
+
[placeholder]="'TIME' | localize"
|
|
13461
|
+
[model]="editActivity.task.creationDateTime | date:'HH:mm:ss'"
|
|
13462
|
+
[readonly]="true">
|
|
13463
|
+
</co-input-text>
|
|
13464
|
+
</div>
|
|
13465
|
+
|
|
13466
|
+
<co-list-of-values
|
|
13467
|
+
[readonly]="readonly"
|
|
13468
|
+
[collection]="priorityDomainColl"
|
|
13469
|
+
[(model)]="chosenPriority"
|
|
13470
|
+
(modelChange)="handlePriorityChange($event)"></co-list-of-values>
|
|
13471
|
+
|
|
13472
|
+
<co-list-of-values
|
|
13473
|
+
[readonly]="readonly"
|
|
13474
|
+
[collection]="taskCategories"
|
|
13475
|
+
[(model)]="chosenTaskCategory"
|
|
13476
|
+
[displayField]="'category'"
|
|
13477
|
+
(modelChange)="handleTaskCategoryChange($event)"></co-list-of-values>
|
|
13478
|
+
</div>
|
|
13479
|
+
</ng-template>
|
|
13480
|
+
`,
|
|
13481
|
+
providers: [{
|
|
13482
|
+
provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
|
|
13483
|
+
useExisting: forwardRef(() => CreationSummaryBlockComponent)
|
|
13484
|
+
}]
|
|
13485
|
+
},] }
|
|
13486
|
+
];
|
|
13487
|
+
CreationSummaryBlockComponent.ctorParameters = () => [
|
|
13488
|
+
{ type: DictionaryService },
|
|
13489
|
+
{ type: CoreDialogService },
|
|
13490
|
+
{ type: SharedService },
|
|
13491
|
+
{ type: LanguageCode, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }
|
|
13492
|
+
];
|
|
13493
|
+
CreationSummaryBlockComponent.propDecorators = {
|
|
13494
|
+
editTemplate: [{ type: ViewChild, args: ["editTemplate", { static: true },] }],
|
|
13495
|
+
showClass: [{ type: HostBinding, args: ["class.co-creation-summary-block",] }]
|
|
13496
|
+
};
|
|
13497
|
+
|
|
13498
|
+
class CreationSummaryBlockModule {
|
|
13499
|
+
}
|
|
13500
|
+
CreationSummaryBlockModule.decorators = [
|
|
13501
|
+
{ type: NgModule, args: [{
|
|
13502
|
+
imports: [
|
|
13503
|
+
ActivitySummaryBlockModule,
|
|
13504
|
+
InputDatePickerModule,
|
|
13505
|
+
InputTextModule,
|
|
13506
|
+
LocalizationModule,
|
|
13507
|
+
CommonModule,
|
|
13508
|
+
ListOfValuesModule
|
|
13509
|
+
],
|
|
13510
|
+
declarations: [
|
|
13511
|
+
CreationSummaryBlockComponent
|
|
13512
|
+
],
|
|
13513
|
+
exports: [
|
|
13514
|
+
CreationSummaryBlockComponent
|
|
13515
|
+
]
|
|
13516
|
+
},] }
|
|
13517
|
+
];
|
|
13518
|
+
|
|
13519
|
+
var RelationType;
|
|
13520
|
+
(function (RelationType) {
|
|
13521
|
+
RelationType["Executive"] = "executive";
|
|
13522
|
+
RelationType["Reporter"] = "reporter";
|
|
13523
|
+
RelationType["Supervisor"] = "supervisor";
|
|
13524
|
+
})(RelationType || (RelationType = {}));
|
|
13525
|
+
class ExecutiveSummaryBlockComponent extends BaseActivitySummaryComponent {
|
|
13526
|
+
constructor(dictionaryService, dialogService, sharedService) {
|
|
13527
|
+
super(dictionaryService, dialogService, sharedService);
|
|
13528
|
+
this.dictionaryService = dictionaryService;
|
|
13529
|
+
this.dialogService = dialogService;
|
|
13530
|
+
this.sharedService = sharedService;
|
|
13531
|
+
this.RelationType = RelationType;
|
|
13532
|
+
this.Icon = Icon;
|
|
13533
|
+
this._textSearchParams = new RelationRequest();
|
|
13534
|
+
this.personnel = [];
|
|
13535
|
+
}
|
|
13536
|
+
showClass() {
|
|
13537
|
+
return true;
|
|
13538
|
+
}
|
|
13539
|
+
ngOnInit() {
|
|
13540
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13541
|
+
this._textSearchParams.relationTypeList = [RelationKind.Personnel];
|
|
13542
|
+
this.sharedService.getRelationListObjects(this._textSearchParams).then((result) => {
|
|
13543
|
+
this.personnel = result;
|
|
13544
|
+
});
|
|
13545
|
+
});
|
|
13546
|
+
}
|
|
13547
|
+
}
|
|
13548
|
+
ExecutiveSummaryBlockComponent.decorators = [
|
|
13549
|
+
{ type: Component, args: [{
|
|
13550
|
+
selector: "co-executive-summary-block",
|
|
13551
|
+
template: `
|
|
13552
|
+
|
|
13553
|
+
<co-activity-summary-block [editTemplate]="editTemplate"
|
|
13554
|
+
[readonly]="readonly"
|
|
13555
|
+
[icon]="Icon.Employee"
|
|
13556
|
+
(saveClick)="handleSave($event)"
|
|
13557
|
+
(cancelClick)="handleCancel($event)"
|
|
13558
|
+
editTitle="PERSONS" expandable noBorder>
|
|
13559
|
+
</co-activity-summary-block>
|
|
13560
|
+
<ng-template #editTemplate>
|
|
13561
|
+
<div fxLayout="column">
|
|
13562
|
+
<co-list-of-values
|
|
13563
|
+
[(model)]="editActivity.task.executive"
|
|
13564
|
+
[collection]="personnel"
|
|
13565
|
+
[displayField]="'displayName'"
|
|
13566
|
+
[label]="'EXECUTIVE' | localize">
|
|
13567
|
+
</co-list-of-values>
|
|
13568
|
+
<co-list-of-values
|
|
13569
|
+
[(model)]="editActivity.task.reporter"
|
|
13570
|
+
[collection]="personnel"
|
|
13571
|
+
[displayField]="'displayName'"
|
|
13572
|
+
[label]="'REPORTER' | localize">
|
|
13573
|
+
</co-list-of-values>
|
|
13574
|
+
<co-list-of-values
|
|
13575
|
+
[(model)]="editActivity.task.supervisor"
|
|
13576
|
+
[collection]="personnel"
|
|
13577
|
+
[displayField]="'displayName'"
|
|
13578
|
+
[label]="'SUPERVISOR' | localize">
|
|
13579
|
+
</co-list-of-values>
|
|
13580
|
+
</div>
|
|
13581
|
+
</ng-template>
|
|
13582
|
+
`,
|
|
13583
|
+
providers: [{
|
|
13584
|
+
provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
|
|
13585
|
+
useExisting: forwardRef(() => ExecutiveSummaryBlockComponent)
|
|
13586
|
+
}]
|
|
13587
|
+
},] }
|
|
13588
|
+
];
|
|
13589
|
+
ExecutiveSummaryBlockComponent.ctorParameters = () => [
|
|
13590
|
+
{ type: DictionaryService },
|
|
13591
|
+
{ type: CoreDialogService },
|
|
13592
|
+
{ type: SharedService }
|
|
13593
|
+
];
|
|
13594
|
+
ExecutiveSummaryBlockComponent.propDecorators = {
|
|
13595
|
+
showClass: [{ type: HostBinding, args: ["class.co-executive-summary-block",] }]
|
|
13596
|
+
};
|
|
13597
|
+
|
|
13598
|
+
class ExecutiveSummaryBlockModule {
|
|
13599
|
+
}
|
|
13600
|
+
ExecutiveSummaryBlockModule.decorators = [
|
|
13601
|
+
{ type: NgModule, args: [{
|
|
13602
|
+
imports: [
|
|
13603
|
+
LocalizationModule,
|
|
13604
|
+
ListOfValuesModule,
|
|
13605
|
+
InputDatePickerModule,
|
|
13606
|
+
ActivitySummaryBlockModule
|
|
13607
|
+
],
|
|
13608
|
+
declarations: [
|
|
13609
|
+
ExecutiveSummaryBlockComponent
|
|
13610
|
+
],
|
|
13611
|
+
exports: [
|
|
13612
|
+
ExecutiveSummaryBlockComponent
|
|
13613
|
+
]
|
|
13614
|
+
},] }
|
|
13615
|
+
];
|
|
13616
|
+
|
|
13617
|
+
class NotificationSummaryBlockComponent extends BaseActivitySummaryComponent {
|
|
13618
|
+
constructor(boFactory,
|
|
13619
|
+
//public activityService: ActivityService,
|
|
13620
|
+
dictionaryService, dialogService, sharedService) {
|
|
13621
|
+
super(dictionaryService, dialogService, sharedService);
|
|
13622
|
+
this.boFactory = boFactory;
|
|
13623
|
+
this.dictionaryService = dictionaryService;
|
|
13624
|
+
this.dialogService = dialogService;
|
|
13625
|
+
this.sharedService = sharedService;
|
|
13626
|
+
this.Icon = Icon;
|
|
13627
|
+
this.listItems = [];
|
|
13628
|
+
}
|
|
13629
|
+
showClass() {
|
|
13630
|
+
return true;
|
|
13631
|
+
}
|
|
13632
|
+
ngOnInit() {
|
|
13633
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13634
|
+
if (!isNill(this.editActivity.task.taskId)) {
|
|
13635
|
+
this.listItems = yield this.sharedService.getRoleEmailAddressesByWorkflowCategoryAndKey('TASK', (this.editActivity.task.taskId.toString()));
|
|
13636
|
+
}
|
|
13637
|
+
});
|
|
13638
|
+
}
|
|
13639
|
+
handleSendEmail(event) {
|
|
13640
|
+
this.handleSave(event);
|
|
13641
|
+
//this.activityService.sendTaskNotificationEmail(this.editActivity.task);
|
|
13642
|
+
}
|
|
13643
|
+
}
|
|
13644
|
+
NotificationSummaryBlockComponent.decorators = [
|
|
13645
|
+
{ type: Component, args: [{
|
|
13646
|
+
selector: "co-notification-summary-block",
|
|
13647
|
+
template: `
|
|
13648
|
+
<co-activity-summary-block [readonly]="readonly" [icon]="Icon.Notification" editTitle="NOTIFICATIONS"
|
|
13649
|
+
[editTemplate]="editTemplate"
|
|
13650
|
+
[extraButtonsTemplate]="extraButtonsTemplate"
|
|
13651
|
+
[showButtons]="true"
|
|
13652
|
+
(saveClick)="handleSave($event)" (cancelClick)="handleCancel($event)" expandable noBorder>
|
|
13653
|
+
</co-activity-summary-block>
|
|
13654
|
+
<ng-template #extraButtonsTemplate>
|
|
13655
|
+
<co-button *ngIf="editActivity.task.emailAddresses.length > 0" label="SEND_EMAIL"
|
|
13656
|
+
(click)="handleSendEmail($event)"></co-button>
|
|
13657
|
+
</ng-template>
|
|
13658
|
+
<ng-template #editTemplate>
|
|
13659
|
+
<div fxLayout="column">
|
|
13660
|
+
<co-list-of-values [readonly]="readonly" [multiselect]="true"
|
|
13661
|
+
[collection]="listItems" [displayField]="'role'"
|
|
13662
|
+
[(model)]="editActivity.task.emailAddresses">
|
|
13663
|
+
</co-list-of-values>
|
|
13664
|
+
</div>
|
|
13665
|
+
</ng-template>
|
|
13666
|
+
`,
|
|
13667
|
+
providers: [{
|
|
13668
|
+
provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
|
|
13669
|
+
useExisting: forwardRef(() => NotificationSummaryBlockComponent)
|
|
13670
|
+
}]
|
|
13671
|
+
},] }
|
|
13672
|
+
];
|
|
13673
|
+
NotificationSummaryBlockComponent.ctorParameters = () => [
|
|
13674
|
+
{ type: BusinessObjectFactory },
|
|
13675
|
+
{ type: DictionaryService },
|
|
13676
|
+
{ type: CoreDialogService },
|
|
13677
|
+
{ type: SharedService }
|
|
13678
|
+
];
|
|
13679
|
+
NotificationSummaryBlockComponent.propDecorators = {
|
|
13680
|
+
summaryBlock: [{ type: ViewChild, args: [ActivitySummaryBlockComponent, { static: true },] }],
|
|
13681
|
+
showClass: [{ type: HostBinding, args: ["class.co-notification-summary-block",] }]
|
|
13682
|
+
};
|
|
13683
|
+
|
|
13684
|
+
class NotificationSummaryBlockModule {
|
|
13685
|
+
}
|
|
13686
|
+
NotificationSummaryBlockModule.decorators = [
|
|
13687
|
+
{ type: NgModule, args: [{
|
|
13688
|
+
imports: [
|
|
13689
|
+
ActivitySummaryBlockModule,
|
|
13690
|
+
ListOfValuesModule,
|
|
13691
|
+
ButtonModule,
|
|
13692
|
+
CommonModule
|
|
13693
|
+
],
|
|
13694
|
+
declarations: [
|
|
13695
|
+
NotificationSummaryBlockComponent
|
|
13696
|
+
],
|
|
13697
|
+
exports: [
|
|
13698
|
+
NotificationSummaryBlockComponent
|
|
13699
|
+
]
|
|
13700
|
+
},] }
|
|
13701
|
+
];
|
|
13702
|
+
|
|
13703
|
+
class ModifyTaskFormModule {
|
|
13704
|
+
}
|
|
13705
|
+
ModifyTaskFormModule.decorators = [
|
|
13706
|
+
{ type: NgModule, args: [{
|
|
13707
|
+
imports: [
|
|
13708
|
+
LocalizationModule,
|
|
13709
|
+
TaskDetailsModule,
|
|
13710
|
+
InputCheckboxModule,
|
|
13711
|
+
ExecutiveSummaryBlockModule,
|
|
13712
|
+
StatusSummaryBlockModule,
|
|
13713
|
+
CreationSummaryBlockModule,
|
|
13714
|
+
NotificationSummaryBlockModule,
|
|
13715
|
+
ActivityListModule,
|
|
13716
|
+
SimpleTagsModule,
|
|
13717
|
+
ButtonModule,
|
|
13718
|
+
CommonModule,
|
|
13719
|
+
SimpleTagsFormModule
|
|
13720
|
+
],
|
|
13721
|
+
declarations: [
|
|
13722
|
+
ModifyTaskFormComponent
|
|
13723
|
+
],
|
|
13724
|
+
exports: [
|
|
13725
|
+
ModifyTaskFormComponent
|
|
13726
|
+
]
|
|
13727
|
+
},] }
|
|
13728
|
+
];
|
|
13729
|
+
|
|
13730
|
+
class TaskModifyerModule {
|
|
13731
|
+
}
|
|
13732
|
+
TaskModifyerModule.decorators = [
|
|
13733
|
+
{ type: NgModule, args: [{
|
|
13734
|
+
imports: [
|
|
13735
|
+
FormModule,
|
|
13736
|
+
CoDialogModule,
|
|
13737
|
+
LocalizationModule,
|
|
13738
|
+
CommonModule,
|
|
13739
|
+
ButtonModule,
|
|
13740
|
+
ModifyTaskFormModule
|
|
13741
|
+
],
|
|
13742
|
+
declarations: [
|
|
13743
|
+
TaskModifierComponent
|
|
13744
|
+
],
|
|
13745
|
+
exports: [
|
|
13746
|
+
TaskModifierComponent
|
|
13747
|
+
],
|
|
13748
|
+
providers: [
|
|
13749
|
+
BusinessObjectFactory
|
|
13750
|
+
]
|
|
13751
|
+
},] }
|
|
13752
|
+
];
|
|
13753
|
+
|
|
13754
|
+
class ComponentActivityOverviewModule {
|
|
13755
|
+
}
|
|
13756
|
+
ComponentActivityOverviewModule.decorators = [
|
|
13757
|
+
{ type: NgModule, args: [{
|
|
13758
|
+
imports: [
|
|
13759
|
+
ButtonModule,
|
|
13760
|
+
CommonModule,
|
|
13761
|
+
LocalizationModule,
|
|
13762
|
+
IconModule,
|
|
13763
|
+
TaskModifyerModule
|
|
13764
|
+
],
|
|
13765
|
+
declarations: [
|
|
13766
|
+
ComponentActivityOverviewComponent
|
|
13767
|
+
],
|
|
13768
|
+
exports: [
|
|
13769
|
+
ComponentActivityOverviewComponent
|
|
13770
|
+
],
|
|
13771
|
+
},] }
|
|
13772
|
+
];
|
|
13773
|
+
|
|
13774
|
+
class ActivityListHeaderComponent {
|
|
13775
|
+
constructor(iconService) {
|
|
13776
|
+
this.iconService = iconService;
|
|
13777
|
+
this.icons = Icon;
|
|
13778
|
+
this.activitySortType = ActivitySortType;
|
|
13779
|
+
this.title = 'MY_WORK';
|
|
13780
|
+
this.searchTextChange = new EventEmitter();
|
|
13781
|
+
this.periodFilterClicked = new EventEmitter();
|
|
13782
|
+
this.showUsergroupActivitiesChange = new EventEmitter();
|
|
13783
|
+
}
|
|
13784
|
+
showClass() {
|
|
13785
|
+
return true;
|
|
13786
|
+
}
|
|
13787
|
+
onToggleClicked(toggled) {
|
|
13788
|
+
this.showUsergroupActivitiesChange.emit(toggled);
|
|
13789
|
+
}
|
|
13790
|
+
}
|
|
13791
|
+
ActivityListHeaderComponent.decorators = [
|
|
13792
|
+
{ type: Component, args: [{
|
|
13793
|
+
selector: "co-activity-list-header",
|
|
13794
|
+
template: `
|
|
13795
|
+
<div class="header-wrapper">
|
|
13796
|
+
<div class="title">
|
|
13797
|
+
<h2 [textContent]="title | localize"></h2>
|
|
13798
|
+
</div>
|
|
13799
|
+
</div>
|
|
13800
|
+
<div class="sub-header">
|
|
13801
|
+
<div class="second-column">
|
|
13802
|
+
<div class="second-column-right">
|
|
13803
|
+
<co-input-text class="input-search" [placeholder]="'SEARCH_PLACEHOLDER' | localize"
|
|
13804
|
+
[(model)]="searchText"
|
|
13805
|
+
(modelChange)="searchTextChange.emit($event)"></co-input-text>
|
|
13806
|
+
<co-period-filter class="period-filter" (filterClicked)="periodFilterClicked.emit($event)"></co-period-filter>
|
|
13807
|
+
<co-button isToggleButton class="transparent-rectangular-action user-button" [(isToggled)]="showUsergroupActivities" (onClick)="showUsergroupActivities = !showUsergroupActivities"
|
|
13808
|
+
[iconData]="iconService.getIcon(icons.Employee)" [title]="'SHOW_ACTIVITIES_FOR_GROUP' | localize"
|
|
13809
|
+
(isToggledChange)="onToggleClicked($event)"></co-button>
|
|
13810
|
+
<co-workflow-notification-toggle *ngIf="table && key"
|
|
13811
|
+
[table]="table"
|
|
13812
|
+
[key]="key"
|
|
13813
|
+
[setHasPausedNotificationsForWorkflowProcessOperation]="setHasPausedNotificationsForWorkflowProcessOperation"
|
|
13814
|
+
></co-workflow-notification-toggle>
|
|
13815
|
+
</div>
|
|
13816
|
+
</div>
|
|
13817
|
+
</div>
|
|
13818
|
+
`
|
|
13819
|
+
},] }
|
|
13820
|
+
];
|
|
13821
|
+
ActivityListHeaderComponent.ctorParameters = () => [
|
|
13822
|
+
{ type: IconCacheService }
|
|
13823
|
+
];
|
|
13824
|
+
ActivityListHeaderComponent.propDecorators = {
|
|
13825
|
+
title: [{ type: Input }],
|
|
13826
|
+
searchText: [{ type: Input }],
|
|
13827
|
+
showUsergroupActivities: [{ type: Input }],
|
|
13828
|
+
table: [{ type: Input }],
|
|
13829
|
+
key: [{ type: Input }],
|
|
13830
|
+
setHasPausedNotificationsForWorkflowProcessOperation: [{ type: Input }],
|
|
13831
|
+
searchTextChange: [{ type: Output }],
|
|
13832
|
+
periodFilterClicked: [{ type: Output }],
|
|
13833
|
+
showUsergroupActivitiesChange: [{ type: Output }],
|
|
13834
|
+
showClass: [{ type: HostBinding, args: ["class.co-activity-list-header",] }]
|
|
13835
|
+
};
|
|
13836
|
+
|
|
13837
|
+
class WorkflowNotificationTogglePopupComponent {
|
|
13838
|
+
constructor(element, iconService) {
|
|
13839
|
+
this.element = element;
|
|
13840
|
+
this.iconService = iconService;
|
|
13841
|
+
this.icons = Icon;
|
|
13842
|
+
this.workflowProcesses = [];
|
|
13843
|
+
this.closePopupClicked = new EventEmitter();
|
|
13844
|
+
this.workflowProcessClicked = new EventEmitter();
|
|
13845
|
+
}
|
|
13846
|
+
ngOnDestroy() {
|
|
13847
|
+
this.element = undefined;
|
|
13848
|
+
}
|
|
13849
|
+
}
|
|
13850
|
+
WorkflowNotificationTogglePopupComponent.decorators = [
|
|
13851
|
+
{ type: Component, args: [{
|
|
13852
|
+
selector: "co-workflow-notification-toggle-popup",
|
|
13853
|
+
template: `
|
|
13854
|
+
<div class="workflow-list-wrapper" [overlay]="parentForOverlay"
|
|
13855
|
+
[alignWith]="element"
|
|
13856
|
+
[alignTopOffsetPx]="35"
|
|
13857
|
+
[class.showing]="true"
|
|
13858
|
+
[enableAlign]="true"
|
|
13859
|
+
[clickOutside]="true"
|
|
13860
|
+
(clickOutside)="closePopupClicked.emit()"
|
|
13861
|
+
keepInView noWidthAlign alignRight>
|
|
13862
|
+
<div class="workflow-row" *ngFor="let workflow of workflowProcesses"
|
|
13863
|
+
(click)="workflowProcessClicked.emit(workflow)">
|
|
13864
|
+
<div class="icon-wrapper">
|
|
13865
|
+
<co-icon class="workflow-icon"
|
|
13866
|
+
[iconData]="iconService.getIcon(workflow.hasPausedNotifications ? icons.BellSlashRegular : icons.BellRegular)"
|
|
13867
|
+
[class.small-icon]="!workflow.hasPausedNotifications"></co-icon>
|
|
13868
|
+
</div>
|
|
13869
|
+
<div class="workflow-text">
|
|
13870
|
+
<span class="workflow-title" [textContent]="workflow.workflowName"></span>
|
|
13871
|
+
</div>
|
|
13872
|
+
</div>
|
|
13873
|
+
</div>`
|
|
13874
|
+
},] }
|
|
13875
|
+
];
|
|
13876
|
+
WorkflowNotificationTogglePopupComponent.ctorParameters = () => [
|
|
13877
|
+
{ type: ElementRef },
|
|
13878
|
+
{ type: IconCacheService }
|
|
13879
|
+
];
|
|
13880
|
+
WorkflowNotificationTogglePopupComponent.propDecorators = {
|
|
13881
|
+
workflowProcesses: [{ type: Input }],
|
|
13882
|
+
parentForOverlay: [{ type: Input }],
|
|
13883
|
+
closePopupClicked: [{ type: Output }],
|
|
13884
|
+
workflowProcessClicked: [{ type: Output }]
|
|
13885
|
+
};
|
|
13886
|
+
|
|
13887
|
+
class WorkflowNotificationToggleComponent {
|
|
13888
|
+
constructor(element, iconService, sharedService, _overlayService) {
|
|
13889
|
+
this.element = element;
|
|
13890
|
+
this.iconService = iconService;
|
|
13891
|
+
this.sharedService = sharedService;
|
|
13892
|
+
this._overlayService = _overlayService;
|
|
13893
|
+
this.icons = Icon;
|
|
13894
|
+
this.workflowProcesses = [];
|
|
13895
|
+
this.showPopup = false;
|
|
13896
|
+
}
|
|
13897
|
+
showClass() {
|
|
13898
|
+
return true;
|
|
13899
|
+
}
|
|
13900
|
+
ngOnInit() {
|
|
13901
|
+
this._loadWorkflowProcesses();
|
|
13902
|
+
}
|
|
13903
|
+
_loadWorkflowProcesses() {
|
|
13904
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13905
|
+
this.workflowProcesses = yield this.sharedService.getActiveProcessesByTableAndKey(TableName$1[this.table], this.key);
|
|
13906
|
+
});
|
|
13907
|
+
}
|
|
13908
|
+
buttonClicked() {
|
|
13909
|
+
if (!this.showPopup) {
|
|
13910
|
+
this.openPopup();
|
|
13911
|
+
}
|
|
13912
|
+
else {
|
|
13913
|
+
this.closePopup();
|
|
13914
|
+
}
|
|
13915
|
+
}
|
|
13916
|
+
openPopup() {
|
|
13917
|
+
this.showPopup = true;
|
|
13918
|
+
this._workflowPopupRef = this._overlayService.createComponent(WorkflowNotificationTogglePopupComponent, { parentForOverlay: this.element, workflowProcesses: this.workflowProcesses }, {
|
|
13919
|
+
closePopupClicked: () => this.closePopup(),
|
|
13920
|
+
workflowProcessClicked: (WorkflowProcess) => this.handleWorkflowToggle(WorkflowProcess)
|
|
13921
|
+
});
|
|
13922
|
+
}
|
|
13923
|
+
closePopup() {
|
|
13924
|
+
this.showPopup = false;
|
|
13925
|
+
this._overlayService.removeComponent(this._workflowPopupRef);
|
|
13926
|
+
}
|
|
13927
|
+
handleWorkflowToggle(workflow) {
|
|
13928
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13929
|
+
const valResult = yield this.setHasPausedNotificationsForWorkflowProcessOperation(workflow.workflowProcessId, !workflow.hasPausedNotifications, null);
|
|
13930
|
+
if (valResult && valResult.success) {
|
|
13931
|
+
workflow.hasPausedNotifications = !workflow.hasPausedNotifications;
|
|
13932
|
+
}
|
|
13933
|
+
});
|
|
13934
|
+
}
|
|
13935
|
+
}
|
|
13936
|
+
WorkflowNotificationToggleComponent.decorators = [
|
|
13937
|
+
{ type: Component, args: [{
|
|
13938
|
+
selector: "co-workflow-notification-toggle",
|
|
13939
|
+
template: `
|
|
13940
|
+
<co-button isToggleButton class="transparent-rectangular-action user-button" [isToggled]="showPopup"
|
|
13941
|
+
(click)="buttonClicked()"
|
|
13942
|
+
[iconData]="iconService.getIcon(icons.BellRegular)"
|
|
13943
|
+
[title]="'SHOW_WORKFLOW_NOTIFICATION_SETTINGS' | localize"></co-button>
|
|
13944
|
+
`
|
|
13945
|
+
},] }
|
|
13946
|
+
];
|
|
13947
|
+
WorkflowNotificationToggleComponent.ctorParameters = () => [
|
|
13948
|
+
{ type: ElementRef },
|
|
13949
|
+
{ type: IconCacheService },
|
|
13950
|
+
{ type: SharedService },
|
|
13951
|
+
{ type: OverlayService }
|
|
13952
|
+
];
|
|
13953
|
+
WorkflowNotificationToggleComponent.propDecorators = {
|
|
13954
|
+
table: [{ type: Input }],
|
|
13955
|
+
key: [{ type: Input }],
|
|
13956
|
+
setHasPausedNotificationsForWorkflowProcessOperation: [{ type: Input }],
|
|
13957
|
+
showClass: [{ type: HostBinding, args: ["class.co-workflow-notification-toggle",] }]
|
|
13958
|
+
};
|
|
13959
|
+
|
|
13960
|
+
// App-wide service to place and remove template refs into the global absolute overlay outlet component.
|
|
13961
|
+
class AppAbsoluteOverlayOutletService {
|
|
13962
|
+
constructor() {
|
|
13963
|
+
this.templateCreateRequest = new Subject();
|
|
13964
|
+
this.templateDestroyRequest = new Subject();
|
|
13965
|
+
}
|
|
13966
|
+
placeTemplateIntoOverlay(template) {
|
|
13967
|
+
this.templateCreateRequest.next(template);
|
|
13968
|
+
}
|
|
13969
|
+
removeTemplateFromOverlay(template) {
|
|
13970
|
+
this.templateDestroyRequest.next(template);
|
|
13971
|
+
}
|
|
13972
|
+
}
|
|
13973
|
+
AppAbsoluteOverlayOutletService.decorators = [
|
|
13974
|
+
{ type: Injectable }
|
|
13975
|
+
];
|
|
13976
|
+
AppAbsoluteOverlayOutletService.ctorParameters = () => [];
|
|
13977
|
+
|
|
13978
|
+
// Directive applicable to <ng-template>'s of components. Places template content in the app's absolute overlay outlet.
|
|
13979
|
+
class AbsoluteOverlayTemplateDirective {
|
|
13980
|
+
constructor(_outletService) {
|
|
13981
|
+
this._outletService = _outletService;
|
|
13982
|
+
}
|
|
13983
|
+
// spawn host template in absolute overlay outlet
|
|
13984
|
+
ngOnInit() {
|
|
13985
|
+
this._outletService.placeTemplateIntoOverlay(this.absoluteOverlayTemplate);
|
|
13986
|
+
}
|
|
13987
|
+
// de-spawn host template from absolute overlay outlet
|
|
13988
|
+
ngOnDestroy() {
|
|
13989
|
+
this._outletService.removeTemplateFromOverlay(this.absoluteOverlayTemplate);
|
|
13990
|
+
this.absoluteOverlayTemplate = undefined;
|
|
13991
|
+
}
|
|
13992
|
+
}
|
|
13993
|
+
AbsoluteOverlayTemplateDirective.decorators = [
|
|
13994
|
+
{ type: Directive, args: [{
|
|
13995
|
+
selector: "[absoluteOverlayTemplate]"
|
|
13996
|
+
},] }
|
|
13997
|
+
];
|
|
13998
|
+
AbsoluteOverlayTemplateDirective.ctorParameters = () => [
|
|
13999
|
+
{ type: AppAbsoluteOverlayOutletService }
|
|
14000
|
+
];
|
|
14001
|
+
AbsoluteOverlayTemplateDirective.propDecorators = {
|
|
14002
|
+
absoluteOverlayTemplate: [{ type: Input }]
|
|
14003
|
+
};
|
|
14004
|
+
|
|
14005
|
+
// @dynamic
|
|
14006
|
+
class EventUtils {
|
|
14007
|
+
static get passiveSupported() {
|
|
14008
|
+
if (isNill(EventUtils._passiveSupported)) {
|
|
14009
|
+
EventUtils._CheckPassiveSupported();
|
|
14010
|
+
}
|
|
14011
|
+
return EventUtils._passiveSupported;
|
|
14012
|
+
}
|
|
14013
|
+
static get passiveBubble() {
|
|
14014
|
+
if (isNill(EventUtils._passiveBubble)) {
|
|
14015
|
+
EventUtils._passiveBubble = EventUtils.passiveSupported ? { passive: true, capture: false } : false;
|
|
14016
|
+
}
|
|
14017
|
+
return EventUtils._passiveBubble;
|
|
14018
|
+
}
|
|
14019
|
+
static get passiveCapture() {
|
|
14020
|
+
if (isNill(EventUtils._passiveCapture)) {
|
|
14021
|
+
EventUtils._passiveCapture = EventUtils.passiveSupported ? { passive: true, capture: true } : true;
|
|
14022
|
+
}
|
|
14023
|
+
return EventUtils._passiveCapture;
|
|
14024
|
+
}
|
|
14025
|
+
static GetMouseEventOrTouch(originalEvent) {
|
|
14026
|
+
return originalEvent instanceof MouseEvent ? originalEvent : originalEvent.touches[0];
|
|
14027
|
+
}
|
|
14028
|
+
static StopEvent(event) {
|
|
14029
|
+
if (!event) {
|
|
14030
|
+
return;
|
|
14031
|
+
}
|
|
14032
|
+
event.preventDefault();
|
|
14033
|
+
event.stopPropagation();
|
|
14034
|
+
event.stopImmediatePropagation();
|
|
14035
|
+
}
|
|
14036
|
+
static KillEvent(event) {
|
|
14037
|
+
this.StopEvent(event);
|
|
14038
|
+
if (event) {
|
|
14039
|
+
event.stopPropagation();
|
|
14040
|
+
}
|
|
14041
|
+
}
|
|
14042
|
+
static _CheckPassiveSupported() {
|
|
14043
|
+
let passiveSupported = false;
|
|
14044
|
+
try {
|
|
14045
|
+
const options = Object.defineProperty({}, "passive", {
|
|
14046
|
+
get: function () {
|
|
14047
|
+
passiveSupported = true;
|
|
14048
|
+
}
|
|
14049
|
+
});
|
|
14050
|
+
window.addEventListener("test", null, options);
|
|
14051
|
+
// Q; what is this? do we have to window.removeEventListener it?
|
|
14052
|
+
// A: no, because it will certainly fail, but before it does it might have set the passiveSupported variable :)
|
|
14053
|
+
}
|
|
14054
|
+
catch (e) {
|
|
14055
|
+
}
|
|
14056
|
+
this._passiveSupported = passiveSupported;
|
|
14057
|
+
}
|
|
14058
|
+
}
|
|
14059
|
+
EventUtils._passiveSupported = null;
|
|
14060
|
+
EventUtils._passiveCapture = null;
|
|
14061
|
+
EventUtils._passiveBubble = null;
|
|
14062
|
+
|
|
14063
|
+
class BrowserUtils {
|
|
14064
|
+
static ScrollToTop(nativeElement, milliSeconds = 200) {
|
|
14065
|
+
return BrowserUtils._ScrollTo("scrollTop", nativeElement, milliSeconds, 0);
|
|
14066
|
+
}
|
|
14067
|
+
static DownloadFile(encodedUri, fileType) {
|
|
14068
|
+
const link = document.createElement("a");
|
|
14069
|
+
const date = new Date().toDateString();
|
|
14070
|
+
link.href = encodedUri;
|
|
14071
|
+
link.target = "_blank";
|
|
14072
|
+
link.download = "export_" + date + fileType;
|
|
14073
|
+
document.body.appendChild(link);
|
|
14074
|
+
link.click();
|
|
14075
|
+
document.body.removeChild(link);
|
|
14076
|
+
}
|
|
14077
|
+
static CopyToClipboard(data) {
|
|
14078
|
+
const textArea = document.createElement("TEXTAREA");
|
|
14079
|
+
const textNode = document.createTextNode(data);
|
|
14080
|
+
textArea.appendChild(textNode);
|
|
14081
|
+
document.body.appendChild(textArea); // Required for FF
|
|
14082
|
+
textArea.select();
|
|
14083
|
+
document.execCommand("copy");
|
|
14084
|
+
document.body.removeChild(textArea);
|
|
14085
|
+
}
|
|
14086
|
+
static TabFocusNextElement() {
|
|
14087
|
+
const nextTabStop = BrowserUtils._FindNextTabStop(document.activeElement);
|
|
14088
|
+
if (nextTabStop) {
|
|
14089
|
+
nextTabStop.focus();
|
|
14090
|
+
}
|
|
14091
|
+
}
|
|
14092
|
+
static AreDimensionsInView(dimensions, view) {
|
|
14093
|
+
const vp = BrowserUtils.GetDimensions(view);
|
|
14094
|
+
return dimensions.top >= vp.top && dimensions.left >= vp.left && dimensions.bottom <= vp.bottom && dimensions.right <= vp.right;
|
|
14095
|
+
}
|
|
14096
|
+
static HorizontalFitInView(dimensions, view) {
|
|
14097
|
+
const vp = BrowserUtils.GetDimensions(view);
|
|
14098
|
+
return dimensions.left >= vp.left && dimensions.right <= vp.right;
|
|
14099
|
+
}
|
|
14100
|
+
static VerticalFitInView(dimensions, view) {
|
|
14101
|
+
const vp = BrowserUtils.GetDimensions(view);
|
|
14102
|
+
return dimensions.top >= vp.top && dimensions.bottom <= vp.bottom;
|
|
14103
|
+
}
|
|
14104
|
+
static GetViewport() {
|
|
14105
|
+
let viewPortWidth;
|
|
14106
|
+
let viewPortHeight;
|
|
14107
|
+
// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
|
|
14108
|
+
if (typeof window.innerWidth !== "undefined") {
|
|
14109
|
+
viewPortWidth = window.innerWidth;
|
|
14110
|
+
viewPortHeight = window.innerHeight;
|
|
14111
|
+
}
|
|
14112
|
+
else if (typeof document.documentElement !== "undefined" &&
|
|
14113
|
+
typeof document.documentElement.clientWidth !== "undefined" &&
|
|
14114
|
+
document.documentElement.clientWidth !== 0) {
|
|
14115
|
+
viewPortWidth = document.documentElement.clientWidth;
|
|
14116
|
+
viewPortHeight = document.documentElement.clientHeight;
|
|
14117
|
+
}
|
|
14118
|
+
else {
|
|
14119
|
+
viewPortWidth = document.getElementsByTagName("body")[0].clientWidth;
|
|
14120
|
+
viewPortHeight = document.getElementsByTagName("body")[0].clientHeight;
|
|
14121
|
+
}
|
|
14122
|
+
return { left: 0, top: 0, right: viewPortWidth, bottom: viewPortHeight };
|
|
14123
|
+
}
|
|
14124
|
+
static GetDimensions(view) {
|
|
14125
|
+
if (!view) {
|
|
14126
|
+
return this.GetViewport();
|
|
14127
|
+
}
|
|
14128
|
+
else {
|
|
14129
|
+
const elem = view instanceof HTMLElement ? view : view.nativeElement;
|
|
14130
|
+
const cr = elem.getBoundingClientRect();
|
|
14131
|
+
return { left: cr.left, top: cr.top, right: cr.right, bottom: cr.bottom };
|
|
14132
|
+
}
|
|
14133
|
+
}
|
|
14134
|
+
// Recursive.
|
|
14135
|
+
static _ScrollTo(elementScrollProp, element, milliSeconds, toScrollEnd) {
|
|
14136
|
+
if (!element || milliSeconds <= 0) {
|
|
14137
|
+
return;
|
|
14138
|
+
}
|
|
14139
|
+
const difference = toScrollEnd - element[elementScrollProp];
|
|
14140
|
+
const scrollPerTick = difference / milliSeconds * 10;
|
|
14141
|
+
setTimeout(() => {
|
|
14142
|
+
element[elementScrollProp] = element[elementScrollProp] + scrollPerTick;
|
|
14143
|
+
if (element[elementScrollProp] === toScrollEnd) {
|
|
14144
|
+
return;
|
|
14145
|
+
}
|
|
14146
|
+
BrowserUtils._ScrollTo(elementScrollProp, element, milliSeconds - 10, toScrollEnd);
|
|
14147
|
+
}, 10);
|
|
14148
|
+
}
|
|
14149
|
+
static _FindNextTabStop(element) {
|
|
14150
|
+
const tabStopElements = document.querySelectorAll("a[href], area[href], input:not(.hidden):not(.disabled):not(.readonly):not(.read-only), select:not(.hidden):not(.disabled):not(.readonly):not(.read-only), textarea:not(.hidden):not(.disabled):not(.readonly):not(.read-only), button:not(.hidden):not(.disabled):not(.readonly):not(.read-only), iframe, object, embed, *[tabindex]:not(.hidden):not(.disabled):not(.readonly):not(.read-only), *[contenteditable]:not(.hidden):not(.disabled):not(.readonly):not(.read-only)");
|
|
14151
|
+
const actualStopEls = [];
|
|
14152
|
+
for (let i = 0, len = tabStopElements.length; i < len; i++) {
|
|
14153
|
+
const tabEl = tabStopElements[i];
|
|
14154
|
+
if (tabEl.tabIndex >= 0) {
|
|
14155
|
+
actualStopEls.push(tabEl);
|
|
14156
|
+
}
|
|
14157
|
+
}
|
|
14158
|
+
const elIdx = actualStopEls.indexOf(element);
|
|
14159
|
+
return actualStopEls[elIdx + 1] || undefined;
|
|
14160
|
+
}
|
|
14161
|
+
}
|
|
14162
|
+
|
|
14163
|
+
class AlignWithDirective {
|
|
14164
|
+
constructor(_ngZone, _elementRef) {
|
|
14165
|
+
this._ngZone = _ngZone;
|
|
14166
|
+
this._elementRef = _elementRef;
|
|
14167
|
+
this.keepInView = true;
|
|
14168
|
+
this.keepInViewHorizontal = true;
|
|
14169
|
+
this.keepInViewVertical = true;
|
|
14170
|
+
this.ajustableHeight = false;
|
|
14171
|
+
this.alignTopOffsetPx = 0;
|
|
14172
|
+
this.alignLeftOffsetPx = 0;
|
|
14173
|
+
this.fixed = "fixed";
|
|
14174
|
+
this.scroll = () => {
|
|
14175
|
+
this._alignWithZone();
|
|
14176
|
+
};
|
|
14177
|
+
this.resize = () => {
|
|
14178
|
+
this._alignWithZone();
|
|
14179
|
+
};
|
|
14180
|
+
this.handleKeyUp = () => {
|
|
14181
|
+
this._alignWithZone();
|
|
14182
|
+
};
|
|
14183
|
+
}
|
|
14184
|
+
// a native OR custom element
|
|
14185
|
+
set alignWith(alignWith) {
|
|
14186
|
+
if (alignWith) {
|
|
14187
|
+
// enables simple #templateVars passing to [alignWith] for native elements like <div>; Angular passes these as HTMLElement's
|
|
14188
|
+
if (alignWith instanceof HTMLElement) {
|
|
14189
|
+
this._hostNativeEl = alignWith;
|
|
14190
|
+
}
|
|
14191
|
+
else {
|
|
14192
|
+
this._hostNativeEl = alignWith.nativeElement;
|
|
14193
|
+
}
|
|
14194
|
+
}
|
|
14195
|
+
}
|
|
14196
|
+
get _shouldDoAlign() {
|
|
14197
|
+
return this._hostNativeEl && this.enableAlign;
|
|
14198
|
+
}
|
|
14199
|
+
ngAfterViewInit() {
|
|
14200
|
+
this.align();
|
|
14201
|
+
// align again after hosts 'animation finished'
|
|
14202
|
+
setTimeout(() => {
|
|
14203
|
+
this.align();
|
|
14204
|
+
}, 200);
|
|
14205
|
+
}
|
|
14206
|
+
ngOnChanges() {
|
|
14207
|
+
this.align();
|
|
14208
|
+
}
|
|
14209
|
+
ngAfterContentChecked() {
|
|
14210
|
+
this.align();
|
|
14211
|
+
}
|
|
14212
|
+
ngOnDestroy() {
|
|
14213
|
+
window.removeEventListener("scroll", this.scroll, EventUtils.passiveCapture);
|
|
14214
|
+
window.removeEventListener("resize", this.resize, EventUtils.passiveCapture);
|
|
14215
|
+
window.removeEventListener("keyup", this.handleKeyUp, EventUtils.passiveCapture);
|
|
14216
|
+
this._elementRef = undefined;
|
|
14217
|
+
this._hostNativeEl = undefined;
|
|
14218
|
+
this.viewElement = undefined;
|
|
14219
|
+
}
|
|
14220
|
+
ngOnInit() {
|
|
14221
|
+
this._ngZone.runOutsideAngular(() => {
|
|
14222
|
+
window.addEventListener("scroll", this.scroll, EventUtils.passiveCapture);
|
|
14223
|
+
window.addEventListener("resize", this.resize, EventUtils.passiveCapture);
|
|
14224
|
+
window.addEventListener("keyup", this.handleKeyUp, EventUtils.passiveCapture);
|
|
14225
|
+
});
|
|
14226
|
+
}
|
|
14227
|
+
_getDimensions() {
|
|
14228
|
+
return {
|
|
14229
|
+
top: this.top,
|
|
14230
|
+
right: this.left + this._elementRef.nativeElement.clientWidth,
|
|
14231
|
+
bottom: this.top + this._elementRef.nativeElement.clientHeight,
|
|
14232
|
+
left: this.left
|
|
14233
|
+
};
|
|
14234
|
+
}
|
|
14235
|
+
align() {
|
|
14236
|
+
if (this._shouldDoAlign) {
|
|
14237
|
+
const rect = this._hostNativeEl.getBoundingClientRect();
|
|
14238
|
+
this.left = Math.max(0, rect.left + this.alignLeftOffsetPx);
|
|
14239
|
+
this.top = rect.top + this.alignTopOffsetPx;
|
|
14240
|
+
if (this.alignRight) {
|
|
14241
|
+
this.left = rect.right - this._elementRef.nativeElement.clientWidth;
|
|
14242
|
+
}
|
|
14243
|
+
if (!this.noWidthAlign) {
|
|
14244
|
+
this.width = rect.width;
|
|
14245
|
+
}
|
|
14246
|
+
let dimensions = this._getDimensions();
|
|
14247
|
+
if (this.keepInView && !BrowserUtils.AreDimensionsInView(dimensions, this.viewElement)) {
|
|
14248
|
+
const viewElemDimensions = BrowserUtils.GetDimensions(this.viewElement);
|
|
14249
|
+
if (!BrowserUtils.HorizontalFitInView(dimensions, this.viewElement) && this.keepInViewHorizontal) {
|
|
14250
|
+
this.left = Math.max(0, viewElemDimensions.right - this._elementRef.nativeElement.clientWidth);
|
|
14251
|
+
dimensions = this._getDimensions();
|
|
14252
|
+
}
|
|
14253
|
+
if (!BrowserUtils.VerticalFitInView(dimensions, this.viewElement) && this.keepInViewVertical) {
|
|
14254
|
+
// Prevent this from going negative (which can happen with tall popups on small screens) and starting offscreen.
|
|
14255
|
+
this.top = Math.max(0, rect.top - this._elementRef.nativeElement.clientHeight);
|
|
14256
|
+
dimensions = this._getDimensions();
|
|
14257
|
+
}
|
|
14258
|
+
// Prevent running off the _bottom_ of the screen
|
|
14259
|
+
const overrun = dimensions.bottom - window.innerHeight;
|
|
14260
|
+
if (overrun > 0) {
|
|
14261
|
+
this.top = Math.max(0, this.top - overrun);
|
|
14262
|
+
dimensions = this._getDimensions();
|
|
14263
|
+
}
|
|
14264
|
+
if (this.ajustableHeight) {
|
|
14265
|
+
if (dimensions.bottom >= viewElemDimensions.bottom) {
|
|
14266
|
+
this.height = viewElemDimensions.bottom - this.top;
|
|
14267
|
+
}
|
|
14268
|
+
else {
|
|
14269
|
+
this.height = undefined;
|
|
14270
|
+
}
|
|
14271
|
+
}
|
|
14272
|
+
}
|
|
14273
|
+
}
|
|
14274
|
+
}
|
|
14275
|
+
_alignWithZone() {
|
|
14276
|
+
if (this._shouldDoAlign) {
|
|
14277
|
+
this._ngZone.run(() => {
|
|
14278
|
+
this.align();
|
|
14279
|
+
});
|
|
14280
|
+
}
|
|
14281
|
+
}
|
|
14282
|
+
}
|
|
14283
|
+
AlignWithDirective.decorators = [
|
|
14284
|
+
{ type: Directive, args: [{
|
|
14285
|
+
selector: "[alignWith]"
|
|
14286
|
+
},] }
|
|
14287
|
+
];
|
|
14288
|
+
AlignWithDirective.ctorParameters = () => [
|
|
14289
|
+
{ type: NgZone },
|
|
14290
|
+
{ type: ElementRef }
|
|
14291
|
+
];
|
|
14292
|
+
AlignWithDirective.propDecorators = {
|
|
14293
|
+
alignWith: [{ type: Input }],
|
|
14294
|
+
enableAlign: [{ type: Input }],
|
|
14295
|
+
keepInView: [{ type: Input }],
|
|
14296
|
+
keepInViewHorizontal: [{ type: Input }],
|
|
14297
|
+
keepInViewVertical: [{ type: Input }],
|
|
14298
|
+
alignRight: [{ type: Input }],
|
|
14299
|
+
noWidthAlign: [{ type: Input }],
|
|
14300
|
+
ajustableHeight: [{ type: Input }],
|
|
14301
|
+
alignTopOffsetPx: [{ type: Input }],
|
|
14302
|
+
alignLeftOffsetPx: [{ type: Input }],
|
|
14303
|
+
viewElement: [{ type: Input }],
|
|
14304
|
+
fixed: [{ type: HostBinding, args: ["style.position",] }],
|
|
14305
|
+
left: [{ type: HostBinding, args: ["style.left.px",] }],
|
|
14306
|
+
top: [{ type: HostBinding, args: ["style.top.px",] }],
|
|
14307
|
+
height: [{ type: HostBinding, args: ["style.max-height.px",] }],
|
|
14308
|
+
width: [{ type: HostBinding, args: ["style.width.px",] }]
|
|
14309
|
+
};
|
|
14310
|
+
__decorate([
|
|
14311
|
+
InputBoolean()
|
|
14312
|
+
], AlignWithDirective.prototype, "enableAlign", void 0);
|
|
14313
|
+
__decorate([
|
|
14314
|
+
InputBoolean()
|
|
14315
|
+
], AlignWithDirective.prototype, "keepInView", void 0);
|
|
14316
|
+
__decorate([
|
|
14317
|
+
InputBoolean()
|
|
14318
|
+
], AlignWithDirective.prototype, "keepInViewHorizontal", void 0);
|
|
14319
|
+
__decorate([
|
|
14320
|
+
InputBoolean()
|
|
14321
|
+
], AlignWithDirective.prototype, "keepInViewVertical", void 0);
|
|
14322
|
+
__decorate([
|
|
14323
|
+
InputBoolean()
|
|
14324
|
+
], AlignWithDirective.prototype, "alignRight", void 0);
|
|
14325
|
+
__decorate([
|
|
14326
|
+
InputBoolean()
|
|
14327
|
+
], AlignWithDirective.prototype, "noWidthAlign", void 0);
|
|
14328
|
+
__decorate([
|
|
14329
|
+
InputBoolean()
|
|
14330
|
+
], AlignWithDirective.prototype, "ajustableHeight", void 0);
|
|
14331
|
+
|
|
14332
|
+
class ClickOutsideDirective {
|
|
14333
|
+
constructor(elementRef) {
|
|
14334
|
+
this.elementRef = elementRef;
|
|
14335
|
+
this.outsideClick = new EventEmitter();
|
|
14336
|
+
}
|
|
14337
|
+
onClick(event) {
|
|
14338
|
+
if (!this.elementRef.nativeElement.contains(event.target)) {
|
|
14339
|
+
this.outsideClick.emit(event);
|
|
14340
|
+
}
|
|
14341
|
+
}
|
|
14342
|
+
}
|
|
14343
|
+
ClickOutsideDirective.decorators = [
|
|
14344
|
+
{ type: Directive, args: [{
|
|
14345
|
+
selector: '[outsideClick]',
|
|
14346
|
+
},] }
|
|
14347
|
+
];
|
|
14348
|
+
ClickOutsideDirective.ctorParameters = () => [
|
|
14349
|
+
{ type: ElementRef }
|
|
14350
|
+
];
|
|
14351
|
+
ClickOutsideDirective.propDecorators = {
|
|
14352
|
+
outsideClick: [{ type: Output }],
|
|
14353
|
+
onClick: [{ type: HostListener, args: ['document:mousedown', ['$event'],] }]
|
|
14354
|
+
};
|
|
14355
|
+
|
|
14356
|
+
class DirectivesModule {
|
|
14357
|
+
}
|
|
14358
|
+
DirectivesModule.decorators = [
|
|
14359
|
+
{ type: NgModule, args: [{
|
|
14360
|
+
imports: [],
|
|
14361
|
+
declarations: [
|
|
14362
|
+
AbsoluteOverlayTemplateDirective,
|
|
14363
|
+
AlignWithDirective,
|
|
14364
|
+
ClickOutsideDirective
|
|
14365
|
+
],
|
|
14366
|
+
exports: [
|
|
14367
|
+
AbsoluteOverlayTemplateDirective,
|
|
14368
|
+
AlignWithDirective,
|
|
14369
|
+
ClickOutsideDirective
|
|
14370
|
+
]
|
|
14371
|
+
},] }
|
|
14372
|
+
];
|
|
14373
|
+
|
|
14374
|
+
class WorkflowNotificationToggleModule {
|
|
14375
|
+
}
|
|
14376
|
+
WorkflowNotificationToggleModule.decorators = [
|
|
14377
|
+
{ type: NgModule, args: [{
|
|
14378
|
+
imports: [
|
|
14379
|
+
ButtonModule,
|
|
14380
|
+
ClickoutsideModule,
|
|
14381
|
+
LocalizationModule,
|
|
14382
|
+
IconModule,
|
|
14383
|
+
DirectivesModule,
|
|
14384
|
+
CommonModule,
|
|
14385
|
+
OverlayModule
|
|
14386
|
+
],
|
|
14387
|
+
declarations: [
|
|
14388
|
+
WorkflowNotificationToggleComponent,
|
|
14389
|
+
WorkflowNotificationTogglePopupComponent
|
|
14390
|
+
],
|
|
14391
|
+
exports: [
|
|
14392
|
+
WorkflowNotificationToggleComponent,
|
|
14393
|
+
WorkflowNotificationTogglePopupComponent
|
|
14394
|
+
],
|
|
14395
|
+
providers: [
|
|
14396
|
+
OverlayService
|
|
14397
|
+
]
|
|
14398
|
+
},] }
|
|
14399
|
+
];
|
|
14400
|
+
|
|
14401
|
+
class PeriodFilterPopupComponent {
|
|
14402
|
+
constructor(element) {
|
|
14403
|
+
this.element = element;
|
|
14404
|
+
this.possibleFilters = [];
|
|
14405
|
+
this.closePopup = new EventEmitter();
|
|
14406
|
+
this.filterClicked = new EventEmitter();
|
|
14407
|
+
}
|
|
14408
|
+
showClass() {
|
|
14409
|
+
return true;
|
|
14410
|
+
}
|
|
14411
|
+
ngOnDestroy() {
|
|
14412
|
+
this.element = undefined;
|
|
14413
|
+
}
|
|
14414
|
+
}
|
|
14415
|
+
PeriodFilterPopupComponent.decorators = [
|
|
14416
|
+
{ type: Component, args: [{
|
|
14417
|
+
selector: "co-period-filter-popup",
|
|
14418
|
+
template: `
|
|
14419
|
+
<div class="dropdown" id="period_filter_dropdown_template" [overlay]="parentForOverlay"
|
|
14420
|
+
@showFilterItems
|
|
14421
|
+
[alignWith]="element"
|
|
14422
|
+
[alignTopOffsetPx]="40"
|
|
14423
|
+
[class.showing]="true"
|
|
14424
|
+
[enableAlign]="true"
|
|
14425
|
+
[clickOutside]="true"
|
|
14426
|
+
(clickOutside)="closePopup.emit()"
|
|
14427
|
+
keepInView noWidthAlign alignRight>
|
|
14428
|
+
<div class="label" [textContent]="'PERIOD_SELECTION' | localize"></div>
|
|
14429
|
+
<div class="filter-item" *ngFor="let filter of possibleFilters" (click)="filterClicked.emit(filter)">
|
|
14430
|
+
<span class="item" [textContent]="filter | localize"></span>
|
|
14431
|
+
</div>
|
|
14432
|
+
</div>`,
|
|
14433
|
+
encapsulation: ViewEncapsulation.None,
|
|
14434
|
+
animations: [
|
|
14435
|
+
trigger("showFilterItems", [
|
|
14436
|
+
state("void", style({ "height": "0" })),
|
|
14437
|
+
state("*", style({ "height": "*" })),
|
|
14438
|
+
transition("void <=> *", animate(200)) //NOSONAR
|
|
14439
|
+
])
|
|
14440
|
+
]
|
|
14441
|
+
},] }
|
|
14442
|
+
];
|
|
14443
|
+
PeriodFilterPopupComponent.ctorParameters = () => [
|
|
14444
|
+
{ type: ElementRef }
|
|
14445
|
+
];
|
|
14446
|
+
PeriodFilterPopupComponent.propDecorators = {
|
|
14447
|
+
showClass: [{ type: HostBinding, args: ["class.co-period-filter-popup",] }],
|
|
14448
|
+
possibleFilters: [{ type: Input }],
|
|
14449
|
+
parentForOverlay: [{ type: Input }],
|
|
14450
|
+
closePopup: [{ type: Output }],
|
|
14451
|
+
filterClicked: [{ type: Output }]
|
|
14452
|
+
};
|
|
14453
|
+
|
|
14454
|
+
class PeriodFilterComponent {
|
|
14455
|
+
constructor(element, iconService, _overlayService) {
|
|
14456
|
+
this.element = element;
|
|
14457
|
+
this.iconService = iconService;
|
|
14458
|
+
this._overlayService = _overlayService;
|
|
14459
|
+
this.icon = Icon;
|
|
14460
|
+
this.possibleFilters = [
|
|
14461
|
+
Period.All,
|
|
14462
|
+
Period.Today,
|
|
14463
|
+
Period.ThisWeek,
|
|
14464
|
+
Period.ThisMonth,
|
|
14465
|
+
Period.NextThreeMonths
|
|
14466
|
+
];
|
|
14467
|
+
this.showPopup = false;
|
|
14468
|
+
this.filterClicked = new EventEmitter();
|
|
14469
|
+
this.currentFilter = this.possibleFilters[0];
|
|
14470
|
+
}
|
|
14471
|
+
showClass() {
|
|
14472
|
+
return true;
|
|
14473
|
+
}
|
|
14474
|
+
handleClick() {
|
|
14475
|
+
this.showFilterItems();
|
|
14476
|
+
}
|
|
14477
|
+
ngOnDestroy() {
|
|
14478
|
+
this.element = undefined;
|
|
14479
|
+
}
|
|
14480
|
+
showFilterItems() {
|
|
14481
|
+
this.showPopup = true;
|
|
14482
|
+
this._periodPopupRef = this._overlayService.createComponent(PeriodFilterPopupComponent, { parentForOverlay: this.element, possibleFilters: this.possibleFilters }, {
|
|
14483
|
+
closePopup: () => this.closePopup(),
|
|
14484
|
+
filterClicked: (string) => this.onFilterClick(string),
|
|
14485
|
+
});
|
|
14486
|
+
}
|
|
14487
|
+
closePopup() {
|
|
14488
|
+
this.showPopup = false;
|
|
14489
|
+
this._overlayService.removeComponent(this._periodPopupRef);
|
|
14490
|
+
}
|
|
14491
|
+
onFilterClick(filter) {
|
|
14492
|
+
this.currentFilter = filter;
|
|
14493
|
+
this._emitFilterClicked();
|
|
14494
|
+
this.closePopup();
|
|
14495
|
+
}
|
|
14496
|
+
_emitFilterClicked() {
|
|
14497
|
+
let from, to;
|
|
14498
|
+
switch (this.currentFilter) {
|
|
14499
|
+
case Period.Today:
|
|
14500
|
+
from = new Date();
|
|
14501
|
+
to = new Date();
|
|
14502
|
+
break;
|
|
14503
|
+
case Period.ThisWeek:
|
|
14504
|
+
from = DateUtils.GetFirstDayOfWeek(new Date());
|
|
14505
|
+
to = DateUtils.GetLastDayOfWeek(new Date());
|
|
14506
|
+
break;
|
|
14507
|
+
case Period.ThisMonth:
|
|
14508
|
+
from = DateUtils.GetFirstDayOfMonth(new Date());
|
|
14509
|
+
to = DateUtils.GetLastDayOfMonth(new Date());
|
|
14510
|
+
break;
|
|
14511
|
+
case Period.NextThreeMonths:
|
|
14512
|
+
from = DateUtils.GetFirstDayOfMonth(new Date());
|
|
14513
|
+
to = DateUtils.GetLastDayOfMonth(new Date());
|
|
14514
|
+
to.setMonth(to.getMonth() + 3); //NOSONAR
|
|
14515
|
+
break;
|
|
14516
|
+
}
|
|
14517
|
+
this.filterClicked.next({ from, to });
|
|
14518
|
+
}
|
|
14519
|
+
}
|
|
14520
|
+
PeriodFilterComponent.decorators = [
|
|
14521
|
+
{ type: Component, args: [{
|
|
14522
|
+
selector: "co-period-filter",
|
|
14523
|
+
template: `
|
|
14524
|
+
<div class="current-filter" [textContent]="currentFilter | localize"></div>
|
|
14525
|
+
<co-icon [iconData]="iconService.getIcon(showPopup ? icon.ArrowPointUp : icon.ArrowPointDown)"></co-icon>
|
|
14526
|
+
`,
|
|
14527
|
+
animations: [
|
|
14528
|
+
trigger("showFilterItems", [
|
|
14529
|
+
state("void", style({ "height": "0" })),
|
|
14530
|
+
state("*", style({ "height": "*" })),
|
|
14531
|
+
transition("void <=> *", animate(200)) //NOSONAR
|
|
14532
|
+
])
|
|
14533
|
+
],
|
|
14534
|
+
encapsulation: ViewEncapsulation.None
|
|
14535
|
+
},] }
|
|
14536
|
+
];
|
|
14537
|
+
PeriodFilterComponent.ctorParameters = () => [
|
|
14538
|
+
{ type: ElementRef },
|
|
14539
|
+
{ type: IconCacheService },
|
|
14540
|
+
{ type: OverlayService }
|
|
14541
|
+
];
|
|
14542
|
+
PeriodFilterComponent.propDecorators = {
|
|
14543
|
+
showPopup: [{ type: HostBinding, args: ["class.expanded",] }],
|
|
14544
|
+
showClass: [{ type: HostBinding, args: ["class.co-period-filter",] }],
|
|
14545
|
+
handleClick: [{ type: HostListener, args: ["click",] }],
|
|
14546
|
+
filterClicked: [{ type: Output }]
|
|
14547
|
+
};
|
|
14548
|
+
|
|
14549
|
+
class PeriodFilterModule {
|
|
14550
|
+
}
|
|
14551
|
+
PeriodFilterModule.decorators = [
|
|
14552
|
+
{ type: NgModule, args: [{
|
|
14553
|
+
imports: [
|
|
14554
|
+
LocalizationModule,
|
|
14555
|
+
IconModule,
|
|
14556
|
+
CommonModule,
|
|
14557
|
+
LocalizationModule,
|
|
14558
|
+
ClickoutsideModule,
|
|
14559
|
+
DirectivesModule,
|
|
14560
|
+
OverlayModule
|
|
14561
|
+
],
|
|
14562
|
+
declarations: [
|
|
14563
|
+
PeriodFilterComponent,
|
|
14564
|
+
PeriodFilterPopupComponent
|
|
14565
|
+
],
|
|
14566
|
+
exports: [
|
|
14567
|
+
PeriodFilterComponent,
|
|
14568
|
+
PeriodFilterPopupComponent
|
|
14569
|
+
],
|
|
14570
|
+
providers: [
|
|
14571
|
+
OverlayService
|
|
14572
|
+
]
|
|
14573
|
+
},] }
|
|
14574
|
+
];
|
|
14575
|
+
|
|
14576
|
+
class ActivityListHeaderModule {
|
|
14577
|
+
}
|
|
14578
|
+
ActivityListHeaderModule.decorators = [
|
|
14579
|
+
{ type: NgModule, args: [{
|
|
14580
|
+
imports: [
|
|
14581
|
+
LocalizationModule,
|
|
14582
|
+
InputTextModule,
|
|
14583
|
+
ButtonModule,
|
|
14584
|
+
WorkflowNotificationToggleModule,
|
|
14585
|
+
PeriodFilterModule,
|
|
14586
|
+
CommonModule
|
|
14587
|
+
],
|
|
14588
|
+
declarations: [
|
|
14589
|
+
ActivityListHeaderComponent
|
|
14590
|
+
],
|
|
14591
|
+
exports: [
|
|
14592
|
+
ActivityListHeaderComponent
|
|
14593
|
+
],
|
|
14594
|
+
},] }
|
|
14595
|
+
];
|
|
14596
|
+
|
|
14597
|
+
class ComponentActivityListModule {
|
|
14598
|
+
}
|
|
14599
|
+
ComponentActivityListModule.decorators = [
|
|
14600
|
+
{ type: NgModule, args: [{
|
|
14601
|
+
imports: [
|
|
14602
|
+
LocalizationModule,
|
|
14603
|
+
CommonModule,
|
|
14604
|
+
ButtonModule,
|
|
14605
|
+
CollapsibleModule,
|
|
14606
|
+
PersonalActivityOverviewModule,
|
|
14607
|
+
ComponentActivityOverviewModule,
|
|
14608
|
+
ActivityListHeaderModule
|
|
14609
|
+
],
|
|
14610
|
+
declarations: [
|
|
14611
|
+
ComponentActivityListComponent
|
|
14612
|
+
],
|
|
14613
|
+
exports: [
|
|
14614
|
+
ComponentActivityListComponent
|
|
14615
|
+
]
|
|
14616
|
+
},] }
|
|
14617
|
+
];
|
|
14618
|
+
|
|
14619
|
+
class WorkflowInfoTilesComponent {
|
|
14620
|
+
constructor(iconCacheService, sharedService) {
|
|
14621
|
+
this.iconCacheService = iconCacheService;
|
|
14622
|
+
this.sharedService = sharedService;
|
|
14623
|
+
this.Icon = Icon;
|
|
14624
|
+
this.icons = Icon;
|
|
14625
|
+
this.workflowProcessInfoPerStatusClicked = new EventEmitter();
|
|
14626
|
+
}
|
|
14627
|
+
set workflowCategory(value) {
|
|
14628
|
+
this._workflowCategory = value;
|
|
14629
|
+
this.getWorkflowProcessInfoPerStatusCollection();
|
|
14630
|
+
}
|
|
14631
|
+
showClass() {
|
|
14632
|
+
return true;
|
|
14633
|
+
}
|
|
14634
|
+
ngOnInit() {
|
|
14635
|
+
this.getWorkflowProcessInfoPerStatusCollection();
|
|
14636
|
+
}
|
|
14637
|
+
workflowProcessInfoPerStatusClickedHandler(status) {
|
|
14638
|
+
this.workflowProcessInfoPerStatusClicked.emit(status.statusName);
|
|
14639
|
+
}
|
|
14640
|
+
getWorkflowProcessInfoPerStatusCollection() {
|
|
14641
|
+
if (this._workflowCategory) {
|
|
14642
|
+
this.sharedService.getWorkflowProcessInfoPerStatus(this._workflowCategory).then((result) => {
|
|
14643
|
+
this.WorkflowProcessInfoPerStatusCollection = result;
|
|
14644
|
+
});
|
|
14645
|
+
}
|
|
14646
|
+
}
|
|
14647
|
+
}
|
|
14648
|
+
WorkflowInfoTilesComponent.decorators = [
|
|
14649
|
+
{ type: Component, args: [{
|
|
14650
|
+
selector: "co-workflow-info-tiles",
|
|
14651
|
+
template: `
|
|
14652
|
+
<div class="tile-row">
|
|
14653
|
+
<co-workflow-info-tile *ngFor="let workflowProcessInfoPerStatus of WorkflowProcessInfoPerStatusCollection" [workflowProcessInfoPerStatus]="workflowProcessInfoPerStatus"
|
|
14654
|
+
(click)="workflowProcessInfoPerStatusClickedHandler(workflowProcessInfoPerStatus)"></co-workflow-info-tile>
|
|
14655
|
+
</div>
|
|
14656
|
+
`,
|
|
14657
|
+
encapsulation: ViewEncapsulation.None
|
|
14658
|
+
},] }
|
|
14659
|
+
];
|
|
14660
|
+
WorkflowInfoTilesComponent.ctorParameters = () => [
|
|
14661
|
+
{ type: IconCacheService },
|
|
14662
|
+
{ type: SharedService }
|
|
14663
|
+
];
|
|
14664
|
+
WorkflowInfoTilesComponent.propDecorators = {
|
|
14665
|
+
workflowCategory: [{ type: Input }],
|
|
14666
|
+
workflowProcessInfoPerStatusClicked: [{ type: Output }],
|
|
14667
|
+
showClass: [{ type: HostBinding, args: ["class.co-workflow-info-tiles",] }]
|
|
14668
|
+
};
|
|
14669
|
+
|
|
14670
|
+
class WorkflowInfoTileComponent {
|
|
14671
|
+
constructor(iconCacheService, colorService) {
|
|
14672
|
+
this.iconCacheService = iconCacheService;
|
|
14673
|
+
this.colorService = colorService;
|
|
14674
|
+
this.Icon = Icon;
|
|
14675
|
+
}
|
|
14676
|
+
showClass() {
|
|
14677
|
+
return true;
|
|
14678
|
+
}
|
|
14679
|
+
ngOnInit() {
|
|
14680
|
+
this.backgroundColor = this.colorService.GetRandomColorWithSettings([0, 360], [90, 100], [40, 95], [1, 1]);
|
|
14681
|
+
}
|
|
14682
|
+
}
|
|
14683
|
+
WorkflowInfoTileComponent.decorators = [
|
|
14684
|
+
{ type: Component, args: [{
|
|
14685
|
+
selector: "co-workflow-info-tile",
|
|
14686
|
+
template: `
|
|
14687
|
+
<div class="top">
|
|
14688
|
+
<div class="tile-row">
|
|
14689
|
+
<label class="status-text" [textContent]="'STATUS' | localize"></label>
|
|
14690
|
+
<co-icon class="corner-icon" [iconData]="iconCacheService.getIcon(Icon.DetailView)" ></co-icon>
|
|
14691
|
+
</div>
|
|
14692
|
+
<label class="name-text" [textContent]="workflowProcessInfoPerStatus.statusName"></label>
|
|
14693
|
+
</div>
|
|
14694
|
+
<div class="bottom">
|
|
14695
|
+
<label class="name-text" [textContent]="workflowProcessInfoPerStatus.workflowProcessCount"></label>
|
|
14696
|
+
</div>
|
|
14697
|
+
`,
|
|
14698
|
+
encapsulation: ViewEncapsulation.None
|
|
14699
|
+
},] }
|
|
14700
|
+
];
|
|
14701
|
+
WorkflowInfoTileComponent.ctorParameters = () => [
|
|
14702
|
+
{ type: IconCacheService },
|
|
14703
|
+
{ type: ColorSequenceService }
|
|
14704
|
+
];
|
|
14705
|
+
WorkflowInfoTileComponent.propDecorators = {
|
|
14706
|
+
workflowProcessInfoPerStatus: [{ type: Input }],
|
|
14707
|
+
showClass: [{ type: HostBinding, args: ["class.co-workflow-info-tile",] }],
|
|
14708
|
+
backgroundColor: [{ type: HostBinding, args: ["style.background-color",] }]
|
|
14709
|
+
};
|
|
14710
|
+
|
|
14711
|
+
class WorkflowInfoTileModule {
|
|
14712
|
+
}
|
|
14713
|
+
WorkflowInfoTileModule.decorators = [
|
|
14714
|
+
{ type: NgModule, args: [{
|
|
14715
|
+
imports: [
|
|
14716
|
+
LocalizationModule,
|
|
14717
|
+
IconModule
|
|
14718
|
+
],
|
|
14719
|
+
declarations: [
|
|
14720
|
+
WorkflowInfoTileComponent
|
|
14721
|
+
],
|
|
14722
|
+
exports: [
|
|
14723
|
+
WorkflowInfoTileComponent
|
|
14724
|
+
],
|
|
14725
|
+
providers: []
|
|
14726
|
+
},] }
|
|
14727
|
+
];
|
|
14728
|
+
|
|
14729
|
+
class WorkflowInfoTilesModule {
|
|
14730
|
+
}
|
|
14731
|
+
WorkflowInfoTilesModule.decorators = [
|
|
14732
|
+
{ type: NgModule, args: [{
|
|
14733
|
+
imports: [
|
|
14734
|
+
WorkflowInfoTileModule,
|
|
14735
|
+
CommonModule
|
|
14736
|
+
],
|
|
14737
|
+
declarations: [
|
|
14738
|
+
WorkflowInfoTilesComponent
|
|
14739
|
+
],
|
|
14740
|
+
exports: [
|
|
14741
|
+
WorkflowInfoTilesComponent
|
|
14742
|
+
],
|
|
14743
|
+
providers: []
|
|
14744
|
+
},] }
|
|
14745
|
+
];
|
|
14746
|
+
|
|
10931
14747
|
/*
|
|
10932
14748
|
* Public API Surface of sharedcomponents
|
|
10933
14749
|
*/
|
|
@@ -10936,5 +14752,5 @@ ActivityListModule.decorators = [
|
|
|
10936
14752
|
* Generated bundle index. Do not edit.
|
|
10937
14753
|
*/
|
|
10938
14754
|
|
|
10939
|
-
export { ActivityListComponent, ActivityListModule, AgendaEvent, AgendaEventPerDay, CalendarView, CoLinearGaugeComponent, CoLinearGaugeModule, DatePlanningComponent, DatePlanningModule, DocsignComponent, DocsignModule, FilesUploadComponent, FilesUploadModule, KeyPadComponent, KeyPadModule, LayoutSwitcherComponent, LayoutSwitcherModule, SendMethodDialogComponent, SendMethodDialogModule, SharedService, SimpleTagsComponent, SimpleTagsModule, StatusbarComponent, StatusbarModule, StockComponent, StockModule, Translation, sendMethodsWithIcon, SignatureComponent as ɵa, SignaturesComponent as ɵb, LocalizationModule as ɵba, LocalizePipe as ɵbb, StockInformationComponent as ɵbc, StockInformationGridComponent as ɵbd, StockTransferComponent as ɵbe, StockChangeAmountComponent as ɵbf, StockTabComponent as ɵbg, OrderTabComponent as ɵbh, StockTabsComponent as ɵbi, StockHistoryTabsComponent as ɵbj, OrderStockTabComponent as ɵbk, StockLocationComponent as ɵbl, StockHistoryComponent as ɵbm, OrderSupplyStockHistoryComponent as ɵbn, OrderCommissionStockHistoryComponent as ɵbo, OrderStockHistoryComponent as ɵbp, AllocationStockHistoryComponent as ɵbq, StockPrognoseComponent as ɵbr, StockLocationPopupComponent as ɵbs, SendMethod as ɵbt, Icon as ɵbu, CalendarAllYearsComponent as ɵbv, CalendarAllMonthsComponent as ɵbw, CalendarHeaderComponent as ɵbx, CalendarComponent as ɵby, CalendarViewComponent as ɵbz, StockService as ɵc, LanguageCode as ɵca, AgendaHeaderComponent as ɵcb, AgendaViewComponent as ɵcc, AgendaMonthViewComponent as ɵcd, AgendaBaseViewComponent as ɵce, AgendaDayViewComponent as ɵcf, AgendaWeekViewComponent as ɵcg, AgendaWeekSelectViewComponent as ɵch, AgendaHourViewComponent as ɵci, AgendaHourCellComponent as ɵcj, AgendaHourViewLabelsComponent as ɵck, AgendaHalfHourCellComponent as ɵcl, AgendaEventsComponent as ɵcm, AgendaEventComponent as ɵcn, ViewSelectComponent as ɵco, AgendaSelectEventComponent as ɵcp, MASTER_PIPES as ɵcq, ArrayNumberPipe as ɵcr, UCfirstPipe as ɵcs, FileTypeImagePipe as ɵct, BaseFileUploadComponent as ɵcu, InputBoolean as ɵcv, ImageDisplayModule as ɵcw, ImageDisplayComponent as ɵcx, FileUploadModule as ɵcy, TileRenderModule as ɵcz, SharedConnectorService as ɵd, TileRenderComponent as ɵda, FileUploadComponent as ɵdb, FileUploadPopupModule as ɵdc, MultiplePropertyTogglerModule as ɵdd, MultiplePropertyTogglerComponent as ɵde, FileUploadPopupComponent as ɵdf, AppFileDropzoneModule as ɵdg, AppFileDropzoneComponent as ɵdh, DragDropContainerComponent as ɵdi, DragDropService as ɵdj, OptionsService as ɵe, DictionaryService as ɵf, LocalizeService as ɵg, IconCacheService as ɵh, SendMethodService as ɵi, SendMethodEmailModule as ɵj, LayoutSelectionModule as ɵk, LayoutSelectionComponent as ɵl, SignatureButtonModule as ɵm, SignatureButtonComponent as ɵn, SendMethodEmailComponent as ɵo, SendMethodPrinterModule as ɵp, PrinterSelectionModule as ɵq, PrinterSelectionComponent as ɵr, SendMethodPrinterComponent as ɵs, SendMethodPdfModule as ɵt, SendMethodPdfComponent as ɵu, TabBarModule as ɵv, TabBarComponent as ɵw, StatusbarPopupComponent as ɵx, StockStatusbarModule as ɵy, StockStatusbarComponent as ɵz };
|
|
14755
|
+
export { ActivityListComponent, ActivityListModule, AgendaEvent, AgendaEventPerDay, CalendarView, CoLinearGaugeComponent, CoLinearGaugeModule, ComponentActivityListComponent, ComponentActivityListModule, DatePlanningComponent, DatePlanningModule, DocsignComponent, DocsignModule, FilesUploadComponent, FilesUploadModule, KeyPadComponent, KeyPadModule, LayoutSwitcherComponent, LayoutSwitcherModule, SendMethodDialogComponent, SendMethodDialogModule, SharedService, SimpleTagsComponent, SimpleTagsFormComponent, SimpleTagsFormModule, SimpleTagsModule, StatusbarComponent, StatusbarModule, StockComponent, StockModule, Translation, WorkflowInfoTilesComponent, WorkflowInfoTilesModule, sendMethodsWithIcon, SignatureComponent as ɵa, SignaturesComponent as ɵb, LocalizationModule as ɵba, LocalizePipe as ɵbb, StockInformationComponent as ɵbc, StockInformationGridComponent as ɵbd, StockTransferComponent as ɵbe, StockChangeAmountComponent as ɵbf, StockTabComponent as ɵbg, OrderTabComponent as ɵbh, StockTabsComponent as ɵbi, StockHistoryTabsComponent as ɵbj, OrderStockTabComponent as ɵbk, StockLocationComponent as ɵbl, StockHistoryComponent as ɵbm, OrderSupplyStockHistoryComponent as ɵbn, OrderCommissionStockHistoryComponent as ɵbo, OrderStockHistoryComponent as ɵbp, AllocationStockHistoryComponent as ɵbq, StockPrognoseComponent as ɵbr, StockLocationPopupComponent as ɵbs, SendMethod as ɵbt, Icon as ɵbu, CalendarAllYearsComponent as ɵbv, CalendarAllMonthsComponent as ɵbw, CalendarHeaderComponent as ɵbx, CalendarComponent as ɵby, CalendarViewComponent as ɵbz, StockService as ɵc, LanguageCode as ɵca, AgendaHeaderComponent as ɵcb, AgendaViewComponent as ɵcc, AgendaMonthViewComponent as ɵcd, AgendaBaseViewComponent as ɵce, AgendaDayViewComponent as ɵcf, AgendaWeekViewComponent as ɵcg, AgendaWeekSelectViewComponent as ɵch, AgendaHourViewComponent as ɵci, AgendaHourCellComponent as ɵcj, AgendaHourViewLabelsComponent as ɵck, AgendaHalfHourCellComponent as ɵcl, AgendaEventsComponent as ɵcm, AgendaEventComponent as ɵcn, ViewSelectComponent as ɵco, AgendaSelectEventComponent as ɵcp, MASTER_PIPES as ɵcq, ArrayNumberPipe as ɵcr, UCfirstPipe as ɵcs, FileTypeImagePipe as ɵct, BaseFileUploadComponent as ɵcu, InputBoolean as ɵcv, ImageDisplayModule as ɵcw, ImageDisplayComponent as ɵcx, FileUploadModule as ɵcy, TileRenderModule as ɵcz, SharedConnectorService as ɵd, TileRenderComponent as ɵda, FileUploadComponent as ɵdb, FileUploadPopupModule as ɵdc, MultiplePropertyTogglerModule as ɵdd, MultiplePropertyTogglerComponent as ɵde, FileUploadPopupComponent as ɵdf, AppFileDropzoneModule as ɵdg, AppFileDropzoneComponent as ɵdh, DragDropContainerComponent as ɵdi, DragDropService as ɵdj, BaseActivityListComponent as ɵdk, PersonalActivityOverviewComponent as ɵdl, BaseActivityOverviewComponent as ɵdm, TaskModifierComponent as ɵdn, ModifyTaskFormComponent as ɵdo, PersonalActivityOverviewModule as ɵdp, ComponentActivityOverviewModule as ɵdq, TaskModifyerModule as ɵdr, ModifyTaskFormModule as ɵds, TaskDetailsModule as ɵdt, TaskDetailsComponent as ɵdu, BaseActivitySummaryComponent as ɵdv, ExecutiveSummaryBlockModule as ɵdw, ActivitySummaryBlockModule as ɵdx, ActivitySummaryBlockComponent as ɵdy, ExecutiveSummaryBlockComponent as ɵdz, OptionsService as ɵe, StatusSummaryBlockModule as ɵea, StatusSummaryBlockComponent as ɵeb, CreationSummaryBlockModule as ɵec, CreationSummaryBlockComponent as ɵed, NotificationSummaryBlockModule as ɵee, NotificationSummaryBlockComponent as ɵef, ComponentActivityOverviewComponent as ɵeg, ActivityListHeaderModule as ɵeh, WorkflowNotificationToggleModule as ɵei, DirectivesModule as ɵej, AbsoluteOverlayTemplateDirective as ɵek, AppAbsoluteOverlayOutletService as ɵel, AlignWithDirective as ɵem, ClickOutsideDirective as ɵen, WorkflowNotificationToggleComponent as ɵeo, WorkflowNotificationTogglePopupComponent as ɵep, PeriodFilterModule as ɵeq, PeriodFilterComponent as ɵer, PeriodFilterPopupComponent as ɵes, ActivityListHeaderComponent as ɵet, WorkflowInfoTileModule as ɵeu, WorkflowInfoTileComponent as ɵev, DictionaryService as ɵf, LocalizeService as ɵg, IconCacheService as ɵh, SendMethodService as ɵi, SendMethodEmailModule as ɵj, LayoutSelectionModule as ɵk, LayoutSelectionComponent as ɵl, SignatureButtonModule as ɵm, SignatureButtonComponent as ɵn, SendMethodEmailComponent as ɵo, SendMethodPrinterModule as ɵp, PrinterSelectionModule as ɵq, PrinterSelectionComponent as ɵr, SendMethodPrinterComponent as ɵs, SendMethodPdfModule as ɵt, SendMethodPdfComponent as ɵu, TabBarModule as ɵv, TabBarComponent as ɵw, StatusbarPopupComponent as ɵx, StockStatusbarModule as ɵy, StockStatusbarComponent as ɵz };
|
|
10940
14756
|
//# sourceMappingURL=colijnit-sharedcomponents.js.map
|