stimulsoft-forms
Version:
Stimulsoft PDF Forms
614 lines • 76.5 kB
JavaScript
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