stimulsoft-forms
Version:
Stimulsoft PDF Forms
96 lines • 13 kB
JavaScript
import { Component, EventEmitter, Input, Output } from "@angular/core";
import * as i0 from "@angular/core";
import * as i1 from "./sti-dropdown-service";
import * as i2 from "../../services/model.service";
import * as i3 from "../sti-tooltip/sti-tooltip.directive";
export class StiDropdownComponent {
constructor(dropdownService, model) {
this.dropdownService = dropdownService;
this.model = model;
this.optionLabel = null;
this.optionValue = null;
this.isMinVersion = false;
this.valueChange = new EventEmitter();
}
ngOnDestroy() {
this.valueChangedSubscription.unsubscribe();
}
ngOnInit() {
this.valueChangedSubscription = this.dropdownService.valueChanged.subscribe((value) => {
if (this.id == this.dropdownService.currentUsedComponentId) {
this.valueChange.emit(value);
}
});
}
getLabel() {
if (this.optionLabel == this.optionValue) {
return this.value;
}
else {
let option = this.options.find((option) => option[this.optionValue] == this.value);
return option[this.optionLabel];
}
}
showList(event) {
let parentRec = this.model.getPositionRelativeToForm(event.target.parentElement);
this.dropdownService.dropdownX = parentRec.left;
this.dropdownService.dropdownY = parentRec.bottom;
this.dropdownService.currentOptionList = this.options;
this.dropdownService.optionLabel = this.optionLabel;
this.dropdownService.optionValue = this.optionValue;
this.dropdownService.currentValue = this.getLabel();
this.dropdownService.currentUsedComponentId = this.id;
this.dropdownService.showDropdownList = true;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StiDropdownComponent, deps: [{ token: i1.StiDropdownService }, { token: i2.StiModelService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StiDropdownComponent, selector: "sti-dropdown-component", inputs: { id: "id", options: "options", value: "value", disabled: "disabled", optionLabel: "optionLabel", optionValue: "optionValue", isMinVersion: "isMinVersion", tooltip: "tooltip" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `<div
class="sti-dropdown-component {{ disabled ? 'disabled' : '' }}"
[stiTooltip]="tooltip"
tooltipPosition="bottom"
showDelay="500"
(click)="showList($event)"
>
<span class="current-value">{{
value ? this.getLabel() : options.length > 0 ? (options[0]["name"] ? options[0]["name"] : options[0]) : ""
}}</span>
<div class="button" [style.width.px]="isMinVersion ? 15 : 20">
<span><i class="pi pi-chevron-down"></i></span>
</div>
</div>`, isInline: true, styles: [".sti-dropdown-component{width:inherit;height:inherit;background:var(--input-color);border:1px solid var(--inputBorder-color);border-radius:3px;display:flex;align-items:center}.sti-dropdown-component:hover{background-color:#dadada}.current-value{flex:1;padding:3px 5px;overflow:hidden;white-space:nowrap}.button{width:20px}.button i{height:12px;width:12px;right:3px;color:#bab9b8}.disabled{pointer-events:none;opacity:.5}span{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i3.StiTooltipDirective, selector: "[stiTooltip]", inputs: ["tooltipPosition", "stiTooltip", "showDelay"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StiDropdownComponent, decorators: [{
type: Component,
args: [{ selector: "sti-dropdown-component", template: `<div
class="sti-dropdown-component {{ disabled ? 'disabled' : '' }}"
[stiTooltip]="tooltip"
tooltipPosition="bottom"
showDelay="500"
(click)="showList($event)"
>
<span class="current-value">{{
value ? this.getLabel() : options.length > 0 ? (options[0]["name"] ? options[0]["name"] : options[0]) : ""
}}</span>
<div class="button" [style.width.px]="isMinVersion ? 15 : 20">
<span><i class="pi pi-chevron-down"></i></span>
</div>
</div>`, styles: [".sti-dropdown-component{width:inherit;height:inherit;background:var(--input-color);border:1px solid var(--inputBorder-color);border-radius:3px;display:flex;align-items:center}.sti-dropdown-component:hover{background-color:#dadada}.current-value{flex:1;padding:3px 5px;overflow:hidden;white-space:nowrap}.button{width:20px}.button i{height:12px;width:12px;right:3px;color:#bab9b8}.disabled{pointer-events:none;opacity:.5}span{pointer-events:none}\n"] }]
}], ctorParameters: () => [{ type: i1.StiDropdownService }, { type: i2.StiModelService }], propDecorators: { id: [{
type: Input
}], options: [{
type: Input
}], value: [{
type: Input
}], disabled: [{
type: Input
}], optionLabel: [{
type: Input
}], optionValue: [{
type: Input
}], isMinVersion: [{
type: Input
}], tooltip: [{
type: Input
}], valueChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpLWRyb3Bkb3duLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0aW11bHNvZnQtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL3N0aS1kcm9wZG93bi1jb21wb25lbnQvc3RpLWRyb3Bkb3duLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUE0RDFGLE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsWUFBbUIsZUFBbUMsRUFBUyxLQUFzQjtRQUFsRSxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQVA1RSxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBR3FCLENBQUM7SUFDekYsV0FBVztRQUNULElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNwRixJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25GLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0MsQ0FBQzsrR0ExQ1Usb0JBQW9CO21HQUFwQixvQkFBb0IsaVNBckRyQjs7Ozs7Ozs7Ozs7OztTQWFIOzs0RkF3Q0ksb0JBQW9CO2tCQXZEaEMsU0FBUzsrQkFDRSx3QkFBd0IsWUFDeEI7Ozs7Ozs7Ozs7Ozs7U0FhSDtxSEF5Q0UsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFN0aU1vZGVsU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9tb2RlbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN0aURyb3Bkb3duU2VydmljZSB9IGZyb20gXCIuL3N0aS1kcm9wZG93bi1zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzdGktZHJvcGRvd24tY29tcG9uZW50XCIsXHJcbiAgdGVtcGxhdGU6IGA8ZGl2XHJcbiAgICBjbGFzcz1cInN0aS1kcm9wZG93bi1jb21wb25lbnQge3sgZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogJycgfX1cIlxyXG4gICAgW3N0aVRvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgc2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIChjbGljayk9XCJzaG93TGlzdCgkZXZlbnQpXCJcclxuICA+XHJcbiAgICA8c3BhbiBjbGFzcz1cImN1cnJlbnQtdmFsdWVcIj57e1xyXG4gICAgICB2YWx1ZSA/IHRoaXMuZ2V0TGFiZWwoKSA6IG9wdGlvbnMubGVuZ3RoID4gMCA/IChvcHRpb25zWzBdW1wibmFtZVwiXSA/IG9wdGlvbnNbMF1bXCJuYW1lXCJdIDogb3B0aW9uc1swXSkgOiBcIlwiXHJcbiAgICB9fTwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25cIiBbc3R5bGUud2lkdGgucHhdPVwiaXNNaW5WZXJzaW9uID8gMTUgOiAyMFwiPlxyXG4gICAgICA8c3Bhbj48aSBjbGFzcz1cInBpIHBpLWNoZXZyb24tZG93blwiPjwvaT48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5gLFxyXG4gIHN0eWxlczogW1xyXG4gICAgYFxyXG4gICAgICAuc3RpLWRyb3Bkb3duLWNvbXBvbmVudCB7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlucHV0LWNvbG9yKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dEJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICAuc3RpLWRyb3Bkb3duLWNvbXBvbmVudDpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxOCwgMjE4LCAyMTgpO1xyXG4gICAgICB9XHJcbiAgICAgIC5jdXJyZW50LXZhbHVlIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICB9XHJcbiAgICAgIC5idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5idXR0b24gaSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgICAgIHJpZ2h0OiAzcHg7XHJcbiAgICAgICAgY29sb3I6IHJnYigxODYsIDE4NSwgMTg0KTtcclxuICAgICAgfVxyXG4gICAgICAuZGlzYWJsZWQge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgfVxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgfVxyXG4gICAgYCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RpRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaWQ7XHJcbiAgQElucHV0KCkgb3B0aW9uczogYW55W107XHJcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBvcHRpb25MYWJlbDogc3RyaW5nID0gbnVsbDtcclxuICBASW5wdXQoKSBvcHRpb25WYWx1ZTogc3RyaW5nID0gbnVsbDtcclxuICBASW5wdXQoKSBpc01pblZlcnNpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0b29sdGlwO1xyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgdmFsdWVDaGFuZ2VkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgY29uc3RydWN0b3IocHVibGljIGRyb3Bkb3duU2VydmljZTogU3RpRHJvcGRvd25TZXJ2aWNlLCBwdWJsaWMgbW9kZWw6IFN0aU1vZGVsU2VydmljZSkge31cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5kcm9wZG93blNlcnZpY2UudmFsdWVDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaWQgPT0gdGhpcy5kcm9wZG93blNlcnZpY2UuY3VycmVudFVzZWRDb21wb25lbnRJZCkge1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRMYWJlbCgpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbkxhYmVsID09IHRoaXMub3B0aW9uVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uW3RoaXMub3B0aW9uVmFsdWVdID09IHRoaXMudmFsdWUpO1xyXG4gICAgICByZXR1cm4gb3B0aW9uW3RoaXMub3B0aW9uTGFiZWxdO1xyXG4gICAgfVxyXG4gIH1cclxuICBzaG93TGlzdChldmVudCkge1xyXG4gICAgbGV0IHBhcmVudFJlYyA9IHRoaXMubW9kZWwuZ2V0UG9zaXRpb25SZWxhdGl2ZVRvRm9ybShldmVudC50YXJnZXQucGFyZW50RWxlbWVudCk7XHJcbiAgICB0aGlzLmRyb3Bkb3duU2VydmljZS5kcm9wZG93blggPSBwYXJlbnRSZWMubGVmdDtcclxuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmRyb3Bkb3duWSA9IHBhcmVudFJlYy5ib3R0b207XHJcbiAgICB0aGlzLmRyb3Bkb3duU2VydmljZS5jdXJyZW50T3B0aW9uTGlzdCA9IHRoaXMub3B0aW9ucztcclxuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLm9wdGlvbkxhYmVsID0gdGhpcy5vcHRpb25MYWJlbDtcclxuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLm9wdGlvblZhbHVlID0gdGhpcy5vcHRpb25WYWx1ZTtcclxuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmN1cnJlbnRWYWx1ZSA9IHRoaXMuZ2V0TGFiZWwoKTtcclxuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmN1cnJlbnRVc2VkQ29tcG9uZW50SWQgPSB0aGlzLmlkO1xyXG4gICAgdGhpcy5kcm9wZG93blNlcnZpY2Uuc2hvd0Ryb3Bkb3duTGlzdCA9IHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==