@colijnit/transaction 12.1.111 → 12.1.113
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-transaction.umd.js +276 -281
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +78 -78
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +79 -79
- package/esm2015/lib/component/checkout/checkout.component.js +13 -10
- package/esm2015/lib/component/core/base/transaction-base.component.js +33 -33
- package/esm2015/lib/component/core/core.module.js +15 -15
- package/esm2015/lib/component/core/relation/customer-groups.component.js +23 -5
- package/esm2015/lib/component/relation/relation-address/relation-address.component.js +23 -3
- package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +7 -7
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +7 -7
- package/esm2015/lib/component/transaction-card/transaction-card-invoice/transaction-card-invoice.component.js +3 -3
- package/esm2015/lib/component/transaction-card/transaction-card-order-delivery/transaction-card-order-delivery.component.js +3 -3
- package/esm2015/lib/component/transaction-card/transaction-card-receive-goods/transaction-card-receive-goods.component.js +3 -3
- package/esm2015/lib/component/transaction-date-select/transaction-date-select.component.js +35 -0
- package/esm2015/lib/component/transaction-date-select/transaction-date-select.module.js +21 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-price-kind.component.js +1 -1
- package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +1 -1
- package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.js +4 -4
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +6 -6
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +2 -1
- package/esm2015/lib/component/transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.component.js +3 -2
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +3 -3
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.js +2 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +2 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.js +33 -12
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.js +4 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.module.js +4 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.js +2 -2
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +2 -2
- package/esm2015/lib/enum/icon.enum.js +2 -1
- package/esm2015/lib/model/icon-svg.js +3 -2
- package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +186 -193
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/checkout/style/_layout.scss +2 -0
- package/lib/component/checkout/style/_material-definition.scss +1 -0
- package/lib/component/core/relation/customer-groups.component.d.ts +9 -4
- package/lib/component/relation/relation-address/relation-address.component.d.ts +6 -1
- package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +8 -8
- package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +5 -5
- package/lib/component/transaction-card/transaction-card/style/_layout.scss +14 -9
- package/lib/component/transaction-card/transaction-card-invoice/transaction-card-invoice.component.d.ts +2 -2
- package/lib/component/transaction-card/transaction-card-order-delivery/transaction-card-order-delivery.component.d.ts +2 -2
- package/lib/component/transaction-card/transaction-card-receive-goods/transaction-card-receive-goods.component.d.ts +2 -2
- package/lib/component/transaction-date-select/style/_layout.scss +22 -0
- package/lib/component/transaction-date-select/style/_material-definition.scss +4 -0
- package/lib/component/transaction-date-select/style/_theme.scss +12 -0
- package/lib/component/transaction-date-select/style/material.scss +4 -0
- package/lib/component/transaction-date-select/transaction-date-select.component.d.ts +11 -0
- package/lib/component/transaction-date-select/transaction-date-select.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +2 -1
- package/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.d.ts +3 -3
- package/lib/component/transaction-line/transaction-line/style/_layout.scss +25 -12
- package/lib/component/transaction-line/transaction-purchase-order-line/style/_layout.scss +6 -6
- package/lib/component/transaction-line-action-buttons/style/_layout.scss +1 -0
- package/lib/component/transaction-line-action-buttons/style/_material-definition.scss +4 -2
- package/lib/component/transaction-line-action-buttons/style/_theme.scss +3 -0
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +1 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.d.ts +18 -6
- package/lib/component/transaction-line-purchase-receive-goods/style/_layout.scss +4 -4
- package/lib/enum/icon.enum.d.ts +1 -0
- package/lib/res/dictionary/dictionaries.d.ts +2 -0
- package/package.json +1 -1
- package/esm2015/lib/component/core/directive/overlay.directive.js +0 -106
- package/esm2015/lib/component/core/directive/overlay.module.js +0 -17
- package/lib/component/core/directive/overlay.directive.d.ts +0 -18
- package/lib/component/core/directive/overlay.module.d.ts +0 -2
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
flex-basis: $tp-checkout-default-width;
|
|
14
14
|
flex-grow: 1;
|
|
15
15
|
flex-shrink: 1;
|
|
16
|
+
max-width: $tp-checkout-max-width;
|
|
16
17
|
}
|
|
17
18
|
.co-checkout-right-panel {
|
|
18
19
|
display: flex;
|
|
@@ -21,6 +22,7 @@
|
|
|
21
22
|
flex-basis: $tp-checkout-right-panel-width;
|
|
22
23
|
flex-grow: 1;
|
|
23
24
|
flex-shrink: 1;
|
|
25
|
+
max-width: $tp-checkout-max-width;
|
|
24
26
|
}
|
|
25
27
|
.co-checkout-right-panel-relation {
|
|
26
28
|
display: flex;
|
|
@@ -3,6 +3,7 @@ $tp-checkout-padding: 30px !default;
|
|
|
3
3
|
$tp-checkout-column-gap: 10px !default;
|
|
4
4
|
$tp-checkout-row-gap: 10px !default;
|
|
5
5
|
$tp-checkout-default-width: 55% !default;
|
|
6
|
+
$tp-checkout-max-width: 80% !default;
|
|
6
7
|
$tp-checkout-right-panel-row-gap: 10px !default;
|
|
7
8
|
$tp-checkout-right-panel-width: 400px !default;
|
|
8
9
|
$tp-checkout-right-panel-width: 50% !default;
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from
|
|
2
|
-
import { TransactionConnectorService } from
|
|
3
|
-
import { CustomerGroup } from
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { TransactionConnectorService } from '../../../service/transaction-connector.service';
|
|
3
|
+
import { CustomerGroup } from '@colijnit/transactionapi/build/model/customer-group.bo';
|
|
4
4
|
export declare class CustomerGroupsComponent implements OnInit {
|
|
5
5
|
private _connector;
|
|
6
6
|
readonly: boolean;
|
|
7
7
|
required: boolean;
|
|
8
|
-
model: string;
|
|
8
|
+
set model(value: string);
|
|
9
|
+
get model(): string;
|
|
9
10
|
modelChange: EventEmitter<string>;
|
|
10
11
|
customerGroups: CustomerGroup[];
|
|
12
|
+
selectedCustomerGroup: CustomerGroup;
|
|
11
13
|
fields: Object;
|
|
14
|
+
private _model;
|
|
12
15
|
constructor(_connector: TransactionConnectorService);
|
|
13
16
|
ngOnInit(): Promise<void>;
|
|
17
|
+
handleCustomerGroupChange(customerGroup: CustomerGroup): void;
|
|
18
|
+
private _setSelectedCustomerGroup;
|
|
14
19
|
}
|
|
@@ -9,17 +9,22 @@ export declare class RelationAddressComponent extends RelationBaseComponent impl
|
|
|
9
9
|
private _dictionary;
|
|
10
10
|
private _connector;
|
|
11
11
|
private _formMasterService;
|
|
12
|
-
address: Address;
|
|
12
|
+
set address(value: Address);
|
|
13
|
+
get address(): Address;
|
|
13
14
|
label: string;
|
|
14
15
|
addressChange: EventEmitter<Address>;
|
|
15
16
|
showClass(): boolean;
|
|
16
17
|
countries: Country[];
|
|
17
18
|
fields: Object;
|
|
19
|
+
countryModel: Country;
|
|
18
20
|
postalCodeCheckErrorMessage: string;
|
|
19
21
|
private _prevPostalCodeForCheck;
|
|
20
22
|
private _prevHouseNoForCheck;
|
|
23
|
+
private _address;
|
|
21
24
|
constructor(_dictionary: DictionaryService, _connector: TransactionConnectorService, _formMasterService: FormMasterService);
|
|
22
25
|
ngOnInit(): Promise<void>;
|
|
23
26
|
checkForPostalCodeCheckError(): Promise<void>;
|
|
24
27
|
changeHouseNo(): void;
|
|
28
|
+
handleCountryChange(country: Country): void;
|
|
29
|
+
private _setSelectedAddress;
|
|
25
30
|
}
|
package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from
|
|
2
|
-
import { Icon } from
|
|
3
|
-
import { DictionaryService } from
|
|
4
|
-
import { IconCacheService } from
|
|
5
|
-
import { TransactionService } from
|
|
6
|
-
import { TransactionLineInfo } from
|
|
7
|
-
import { StandardText } from
|
|
8
|
-
import { TransactionAddTextLineRequest } from
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { Icon } from '../../../enum/icon.enum';
|
|
3
|
+
import { DictionaryService } from '../../../service/dictionary.service';
|
|
4
|
+
import { IconCacheService } from '../../../service/icon-cache.service';
|
|
5
|
+
import { TransactionService } from '../../../service/transaction.service';
|
|
6
|
+
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
|
|
7
|
+
import { StandardText } from '../../../model/standard-text';
|
|
8
|
+
import { TransactionAddTextLineRequest } from '@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo';
|
|
9
9
|
export declare class TransactionArticleTextComponent implements OnInit {
|
|
10
10
|
transactionService: TransactionService;
|
|
11
11
|
iconCacheService: IconCacheService;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { EventEmitter } from
|
|
2
|
-
import { TransactionEventService } from
|
|
3
|
-
import { TransactionService } from
|
|
4
|
-
import { TransactionLineInfo } from
|
|
5
|
-
import { CdkDrag, CdkDragDrop, CdkDropList } from
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { TransactionEventService } from '../../../service/transaction-event.service';
|
|
3
|
+
import { TransactionService } from '../../../service/transaction.service';
|
|
4
|
+
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
|
|
5
|
+
import { CdkDrag, CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';
|
|
6
6
|
export declare class TransactionArticleTextOverviewComponent {
|
|
7
7
|
service: TransactionService;
|
|
8
8
|
private _transactionEventService;
|
|
@@ -72,7 +72,12 @@
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
.transaction-line-totals-
|
|
75
|
+
.transaction-line-totals-amount {
|
|
76
|
+
.amount-number-picker {
|
|
77
|
+
height: 100%;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
.transaction-line-totals-price, .transaction-line-totals-discount, .transaction-line-totals-total {
|
|
76
81
|
display: flex;
|
|
77
82
|
align-items: center;
|
|
78
83
|
justify-content: center;
|
|
@@ -93,14 +98,14 @@
|
|
|
93
98
|
.price {
|
|
94
99
|
font-weight: $tp-transaction-line-price-font-weight;
|
|
95
100
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
101
|
+
//.amount-number-picker {
|
|
102
|
+
// border: none;
|
|
103
|
+
//
|
|
104
|
+
// .co-button {
|
|
105
|
+
// height: 18px;
|
|
106
|
+
// width: 20px;
|
|
107
|
+
// }
|
|
108
|
+
//}
|
|
104
109
|
.fully-delivered {
|
|
105
110
|
border-color: $tp-transaction-delivery-line-delivered-secondary-color;
|
|
106
111
|
background-color: $tp-transaction-delivery-line-delivered-primary-color;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TransactionInvoiceLineBaseComponent } from
|
|
2
|
-
import { TransactionLineInfo } from
|
|
1
|
+
import { TransactionInvoiceLineBaseComponent } from '../../transaction-line/transaction-invoice-line/transaction-invoice-line-base.component';
|
|
2
|
+
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
|
|
3
3
|
export declare class TransactionCardInvoiceComponent extends TransactionInvoiceLineBaseComponent {
|
|
4
4
|
showClass(): boolean;
|
|
5
5
|
handleShowSidePanel(line: TransactionLineInfo): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TransactionOrderDeliveryLineBaseComponent } from
|
|
2
|
-
import { TransactionLineInfo } from
|
|
1
|
+
import { TransactionOrderDeliveryLineBaseComponent } from '../../transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component';
|
|
2
|
+
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
|
|
3
3
|
export declare class TransactionCardOrderDeliveryComponent extends TransactionOrderDeliveryLineBaseComponent {
|
|
4
4
|
showClass(): boolean;
|
|
5
5
|
handleShowSidePanel(line: TransactionLineInfo): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TransactionReceiveGoodsLineBaseComponent } from
|
|
2
|
-
import { TransactionLineInfo } from
|
|
1
|
+
import { TransactionReceiveGoodsLineBaseComponent } from '../../transaction-line/transaction-receive-goods-line/transaction-receive-goods-line-base.component';
|
|
2
|
+
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
|
|
3
3
|
export declare class TransactionCardReceiveGoodsComponent extends TransactionReceiveGoodsLineBaseComponent {
|
|
4
4
|
showClass(): boolean;
|
|
5
5
|
handleShowSidePanel(line: TransactionLineInfo): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
@include export-module('co-transaction-date-select-layout') {
|
|
2
|
+
.co-transaction-date-select {
|
|
3
|
+
font-family: $tp-transaction-date-select-font-family;
|
|
4
|
+
font-size: $tp-transaction-date-select-font-size;
|
|
5
|
+
width: 100%;
|
|
6
|
+
.transaction-date-select-wrapper {
|
|
7
|
+
width: 100%;
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
justify-content: space-between;
|
|
11
|
+
.co-icon {
|
|
12
|
+
height: $tp-transaction-date-select-icon-size;
|
|
13
|
+
width: $tp-transaction-date-select-icon-size;
|
|
14
|
+
}
|
|
15
|
+
.date-description {
|
|
16
|
+
text-overflow: ellipsis;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
white-space: nowrap;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
@include export-module('co-transaction-date-select-theme') {
|
|
2
|
+
.co-transaction-date-select {
|
|
3
|
+
.co-icon {
|
|
4
|
+
svg { // for fontawesome icons
|
|
5
|
+
fill: $tp-transaction-date-select-icon-color;
|
|
6
|
+
}
|
|
7
|
+
& [fill] { // for own icons
|
|
8
|
+
fill: $tp-transaction-date-select-icon-color;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { IconCacheService } from '../../service/icon-cache.service';
|
|
3
|
+
import { Icon } from '../../enum/icon.enum';
|
|
4
|
+
export declare class TransactionDateSelectComponent {
|
|
5
|
+
iconService: IconCacheService;
|
|
6
|
+
readonly icons: typeof Icon;
|
|
7
|
+
date: Date;
|
|
8
|
+
dateChange: EventEmitter<Date>;
|
|
9
|
+
showClass(): boolean;
|
|
10
|
+
constructor(iconService: IconCacheService);
|
|
11
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { OnDestroy, OnInit } from
|
|
2
|
-
import { TransactionBaseComponent } from
|
|
3
|
-
import { TransactionTypeCategory } from
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { TransactionBaseComponent } from '../../core/base/transaction-base.component';
|
|
3
|
+
import { TransactionTypeCategory } from '../../../enum/transaction-type-category.enum';
|
|
4
4
|
export declare abstract class TransactionInvoiceLineBaseComponent extends TransactionBaseComponent implements OnInit, OnDestroy {
|
|
5
5
|
readonly category: typeof TransactionTypeCategory;
|
|
6
6
|
private _subscriptions;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
.co-transaction-line {
|
|
3
3
|
font-family: $tp-transaction-line-font-family;
|
|
4
4
|
font-size: $tp-transaction-line-font-size;
|
|
5
|
-
width:
|
|
5
|
+
width: 100%;
|
|
6
6
|
display: flex;
|
|
7
7
|
flex-direction: column;
|
|
8
8
|
border: $tp-transaction-line-border;
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
display: flex;
|
|
48
48
|
flex-wrap: wrap;
|
|
49
49
|
align-content: flex-start;
|
|
50
|
+
row-gap: $tp-transaction-line-row-gap;
|
|
50
51
|
co-transaction-line-commission-button {
|
|
51
52
|
margin-right: $tp-transaction-line-column-gap;
|
|
52
53
|
}
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
.column2 {
|
|
55
56
|
display: flex;
|
|
56
57
|
flex-direction: column;
|
|
58
|
+
row-gap: $tp-transaction-line-row-gap;
|
|
57
59
|
margin-right: $tp-transaction-line-column-gap;
|
|
58
60
|
max-width: $tp-transaction-line-button-big-width;
|
|
59
61
|
}
|
|
@@ -78,15 +80,20 @@
|
|
|
78
80
|
co-transaction-line-delivery-date-button {
|
|
79
81
|
//max-width: calc((#{$tp-transaction-line-button-width} * 2) + #{$tp-transaction-line-column-gap});
|
|
80
82
|
.transaction-line-button {
|
|
81
|
-
align-items:
|
|
83
|
+
align-items: center;
|
|
82
84
|
}
|
|
83
85
|
}
|
|
84
86
|
.co-statusbar-wrapper {
|
|
85
87
|
height: $tp-transaction-line-button-height;
|
|
86
|
-
align-items:
|
|
88
|
+
align-items: center;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
.transaction-line-totals-amount {
|
|
92
|
+
.amount-number-picker {
|
|
93
|
+
height: 100%;
|
|
87
94
|
}
|
|
88
95
|
}
|
|
89
|
-
.transaction-line-totals-price, .transaction-line-totals-discount, .transaction-line-totals-
|
|
96
|
+
.transaction-line-totals-price, .transaction-line-totals-discount, .transaction-line-totals-total {
|
|
90
97
|
display: flex;
|
|
91
98
|
align-items: center;
|
|
92
99
|
justify-content: $tp-transaction-line-totals-justify-content;
|
|
@@ -104,14 +111,14 @@
|
|
|
104
111
|
.price {
|
|
105
112
|
font-weight: $tp-transaction-line-price-font-weight;
|
|
106
113
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
114
|
+
//.amount-number-picker {
|
|
115
|
+
// border: none;
|
|
116
|
+
//
|
|
117
|
+
// .co-button {
|
|
118
|
+
// height: 18px;
|
|
119
|
+
// width: 20px;
|
|
120
|
+
// }
|
|
121
|
+
//}
|
|
115
122
|
.fully-delivered {
|
|
116
123
|
border-color: $tp-transaction-delivery-line-delivered-secondary-color;
|
|
117
124
|
background-color: $tp-transaction-delivery-line-delivered-primary-color;
|
|
@@ -225,5 +232,11 @@
|
|
|
225
232
|
column-gap: $tp-transaction-line-column-gap;
|
|
226
233
|
}
|
|
227
234
|
}
|
|
235
|
+
&.preview {
|
|
236
|
+
.transaction-line-totals {
|
|
237
|
+
grid-template-rows: $tp-transaction-line-button-height;
|
|
238
|
+
grid-gap: $tp-transaction-line-row-gap;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
228
241
|
}
|
|
229
242
|
}
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
height: 20px;
|
|
50
50
|
margin: 2px;
|
|
51
51
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
52
|
+
//.amount-number-picker {
|
|
53
|
+
// height: 25px;
|
|
54
|
+
// border: 1px solid black;
|
|
55
|
+
// border-radius: 10px;
|
|
56
|
+
// width: 100px;
|
|
57
|
+
//}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -4,7 +4,7 @@ $tp-transaction-line-action-buttons-font-color: $tp-color-font !default;
|
|
|
4
4
|
$tp-transaction-line-action-buttons-background-color: $tp-default-background-accent !default;
|
|
5
5
|
$tp-transaction-line-action-buttons-popup-background-color: $tp-default-background-accent !default;
|
|
6
6
|
$tp-transaction-line-action-buttons-padding: 10px !default;
|
|
7
|
-
$tp-transaction-line-action-buttons-row-gap:
|
|
7
|
+
$tp-transaction-line-action-buttons-row-gap: 0 !default;
|
|
8
8
|
$tp-transaction-line-action-buttons-border-radius: 10px !default;
|
|
9
9
|
$tp-transaction-line-action-buttons-box-shadow: 0px 0px 3px 0px rgba(1, 1, 1, 0.5) !default;
|
|
10
10
|
$tp-transaction-line-action-buttons-add-text-background-color: $tp-color-action !default;
|
|
@@ -13,10 +13,12 @@ $tp-transaction-line-action-buttons-action-menu-button-size: 26px !default;
|
|
|
13
13
|
$tp-transaction-line-action-buttons-action-menu-button-border-radius: $tp-default-border-radius !default;
|
|
14
14
|
$tp-transaction-line-action-buttons-action-menu-button-icon-size: 18px !default;
|
|
15
15
|
$tp-transaction-line-action-buttons-action-button-size: 30px !default;
|
|
16
|
-
$tp-transaction-line-action-buttons-action-button-border-radius:
|
|
16
|
+
$tp-transaction-line-action-buttons-action-button-border-radius: 10px !default;
|
|
17
|
+
$tp-transaction-line-action-buttons-action-button-padding: 10px !default;
|
|
17
18
|
$tp-transaction-line-action-buttons-action-button-icon-size: 15px !default;
|
|
18
19
|
$tp-transaction-line-action-buttons-action-button-margin: 2px !default;
|
|
19
20
|
$tp-transaction-line-action-buttons-action-button-column-gap: 10px !default;
|
|
20
21
|
$tp-transaction-line-action-buttons-action-button-icon-color: $tp-color-dark !default;
|
|
21
22
|
$tp-transaction-line-action-buttons-action-button-background-color: #030D3C !default;
|
|
22
23
|
$tp-transaction-line-action-buttons-action-button-color: $tp-color-dark !default;
|
|
24
|
+
$tp-transaction-line-action-buttons-action-button-hover-background-color: $tp-color-hover !default;
|
package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class TransactionLineActionButtonsComponent implements OnInit {
|
|
|
27
27
|
readonly: boolean;
|
|
28
28
|
showActionButtons: boolean;
|
|
29
29
|
private _transactionLine;
|
|
30
|
+
private _actionButtonsPopupComponentRef;
|
|
30
31
|
constructor(elementRef: ElementRef, iconCacheService: IconCacheService, _transactionService: TransactionService, _dictionaryService: DictionaryService, _transactionEventService: TransactionEventService, _overlayService: OverlayService);
|
|
31
32
|
ngOnInit(): void;
|
|
32
33
|
handleShowHideClick(): void;
|
package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.d.ts
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
|
|
1
|
+
import { ChangeDetectorRef, ElementRef } from '@angular/core';
|
|
3
2
|
import { IconCacheService } from "../../service/icon-cache.service";
|
|
4
|
-
|
|
3
|
+
import { TransactionBaseComponent } from '../core/base/transaction-base.component';
|
|
4
|
+
import { OverlayService } from '@colijnit/corecomponents_v12';
|
|
5
|
+
import { TransactionEventService } from '../../service/transaction-event.service';
|
|
6
|
+
import { TransactionService } from '../../service/transaction.service';
|
|
7
|
+
import { DictionaryService } from '../../service/dictionary.service';
|
|
8
|
+
import { TransactionImageService } from '../../service/transaction-image.service';
|
|
9
|
+
export declare class TransactionLineDeliveryDateButtonComponent extends TransactionBaseComponent {
|
|
10
|
+
transactionEventService: TransactionEventService;
|
|
11
|
+
service: TransactionService;
|
|
5
12
|
iconCacheService: IconCacheService;
|
|
6
|
-
|
|
7
|
-
|
|
13
|
+
protected dictionaryService: DictionaryService;
|
|
14
|
+
protected imageService: TransactionImageService;
|
|
15
|
+
protected changeDetector: ChangeDetectorRef;
|
|
16
|
+
private _overlayService;
|
|
17
|
+
private _elementRef;
|
|
8
18
|
showClass(): boolean;
|
|
9
|
-
|
|
19
|
+
private _calendarPopupComponentRef;
|
|
20
|
+
constructor(transactionEventService: TransactionEventService, service: TransactionService, iconCacheService: IconCacheService, dictionaryService: DictionaryService, imageService: TransactionImageService, changeDetector: ChangeDetectorRef, _overlayService: OverlayService, _elementRef: ElementRef);
|
|
21
|
+
handleShowDialog(event: MouseEvent): void;
|
|
10
22
|
}
|
package/lib/enum/icon.enum.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ export declare enum Icon {
|
|
|
65
65
|
Purchase = "purchase",
|
|
66
66
|
Resize = "resize",
|
|
67
67
|
ShareSolid = "share_solid",
|
|
68
|
+
SharpLightTruckMovingClock = "sharp_light_truck_moving_clock",
|
|
68
69
|
ShelvesLight = "shelves_light",
|
|
69
70
|
ShelvesRegular = "shelves_regular",
|
|
70
71
|
ShelvesSolid = "shelves_solid",
|
|
@@ -10261,6 +10261,7 @@ export declare class Dictionaries {
|
|
|
10261
10261
|
ARRIVAL_DATE2: string;
|
|
10262
10262
|
ARRIVAL_DATE: string;
|
|
10263
10263
|
ARRIVAL_DATE_OBLIGATION: string;
|
|
10264
|
+
ART_ORDER_LINE: string;
|
|
10264
10265
|
ARTICLE: string;
|
|
10265
10266
|
ARTICLEGROUP: string;
|
|
10266
10267
|
ARTICLENR: string;
|
|
@@ -14145,6 +14146,7 @@ export declare class Dictionaries {
|
|
|
14145
14146
|
ORDER_INFORMATION: string;
|
|
14146
14147
|
ORDER_INFORMATION1: string;
|
|
14147
14148
|
ORDER_KIND: string;
|
|
14149
|
+
ORDER_LINE: string;
|
|
14148
14150
|
ORDER_LINES: string;
|
|
14149
14151
|
ORDER_LINES_ALLOCATED_NOT_FOUND: string;
|
|
14150
14152
|
ORDER_LINES_EXIST: string;
|
package/package.json
CHANGED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, Input } from '@angular/core';
|
|
2
|
-
export class OverlayDirective {
|
|
3
|
-
constructor(elementRef) {
|
|
4
|
-
this.keepInView = false;
|
|
5
|
-
this.inheritWidth = false;
|
|
6
|
-
this.rightAlign = false;
|
|
7
|
-
this.handleScroll = (event) => {
|
|
8
|
-
this._checkAndPlaceElement();
|
|
9
|
-
};
|
|
10
|
-
this._elementRef = elementRef;
|
|
11
|
-
}
|
|
12
|
-
set parent(value) {
|
|
13
|
-
if (value) {
|
|
14
|
-
this._parent = value instanceof ElementRef ? value : value.elementRef;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
if (this._parent) {
|
|
18
|
-
this._resizeObserver.disconnect();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
ngOnDestroy() {
|
|
23
|
-
document.removeEventListener("scroll", this.handleScroll, true);
|
|
24
|
-
this._intersectionObserver.disconnect();
|
|
25
|
-
this._resizeObserver.disconnect();
|
|
26
|
-
this._elementRef = undefined;
|
|
27
|
-
this._parent = undefined;
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
if (!this._elementRef || !this._elementRef.nativeElement) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
document.addEventListener("scroll", this.handleScroll, true);
|
|
34
|
-
this._checkAndPlaceElement();
|
|
35
|
-
this._resizeObserver = new ResizeObserver((entries) => {
|
|
36
|
-
this._checkAndPlaceElement();
|
|
37
|
-
});
|
|
38
|
-
this._intersectionObserver = new IntersectionObserver((entries) => {
|
|
39
|
-
if (entries && entries.length > 0) {
|
|
40
|
-
if (entries[0].isIntersecting === false) {
|
|
41
|
-
this._elementRef.nativeElement.style.opacity = 0; // hide cause parent is not visible
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this._elementRef.nativeElement.style.opacity = 1;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}, {
|
|
48
|
-
root: null
|
|
49
|
-
});
|
|
50
|
-
this._intersectionObserver.observe(this._parent.nativeElement); // observe parent for visibility
|
|
51
|
-
this._resizeObserver.observe(document.body);
|
|
52
|
-
}
|
|
53
|
-
_checkAndPlaceElement() {
|
|
54
|
-
if (this._elementRef && this._elementRef.nativeElement && this._parent && this._parent.nativeElement) {
|
|
55
|
-
const elementRect = this._elementRef.nativeElement.getBoundingClientRect();
|
|
56
|
-
const parentRect = this._parent.nativeElement.getBoundingClientRect();
|
|
57
|
-
this._placeElement(window.innerHeight, window.innerWidth, parentRect, elementRect);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
_placeElement(bottom, right, parentRect, elementRect) {
|
|
61
|
-
if (bottom < parentRect.bottom + elementRect.height) { // make sure it fits at the bottom
|
|
62
|
-
this._elementRef.nativeElement.style.top = (parentRect.top - elementRect.height) + "px";
|
|
63
|
-
this._elementRef.nativeElement.classList.add('top');
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
this._elementRef.nativeElement.classList.remove('top');
|
|
67
|
-
this._elementRef.nativeElement.style.top = parentRect.bottom + "px";
|
|
68
|
-
}
|
|
69
|
-
if (this.inheritWidth) {
|
|
70
|
-
this._elementRef.nativeElement.style.width = parentRect.width + "px";
|
|
71
|
-
}
|
|
72
|
-
if (this.rightAlign) {
|
|
73
|
-
this._elementRef.nativeElement.style.left = (parentRect.right - elementRect.width) + "px";
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this._elementRef.nativeElement.style.left = parentRect.left + "px";
|
|
77
|
-
}
|
|
78
|
-
if (this.keepInView) {
|
|
79
|
-
if (elementRect.right > window.innerWidth) {
|
|
80
|
-
//see if we can move it to the left
|
|
81
|
-
if ((window.innerWidth - elementRect.width) > 0) {
|
|
82
|
-
this._elementRef.nativeElement.style.left = (window.innerWidth - elementRect.width) + "px";
|
|
83
|
-
}
|
|
84
|
-
else { //resize so it fits into view
|
|
85
|
-
this._elementRef.nativeElement.style.width = window.innerWidth + "px";
|
|
86
|
-
this._elementRef.nativeElement.style.left = 0;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
OverlayDirective.decorators = [
|
|
93
|
-
{ type: Directive, args: [{
|
|
94
|
-
selector: "[overlay]"
|
|
95
|
-
},] }
|
|
96
|
-
];
|
|
97
|
-
OverlayDirective.ctorParameters = () => [
|
|
98
|
-
{ type: ElementRef }
|
|
99
|
-
];
|
|
100
|
-
OverlayDirective.propDecorators = {
|
|
101
|
-
parent: [{ type: Input, args: ["overlay",] }],
|
|
102
|
-
keepInView: [{ type: Input }],
|
|
103
|
-
inheritWidth: [{ type: Input }],
|
|
104
|
-
rightAlign: [{ type: Input }]
|
|
105
|
-
};
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb3JlL2RpcmVjdGl2ZS9vdmVybGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBZ0IsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQU01RixNQUFNLE9BQU8sZ0JBQWdCO0lBMkIzQixZQUNJLFVBQXNCO1FBZG5CLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHOUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQWlENUIsaUJBQVksR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQTtRQXpDQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBN0JELElBQ1csTUFBTSxDQUFDLEtBQTBDO1FBQzFELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7U0FDdkU7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQXNCTSxXQUFXO1FBQ2hCLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVB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O2dCQUNULFFBQVEsRUFBRSxXQUFXO2FBQ3RCOzs7WUFMa0IsVUFBVTs7O3FCQVExQixLQUFLLFNBQUMsU0FBUzt5QkFXZixLQUFLOzJCQUdMLEtBQUs7eUJBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7T3ZlcmxheVBhcmVudERpcmVjdGl2ZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMi9saWIvZGlyZWN0aXZlcy9vdmVybGF5L292ZXJsYXktcGFyZW50LmRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogXCJbb3ZlcmxheV1cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3ZlcmxheURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KFwib3ZlcmxheVwiKVxyXG4gIHB1YmxpYyBzZXQgcGFyZW50KHZhbHVlOiBPdmVybGF5UGFyZW50RGlyZWN0aXZlIHwgRWxlbWVudFJlZikge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3BhcmVudCA9IHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudFJlZiA/IHZhbHVlIDogdmFsdWUuZWxlbWVudFJlZjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLl9wYXJlbnQpIHtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGtlZXBJblZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5oZXJpdFdpZHRoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJpZ2h0QWxpZ246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjtcclxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XHJcbiAgcHJpdmF0ZSBfaW50ZXJzZWN0aW9uT2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyO1xyXG4gIHByaXZhdGUgX3BhcmVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHRoaXMuX2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLmhhbmRsZVNjcm9sbCwgdHJ1ZSk7XHJcbiAgICB0aGlzLl9pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB0aGlzLl9lbGVtZW50UmVmID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fcGFyZW50ID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYgfHwgIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuaGFuZGxlU2Nyb2xsLCB0cnVlKTtcclxuICAgIHRoaXMuX2NoZWNrQW5kUGxhY2VFbGVtZW50KCk7XHJcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihcclxuICAgICAgICAoZW50cmllcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fY2hlY2tBbmRQbGFjZUVsZW1lbnQoKTtcclxuICAgICAgICB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5faW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXHJcbiAgICAgICAgKGVudHJpZXM6IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlbXSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVudHJpZXMgJiYgZW50cmllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGlmIChlbnRyaWVzWzBdLmlzSW50ZXJzZWN0aW5nID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5vcGFjaXR5ID0gMDsgLy8gaGlkZSBjYXVzZSBwYXJlbnQgaXMgbm90IHZpc2libGVcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3BhY2l0eSA9IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICByb290OiBudWxsXHJcbiAgICAgICAgfVxyXG4gICAgKTtcclxuICAgIHRoaXMuX2ludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5fcGFyZW50Lm5hdGl2ZUVsZW1lbnQpOyAvLyBvYnNlcnZlIHBhcmVudCBmb3IgdmlzaWJpbGl0eVxyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTY3JvbGwgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICB0aGlzLl9jaGVja0FuZFBsYWNlRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hlY2tBbmRQbGFjZUVsZW1lbnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZWxlbWVudFJlZiAmJiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5fcGFyZW50ICYmIHRoaXMuX3BhcmVudC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRSZWN0OiBDbGllbnRSZWN0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCBwYXJlbnRSZWN0OiBDbGllbnRSZWN0ID0gdGhpcy5fcGFyZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIHRoaXMuX3BsYWNlRWxlbWVudCh3aW5kb3cuaW5uZXJIZWlnaHQsIHdpbmRvdy5pbm5lcldpZHRoLCBwYXJlbnRSZWN0LCBlbGVtZW50UmVjdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wbGFjZUVsZW1lbnQoYm90dG9tOiBudW1iZXIsIHJpZ2h0OiBudW1iZXIsIHBhcmVudFJlY3Q6IENsaWVudFJlY3QsIGVsZW1lbnRSZWN0OiBDbGllbnRSZWN0KTogdm9pZCB7XHJcbiAgICBpZiAoYm90dG9tIDwgcGFyZW50UmVjdC5ib3R0b20gKyBlbGVtZW50UmVjdC5oZWlnaHQpIHsgLy8gbWFrZSBzdXJlIGl0IGZpdHMgYXQgdGhlIGJvdHRvbVxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gKHBhcmVudFJlY3QudG9wIC0gZWxlbWVudFJlY3QuaGVpZ2h0KSArIFwicHhcIjtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3RvcCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3RvcCcpO1xyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gcGFyZW50UmVjdC5ib3R0b20gKyBcInB4XCI7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbmhlcml0V2lkdGgpIHtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gcGFyZW50UmVjdC53aWR0aCArIFwicHhcIjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJpZ2h0QWxpZ24pIHtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSAocGFyZW50UmVjdC5yaWdodCAtIGVsZW1lbnRSZWN0LndpZHRoKSArIFwicHhcIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gcGFyZW50UmVjdC5sZWZ0ICsgXCJweFwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMua2VlcEluVmlldykge1xyXG4gICAgICBpZiAoZWxlbWVudFJlY3QucmlnaHQgPiB3aW5kb3cuaW5uZXJXaWR0aCkge1xyXG4gICAgICAgIC8vc2VlIGlmIHdlIGNhbiBtb3ZlIGl0IHRvIHRoZSBsZWZ0XHJcbiAgICAgICAgaWYgKCh3aW5kb3cuaW5uZXJXaWR0aCAtIGVsZW1lbnRSZWN0LndpZHRoKSA+IDApIHtcclxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gKHdpbmRvdy5pbm5lcldpZHRoIC0gZWxlbWVudFJlY3Qud2lkdGgpICsgXCJweFwiO1xyXG4gICAgICAgIH0gZWxzZSB7IC8vcmVzaXplIHNvIGl0IGZpdHMgaW50byB2aWV3XHJcbiAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCArIFwicHhcIjtcclxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|