@colijnit/relation 12.1.3 → 12.1.4
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/README.md +24 -24
- package/bundles/colijnit-relation.umd.js +4649 -4649
- package/bundles/colijnit-relation.umd.js.map +1 -1
- package/colijnit-relation.d.ts +21 -21
- package/esm2015/colijnit-relation.js +21 -21
- package/esm2015/lib/component/base/relation-base.component.js +53 -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 +170 -170
- package/esm2015/lib/component/relation-contact-options/relation-contact-options.module.js +35 -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 +16 -16
- 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 +15 -15
- 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 +9 -9
- 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 +3838 -3838
- 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 +43 -43
- package/lib/component/relation-contact-options/relation-contact-options.module.d.ts +2 -2
- package/lib/component/relation-contact-options/style/_layout.scss +153 -153
- package/lib/component/relation-contact-options/style/_material-definition.scss +47 -47
- package/lib/component/relation-contact-options/style/_theme.scss +64 -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 +5 -5
- package/public_api.d.ts +32 -32
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZWxhdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMvcmVsYXRpb24tY29udGFjdC1vcHRpb24tbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBQyxlQUFlLEVBQXFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTNHLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGtCQUFrQixFQUFFLENBQUM7SUFDckIsK0JBQStCLEVBQUUsQ0FBQztJQUNsQyxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7V0FvQnVDLFVBQVU7QUFJbkQsTUFBTSxPQUFPLGtDQUFrQztJQXRCL0M7UUF3QlMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBTWxDLGVBQVUsR0FBb0IsRUFBRSxDQUFDO1FBR2pDLGdCQUFXLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRzdFLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFMUIsbUJBQWMsR0FBVyxHQUFHLENBQUM7UUFJN0Isc0JBQWlCLEdBQUcsQ0FBQyxJQUFhLEVBQUUsSUFBaUIsRUFBRSxFQUFFO1lBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFBO0lBZ0RILENBQUM7SUE5Q2MsVUFBVSxDQUFDLEtBQW1DOztZQUN6RCxJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFXLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxHQUFXLEtBQUssQ0FBQyxZQUFZLENBQUM7Z0JBQ3RDLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtvQkFDZixPQUFPO2lCQUNSO2dCQUNELDZCQUE2QjtnQkFDN0IsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM1QjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbEI7UUFDSCxDQUFDO0tBQUE7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUM1QyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxjQUFxQixDQUFDO1lBQzFCLElBQUksYUFBYSxJQUFJLFFBQVEsRUFBRTtnQkFDN0IsY0FBYyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNuRDtpQkFBTSxJQUFJLE9BQU8sSUFBSSxNQUFNLEVBQUU7Z0JBQzVCLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzlFO1lBQ0QsYUFBYTtZQUNiLGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNuQyxhQUFhO1lBQ2IsY0FBYyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUI7UUFDMUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7OztZQTNGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxJQUFZLEVBQUM7aUJBQ2pEO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7K0JBRUUsS0FBSzttQkFHTCxLQUFLO3lCQUdMLEtBQUs7MEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsdUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250YWN0T3B0aW9ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvY29udGFjdC1vcHRpb24uYm8nO1xuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vY29tbXVuaWNhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtDREtfRFJBR19DT05GSUcsIENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5fSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuY29uc3QgRHJhZ0NvbmZpZyA9IHtcbiAgZHJhZ1N0YXJ0VGhyZXNob2xkOiAwLFxuICBwb2ludGVyRGlyZWN0aW9uQ2hhbmdlVGhyZXNob2xkOiA1LFxuICB6SW5kZXg6IDEwMDAwXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxkaXYgI2Ryb3BMaXN0Q29udGFjdE9wdGlvbnMgY2xhc3M9XCJjb250YWN0LW9wdGlvbi13cmFwcGVyIGRyYWctZHJvcC1saXN0XCIgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiZHJhZ0Ryb3BEaXNhYmxlZFwiXG4gICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiY29sbGVjdGlvblwiXG4gICAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImhhbmRsZUNhbkRyYWdEcm9wXCJcbiAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJoYW5kbGVEcm9wKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbiBjbGFzcz1cImRyYWdnYWJsZS1jb250YWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29sbGVjdGlvblwiIFttb2RlbF09XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtEcmFnIFtjZGtEcmFnU3RhcnREZWxheV09XCJkcmFnU3RhcnREZWxheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwiaGFuZGxlT3B0aW9uTW91c2VEb3duKCRldmVudClcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNldXApPVwiaGFuZGxlT3B0aW9uTW91c2VVcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImRlbGV0ZUNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24+XG4gICAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IENES19EUkFHX0NPTkZJRywgdXNlVmFsdWU6IERyYWdDb25maWd9XG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpb25Db250YWN0T3B0aW9uTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkcmFnRHJvcERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHR5cGU6IENvbW11bmljYXRpb25UeXBlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xsZWN0aW9uOiBDb250YWN0T3B0aW9uW10gPSBbXTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGRlbGV0ZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29udGFjdE9wdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbi1saXN0JylcbiAgcHVibGljIHNob3dDbGFzczogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGRyYWdTdGFydERlbGF5OiBudW1iZXIgPSA1MDA7XG5cbiAgcHJpdmF0ZSBfbW91c2VEb3duVGltZW91dDogYW55O1xuXG4gIHB1YmxpYyBoYW5kbGVDYW5EcmFnRHJvcCA9IChkcmFnOiBDZGtEcmFnLCBkcm9wOiBDZGtEcm9wTGlzdCkgPT4ge1xuICAgIHJldHVybiAoZHJhZy5kYXRhLnR5cGUgPT09IHRoaXMudHlwZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGFuZGxlRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8Q29udGFjdE9wdGlvbltdPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmcm9tOiBudW1iZXIgPSBldmVudC5wcmV2aW91c0luZGV4O1xuICAgICAgY29uc3QgdG86IG51bWJlciA9IGV2ZW50LmN1cnJlbnRJbmRleDtcbiAgICAgIGlmIChmcm9tID09PSB0bykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBzZXQgaXRlbXMgaW4gY29ycmVjdCBvcmRlclxuICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuY29sbGVjdGlvbiwgZnJvbSwgdG8pO1xuICAgICAgdGhpcy5fcmVBcnJhbmdlU2VxdWVuY2VzKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFjayB0byBtYWtlIHN1cmUgdGhhdCBkcmFnZ2VkIGl0ZW0gaGFzIHRoZSByaWdodCBjc3Mgd2hlbiBub3QgbW92aW5nIHRoZSBtb3VzZVxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIHB1YmxpYyBoYW5kbGVPcHRpb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbW91c2VEb3duVGltZW91dCk7XG4gICAgdGhpcy5fbW91c2VEb3duVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgbGV0IG1vdXNlTW92ZUV2ZW50OiBFdmVudDtcbiAgICAgIGlmIChcImNyZWF0ZUV2ZW50XCIgaW4gZG9jdW1lbnQpIHtcbiAgICAgICAgbW91c2VNb3ZlRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpO1xuICAgICAgICBtb3VzZU1vdmVFdmVudC5pbml0RXZlbnQoJ21vdXNlbW92ZScsIHRydWUsIHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChcIkV2ZW50XCIgaW4gd2luZG93KSB7XG4gICAgICAgIG1vdXNlTW92ZUV2ZW50ID0gbmV3IEV2ZW50KCdtb3VzZW1vdmUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSk7XG4gICAgICB9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtb3VzZU1vdmVFdmVudC5wYWdlWCA9IGV2ZW50LnBhZ2VYO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbW91c2VNb3ZlRXZlbnQucGFnZVkgPSBldmVudC5wYWdlWTtcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobW91c2VNb3ZlRXZlbnQpO1xuICAgIH0sIHRoaXMuZHJhZ1N0YXJ0RGVsYXkpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZU9wdGlvbk1vdXNlVXAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbW91c2VEb3duVGltZW91dClcbiAgfVxuXG4gIHByaXZhdGUgX3JlQXJyYW5nZVNlcXVlbmNlcygpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29sbGVjdGlvbi5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5jb2xsZWN0aW9uW2ldLnNlcXVlbmNlID0gaTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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)" class="relation-contact-delete"></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,
|
|
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)" class="relation-contact-delete"></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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVsYXRpb24vc3JjL2xpYi9jb21wb25lbnQvcmVsYXRpb24tY29udGFjdC1vcHRpb25zL3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBaUIvRCxNQUFNLE9BQU8sOEJBQThCO0lBc0R6QyxZQUNTLGdCQUFrQyxFQUNqQyxnQkFBaUM7UUFEbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBdkQzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQXFDbkMsY0FBUyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUczRSxnQkFBVyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUc3RSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLGFBQVEsR0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLFVBQUssR0FBVyxPQUFPLENBQUM7UUFFeEIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHNUIsVUFBSyxHQUFzQixpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFNM0QsQ0FBQztJQXZERCxJQUFzRCxLQUFLLENBQUMsT0FBTztRQUNqRSxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQTthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsSUFDVyxLQUFLLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLEtBQXdCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQXlCRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM1QixNQUFNLFNBQVMsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRVksWUFBWSxDQUFDLEtBQWE7O1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQUE7SUFFTyxZQUFZLENBQUMsSUFBdUI7UUFDMUMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQzs7O1lBL0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBbkJPLGdCQUFnQjtZQUdoQixlQUFlOzs7b0JBb0JwQixTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO29CQVkvQyxLQUFLO21CQVlMLEtBQUs7d0JBVUwsTUFBTTswQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jb250YWN0LW9wdGlvbi5ibyc7XG5pbXBvcnQge0lucHV0VGV4dENvbXBvbmVudH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XG5pbXBvcnQge1JlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9yZWxhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24nLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9uLXNlcXVlbmNlXCIgKm5nSWY9XCJtb2RlbC5zZXF1ZW5jZSAhPT0gbnVsbCAmJiBtb2RlbC5zZXF1ZW5jZSAhPT0gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgW3RleHRDb250ZW50XT1cIm1vZGVsLnNlcXVlbmNlXCI+PC9kaXY+XG4gICAgICA8Y28taW5wdXQtdGV4dCAjaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbCB8IHJlTG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cIm1vZGVsLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtsZWZ0SWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25UeXBlKVwiXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd1NhdmVDYW5jZWxdPVwidHJ1ZVwiXG4gICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmFzaEJpbilcIiAoY2xpY2spPVwiZGVsZXRlQ2xpY2suZW1pdChtb2RlbClcIiBjbGFzcz1cInJlbGF0aW9uLWNvbnRhY3QtZGVsZXRlXCI+PC9jby1pY29uPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQ29udGFjdE9wdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyByZWFkOiBJbnB1dFRleHRDb21wb25lbnQgfSkgc2V0IGNoaWxkKGNvbnRlbnQpIHtcbiAgICBpZiAoY29udGVudCkge1xuICAgICAgdGhpcy5pbnB1dCA9IGNvbnRlbnQ7XG4gICAgICB0aGlzLmlucHV0LmNvbW1pdCA9ICh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVDb21taXQodmFsdWUpO1xuICAgICAgaWYgKHRoaXMuc2hvdWxkRm9jdXMpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnB1dC5yZXF1ZXN0Rm9jdXMoKTtcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1vZGVsKHZhbHVlOiBDb250YWN0T3B0aW9uKSB7XG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5fbW9kZWwpIHtcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMuX21vZGVsLnR5cGU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtb2RlbCgpOiBDb250YWN0T3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHR5cGUodmFsdWU6IENvbW11bmljYXRpb25UeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgIHRoaXMuX3ByZXBhcmVUeXBlKHRoaXMuX3R5cGUpO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlKCk6IENvbW11bmljYXRpb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2F2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29udGFjdE9wdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxldGVDbGljazogRXZlbnRFbWl0dGVyPENvbnRhY3RPcHRpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb250YWN0T3B0aW9uPigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tcmVsYXRpb24tY29udGFjdC1vcHRpb24nKVxuICBwdWJsaWMgc2hvd0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgaWNvblR5cGU6IEljb24gPSBJY29uLkVtYWlsO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICdFTUFJTCc7XG4gIHB1YmxpYyBpbnB1dDogSW5wdXRUZXh0Q29tcG9uZW50O1xuICBwdWJsaWMgc2hvdWxkRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9tb2RlbDogQ29udGFjdE9wdGlvbjtcbiAgcHJpdmF0ZSBfdHlwZTogQ29tbXVuaWNhdGlvblR5cGUgPSBDb21tdW5pY2F0aW9uVHlwZS5FbWFpbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIF9yZWxhdGlvblNlcnZpY2U6IFJlbGF0aW9uU2VydmljZVxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnR5cGUgJiYgIXRoaXMubW9kZWwpIHtcbiAgICAgIGNvbnN0IG5ld09wdGlvbjogQ29udGFjdE9wdGlvbiA9IG5ldyBDb250YWN0T3B0aW9uKCk7XG4gICAgICBuZXdPcHRpb24udHlwZSA9IHRoaXMudHlwZTtcbiAgICAgIHRoaXMubW9kZWwgPSBuZXdPcHRpb247XG4gICAgICB0aGlzLnNob3VsZEZvY3VzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ29tbWl0KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLm1vZGVsLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5zYXZlQ2xpY2submV4dCh0aGlzLm1vZGVsKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVUeXBlKHR5cGU6IENvbW11bmljYXRpb25UeXBlKTogdm9pZCB7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgIHRoaXMuaWNvblR5cGUgPSB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVJY29uLmdldCh0eXBlKTtcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQodHlwZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
-
import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
|
|
3
|
-
import { Icon } from '../../enum/icon.enum';
|
|
4
|
-
import { RelationService } from '../../service/relation.service';
|
|
5
|
-
import { IconCacheService } from '../../service/icon-cache.service';
|
|
6
|
-
export class RelationContactOptionsOtherTypesPopupComponent {
|
|
7
|
-
constructor(iconCacheService, _relationService) {
|
|
8
|
-
this.iconCacheService = iconCacheService;
|
|
9
|
-
this._relationService = _relationService;
|
|
10
|
-
this.icons = Icon;
|
|
11
|
-
this.typeClick = new EventEmitter();
|
|
12
|
-
this.clickedOutside = new EventEmitter();
|
|
13
|
-
this.showClass = true;
|
|
14
|
-
this.types = [];
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.types.length = 0;
|
|
18
|
-
this.types.push({ type: CommunicationType.Email, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Email), label: this._relationService.communicationTypeLabel.get(CommunicationType.Email) }, { type: CommunicationType.Telephone, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Telephone), label: this._relationService.communicationTypeLabel.get(CommunicationType.Telephone) }, { type: CommunicationType.Mobile, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Mobile), label: this._relationService.communicationTypeLabel.get(CommunicationType.Mobile) }, { type: CommunicationType.Website, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Website), label: this._relationService.communicationTypeLabel.get(CommunicationType.Website) }, { type: CommunicationType.Fax, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Fax), label: this._relationService.communicationTypeLabel.get(CommunicationType.Fax) });
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
RelationContactOptionsOtherTypesPopupComponent.decorators = [
|
|
22
|
-
{ type: Component, args: [{
|
|
23
|
-
selector: 'co-relation-contact-options-other-types-popup',
|
|
24
|
-
template: `
|
|
25
|
-
<div class="relation-contact-options-other-types-popup-content" [overlay]="parentForOverlay" [rightAlign]="true" [keepInView]="true">
|
|
26
|
-
<div class="other-types-wrapper" *ngFor="let type of types" (click)="typeClick.emit(type.type)" [clickOutside]="true" (clickOutside)="clickedOutside.emit()">
|
|
27
|
-
<co-icon [iconData]="iconCacheService.getIcon(type.icon)"></co-icon>
|
|
28
|
-
<div class="other-type-label" [textContent]="type.label | reLocalize"></div>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
`
|
|
32
|
-
},] }
|
|
33
|
-
];
|
|
34
|
-
RelationContactOptionsOtherTypesPopupComponent.ctorParameters = () => [
|
|
35
|
-
{ type: IconCacheService },
|
|
36
|
-
{ type: RelationService }
|
|
37
|
-
];
|
|
38
|
-
RelationContactOptionsOtherTypesPopupComponent.propDecorators = {
|
|
39
|
-
parentForOverlay: [{ type: Input }],
|
|
40
|
-
typeClick: [{ type: Output }],
|
|
41
|
-
clickedOutside: [{ type: Output }],
|
|
42
|
-
showClass: [{ type: HostBinding, args: ['class.co-relation-contact-options-other-types-popup',] }]
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
+
import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
|
|
3
|
+
import { Icon } from '../../enum/icon.enum';
|
|
4
|
+
import { RelationService } from '../../service/relation.service';
|
|
5
|
+
import { IconCacheService } from '../../service/icon-cache.service';
|
|
6
|
+
export class RelationContactOptionsOtherTypesPopupComponent {
|
|
7
|
+
constructor(iconCacheService, _relationService) {
|
|
8
|
+
this.iconCacheService = iconCacheService;
|
|
9
|
+
this._relationService = _relationService;
|
|
10
|
+
this.icons = Icon;
|
|
11
|
+
this.typeClick = new EventEmitter();
|
|
12
|
+
this.clickedOutside = new EventEmitter();
|
|
13
|
+
this.showClass = true;
|
|
14
|
+
this.types = [];
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.types.length = 0;
|
|
18
|
+
this.types.push({ type: CommunicationType.Email, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Email), label: this._relationService.communicationTypeLabel.get(CommunicationType.Email) }, { type: CommunicationType.Telephone, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Telephone), label: this._relationService.communicationTypeLabel.get(CommunicationType.Telephone) }, { type: CommunicationType.Mobile, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Mobile), label: this._relationService.communicationTypeLabel.get(CommunicationType.Mobile) }, { type: CommunicationType.Website, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Website), label: this._relationService.communicationTypeLabel.get(CommunicationType.Website) }, { type: CommunicationType.Fax, icon: this._relationService.communicationTypeIcon.get(CommunicationType.Fax), label: this._relationService.communicationTypeLabel.get(CommunicationType.Fax) });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
RelationContactOptionsOtherTypesPopupComponent.decorators = [
|
|
22
|
+
{ type: Component, args: [{
|
|
23
|
+
selector: 'co-relation-contact-options-other-types-popup',
|
|
24
|
+
template: `
|
|
25
|
+
<div class="relation-contact-options-other-types-popup-content" [overlay]="parentForOverlay" [rightAlign]="true" [keepInView]="true">
|
|
26
|
+
<div class="other-types-wrapper" *ngFor="let type of types" (click)="typeClick.emit(type.type)" [clickOutside]="true" (clickOutside)="clickedOutside.emit()">
|
|
27
|
+
<co-icon [iconData]="iconCacheService.getIcon(type.icon)"></co-icon>
|
|
28
|
+
<div class="other-type-label" [textContent]="type.label | reLocalize"></div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
`
|
|
32
|
+
},] }
|
|
33
|
+
];
|
|
34
|
+
RelationContactOptionsOtherTypesPopupComponent.ctorParameters = () => [
|
|
35
|
+
{ type: IconCacheService },
|
|
36
|
+
{ type: RelationService }
|
|
37
|
+
];
|
|
38
|
+
RelationContactOptionsOtherTypesPopupComponent.propDecorators = {
|
|
39
|
+
parentForOverlay: [{ type: Input }],
|
|
40
|
+
typeClick: [{ type: Output }],
|
|
41
|
+
clickedOutside: [{ type: Output }],
|
|
42
|
+
showClass: [{ type: HostBinding, args: ['class.co-relation-contact-options-other-types-popup',] }]
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlbGF0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy9yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtb3RoZXItdHlwZXMtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFtQmxFLE1BQU0sT0FBTyw4Q0FBOEM7SUFpQnpELFlBQ1MsZ0JBQWtDLEVBQ2pDLGdCQUFpQztRQURsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFsQjNCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBTW5DLGNBQVMsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFHbkYsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUc5RCxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLFVBQUssR0FBZ0IsRUFBRSxDQUFDO0lBTS9CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUNuTSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFDL00sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ3RNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUN6TSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDOUwsQ0FBQTtJQUNILENBQUM7OztZQTNDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLCtDQUErQztnQkFDekQsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7YUFDRjs7O1lBbEJPLGdCQUFnQjtZQURoQixlQUFlOzs7K0JBdUJwQixLQUFLO3dCQUdMLE1BQU07NkJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW11bmljYXRpb25UeXBlfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9jb21tdW5pY2F0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcbmltcG9ydCB7UmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2Ugb3RoZXJUeXBlIHtcbiAgdHlwZTogQ29tbXVuaWNhdGlvblR5cGUsXG4gIGljb246IEljb247XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvLXJlbGF0aW9uLWNvbnRhY3Qtb3B0aW9ucy1vdGhlci10eXBlcy1wb3B1cCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tY29udGFjdC1vcHRpb25zLW90aGVyLXR5cGVzLXBvcHVwLWNvbnRlbnRcIiBbb3ZlcmxheV09XCJwYXJlbnRGb3JPdmVybGF5XCIgW3JpZ2h0QWxpZ25dPVwidHJ1ZVwiIFtrZWVwSW5WaWV3XT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm90aGVyLXR5cGVzLXdyYXBwZXJcIiAqbmdGb3I9XCJsZXQgdHlwZSBvZiB0eXBlc1wiIChjbGljayk9XCJ0eXBlQ2xpY2suZW1pdCh0eXBlLnR5cGUpXCIgW2NsaWNrT3V0c2lkZV09XCJ0cnVlXCIgKGNsaWNrT3V0c2lkZSk9XCJjbGlja2VkT3V0c2lkZS5lbWl0KClcIj5cbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24odHlwZS5pY29uKVwiPjwvY28taWNvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdGhlci10eXBlLWxhYmVsXCIgW3RleHRDb250ZW50XT1cInR5cGUubGFiZWwgfCByZUxvY2FsaXplXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpb25Db250YWN0T3B0aW9uc090aGVyVHlwZXNQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYXJlbnRGb3JPdmVybGF5OiBFbGVtZW50UmVmO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdHlwZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29tbXVuaWNhdGlvblR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tdW5pY2F0aW9uVHlwZT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrZWRPdXRzaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1yZWxhdGlvbi1jb250YWN0LW9wdGlvbnMtb3RoZXItdHlwZXMtcG9wdXAnKVxuICBwdWJsaWMgc2hvd0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgdHlwZXM6IG90aGVyVHlwZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfcmVsYXRpb25TZXJ2aWNlOiBSZWxhdGlvblNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnR5cGVzLmxlbmd0aCA9IDA7XG4gICAgdGhpcy50eXBlcy5wdXNoKFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5FbWFpbCwgaWNvbjogdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlSWNvbi5nZXQoQ29tbXVuaWNhdGlvblR5cGUuRW1haWwpLCBsYWJlbDogdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmNvbW11bmljYXRpb25UeXBlTGFiZWwuZ2V0KENvbW11bmljYXRpb25UeXBlLkVtYWlsKSB9LFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5UZWxlcGhvbmUsIGljb246IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUljb24uZ2V0KENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZSksIGxhYmVsOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQoQ29tbXVuaWNhdGlvblR5cGUuVGVsZXBob25lKSB9LFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5Nb2JpbGUsIGljb246IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUljb24uZ2V0KENvbW11bmljYXRpb25UeXBlLk1vYmlsZSksIGxhYmVsOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQoQ29tbXVuaWNhdGlvblR5cGUuTW9iaWxlKSB9LFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5XZWJzaXRlLCBpY29uOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVJY29uLmdldChDb21tdW5pY2F0aW9uVHlwZS5XZWJzaXRlKSwgbGFiZWw6IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUxhYmVsLmdldChDb21tdW5pY2F0aW9uVHlwZS5XZWJzaXRlKSB9LFxuICAgICAgeyB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5GYXgsIGljb246IHRoaXMuX3JlbGF0aW9uU2VydmljZS5jb21tdW5pY2F0aW9uVHlwZUljb24uZ2V0KENvbW11bmljYXRpb25UeXBlLkZheCksIGxhYmVsOiB0aGlzLl9yZWxhdGlvblNlcnZpY2UuY29tbXVuaWNhdGlvblR5cGVMYWJlbC5nZXQoQ29tbXVuaWNhdGlvblR5cGUuRmF4KSB9XG4gICAgKVxuICB9XG59XG4iXX0=
|