UNPKG

stimulsoft-forms

Version:
614 lines 76.5 kB
import { Component } from "@angular/core"; import { StiAddressElement } from "../../../elements/StiAddressElement"; import { StiBarcodeElement } from "../../../elements/StiBarcodeElement"; import { StiButtonElement } from "../../../elements/StiButtonElement"; import { StiCheckBoxElement } from "../../../elements/StiCheckBoxElement"; import { StiComboBoxElement } from "../../../elements/StiComboBoxElement"; import { StiDateTimeBoxElement } from "../../../elements/StiDateTimeBoxElement"; import { StiFormPageElement } from "../../../elements/StiFormPageElement"; import { StiImageElement } from "../../../elements/StiImageElement"; import { StiLabelElement } from "../../../elements/StiLabelElement"; import StiLineElement from "../../../elements/StiLineElement"; import { StiListBoxElement } from "../../../elements/StiListBoxElement"; import { StiMultipleSelectionElement } from "../../../elements/StiMultipleSelectionElement"; import { StiNumberBoxElement } from "../../../elements/StiNumberBoxElement"; import { StiPDFSignatureElement } from "../../../elements/StiPDFSignatureElement"; import { StiPanelElement } from "../../../elements/StiPanelElement"; import { StiSignatureElement } from "../../../elements/StiSignatureElement"; import { StiSingleSelectionElement } from "../../../elements/StiSingleSelectionElement"; import { StiTableElement } from "../../../elements/StiTableElement"; import { StiTextBoxElement } from "../../../elements/StiTextBoxElement"; import { StiTextElement } from "../../../elements/StiTextElement"; import { StiLocalizationService } from "../../../services/sti-localization.service"; import StiAddressCreator from "../creators/StiAddressCreator"; import StiBarcodeCreator from "../creators/StiBarcodeCreator"; import StiButtonCreator from "../creators/StiButtonCreator"; import StiCheckBoxCreator from "../creators/StiCheckBoxCreator"; import StiComboBoxCreator from "../creators/StiComboBoxCreator"; import StiDateTimeBoxCreator from "../creators/StiDateTimeBoxCreator"; import StiFormPageCreator from "../creators/StiFormPageCreator"; import StiImageCreator from "../creators/StiImageCreator"; import StiLabelCreator from "../creators/StiLabelCreator"; import StiLineCreator from "../creators/StiLineCreator"; import StiListBoxCreator from "../creators/StiListBoxCreator"; import StiMultipleSelectionCreator from "../creators/StiMultipleSelectionCreator"; import StiNumberBoxCreator from "../creators/StiNumberBoxEditor"; import StiPDFSignatureCreator from "../creators/StiPDFSignatureCreator"; import StiPanelCreator from "../creators/StiPanelCreator"; import StiSettingsCreator from "../creators/StiSettingsCreator"; import StiSignatureCreator from "../creators/StiSignatureCreator"; import StiSingleSelectionCreator from "../creators/StiSingleSelectionCreator"; import StiTableCreator from "../creators/StiTableCreator"; import StiTextBoxCreator from "../creators/StiTextBoxCreator"; import StiTextCreator from "../creators/StiTextCreator"; import * as i0 from "@angular/core"; import * as i1 from "../../../services/model.service"; import * as i2 from "../../../services/sti-helper.service"; import * as i3 from "../../../services/sti-localization.service"; import * as i4 from "@angular/common"; import * as i5 from "../../propertyGrid/editors/sti-bool-editor/sti-bool-editor.component"; import * as i6 from "../../propertyGrid/editors/sti-color-editor/sti-color-editor.component"; import * as i7 from "../../propertyGrid/editors/sti-enum-editor/sti-enum-editor.component"; import * as i8 from "../../propertyGrid/editors/sti-font-editor/sti-font-editor.component"; import * as i9 from "../../propertyGrid/editors/sti-image-editor/sti-image-editor.component"; import * as i10 from "../../propertyGrid/editors/sti-padding-editor/sti-padding-editor.component"; import * as i11 from "../../propertyGrid/editors/sti-multiline-string-editor/sti-multiline-string-editor.component"; import * as i12 from "../../propertyGrid/editors/sti-number-editor/sti-number-editor.component"; import * as i13 from "../../propertyGrid/editors/sti-paper-kind-editor/sti-paper-kind-editor.component"; import * as i14 from "../../propertyGrid/editors/sti-vertical-alignment-editor/sti-vertical-alignment-editor"; import * as i15 from "../../propertyGrid/editors/sti-text-editor/sti-text-editor.component"; import * as i16 from "../../propertyGrid/editors/sti-name-editor/sti-name-editor"; import * as i17 from "../../propertyGrid/editors/sti-horizontal-alignment-editor/sti-horizontal-alignment-editor"; import * as i18 from "../../propertyGrid/editors/sti-label-alignment-editor/sti-label-alignment-editor"; import * as i19 from "../../propertyGrid/editors/boolean-with-arrow-editor/boolean-with-arrow-editor.component"; import * as i20 from "../../propertyGrid/editors/table/table-item-editor/table-item-editor.component"; import * as i21 from "../../propertyGrid/editors/table/table-border-editor/table-border-editor.component"; import * as i22 from "../../propertyGrid/editors/table/table-columns-editor/table-columns-editor.component"; import * as i23 from "../../propertyGrid/editors/sti-exceed-margins/sti-exceed-margins.component"; import * as i24 from "../../propertyGrid/editors/sti-select-button-editor.component"; import * as i25 from "../../propertyGrid/editors/sti-barcode-style-editor/sti-barcode-style-editor.component"; import * as i26 from "../../propertyGrid/editors/sti-simple-enum-editor/sti-simple-enum-editor.component"; import * as i27 from "../../propertyGrid/editors/table/table-navigation/table-navigation.component"; import * as i28 from "../../propertyGrid/editors/sti-component-height-editor/sti-component-height-editor.component"; import * as i29 from "../../propertyGrid/editors/auto-complete-editor/auto-complete-editor.component"; import * as i30 from "../../sti-divider/sti-divider.component"; import * as i31 from "../sti-forms-elements-dropdown/sti-forms-elements-dropdown.component"; export class StiPropertyGridComponent { get isTable() { return this.model?.selectedComponent?.element instanceof StiTableElement ? true : false; } get object() { if (this.model.selectedComponent) { return this.model.selectedComponent.element; } else if (this.model.selectedPage) { return this.model.selectedPage; } else { return this.model.form.settings; } } hasValue(property) { if ((property?.includes("label") || property?.includes("description")) && !property?.includes("value") && this.object != this.model.form.settings) { if (property.includes("label")) { let value = this.helper.getProperty(this.object, "label.value"); if (value) { return true; } else return false; } else { if (this.object instanceof StiAddressElement) { return true; } let value = this.helper.getProperty(this.object, "description.value"); if (value) { return true; } else return false; } } else { return true; } } constructor(model, helper, loc) { this.model = model; this.helper = helper; this.loc = loc; this.isDrag = false; this.properties = []; } ngOnDestroy() { this.refreshSubscription?.unsubscribe(); this.refreshFromLocalizationSubscription?.unsubscribe(); } ngOnInit() { this.refreshSubscription = this.model.needToRefresh.subscribe(() => this.updateProperties()); this.refreshFromLocalizationSubscription = StiLocalizationService.needToRefresh.subscribe(() => { this.updateProperties(); }); } needToDisable(property) { if (this.object instanceof StiSingleSelectionElement || this.object instanceof StiMultipleSelectionElement) { if (this.object.prefix.length > 0 && property.property == "suffix") { return true; } else if (this.object.suffix.length > 0 && property.property == "prefix") { return true; } else { return false; } } else { return false; } } back() { if (this.model.selectedComponent.element instanceof StiTableElement) { this.model.selectedComponent.element.showHeaderEditor = false; this.model.selectedComponent.element.showColumnsEditor = false; this.model.selectedComponent.element.showRowsEditor = false; this.model.selectedComponent.element.showTotalsEditor = false; this.model.needToRefresh.next(true); } } checkTableProperties() { if (this.model.selectedComponent?.element instanceof StiTableElement) { let tableJson = (this.model.selectedComponent?.element).saveToJsonObject({}).serialize(); if (tableJson != this.savedTableJson) { this.savedTableJson = tableJson; this.model.form.formEvents.next({ name: "ValueChanged" }); } setTimeout(() => { this.checkTableProperties(); }, 500); } else { this.savedTableJson = null; } } updateProperties() { this.properties = []; this.checkTableProperties(); if (this.model.selectedComponent?.element instanceof StiCheckBoxElement) { StiCheckBoxCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiTextBoxElement) { StiTextBoxCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiNumberBoxElement) { StiNumberBoxCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiComboBoxElement) { StiComboBoxCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiListBoxElement) { StiListBoxCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiSingleSelectionElement) { StiSingleSelectionCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiMultipleSelectionElement) { StiMultipleSelectionCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiLineElement) { StiLineCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiSignatureElement) { StiSignatureCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiPDFSignatureElement) { StiPDFSignatureCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiPanelElement) { StiPanelCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiDateTimeBoxElement) { StiDateTimeBoxCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiTableElement) { StiTableCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element, this.model); } else if (this.model.selectedComponent?.element instanceof StiImageElement) { StiImageCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiButtonElement) { StiButtonCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiBarcodeElement) { StiBarcodeCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiTextElement) { StiTextCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiLabelElement) { StiLabelCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedComponent?.element instanceof StiAddressElement) { StiAddressCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedPage instanceof StiFormPageElement) { StiFormPageCreator.createPropertyEditors(this.properties, this.model.selectedComponent?.element); } else if (this.model.selectedPage == null && this.model.selectedComponent == null && this.model.form) { StiSettingsCreator.createPropertyEditors(this.properties, this.model.form.settings); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StiPropertyGridComponent, deps: [{ token: i1.StiModelService }, { token: i2.StiHelperService }, { token: i3.StiLocalizationService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StiPropertyGridComponent, selector: "property-grid", ngImport: i0, template: ` <div style="width: 100%;"> <!-- <span *ngIf="this.model.selectedComponent">{{ loc.get2( helper.getLocalizationCategory(model.selectedComponent?.element.type), helper.getLocalizationKey(model.selectedComponent?.element.type) ) }}</span> <span *ngIf="this.model.selectedPage">{{ loc.get2("Components", helper.getLocalizationKey(model.selectedPage?.type)) }}</span> <span *ngIf="model.selectedComponent == null && model.selectedPage == null">{{ loc.getP("FormSettings") }}</span> --> <sti-form-elements-dropdown></sti-form-elements-dropdown> <table class="sti-clear p-component property-grid"> <tr *ngFor="let property of properties"> <td *ngIf=" property.type != 'BooleanWithArrowEditor' && property.type != 'TableColumnsEditor' && property.type != 'tableNavigations' && hasValue(property.property) " [colSpan]="property.type != 'divider' && property.type != 'defaultLabel' ? 1 : 2" [style]="{ padding: property.type != 'divider' && property.type != 'defaultLabel' ? '5px 0px 0px 5px' : '0px', verticalAlign: 'top' }" > <sti-divider *ngIf="property.type === 'divider'"></sti-divider> <span *ngIf="property.type === 'defaultLabel'">{{ loc.getP("DefaultSettings") }}</span> <div class="label" *ngIf="property.label"> {{ property.label.replace(":", "") }} </div> </td> <td *ngIf="property.type != 'divider' && hasValue(property.property)" [colSpan]=" property.type == 'BooleanWithArrowEditor' || property.type == 'TableColumnsEditor' || property.type == 'tableNavigations' ? 8 : '' " [style]="{ width: '100%', padding: '0px 2px 0 px 2 px' }" > <table-navigation *ngIf="property.type === 'tableNavigations'" [style]="{ width: '100%' }"></table-navigation> <auto-complete-editor [property]="property" [obj]="object" *ngIf="property.type === 'autoCompleteEditor'" [style]="{ width: '95%' }" ></auto-complete-editor> <sti-bool-editor [property]="property" *ngIf="property.type === 'checkbox'" [style]="{ width: '95%' }" [object]="object" ></sti-bool-editor> <sti-name-editor *ngIf="property.type === 'nameEditor'" [property]="property" [style]="{ width: '95%' }" ></sti-name-editor> <sti-color-editor *ngIf="property.type === 'color'" [property]="property" [obj]="object" [style]="{ width: '95%' }" ></sti-color-editor> <sti-horizontal-alignment-editor [property]="property" *ngIf="property.type === 'horizontalAlignment'" [object]="object" [style]="{ width: '95%' }" ></sti-horizontal-alignment-editor> <sti-vertical-alignment-editor [property]="property" *ngIf="property.type === 'verticalAlignment'" [style]="{ width: '95%' }" ></sti-vertical-alignment-editor> <sti-component-height-editor [property]="property" *ngIf="property.type === 'componentHeight'" [style]="{ width: '95%' }" [element]="object" > </sti-component-height-editor> <sti-label-alignment-editor [property]="property" *ngIf="property.type === 'labelAlignment'" [style]="{ width: '95%' }" > </sti-label-alignment-editor> <sti-enum-editor *ngIf="property.type === 'enum'" [property]="property" [object]="object" [style]="{ width: '95%' }" ></sti-enum-editor> <sti-simple-enum-editor *ngIf="property.type === 'simpleEnum'" [property]="property" [object]="object" [style]="{ width: '95%' }" ></sti-simple-enum-editor> <sti-font-editor *ngIf="property.type === 'FontEditor'" [object]="object" [property]="property" ></sti-font-editor> <sti-image-editor *ngIf="property.type === 'image'" [object]="object" [property]="property" ></sti-image-editor> <sti-initial-value-datetime-box-editor *ngIf="property.type === 'customDate'" [property]="property" [object]="object" ></sti-initial-value-datetime-box-editor> <sti-barcode-style-editor *ngIf="property.type === 'barcodeStyles'" [property]="property" [element]="object" ></sti-barcode-style-editor> <sti-padding-editor *ngIf="property.type === 'PaddingEditor'" [property]="property"></sti-padding-editor> <sti-multiline-string-editor *ngIf="property.type === 'MultilineEditor'" [property]="property" ></sti-multiline-string-editor> <sti-number-editor *ngIf=" property.type === 'NumberEditor' || property.type === 'pageNumberEditor' || property.type === 'Number' " [property]="property" [obj]="object" ></sti-number-editor> <sti-paper-kind-editor *ngIf="property.type === 'paperKind' && this.model.selectedPage" [property]="property" ></sti-paper-kind-editor> <sti-text-editor *ngIf="property.type === 'TextEditor'" [object]="object" [property]="property" [disabled]="needToDisable(property)" ></sti-text-editor> <sti-table-item-editor *ngIf="property.type === 'TableItemEditor'" [property]="property" ></sti-table-item-editor> <sti-table-border-editor *ngIf="property.type === 'TableBorderEditor'" [property]="property" ></sti-table-border-editor> <boolean-with-arrow-editor *ngIf="property.type === 'BooleanWithArrowEditor'" [property]="property" [style]="{ width: '100%' }" ></boolean-with-arrow-editor> <sti-table-columns-editor *ngIf="property.type === 'TableColumnsEditor'" [property]="property" [style]="{ width: '100%' }" ></sti-table-columns-editor> <sti-exceed-margins-editor *ngIf="property.type === 'ExceedMarginsEditor'" [property]="property" [object]="object" [style]="{ width: '100%' }" ></sti-exceed-margins-editor> <sti-select-button-editor *ngIf="property.type === 'labelFormat' || property.type === 'currencyFormat'" [propertyType]="property.type" [property]="property.property" [object]="object" [style.height.px]="24" [style.display]="'flex'" > </sti-select-button-editor> </td> </tr> </table> </div>`, isInline: true, styles: [".table-property-header{width:100%;display:flex;margin-bottom:-3px}.table-property-header span{flex:1;display:flex;font-size:13px;justify-content:center;align-items:center;margin:0;font-weight:400;border-bottom:3px solid transparent}.table-property-header span:hover{background-color:var(--hover-color);color:#5579ae}.table-property-header .current{color:#767676;font-weight:600;border-color:var(--text-color);z-index:1}.table-property-header .other{color:var(--text-color)}.property-grid{position:relative}.property-grid-resizer{height:100%;min-width:8px}.property-grid-resizer:hover{cursor:ew-resize}table{width:100%;font-size:13px;font-weight:600;-webkit-user-select:none}span{color:#767676;font-size:13px;font-weight:700;margin-left:5px;margin-top:15px;-webkit-touch-callout:none;-webkit-user-select:none}.label{font-size:13px;font-weight:400;min-width:120px;color:var(--property-label-color);white-space:nowrap;-webkit-touch-callout:none;-webkit-user-select:none}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.StiBoolEditorComponent, selector: "sti-bool-editor", inputs: ["property", "object"] }, { kind: "component", type: i6.StiColorEditorComponent, selector: "sti-color-editor", inputs: ["property", "textColor", "obj"] }, { kind: "component", type: i7.StiEnumEditorComponent, selector: "sti-enum-editor", inputs: ["property", "object", "index"] }, { kind: "component", type: i8.StiFontEditorComponent, selector: "sti-font-editor", inputs: ["property", "object"] }, { kind: "component", type: i9.StiImageEditorComponent, selector: "sti-image-editor", inputs: ["property", "object"] }, { kind: "component", type: i10.StiPaddingEditorComponent, selector: "sti-padding-editor", inputs: ["property"] }, { kind: "component", type: i11.StiMultilineStringEditorComponent, selector: "sti-multiline-string-editor", inputs: ["property", "object"] }, { kind: "component", type: i12.StiNumberEditorComponent, selector: "sti-number-editor", inputs: ["property", "obj"] }, { kind: "component", type: i13.StiPaperKindEditorComponent, selector: "sti-paper-kind-editor", inputs: ["property"] }, { kind: "component", type: i14.StiVerticalAlignmentEditorComponent, selector: "sti-vertical-alignment-editor", inputs: ["property"] }, { kind: "component", type: i15.StiTextEditorComponent, selector: "sti-text-editor", inputs: ["property", "object", "disabled"] }, { kind: "component", type: i16.StiNameEditorComponent, selector: "sti-name-editor", inputs: ["property"] }, { kind: "component", type: i17.StiHorizontalAlignmentEditorComponent, selector: "sti-horizontal-alignment-editor", inputs: ["property", "object"] }, { kind: "component", type: i18.StiLabelAlignmentEditorComponent, selector: "sti-label-alignment-editor", inputs: ["property"] }, { kind: "component", type: i19.StiBooleanWithArrowEditorComponent, selector: "boolean-with-arrow-editor", inputs: ["property"] }, { kind: "component", type: i20.StiTableItemEditorComponent, selector: "sti-table-item-editor", inputs: ["property"] }, { kind: "component", type: i21.StiTableBorderEditorComponent, selector: "sti-table-border-editor", inputs: ["property", "state", "object"] }, { kind: "component", type: i22.StiTableColumnsEditorComponent, selector: "sti-table-columns-editor", inputs: ["property"] }, { kind: "component", type: i23.StiExceedMarginsEditorComponent, selector: "sti-exceed-margins-editor", inputs: ["property", "object"] }, { kind: "component", type: i24.StiSelectButtonEditorComponent, selector: "sti-select-button-editor", inputs: ["propertyType", "property", "object"] }, { kind: "component", type: i25.StiBarcodeStyleEditorComponent, selector: "sti-barcode-style-editor", inputs: ["property", "element"] }, { kind: "component", type: i26.StiSimpleEnumEditorComponent, selector: "sti-simple-enum-editor", inputs: ["property", "object"] }, { kind: "component", type: i27.TableNavigationComponent, selector: "table-navigation" }, { kind: "component", type: i28.StiComponentHeightEditorComponent, selector: "sti-component-height-editor", inputs: ["property", "element"] }, { kind: "component", type: i29.AutoCompleteEditorComponent, selector: "auto-complete-editor", inputs: ["property", "obj"] }, { kind: "component", type: i30.StiDividerComponent, selector: "sti-divider" }, { kind: "component", type: i31.StiFormElementsDropdownComponent, selector: "sti-form-elements-dropdown" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StiPropertyGridComponent, decorators: [{ type: Component, args: [{ selector: "property-grid", template: ` <div style="width: 100%;"> <!-- <span *ngIf="this.model.selectedComponent">{{ loc.get2( helper.getLocalizationCategory(model.selectedComponent?.element.type), helper.getLocalizationKey(model.selectedComponent?.element.type) ) }}</span> <span *ngIf="this.model.selectedPage">{{ loc.get2("Components", helper.getLocalizationKey(model.selectedPage?.type)) }}</span> <span *ngIf="model.selectedComponent == null && model.selectedPage == null">{{ loc.getP("FormSettings") }}</span> --> <sti-form-elements-dropdown></sti-form-elements-dropdown> <table class="sti-clear p-component property-grid"> <tr *ngFor="let property of properties"> <td *ngIf=" property.type != 'BooleanWithArrowEditor' && property.type != 'TableColumnsEditor' && property.type != 'tableNavigations' && hasValue(property.property) " [colSpan]="property.type != 'divider' && property.type != 'defaultLabel' ? 1 : 2" [style]="{ padding: property.type != 'divider' && property.type != 'defaultLabel' ? '5px 0px 0px 5px' : '0px', verticalAlign: 'top' }" > <sti-divider *ngIf="property.type === 'divider'"></sti-divider> <span *ngIf="property.type === 'defaultLabel'">{{ loc.getP("DefaultSettings") }}</span> <div class="label" *ngIf="property.label"> {{ property.label.replace(":", "") }} </div> </td> <td *ngIf="property.type != 'divider' && hasValue(property.property)" [colSpan]=" property.type == 'BooleanWithArrowEditor' || property.type == 'TableColumnsEditor' || property.type == 'tableNavigations' ? 8 : '' " [style]="{ width: '100%', padding: '0px 2px 0 px 2 px' }" > <table-navigation *ngIf="property.type === 'tableNavigations'" [style]="{ width: '100%' }"></table-navigation> <auto-complete-editor [property]="property" [obj]="object" *ngIf="property.type === 'autoCompleteEditor'" [style]="{ width: '95%' }" ></auto-complete-editor> <sti-bool-editor [property]="property" *ngIf="property.type === 'checkbox'" [style]="{ width: '95%' }" [object]="object" ></sti-bool-editor> <sti-name-editor *ngIf="property.type === 'nameEditor'" [property]="property" [style]="{ width: '95%' }" ></sti-name-editor> <sti-color-editor *ngIf="property.type === 'color'" [property]="property" [obj]="object" [style]="{ width: '95%' }" ></sti-color-editor> <sti-horizontal-alignment-editor [property]="property" *ngIf="property.type === 'horizontalAlignment'" [object]="object" [style]="{ width: '95%' }" ></sti-horizontal-alignment-editor> <sti-vertical-alignment-editor [property]="property" *ngIf="property.type === 'verticalAlignment'" [style]="{ width: '95%' }" ></sti-vertical-alignment-editor> <sti-component-height-editor [property]="property" *ngIf="property.type === 'componentHeight'" [style]="{ width: '95%' }" [element]="object" > </sti-component-height-editor> <sti-label-alignment-editor [property]="property" *ngIf="property.type === 'labelAlignment'" [style]="{ width: '95%' }" > </sti-label-alignment-editor> <sti-enum-editor *ngIf="property.type === 'enum'" [property]="property" [object]="object" [style]="{ width: '95%' }" ></sti-enum-editor> <sti-simple-enum-editor *ngIf="property.type === 'simpleEnum'" [property]="property" [object]="object" [style]="{ width: '95%' }" ></sti-simple-enum-editor> <sti-font-editor *ngIf="property.type === 'FontEditor'" [object]="object" [property]="property" ></sti-font-editor> <sti-image-editor *ngIf="property.type === 'image'" [object]="object" [property]="property" ></sti-image-editor> <sti-initial-value-datetime-box-editor *ngIf="property.type === 'customDate'" [property]="property" [object]="object" ></sti-initial-value-datetime-box-editor> <sti-barcode-style-editor *ngIf="property.type === 'barcodeStyles'" [property]="property" [element]="object" ></sti-barcode-style-editor> <sti-padding-editor *ngIf="property.type === 'PaddingEditor'" [property]="property"></sti-padding-editor> <sti-multiline-string-editor *ngIf="property.type === 'MultilineEditor'" [property]="property" ></sti-multiline-string-editor> <sti-number-editor *ngIf=" property.type === 'NumberEditor' || property.type === 'pageNumberEditor' || property.type === 'Number' " [property]="property" [obj]="object" ></sti-number-editor> <sti-paper-kind-editor *ngIf="property.type === 'paperKind' && this.model.selectedPage" [property]="property" ></sti-paper-kind-editor> <sti-text-editor *ngIf="property.type === 'TextEditor'" [object]="object" [property]="property" [disabled]="needToDisable(property)" ></sti-text-editor> <sti-table-item-editor *ngIf="property.type === 'TableItemEditor'" [property]="property" ></sti-table-item-editor> <sti-table-border-editor *ngIf="property.type === 'TableBorderEditor'" [property]="property" ></sti-table-border-editor> <boolean-with-arrow-editor *ngIf="property.type === 'BooleanWithArrowEditor'" [property]="property" [style]="{ width: '100%' }" ></boolean-with-arrow-editor> <sti-table-columns-editor *ngIf="property.type === 'TableColumnsEditor'" [property]="property" [style]="{ width: '100%' }" ></sti-table-columns-editor> <sti-exceed-margins-editor *ngIf="property.type === 'ExceedMarginsEditor'" [property]="property" [object]="object" [style]="{ width: '100%' }" ></sti-exceed-margins-editor> <sti-select-button-editor *ngIf="property.type === 'labelFormat' || property.type === 'currencyFormat'" [propertyType]="property.type" [property]="property.property" [object]="object" [style.height.px]="24" [style.display]="'flex'" > </sti-select-button-editor> </td> </tr> </table> </div>`, styles: [".table-property-header{width:100%;display:flex;margin-bottom:-3px}.table-property-header span{flex:1;display:flex;font-size:13px;justify-content:center;align-items:center;margin:0;font-weight:400;border-bottom:3px solid transparent}.table-property-header span:hover{background-color:var(--hover-color);color:#5579ae}.table-property-header .current{color:#767676;font-weight:600;border-color:var(--text-color);z-index:1}.table-property-header .other{color:var(--text-color)}.property-grid{position:relative}.property-grid-resizer{height:100%;min-width:8px}.property-grid-resizer:hover{cursor:ew-resize}table{width:100%;font-size:13px;font-weight:600;-webkit-user-select:none}span{color:#767676;font-size:13px;font-weight:700;margin-left:5px;margin-top:15px;-webkit-touch-callout:none;-webkit-user-select:none}.label{font-size:13px;font-weight:400;min-width:120px;color:var(--property-label-color);white-space:nowrap;-webkit-touch-callout:none;-webkit-user-select:none}\n"] }] }], ctorParameters: () => [{ type: i1.StiModelService }, { type: i2.StiHelperService }, { type: i3.StiLocalizationService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpLXByb3BlcnR5LWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RpbXVsc29mdC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvcHJvcGVydGllcy5jb21wb25lbnQvc3RpLXByb3BlcnR5LWdyaWQvc3RpLXByb3BlcnR5LWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxjQUFjLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFD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QyxRQUFRLENBQUMsQ0FBQztRQUN0RixDQUFDO0lBQ0gsQ0FBQzsrR0E5SVUsd0JBQXdCO21HQUF4Qix3QkFBd0IscURBNVB6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0FzTEg7OzRGQXNFSSx3QkFBd0I7a0JBOVBwQyxTQUFTOytCQUNFLGVBQWUsWUFDZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0FzTEgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgU3RpQWRkcmVzc0VsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZWxlbWVudHMvU3RpQWRkcmVzc0VsZW1lbnRcIjtcclxuaW1wb3J0IHsgU3RpQmFyY29kZUVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZWxlbWVudHMvU3RpQmFyY29kZUVsZW1lbnRcIjtcclxuaW1wb3J0IHsgU3RpQnV0dG9uRWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi9lbGVtZW50cy9TdGlCdXR0b25FbGVtZW50XCI7XHJcbmltcG9ydCB7IFN0aUNoZWNrQm94RWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi9lbGVtZW50cy9TdGlDaGVja0JveEVsZW1lbnRcIjtcclxuaW1wb3J0IHsgU3RpQ29tYm9Cb3hFbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL2VsZW1lbnRzL1N0aUNvbWJvQm94RWxlbWVudFwiO1xyXG5pbXBvcnQgeyBTdGlEYXRlVGltZUJveEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZWxlbWVudHMvU3RpRGF0ZVRpbWVCb3hFbGVtZW50XCI7XHJcbmltcG9ydCB7IFN0aUZvcm1QYWdlRWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi9lbGVtZW50cy9TdGlGb3JtUGFnZUVsZW1lbnRcIjtcclxuaW1wb3J0IHsgU3RpSW1hZ2VFbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL2VsZW1lbnRzL1N0aUltYWdlRWxlbWVudFwiO1xyXG5pbXBvcnQgeyBTdGlMYWJlbEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZWxlbWVudHMvU3RpTGFiZWxFbGVtZW50XCI7XHJcbmltcG9ydCBTdGlMaW5lRWxlbWVudCBmcm9tIFwiLi4vLi4vLi4vZWxlbWVudHMvU3RpTGluZUVsZW1lbnRcIjtcclxuaW1wb3J0IHsgU3RpTGlzdEJveEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZWxlbWVudHMvU3RpTGlzdEJveEVsZW1lbnRcIjtcclxuaW1wb3J0IHsgU3RpTXVsdGlwbGVTZWxlY3Rpb25FbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL2VsZW1lbnRzL1N0aU11bHRpcGxlU2VsZWN0aW9uRWxlbWVudFwiO1xyXG5pbXBvcnQgeyBTdGlOdW1iZXJCb3hFbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL2VsZW1lbnRzL1N0aU51bWJlckJveEVsZW1lbnRcIjtcclxuaW1wb3J0IHsgU3RpUERGU2lnbmF0dXJlRWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi9lbGVtZW50cy9TdGlQREZTaWduYXR1cmVFbGVtZW50XCI7XHJcbmltcG9ydCB7IFN0aVBhbmVsRWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi9lbGVtZW50cy9TdGlQYW5lbEVsZW1lbnRcIjtcclxuaW1wb3J0IHsgU3RpU2lnbmF0dXJlRWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi9lbGVtZW50cy9