@colijnit/relation 12.1.7 → 253.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-relation.umd.js +4648 -4649
- package/bundles/colijnit-relation.umd.js.map +1 -1
- package/colijnit-relation.d.ts +21 -21
- package/colijnit-relation.metadata.json +1 -1
- package/esm2015/colijnit-relation.js +21 -21
- package/esm2015/lib/component/base/relation-base.component.js +52 -53
- package/esm2015/lib/component/base/relation-loader.component.js +50 -50
- package/esm2015/lib/component/base/relation-screen-config-base.component.js +16 -16
- package/esm2015/lib/component/relation/relation.component.js +100 -100
- package/esm2015/lib/component/relation/relation.module.js +58 -58
- package/esm2015/lib/component/relation-address/relation-address.component.js +166 -166
- package/esm2015/lib/component/relation-address/relation-address.module.js +24 -24
- package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +72 -72
- package/esm2015/lib/component/relation-address-tile/relation-address-tile.module.js +25 -25
- package/esm2015/lib/component/relation-addresses/relation-addresses.component.js +158 -158
- package/esm2015/lib/component/relation-addresses/relation-addresses.module.js +31 -31
- package/esm2015/lib/component/relation-avatar/relation-avatar.component.js +222 -222
- package/esm2015/lib/component/relation-avatar/relation-avatar.module.js +22 -22
- package/esm2015/lib/component/relation-contact-options/relation-contact-option-list.component.js +101 -101
- package/esm2015/lib/component/relation-contact-options/relation-contact-option.component.js +100 -100
- package/esm2015/lib/component/relation-contact-options/relation-contact-options-other-types-popup.component.js +44 -44
- package/esm2015/lib/component/relation-contact-options/relation-contact-options.component.js +156 -170
- package/esm2015/lib/component/relation-contact-options/relation-contact-options.module.js +34 -35
- package/esm2015/lib/component/relation-first-name/relation-first-name.component.js +25 -25
- package/esm2015/lib/component/relation-first-name/relation-first-name.module.js +24 -24
- package/esm2015/lib/component/relation-gender/relation-gender.component.js +45 -45
- package/esm2015/lib/component/relation-gender/relation-gender.module.js +23 -23
- package/esm2015/lib/component/relation-initials/relation-initials.component.js +24 -24
- package/esm2015/lib/component/relation-initials/relation-initials.module.js +24 -24
- package/esm2015/lib/component/relation-language/relation-language.component.js +56 -56
- package/esm2015/lib/component/relation-language/relation-language.module.js +24 -24
- package/esm2015/lib/component/relation-last-name/relation-last-name.component.js +23 -23
- package/esm2015/lib/component/relation-last-name/relation-last-name.module.js +24 -24
- package/esm2015/lib/component/relation-preferences/relation-preferences.component.js +69 -69
- package/esm2015/lib/component/relation-preferences/relation-preferences.module.js +23 -23
- package/esm2015/lib/component/relation-prefix-name/relation-prefix-name.component.js +24 -24
- package/esm2015/lib/component/relation-prefix-name/relation-prefix-name.module.js +24 -24
- package/esm2015/lib/component/relation-title/relation-title.component.js +56 -56
- package/esm2015/lib/component/relation-title/relation-title.module.js +24 -24
- package/esm2015/lib/enum/icon.enum.js +15 -15
- package/esm2015/lib/enum/language-code.enum.js +8 -8
- package/esm2015/lib/enum/relman-cfg-name.enum.js +862 -862
- package/esm2015/lib/enum/relman-contact-options-cfg-names.js +2 -2
- package/esm2015/lib/enum/relman-sub-category.enum.js +13 -13
- package/esm2015/lib/interface/relation-address-cfg-names.interface.js +2 -2
- package/esm2015/lib/model/icon-svg.js +14 -14
- package/esm2015/lib/model/relation-settings-options.js +7 -7
- package/esm2015/lib/model/relation-settings.js +9 -9
- package/esm2015/lib/relation-version.js +10 -10
- package/esm2015/lib/res/dictionary/dictionaries.js +8 -8
- package/esm2015/lib/service/dictionary.service.js +68 -68
- package/esm2015/lib/service/error.service.js +75 -75
- package/esm2015/lib/service/icon-cache.service.js +51 -51
- package/esm2015/lib/service/relation-base.service.js +268 -268
- package/esm2015/lib/service/relation-connector-adapter.service.js +401 -401
- package/esm2015/lib/service/relation-connector.service.js +155 -155
- package/esm2015/lib/service/relation-event.service.js +16 -16
- package/esm2015/lib/service/relation-screen-configuration.service.js +51 -51
- package/esm2015/lib/service/relation-settings.service.js +65 -65
- package/esm2015/lib/service/relation.service.js +42 -42
- package/esm2015/lib/translation/relation-dictionary.service.js +77 -77
- package/esm2015/lib/translation/relation-localize.pipe.js +26 -26
- package/esm2015/lib/translation/relation-translation.module.js +29 -29
- package/esm2015/lib/translation/relation-translation.service.js +17 -17
- package/esm2015/public_api.js +33 -33
- package/fesm2015/colijnit-relation.js +3823 -3839
- package/fesm2015/colijnit-relation.js.map +1 -1
- package/lib/component/base/relation-base.component.d.ts +24 -24
- package/lib/component/base/relation-loader.component.d.ts +12 -12
- package/lib/component/base/relation-screen-config-base.component.d.ts +14 -14
- package/lib/component/relation/relation.component.d.ts +21 -21
- package/lib/component/relation/relation.module.d.ts +2 -2
- package/lib/component/relation/style/_layout.scss +46 -46
- package/lib/component/relation/style/_material-definition.scss +15 -15
- package/lib/component/relation/style/_theme.scss +12 -12
- package/lib/component/relation/style/material.scss +4 -4
- package/lib/component/relation-address/relation-address.component.d.ts +35 -35
- package/lib/component/relation-address/relation-address.module.d.ts +2 -2
- package/lib/component/relation-address/style/_layout.scss +16 -16
- package/lib/component/relation-address/style/_material-definition.scss +5 -5
- package/lib/component/relation-address/style/_theme.scss +5 -5
- package/lib/component/relation-address/style/material.scss +4 -4
- package/lib/component/relation-address-tile/relation-address-tile.component.d.ts +19 -19
- package/lib/component/relation-address-tile/relation-address-tile.module.d.ts +2 -2
- package/lib/component/relation-address-tile/style/_layout.scss +46 -46
- package/lib/component/relation-address-tile/style/_material-definition.scss +18 -18
- package/lib/component/relation-address-tile/style/_theme.scss +19 -19
- package/lib/component/relation-address-tile/style/material.scss +4 -4
- package/lib/component/relation-addresses/relation-addresses.component.d.ts +31 -31
- package/lib/component/relation-addresses/relation-addresses.module.d.ts +2 -2
- package/lib/component/relation-addresses/style/_layout.scss +26 -26
- package/lib/component/relation-addresses/style/_material-definition.scss +12 -12
- package/lib/component/relation-addresses/style/_theme.scss +20 -20
- package/lib/component/relation-addresses/style/material.scss +4 -4
- package/lib/component/relation-avatar/relation-avatar.component.d.ts +47 -47
- package/lib/component/relation-avatar/relation-avatar.module.d.ts +2 -2
- package/lib/component/relation-avatar/style/_layout.scss +44 -44
- package/lib/component/relation-avatar/style/_material-definition.scss +4 -4
- package/lib/component/relation-avatar/style/_theme.scss +9 -9
- package/lib/component/relation-avatar/style/material.scss +4 -4
- package/lib/component/relation-contact-options/relation-contact-option-list.component.d.ts +22 -22
- package/lib/component/relation-contact-options/relation-contact-option.component.d.ts +30 -30
- package/lib/component/relation-contact-options/relation-contact-options-other-types-popup.component.d.ts +22 -22
- package/lib/component/relation-contact-options/relation-contact-options.component.d.ts +40 -43
- package/lib/component/relation-contact-options/relation-contact-options.module.d.ts +2 -2
- package/lib/component/relation-contact-options/style/_layout.scss +113 -153
- package/lib/component/relation-contact-options/style/_material-definition.scss +35 -47
- package/lib/component/relation-contact-options/style/_theme.scss +48 -64
- package/lib/component/relation-contact-options/style/material.scss +4 -4
- package/lib/component/relation-first-name/relation-first-name.component.d.ts +4 -4
- package/lib/component/relation-first-name/relation-first-name.module.d.ts +2 -2
- package/lib/component/relation-first-name/style/_layout.scss +9 -9
- package/lib/component/relation-first-name/style/_material-definition.scss +3 -3
- package/lib/component/relation-first-name/style/_theme.scss +5 -5
- package/lib/component/relation-first-name/style/material.scss +4 -4
- package/lib/component/relation-gender/relation-gender.component.d.ts +7 -7
- package/lib/component/relation-gender/relation-gender.module.d.ts +2 -2
- package/lib/component/relation-gender/style/_layout.scss +8 -8
- package/lib/component/relation-gender/style/_material-definition.scss +4 -4
- package/lib/component/relation-gender/style/_theme.scss +5 -5
- package/lib/component/relation-gender/style/material.scss +4 -4
- package/lib/component/relation-initials/relation-initials.component.d.ts +4 -4
- package/lib/component/relation-initials/relation-initials.module.d.ts +2 -2
- package/lib/component/relation-initials/style/_layout.scss +9 -9
- package/lib/component/relation-initials/style/_material-definition.scss +3 -3
- package/lib/component/relation-initials/style/_theme.scss +5 -5
- package/lib/component/relation-initials/style/material.scss +4 -4
- package/lib/component/relation-language/relation-language.component.d.ts +12 -12
- package/lib/component/relation-language/relation-language.module.d.ts +2 -2
- package/lib/component/relation-language/style/_layout.scss +9 -9
- package/lib/component/relation-language/style/_material-definition.scss +3 -3
- package/lib/component/relation-language/style/_theme.scss +5 -5
- package/lib/component/relation-language/style/material.scss +4 -4
- package/lib/component/relation-last-name/relation-last-name.component.d.ts +4 -4
- package/lib/component/relation-last-name/relation-last-name.module.d.ts +2 -2
- package/lib/component/relation-last-name/style/_layout.scss +9 -9
- package/lib/component/relation-last-name/style/_material-definition.scss +3 -3
- package/lib/component/relation-last-name/style/_theme.scss +5 -5
- package/lib/component/relation-last-name/style/material.scss +4 -4
- package/lib/component/relation-preferences/relation-preferences.component.d.ts +13 -13
- package/lib/component/relation-preferences/relation-preferences.module.d.ts +2 -2
- package/lib/component/relation-preferences/style/_layout.scss +16 -16
- package/lib/component/relation-preferences/style/_material-definition.scss +8 -8
- package/lib/component/relation-preferences/style/_theme.scss +5 -5
- package/lib/component/relation-preferences/style/material.scss +4 -4
- package/lib/component/relation-prefix-name/relation-prefix-name.component.d.ts +4 -4
- package/lib/component/relation-prefix-name/relation-prefix-name.module.d.ts +2 -2
- package/lib/component/relation-prefix-name/style/_layout.scss +9 -9
- package/lib/component/relation-prefix-name/style/_material-definition.scss +3 -3
- package/lib/component/relation-prefix-name/style/_theme.scss +5 -5
- package/lib/component/relation-prefix-name/style/material.scss +4 -4
- package/lib/component/relation-title/relation-title.component.d.ts +13 -13
- package/lib/component/relation-title/relation-title.module.d.ts +2 -2
- package/lib/component/relation-title/style/_layout.scss +9 -9
- package/lib/component/relation-title/style/_material-definition.scss +3 -3
- package/lib/component/relation-title/style/_theme.scss +5 -5
- package/lib/component/relation-title/style/material.scss +4 -4
- package/lib/enum/icon.enum.d.ts +14 -14
- package/lib/enum/language-code.enum.d.ts +6 -6
- package/lib/enum/relman-cfg-name.enum.d.ts +857 -857
- package/lib/enum/relman-contact-options-cfg-names.d.ts +6 -6
- package/lib/enum/relman-sub-category.enum.d.ts +10 -10
- package/lib/interface/relation-address-cfg-names.interface.d.ts +8 -8
- package/lib/model/icon-svg.d.ts +4 -4
- package/lib/model/relation-settings-options.d.ts +4 -4
- package/lib/model/relation-settings.d.ts +5 -5
- package/lib/relation-version.d.ts +6 -6
- package/lib/res/dictionary/dictionaries.d.ts +17184 -17184
- package/lib/service/dictionary.service.d.ts +18 -18
- package/lib/service/error.service.d.ts +11 -11
- package/lib/service/icon-cache.service.d.ts +18 -18
- package/lib/service/relation-base.service.d.ts +64 -64
- package/lib/service/relation-connector-adapter.service.d.ts +66 -66
- package/lib/service/relation-connector.service.d.ts +51 -51
- package/lib/service/relation-event.service.d.ts +6 -6
- package/lib/service/relation-screen-configuration.service.d.ts +13 -13
- package/lib/service/relation-settings.service.d.ts +16 -16
- package/lib/service/relation.service.d.ts +10 -10
- package/lib/style/_mixin.scss +15 -15
- package/lib/style/_variables.scss +15 -15
- package/lib/style/relation-globals.scss +7 -7
- package/lib/translation/relation-dictionary.service.d.ts +19 -19
- package/lib/translation/relation-localize.pipe.d.ts +7 -7
- package/lib/translation/relation-translation.module.d.ts +4 -4
- package/lib/translation/relation-translation.service.d.ts +6 -6
- package/package.json +7 -6
- package/public_api.d.ts +32 -32
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { RelationAvatarComponent } from './relation-avatar.component';
|
|
4
|
-
import { IconModule, ImageModule } from '@colijnit/corecomponents_v12';
|
|
5
|
-
export class RelationAvatarModule {
|
|
6
|
-
}
|
|
7
|
-
RelationAvatarModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [
|
|
10
|
-
CommonModule,
|
|
11
|
-
ImageModule,
|
|
12
|
-
IconModule
|
|
13
|
-
],
|
|
14
|
-
declarations: [
|
|
15
|
-
RelationAvatarComponent
|
|
16
|
-
],
|
|
17
|
-
exports: [
|
|
18
|
-
RelationAvatarComponent
|
|
19
|
-
]
|
|
20
|
-
},] }
|
|
21
|
-
];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { RelationAvatarComponent } from './relation-avatar.component';
|
|
4
|
+
import { IconModule, ImageModule } from '@colijnit/corecomponents_v12';
|
|
5
|
+
export class RelationAvatarModule {
|
|
6
|
+
}
|
|
7
|
+
RelationAvatarModule.decorators = [
|
|
8
|
+
{ type: NgModule, args: [{
|
|
9
|
+
imports: [
|
|
10
|
+
CommonModule,
|
|
11
|
+
ImageModule,
|
|
12
|
+
IconModule
|
|
13
|
+
],
|
|
14
|
+
declarations: [
|
|
15
|
+
RelationAvatarComponent
|
|
16
|
+
],
|
|
17
|
+
exports: [
|
|
18
|
+
RelationAvatarComponent
|
|
19
|
+
]
|
|
20
|
+
},] }
|
|
21
|
+
];
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWF2YXRhci9yZWxhdGlvbi1hdmF0YXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFlckUsTUFBTSxPQUFPLG9CQUFvQjs7O1lBYmhDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtpQkFDeEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtSZWxhdGlvbkF2YXRhckNvbXBvbmVudH0gZnJvbSAnLi9yZWxhdGlvbi1hdmF0YXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtJY29uTW9kdWxlLCBJbWFnZU1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEltYWdlTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBSZWxhdGlvbkF2YXRhckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUmVsYXRpb25BdmF0YXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkF2YXRhck1vZHVsZSB7XHJcbn1cclxuIl19
|
package/esm2015/lib/component/relation-contact-options/relation-contact-option-list.component.js
CHANGED
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { CDK_DRAG_CONFIG, moveItemInArray } from '@angular/cdk/drag-drop';
|
|
4
|
-
const DragConfig = {
|
|
5
|
-
dragStartThreshold: 0,
|
|
6
|
-
pointerDirectionChangeThreshold: 5,
|
|
7
|
-
zIndex: 10000
|
|
8
|
-
};
|
|
9
|
-
const ɵ0 = DragConfig;
|
|
10
|
-
export class RelationContactOptionListComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.dragDropDisabled = false;
|
|
13
|
-
this.collection = [];
|
|
14
|
-
this.deleteClick = new EventEmitter();
|
|
15
|
-
this.showClass = true;
|
|
16
|
-
this.dragStartDelay = 500;
|
|
17
|
-
this.handleCanDragDrop = (drag, drop) => {
|
|
18
|
-
return (drag.data.type === this.type);
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
handleDrop(event) {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
try {
|
|
24
|
-
const from = event.previousIndex;
|
|
25
|
-
const to = event.currentIndex;
|
|
26
|
-
if (from === to) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
// set items in correct order
|
|
30
|
-
moveItemInArray(this.collection, from, to);
|
|
31
|
-
this._reArrangeSequences();
|
|
32
|
-
}
|
|
33
|
-
catch (e) {
|
|
34
|
-
console.error(e);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Hack to make sure that dragged item has the right css when not moving the mouse
|
|
40
|
-
* @param event
|
|
41
|
-
*/
|
|
42
|
-
handleOptionMouseDown(event) {
|
|
43
|
-
clearTimeout(this._mouseDownTimeout);
|
|
44
|
-
this._mouseDownTimeout = setTimeout(() => {
|
|
45
|
-
let mouseMoveEvent;
|
|
46
|
-
if ("createEvent" in document) {
|
|
47
|
-
mouseMoveEvent = document.createEvent("Event");
|
|
48
|
-
mouseMoveEvent.initEvent('mousemove', true, true);
|
|
49
|
-
}
|
|
50
|
-
else if ("Event" in window) {
|
|
51
|
-
mouseMoveEvent = new Event('mousemove', { bubbles: true, cancelable: true });
|
|
52
|
-
}
|
|
53
|
-
// @ts-ignore
|
|
54
|
-
mouseMoveEvent.pageX = event.pageX;
|
|
55
|
-
// @ts-ignore
|
|
56
|
-
mouseMoveEvent.pageY = event.pageY;
|
|
57
|
-
document.dispatchEvent(mouseMoveEvent);
|
|
58
|
-
}, this.dragStartDelay);
|
|
59
|
-
}
|
|
60
|
-
handleOptionMouseUp(event) {
|
|
61
|
-
clearTimeout(this._mouseDownTimeout);
|
|
62
|
-
}
|
|
63
|
-
_reArrangeSequences() {
|
|
64
|
-
for (let i = 0; i < this.collection.length; i++) {
|
|
65
|
-
this.collection[i].sequence = i;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
RelationContactOptionListComponent.decorators = [
|
|
70
|
-
{ type: Component, args: [{
|
|
71
|
-
selector: 'co-relation-contact-option-list',
|
|
72
|
-
template: `
|
|
73
|
-
<div #dropListContactOptions class="contact-option-wrapper drag-drop-list" cdkDropList cdkDropListOrientation="vertical"
|
|
74
|
-
[cdkDropListDisabled]="dragDropDisabled"
|
|
75
|
-
[cdkDropListData]="collection"
|
|
76
|
-
[cdkDropListEnterPredicate]="handleCanDragDrop"
|
|
77
|
-
(cdkDropListDropped)="handleDrop($event)"
|
|
78
|
-
>
|
|
79
|
-
<co-relation-contact-option class="draggable-contact-option" *ngFor="let option of collection" [model]="option"
|
|
80
|
-
cdkDrag [cdkDragStartDelay]="dragStartDelay"
|
|
81
|
-
(mousedown)="handleOptionMouseDown($event)"
|
|
82
|
-
(mouseup)="handleOptionMouseUp($event)"
|
|
83
|
-
(deleteClick)="deleteClick.emit($event)"
|
|
84
|
-
></co-relation-contact-option>
|
|
85
|
-
</div>
|
|
86
|
-
`,
|
|
87
|
-
providers: [
|
|
88
|
-
{ provide: CDK_DRAG_CONFIG, useValue: ɵ0 }
|
|
89
|
-
],
|
|
90
|
-
encapsulation: ViewEncapsulation.None
|
|
91
|
-
},] }
|
|
92
|
-
];
|
|
93
|
-
RelationContactOptionListComponent.propDecorators = {
|
|
94
|
-
dragDropDisabled: [{ type: Input }],
|
|
95
|
-
type: [{ type: Input }],
|
|
96
|
-
collection: [{ type: Input }],
|
|
97
|
-
deleteClick: [{ type: Output }],
|
|
98
|
-
showClass: [{ type: HostBinding, args: ['class.co-relation-contact-option-list',] }]
|
|
99
|
-
};
|
|
100
|
-
export { ɵ0 };
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { CDK_DRAG_CONFIG, moveItemInArray } from '@angular/cdk/drag-drop';
|
|
4
|
+
const DragConfig = {
|
|
5
|
+
dragStartThreshold: 0,
|
|
6
|
+
pointerDirectionChangeThreshold: 5,
|
|
7
|
+
zIndex: 10000
|
|
8
|
+
};
|
|
9
|
+
const ɵ0 = DragConfig;
|
|
10
|
+
export class RelationContactOptionListComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.dragDropDisabled = false;
|
|
13
|
+
this.collection = [];
|
|
14
|
+
this.deleteClick = new EventEmitter();
|
|
15
|
+
this.showClass = true;
|
|
16
|
+
this.dragStartDelay = 500;
|
|
17
|
+
this.handleCanDragDrop = (drag, drop) => {
|
|
18
|
+
return (drag.data.type === this.type);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
handleDrop(event) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
try {
|
|
24
|
+
const from = event.previousIndex;
|
|
25
|
+
const to = event.currentIndex;
|
|
26
|
+
if (from === to) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// set items in correct order
|
|
30
|
+
moveItemInArray(this.collection, from, to);
|
|
31
|
+
this._reArrangeSequences();
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
console.error(e);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Hack to make sure that dragged item has the right css when not moving the mouse
|
|
40
|
+
* @param event
|
|
41
|
+
*/
|
|
42
|
+
handleOptionMouseDown(event) {
|
|
43
|
+
clearTimeout(this._mouseDownTimeout);
|
|
44
|
+
this._mouseDownTimeout = setTimeout(() => {
|
|
45
|
+
let mouseMoveEvent;
|
|
46
|
+
if ("createEvent" in document) {
|
|
47
|
+
mouseMoveEvent = document.createEvent("Event");
|
|
48
|
+
mouseMoveEvent.initEvent('mousemove', true, true);
|
|
49
|
+
}
|
|
50
|
+
else if ("Event" in window) {
|
|
51
|
+
mouseMoveEvent = new Event('mousemove', { bubbles: true, cancelable: true });
|
|
52
|
+
}
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
mouseMoveEvent.pageX = event.pageX;
|
|
55
|
+
// @ts-ignore
|
|
56
|
+
mouseMoveEvent.pageY = event.pageY;
|
|
57
|
+
document.dispatchEvent(mouseMoveEvent);
|
|
58
|
+
}, this.dragStartDelay);
|
|
59
|
+
}
|
|
60
|
+
handleOptionMouseUp(event) {
|
|
61
|
+
clearTimeout(this._mouseDownTimeout);
|
|
62
|
+
}
|
|
63
|
+
_reArrangeSequences() {
|
|
64
|
+
for (let i = 0; i < this.collection.length; i++) {
|
|
65
|
+
this.collection[i].sequence = i;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
RelationContactOptionListComponent.decorators = [
|
|
70
|
+
{ type: Component, args: [{
|
|
71
|
+
selector: 'co-relation-contact-option-list',
|
|
72
|
+
template: `
|
|
73
|
+
<div #dropListContactOptions class="contact-option-wrapper drag-drop-list" cdkDropList cdkDropListOrientation="vertical"
|
|
74
|
+
[cdkDropListDisabled]="dragDropDisabled"
|
|
75
|
+
[cdkDropListData]="collection"
|
|
76
|
+
[cdkDropListEnterPredicate]="handleCanDragDrop"
|
|
77
|
+
(cdkDropListDropped)="handleDrop($event)"
|
|
78
|
+
>
|
|
79
|
+
<co-relation-contact-option class="draggable-contact-option" *ngFor="let option of collection" [model]="option"
|
|
80
|
+
cdkDrag [cdkDragStartDelay]="dragStartDelay"
|
|
81
|
+
(mousedown)="handleOptionMouseDown($event)"
|
|
82
|
+
(mouseup)="handleOptionMouseUp($event)"
|
|
83
|
+
(deleteClick)="deleteClick.emit($event)"
|
|
84
|
+
></co-relation-contact-option>
|
|
85
|
+
</div>
|
|
86
|
+
`,
|
|
87
|
+
providers: [
|
|
88
|
+
{ provide: CDK_DRAG_CONFIG, useValue: ɵ0 }
|
|
89
|
+
],
|
|
90
|
+
encapsulation: ViewEncapsulation.None
|
|
91
|
+
},] }
|
|
92
|
+
];
|
|
93
|
+
RelationContactOptionListComponent.propDecorators = {
|
|
94
|
+
dragDropDisabled: [{ type: Input }],
|
|
95
|
+
type: [{ type: Input }],
|
|
96
|
+
collection: [{ type: Input }],
|
|
97
|
+
deleteClick: [{ type: Output }],
|
|
98
|
+
showClass: [{ type: HostBinding, args: ['class.co-relation-contact-option-list',] }]
|
|
99
|
+
};
|
|
100
|
+
export { ɵ0 };
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZWxhdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMvcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBQyxlQUFlLEVBQXFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTNHLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGtCQUFrQixFQUFFLENBQUM7SUFDckIsK0JBQStCLEVBQUUsQ0FBQztJQUNsQyxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7V0FvQnVDLFVBQVU7QUFJbkQsTUFBTSxPQUFPLGtDQUFrQztJQXRCL0M7UUF3QlMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBTWxDLGVBQVUsR0FBb0IsRUFBRSxDQUFDO1FBR2pDLGdCQUFXLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRzdFLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFMUIsbUJBQWMsR0FBVyxHQUFHLENBQUM7UUFJN0Isc0JBQWlCLEdBQUcsQ0FBQyxJQUFhLEVBQUUsSUFBaUIsRUFBRSxFQUFFO1lBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFBO0lBZ0RILENBQUM7SUE5Q2MsVUFBVSxDQUFDLEtBQW1DOztZQUN6RCxJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFXLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxHQUFXLEtBQUssQ0FBQyxZQUFZLENBQUM7Z0JBQ3RDLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtvQkFDZixPQUFPO2lCQUNSO2dCQUNELDZCQUE2QjtnQkFDN0IsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM1QjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbEI7UUFDSCxDQUFDO0tBQUE7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUM1QyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxjQUFxQixDQUFDO1lBQzFCLElBQUksYUFBYSxJQUFJLFFBQVEsRUFBRTtnQkFDN0IsY0FBYyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNuRDtpQkFBTSxJQUFJLE9BQU8sSUFBSSxNQUFNLEVBQUU7Z0JBQzVCLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzlFO1lBQ0QsYUFBYTtZQUNiLGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNuQyxhQUFhO1lBQ2IsY0FBYyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUI7UUFDMUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7OztZQTNGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxJQUFZLEVBQUM7aUJBQ2pEO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7K0JBRUUsS0FBSzttQkFHTCxLQUFLO3lCQUdMLEtBQUs7MEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsdUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jb250YWN0LW9wdGlvbi5ibyc7XHJcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtDREtfRFJBR19DT05GSUcsIENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5fSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbmNvbnN0IERyYWdDb25maWcgPSB7XHJcbiAgZHJhZ1N0YXJ0VGhyZXNob2xkOiAwLFxyXG4gIHBvaW50ZXJEaXJlY3Rpb25DaGFuZ2VUaHJlc2hvbGQ6IDUsXHJcbiAgekluZGV4OiAxMDAwMFxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2ICNkcm9wTGlzdENvbnRhY3RPcHRpb25zIGNsYXNzPVwiY29udGFjdC1vcHRpb24td3JhcHBlciBkcmFnLWRyb3AtbGlzdFwiIGNka0Ryb3BMaXN0IGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXHJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiZHJhZ0Ryb3BEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJjb2xsZWN0aW9uXCJcclxuICAgICAgICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJoYW5kbGVDYW5EcmFnRHJvcFwiXHJcbiAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJoYW5kbGVEcm9wKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgICA8Y28tcmVsYXRpb24tY29udGFjdC1vcHRpb24gY2xhc3M9XCJkcmFnZ2FibGUtY29udGFjdC1vcHRpb25cIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNvbGxlY3Rpb25cIiBbbW9kZWxdPVwib3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtEcmFnIFtjZGtEcmFnU3RhcnREZWxheV09XCJkcmFnU3RhcnREZWxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJoYW5kbGVPcHRpb25Nb3VzZURvd24oJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImhhbmRsZU9wdGlvbk1vdXNlVXAoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImRlbGV0ZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtwcm92aWRlOiBDREtfRFJBR19DT05GSUcsIHVzZVZhbHVlOiBEcmFnQ29uZmlnfVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVsYXRpb25Db250YWN0T3B0aW9uTGlzdENvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZHJhZ0Ryb3BEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sbGVjdGlvbjogQ29udGFjdE9wdGlvbltdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZWxldGVDbGljazogRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLWxpc3QnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZHJhZ1N0YXJ0RGVsYXk6IG51bWJlciA9IDUwMDtcclxuXHJcbiAgcHJpdmF0ZSBfbW91c2VEb3duVGltZW91dDogYW55O1xyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuRHJhZ0Ryb3AgPSAoZHJhZzogQ2RrRHJhZywgZHJvcDogQ2RrRHJvcExpc3QpID0+IHtcclxuICAgIHJldHVybiAoZHJhZy5kYXRhLnR5cGUgPT09IHRoaXMudHlwZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8Q29udGFjdE9wdGlvbltdPik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZnJvbTogbnVtYmVyID0gZXZlbnQucHJldmlvdXNJbmRleDtcclxuICAgICAgY29uc3QgdG86IG51bWJlciA9IGV2ZW50LmN1cnJlbnRJbmRleDtcclxuICAgICAgaWYgKGZyb20gPT09IHRvKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHNldCBpdGVtcyBpbiBjb3JyZWN0IG9yZGVyXHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbGxlY3Rpb24sIGZyb20sIHRvKTtcclxuICAgICAgdGhpcy5fcmVBcnJhbmdlU2VxdWVuY2VzKCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYWNrIHRvIG1ha2Ugc3VyZSB0aGF0IGRyYWdnZWQgaXRlbSBoYXMgdGhlIHJpZ2h0IGNzcyB3aGVuIG5vdCBtb3ZpbmcgdGhlIG1vdXNlXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIGhhbmRsZU9wdGlvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX21vdXNlRG93blRpbWVvdXQpO1xyXG4gICAgdGhpcy5fbW91c2VEb3duVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBsZXQgbW91c2VNb3ZlRXZlbnQ6IEV2ZW50O1xyXG4gICAgICBpZiAoXCJjcmVhdGVFdmVudFwiIGluIGRvY3VtZW50KSB7XHJcbiAgICAgICAgbW91c2VNb3ZlRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpO1xyXG4gICAgICAgIG1vdXNlTW92ZUV2ZW50LmluaXRFdmVudCgnbW91c2Vtb3ZlJywgdHJ1ZSwgdHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoXCJFdmVudFwiIGluIHdpbmRvdykge1xyXG4gICAgICAgIG1vdXNlTW92ZUV2ZW50ID0gbmV3IEV2ZW50KCdtb3VzZW1vdmUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBtb3VzZU1vdmVFdmVudC5wYWdlWCA9IGV2ZW50LnBhZ2VYO1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIG1vdXNlTW92ZUV2ZW50LnBhZ2VZID0gZXZlbnQucGFnZVk7XHJcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobW91c2VNb3ZlRXZlbnQpO1xyXG4gICAgfSwgdGhpcy5kcmFnU3RhcnREZWxheSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT3B0aW9uTW91c2VVcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX21vdXNlRG93blRpbWVvdXQpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZUFycmFuZ2VTZXF1ZW5jZXMoKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29sbGVjdGlvbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICB0aGlzLmNvbGxlY3Rpb25baV0uc2VxdWVuY2UgPSBpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
|
|
4
|
-
import { Icon } from '../../enum/icon.enum';
|
|
5
|
-
import { IconCacheService } from '../../service/icon-cache.service';
|
|
6
|
-
import { ContactOption } from '@colijnit/relationapi/build/model/contact-option.bo';
|
|
7
|
-
import { InputTextComponent } from '@colijnit/corecomponents_v12';
|
|
8
|
-
import { RelationService } from '../../service/relation.service';
|
|
9
|
-
export class RelationContactOptionComponent {
|
|
10
|
-
constructor(iconCacheService, _relationService) {
|
|
11
|
-
this.iconCacheService = iconCacheService;
|
|
12
|
-
this._relationService = _relationService;
|
|
13
|
-
this.icons = Icon;
|
|
14
|
-
this.saveClick = new EventEmitter();
|
|
15
|
-
this.deleteClick = new EventEmitter();
|
|
16
|
-
this.showClass = true;
|
|
17
|
-
this.iconType = Icon.Email;
|
|
18
|
-
this.label = 'EMAIL';
|
|
19
|
-
this.shouldFocus = false;
|
|
20
|
-
this._type = CommunicationType.Email;
|
|
21
|
-
}
|
|
22
|
-
set child(content) {
|
|
23
|
-
if (content) {
|
|
24
|
-
this.input = content;
|
|
25
|
-
this.input.commit = (value) => this.handleCommit(value);
|
|
26
|
-
if (this.shouldFocus) {
|
|
27
|
-
setTimeout(() => {
|
|
28
|
-
this.input.requestFocus();
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
set model(value) {
|
|
34
|
-
this._model = value;
|
|
35
|
-
if (this._model) {
|
|
36
|
-
this.type = this._model.type;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
get model() {
|
|
40
|
-
return this._model;
|
|
41
|
-
}
|
|
42
|
-
set type(value) {
|
|
43
|
-
this._type = value;
|
|
44
|
-
this._prepareType(this._type);
|
|
45
|
-
}
|
|
46
|
-
get type() {
|
|
47
|
-
return this._type;
|
|
48
|
-
}
|
|
49
|
-
ngOnInit() {
|
|
50
|
-
if (this.type && !this.model) {
|
|
51
|
-
const newOption = new ContactOption();
|
|
52
|
-
newOption.type = this.type;
|
|
53
|
-
this.model = newOption;
|
|
54
|
-
this.shouldFocus = true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
handleCommit(value) {
|
|
58
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
this.model.value = value;
|
|
60
|
-
this.saveClick.next(this.model);
|
|
61
|
-
return true;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
_prepareType(type) {
|
|
65
|
-
if (type) {
|
|
66
|
-
this.iconType = this._relationService.communicationTypeIcon.get(type);
|
|
67
|
-
this.label = this._relationService.communicationTypeLabel.get(type);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
RelationContactOptionComponent.decorators = [
|
|
72
|
-
{ type: Component, args: [{
|
|
73
|
-
selector: 'co-relation-contact-option',
|
|
74
|
-
template: `
|
|
75
|
-
<div class="relation-contact-option-sequence" *ngIf="model.sequence !== null && model.sequence !== undefined"
|
|
76
|
-
[textContent]="model.sequence"></div>
|
|
77
|
-
<co-input-text #input
|
|
78
|
-
[placeholder]="label | reLocalize"
|
|
79
|
-
[model]="model.value"
|
|
80
|
-
[leftIconData]="iconCacheService.getIcon(iconType)"
|
|
81
|
-
[showSaveCancel]="true"
|
|
82
|
-
></co-input-text>
|
|
83
|
-
<co-icon [iconData]="iconCacheService.getIcon(icons.TrashBin)" (click)="deleteClick.emit(model)"
|
|
84
|
-
`,
|
|
85
|
-
encapsulation: ViewEncapsulation.None
|
|
86
|
-
},] }
|
|
87
|
-
];
|
|
88
|
-
RelationContactOptionComponent.ctorParameters = () => [
|
|
89
|
-
{ type: IconCacheService },
|
|
90
|
-
{ type: RelationService }
|
|
91
|
-
];
|
|
92
|
-
RelationContactOptionComponent.propDecorators = {
|
|
93
|
-
child: [{ type: ViewChild, args: ['input', { read: InputTextComponent },] }],
|
|
94
|
-
model: [{ type: Input }],
|
|
95
|
-
type: [{ type: Input }],
|
|
96
|
-
saveClick: [{ type: Output }],
|
|
97
|
-
deleteClick: [{ type: Output }],
|
|
98
|
-
showClass: [{ type: HostBinding, args: ['class.co-relation-contact-option',] }]
|
|
99
|
-
};
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
|
|
4
|
+
import { Icon } from '../../enum/icon.enum';
|
|
5
|
+
import { IconCacheService } from '../../service/icon-cache.service';
|
|
6
|
+
import { ContactOption } from '@colijnit/relationapi/build/model/contact-option.bo';
|
|
7
|
+
import { InputTextComponent } from '@colijnit/corecomponents_v12';
|
|
8
|
+
import { RelationService } from '../../service/relation.service';
|
|
9
|
+
export class RelationContactOptionComponent {
|
|
10
|
+
constructor(iconCacheService, _relationService) {
|
|
11
|
+
this.iconCacheService = iconCacheService;
|
|
12
|
+
this._relationService = _relationService;
|
|
13
|
+
this.icons = Icon;
|
|
14
|
+
this.saveClick = new EventEmitter();
|
|
15
|
+
this.deleteClick = new EventEmitter();
|
|
16
|
+
this.showClass = true;
|
|
17
|
+
this.iconType = Icon.Email;
|
|
18
|
+
this.label = 'EMAIL';
|
|
19
|
+
this.shouldFocus = false;
|
|
20
|
+
this._type = CommunicationType.Email;
|
|
21
|
+
}
|
|
22
|
+
set child(content) {
|
|
23
|
+
if (content) {
|
|
24
|
+
this.input = content;
|
|
25
|
+
this.input.commit = (value) => this.handleCommit(value);
|
|
26
|
+
if (this.shouldFocus) {
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
this.input.requestFocus();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
set model(value) {
|
|
34
|
+
this._model = value;
|
|
35
|
+
if (this._model) {
|
|
36
|
+
this.type = this._model.type;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
get model() {
|
|
40
|
+
return this._model;
|
|
41
|
+
}
|
|
42
|
+
set type(value) {
|
|
43
|
+
this._type = value;
|
|
44
|
+
this._prepareType(this._type);
|
|
45
|
+
}
|
|
46
|
+
get type() {
|
|
47
|
+
return this._type;
|
|
48
|
+
}
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
if (this.type && !this.model) {
|
|
51
|
+
const newOption = new ContactOption();
|
|
52
|
+
newOption.type = this.type;
|
|
53
|
+
this.model = newOption;
|
|
54
|
+
this.shouldFocus = true;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
handleCommit(value) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
this.model.value = value;
|
|
60
|
+
this.saveClick.next(this.model);
|
|
61
|
+
return true;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
_prepareType(type) {
|
|
65
|
+
if (type) {
|
|
66
|
+
this.iconType = this._relationService.communicationTypeIcon.get(type);
|
|
67
|
+
this.label = this._relationService.communicationTypeLabel.get(type);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
RelationContactOptionComponent.decorators = [
|
|
72
|
+
{ type: Component, args: [{
|
|
73
|
+
selector: 'co-relation-contact-option',
|
|
74
|
+
template: `
|
|
75
|
+
<div class="relation-contact-option-sequence" *ngIf="model.sequence !== null && model.sequence !== undefined"
|
|
76
|
+
[textContent]="model.sequence"></div>
|
|
77
|
+
<co-input-text #input
|
|
78
|
+
[placeholder]="label | reLocalize"
|
|
79
|
+
[model]="model.value"
|
|
80
|
+
[leftIconData]="iconCacheService.getIcon(iconType)"
|
|
81
|
+
[showSaveCancel]="true"
|
|
82
|
+
></co-input-text>
|
|
83
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.TrashBin)" (click)="deleteClick.emit(model)"></co-icon>
|
|
84
|
+
`,
|
|
85
|
+
encapsulation: ViewEncapsulation.None
|
|
86
|
+
},] }
|
|
87
|
+
];
|
|
88
|
+
RelationContactOptionComponent.ctorParameters = () => [
|
|
89
|
+
{ type: IconCacheService },
|
|
90
|
+
{ type: RelationService }
|
|
91
|
+
];
|
|
92
|
+
RelationContactOptionComponent.propDecorators = {
|
|
93
|
+
child: [{ type: ViewChild, args: ['input', { read: InputTextComponent },] }],
|
|
94
|
+
model: [{ type: Input }],
|
|
95
|
+
type: [{ type: Input }],
|
|
96
|
+
saveClick: [{ type: Output }],
|
|
97
|
+
deleteClick: [{ type: Output }],
|
|
98
|
+
showClass: [{ type: HostBinding, args: ['class.co-relation-contact-option',] }]
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVsYXRpb24vc3JjL2xpYi9jb21wb25lbnQvcmVsYXRpb24tY29udGFjdC1vcHRpb25zL3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBaUIvRCxNQUFNLE9BQU8sOEJBQThCO0lBc0R6QyxZQUNTLGdCQUFrQyxFQUNqQyxnQkFBaUM7UUFEbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBdkQzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQXFDbkMsY0FBUyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUczRSxnQkFBVyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUc3RSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLGFBQVEsR0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLFVBQUssR0FBVyxPQUFPLENBQUM7UUFFeEIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHNUIsVUFBSyxHQUFzQixpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFNM0QsQ0FBQztJQXZERCxJQUFzRCxLQUFLLENBQUMsT0FBTztRQUNqRSxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQTthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsSUFDVyxLQUFLLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLEtBQXdCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQXlCRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM1QixNQUFNLFNBQVMsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRVksWUFBWSxDQUFDLEtBQWE7O1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQUE7SUFFTyxZQUFZLENBQUMsSUFBdUI7UUFDMUMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQzs7O1lBL0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBbkJPLGdCQUFnQjtZQUdoQixlQUFlOzs7b0JBb0JwQixTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO29CQVkvQyxLQUFLO21CQVlMLEtBQUs7d0JBVUwsTUFBTTswQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vY29tbXVuaWNhdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7Q29udGFjdE9wdGlvbn0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2NvbnRhY3Qtb3B0aW9uLmJvJztcclxuaW1wb3J0IHtJbnB1dFRleHRDb21wb25lbnR9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1JlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9yZWxhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1jb250YWN0LW9wdGlvbi1zZXF1ZW5jZVwiICpuZ0lmPVwibW9kZWwuc2VxdWVuY2UgIT09IG51bGwgJiYgbW9kZWwuc2VxdWVuY2UgIT09IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgW3RleHRDb250ZW50XT1cIm1vZGVsLnNlcXVlbmNlXCI+PC9kaXY+XHJcbiAgICAgIDxjby1pbnB1dC10ZXh0ICNpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWwgfCByZUxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cIm1vZGVsLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvblR5cGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dTYXZlQ2FuY2VsXT1cInRydWVcIlxyXG4gICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRyYXNoQmluKVwiIChjbGljayk9XCJkZWxldGVDbGljay5lbWl0KG1vZGVsKVwiPjwvY28taWNvbj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQ29udGFjdE9wdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyByZWFkOiBJbnB1dFRleHRDb21wb25lbnQgfSkgc2V0IGNoaWxkKGNvbnRlbnQpIHtcclxuICAgIGlmIChjb250ZW50KSB7XHJcbiAgICAgIHRoaXMuaW5wdXQgPSBjb250ZW50O1xyXG4gICAgICB0aGlzLmlucHV0LmNvbW1pdCA9ICh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVDb21taXQodmFsdWUpO1xyXG4gICAgICBpZiAodGhpcy5zaG91bGRGb2N1cykge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbnB1dC5yZXF1ZXN0Rm9jdXMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWU6IENvbnRhY3RPcHRpb24pIHtcclxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5fbW9kZWwpIHtcclxuICAgICAgdGhpcy50eXBlID0gdGhpcy5fbW9kZWwudHlwZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbW9kZWwoKTogQ29udGFjdE9wdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdHlwZSh2YWx1ZTogQ29tbXVuaWNhdGlvblR5cGUpIHtcclxuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3ByZXBhcmVUeXBlKHRoaXMuX3R5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0eXBlKCk6IENvbW11bmljYXRpb25UeXBlIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNhdmVDbGljazogRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVsZXRlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGFjdE9wdGlvbj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbicpXHJcbiAgcHVibGljIHNob3dDbGFzczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBpY29uVHlwZTogSWNvbiA9IEljb24uRW1haWw7XHJcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnRU1BSUwnO1xyXG4gIHB1YmxpYyBpbnB1dDogSW5wdXRUZXh0Q29tcG9uZW50O1xyXG4gIHB1YmxpYyBzaG91bGRGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9tb2RlbDogQ29udGFjdE9wdGlvbjtcclxuICBwcml2YXRlIF90eXBlOiBDb21tdW5pY2F0aW9uVHlwZSA9IENvbW11bmljYXRpb25UeXBlLkVtYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVsYXRpb25TZXJ2aWNlOiBSZWxhdGlvblNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMudHlwZSAmJiAhdGhpcy5tb2RlbCkge1xyXG4gICAgICBjb25zdCBuZXdPcHRpb246IENvbnRhY3RPcHRpb24gPSBuZXcgQ29udGFjdE9wdGlvbigpO1xyXG4gICAgICBuZXdPcHRpb24udHlwZSA9IHRoaXMudHlwZTtcclxuICAgICAgdGhpcy5tb2RlbCA9IG5ld09wdGlvbjtcclxuICAgICAgdGhpcy5zaG91bGRGb2N1cyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ29tbWl0KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHRoaXMubW9kZWwudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2F2ZUNsaWNrLm5leHQodGhpcy5tb2RlbCk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVUeXBlKHR5cGU6IENvbW11bmljYXRpb25UeXBlKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZSkge1xyXG4gICAgICB0aGlzLmljb25UeXBlID0gdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlSWNvbi5nZXQodHlwZSk7XHJcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQodHlwZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|