"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectPageAnalyticalConfiguration = exports.ObjectPageTable = exports.QuickVariantSelectionV4OP = exports.PersonalizationTypeOP = exports.TableCreationModeOP = void 0;
const ux_specification_types_1 = require("@sap/ux-specification-types");
const ux_specification_types_2 = require("@sap/ux-specification-types");
const decorators_1 = require("../../../common/decoration/decorators");
const decorator_paths_1 = require("../../../common/decoration/decorator-paths");
const application_1 = require("../../application");
const Table_1 = require("./Table");
/**
 * Creation mode configuration for Object Page tables.
 * Uses decorators to control property visibility based on table type and creation mode.
 */
class TableCreationModeOP {
}
exports.TableCreationModeOP = TableCreationModeOP;
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportCreationModeProperty,
            delete: Table_1.deleteCreationModeProperty
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/cfb04f0c58e7409992feb4c91aa9410b'),
    (0, decorators_1.hide)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable)),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.name)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'name', tableType: decorator_paths_1.opTableContext.type }, { deletable: true })),
    (0, decorators_1.enums)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.TreeTable), [
        ux_specification_types_1.v4.TableCreationModeType.NewPage,
        ux_specification_types_1.v4.TableCreationModeType.Inline,
        ux_specification_types_1.v4.TableCreationModeType.CreationDialog
    ])
], TableCreationModeOP.prototype, "name", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportCreationModeProperty,
            delete: Table_1.deleteCreationModeProperty
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/cfb04f0c58e7409992feb4c91aa9410b'),
    (0, decorators_1.hide)((0, decorator_paths_1.or)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.TreeTable), (0, decorator_paths_1.and)((0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.name), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.creationMode.name, ux_specification_types_1.v4.TableCreationModeType.Inline)), 
    // When name is not set, navigation determines default: NewPage if navigation exists, Inline otherwise
    (0, decorator_paths_1.and)((0, decorator_paths_1.not)((0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.name)), (0, decorator_paths_1.when)(decorator_paths_1.opTableContext.hasNavigation, true)))),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.createAtEnd)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'createAtEnd', tableType: decorator_paths_1.opTableContext.type }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.TreeTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.createAtEnd)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'createAtEnd', tableType: ux_specification_types_1.v4.TableTypeV4.TreeTable }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.name), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.creationMode.name, ux_specification_types_1.v4.TableCreationModeType.Inline), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.createAtEnd)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_CREATION_MODE', { propertyName: 'createAtEnd', creationMode: ux_specification_types_1.v4.TableCreationModeType.Inline }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)(
    // When name is not set, default creation mode is determined by navigation (NewPage if navigation exists)
    (0, decorator_paths_1.not)((0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.name)), (0, decorator_paths_1.when)(decorator_paths_1.opTableContext.hasNavigation, true), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.createAtEnd)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_CREATION_MODE', { propertyName: 'createAtEnd', creationMode: ux_specification_types_1.v4.TableCreationModeType.Inline }, { deletable: true }))
], TableCreationModeOP.prototype, "createAtEnd", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportCreationModeProperty,
            delete: Table_1.deleteCreationModeProperty
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/cfb04f0c58e7409992feb4c91aa9410b'),
    (0, decorators_1.hide)((0, decorator_paths_1.or)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.creationMode.name, ux_specification_types_1.v4.TableCreationModeType.InlineCreationRows), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.ResponsiveTable))),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.inlineCreationRowsHiddenInEditMode)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'inlineCreationRowsHiddenInEditMode', tableType: decorator_paths_1.opTableContext.type }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.ResponsiveTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.inlineCreationRowsHiddenInEditMode)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'inlineCreationRowsHiddenInEditMode', tableType: ux_specification_types_1.v4.TableTypeV4.ResponsiveTable }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.creationMode.name, ux_specification_types_1.v4.TableCreationModeType.InlineCreationRows), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.inlineCreationRowsHiddenInEditMode)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_CREATION_MODE', {
        propertyName: 'inlineCreationRowsHiddenInEditMode',
        creationMode: ux_specification_types_1.v4.TableCreationModeType.InlineCreationRows
    }, { deletable: true }))
], TableCreationModeOP.prototype, "inlineCreationRowsHiddenInEditMode", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportCreationModeProperty,
            delete: Table_1.deleteCreationModeProperty
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/7cf7a31fd1ee490ab816ecd941bd2f1f'),
    (0, decorators_1.hide)((0, decorator_paths_1.or)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.TreeTable))),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.createInPlace)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'createInPlace', tableType: decorator_paths_1.opTableContext.type }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.TreeTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.createInPlace)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'createInPlace', tableType: ux_specification_types_1.v4.TableTypeV4.TreeTable }, { deletable: true }))
], TableCreationModeOP.prototype, "createInPlace", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportCreationModeProperty,
            delete: Table_1.deleteCreationModeProperty
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/7cf7a31fd1ee490ab816ecd941bd2f1f'),
    (0, decorators_1.hide)((0, decorator_paths_1.or)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.TreeTable))),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.isCreateEnabled)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'isCreateEnabled', tableType: decorator_paths_1.opTableContext.type }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.TreeTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.isCreateEnabled)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'isCreateEnabled', tableType: ux_specification_types_1.v4.TableTypeV4.TreeTable }, { deletable: true }))
], TableCreationModeOP.prototype, "isCreateEnabled", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportCreationModeCreationFieldsProperty,
            import: Table_1.importCreationModeCreationFieldsProperty
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/7fee938d7cba4bfd86810cfe6d011eb0'),
    (0, decorators_1.hide)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.creationMode.name, ux_specification_types_1.v4.TableCreationModeType.CreationDialog)),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.creationFields)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'creationFields', tableType: decorator_paths_1.opTableContext.type }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.creationMode.name, ux_specification_types_1.v4.TableCreationModeType.CreationDialog), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.creationFields)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_CREATION_MODE', { propertyName: 'creationFields', creationMode: ux_specification_types_1.v4.TableCreationModeType.CreationDialog }, { deletable: true }))
], TableCreationModeOP.prototype, "creationFields", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportCreationModeProperty,
            delete: Table_1.deleteCreationModeProperty
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/5c2bc2ea8a7e482e968124959354d736'),
    (0, decorators_1.hide)((0, decorator_paths_1.or)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.creationMode.name, ux_specification_types_1.v4.TableCreationModeType.External))),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.outbound)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'outbound', tableType: decorator_paths_1.opTableContext.type }, { deletable: true })),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.creationMode.name, ux_specification_types_1.v4.TableCreationModeType.External), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode.outbound)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_CREATION_MODE', { propertyName: 'outbound', creationMode: ux_specification_types_1.v4.TableCreationModeType.External }, { deletable: true }))
], TableCreationModeOP.prototype, "outbound", void 0);
class PersonalizationTypeOP {
}
exports.PersonalizationTypeOP = PersonalizationTypeOP;
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP, // Here we are using path of parent to have correct value for manifestSection
            export: Table_1.exportPersonalizationProperty,
            delete: Table_1.deletePersonalizationProperty
        }
    })
], PersonalizationTypeOP.prototype, "column", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP, // Here we are using path of parent to have correct value for manifestSection
            export: Table_1.exportPersonalizationProperty,
            delete: Table_1.deletePersonalizationProperty
        }
    })
], PersonalizationTypeOP.prototype, "sort", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportPersonalizationProperty,
            delete: Table_1.deletePersonalizationProperty
        }
    })
], PersonalizationTypeOP.prototype, "filter", void 0);
class QuickVariantSelectionV4OP {
}
exports.QuickVariantSelectionV4OP = QuickVariantSelectionV4OP;
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: (pageName, manifest, sectionId) => (0, application_1.getTableSettingsPathForOP)(pageName, manifest, sectionId) + ux_specification_types_2.QUICKVARPATH
        }
    })
], QuickVariantSelectionV4OP.prototype, "paths", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: (pageName, manifest, sectionId) => (0, application_1.getTableSettingsPathForOP)(pageName, manifest, sectionId) + ux_specification_types_2.QUICKVARPATH
        }
    })
], QuickVariantSelectionV4OP.prototype, "hideTableTitle", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: (pageName, manifest, sectionId) => (0, application_1.getTableSettingsPathForOP)(pageName, manifest, sectionId) + ux_specification_types_2.QUICKVARPATH
        }
    })
], QuickVariantSelectionV4OP.prototype, "showCounts", void 0);
class ObjectPageTable {
}
exports.ObjectPageTable = ObjectPageTable;
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.84.0'
    })
], ObjectPageTable.prototype, "type", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            export: Table_1.exportPersonalization
        }
    }),
    (0, decorators_1.validity)({
        since: '1.86.0'
    })
], ObjectPageTable.prototype, "personalization", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.84.0'
    })
], ObjectPageTable.prototype, "selectionMode", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.84.0'
    })
], ObjectPageTable.prototype, "selectAll", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.84.0'
    })
], ObjectPageTable.prototype, "selectionLimit", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.84.0'
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/sdk/#/topic/4bab6f2043814257974b52d4dafe1dcd')
], ObjectPageTable.prototype, "enableExport", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.84.0'
    })
], ObjectPageTable.prototype, "quickVariantSelection", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.84.0'
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/sdk/#/topic/f3cc057e405c4fd58ee2ed42c557797c')
], ObjectPageTable.prototype, "condensedTableLayout", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.86.0'
    })
], ObjectPageTable.prototype, "enableFullScreen", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.84.0'
    })
], ObjectPageTable.prototype, "enablePaste", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.117.0'
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/7f844f1021cd4791b8f7408eac7c1cec')
], ObjectPageTable.prototype, "hierarchyQualifier", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.120.0'
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/c0f6592a592e47f9bb6d09900de47412')
], ObjectPageTable.prototype, "widthIncludingColumnHeader", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.123.0'
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/topic/c0f6592a592e47f9bb6d09900de47412')
], ObjectPageTable.prototype, "disableCopyToClipboard", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            import: Table_1.importEnableMassEdit,
            export: Table_1.exportEnableMassEdit
        }
    }),
    (0, decorators_1.validity)({
        since: '1.126.0'
    })
], ObjectPageTable.prototype, "enableMassEdit", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP,
            import: Table_1.importCreationMode
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/api/sap.fe.macros.Table%23controlProperties'),
    (0, decorators_1.validity)({
        since: '1.130.0'
    }),
    (0, decorators_1.hide)((0, decorator_paths_1.or)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.not)((0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.creationMode))), (0, decorator_paths_1.when)(decorator_paths_1.opTableContext.isInsertable, false)))
], ObjectPageTable.prototype, "creationMode", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.descriptionSrcURL)('https://ui5.sap.com/#/api/sap.ui.mdc.enums.TableRowCountMode'),
    (0, decorators_1.validity)({
        since: '1.120.0'
        /**
         * since '1.130.0': 'Interactive', special message in sync/v4/generate/objectPage.ts
         */
    }),
    (0, decorators_1.hide)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.ResponsiveTable)),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.ResponsiveTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.rowCountMode)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'rowCountMode', tableType: ux_specification_types_1.v4.TableTypeV4.ResponsiveTable }, { deletable: true })),
    (0, decorators_1.enums)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.sectionLayout, ux_specification_types_1.v4.SectionLayoutType.Tabs), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.isCollection, true)), [
        ux_specification_types_1.v4.RowCountMode.Auto
    ]),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.sectionLayout, ux_specification_types_1.v4.SectionLayoutType.Tabs), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.isCollection, true), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.rowCountMode), (0, decorator_paths_1.not)(decorator_paths_1.opTableContext.rowCountMode, ux_specification_types_1.v4.RowCountMode.Auto)), (0, decorator_paths_1.msg)('WARNING_DEFAULT_ROW_COUNT_MODE'))
], ObjectPageTable.prototype, "rowCountMode", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.120.0'
    }),
    (0, decorators_1.hide)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.ResponsiveTable)),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.when)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.ResponsiveTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.rowCount)), (0, decorator_paths_1.msg)('PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'rowCount', tableType: ux_specification_types_1.v4.TableTypeV4.ResponsiveTable }, { deletable: true }))
], ObjectPageTable.prototype, "rowCount", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.139.0'
    }),
    (0, decorators_1.hide)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.ResponsiveTable)),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.ResponsiveTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.popinLayout)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'popinLayout', tableType: ux_specification_types_1.v4.TableTypeV4.ResponsiveTable }, { deletable: true }))
], ObjectPageTable.prototype, "popinLayout", void 0);
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableSettingsPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.136.0'
    }),
    (0, decorators_1.hide)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable)),
    (0, decorators_1.message)((0, decorator_paths_1.and)((0, decorator_paths_1.not)(decorator_paths_1.opTableContext.type, ux_specification_types_1.v4.TableTypeV4.AnalyticalTable), (0, decorator_paths_1.exists)(decorator_paths_1.opTableContext.analyticalConfiguration)), (0, decorator_paths_1.msg)('PROPERTY_ONLY_ALLOWED_FOR_TABLE_TYPE', { propertyName: 'analyticalConfiguration', tableType: ux_specification_types_1.v4.TableTypeV4.AnalyticalTable }, { deletable: true }))
], ObjectPageTable.prototype, "analyticalConfiguration", void 0);
class ObjectPageAnalyticalConfiguration {
}
exports.ObjectPageAnalyticalConfiguration = ObjectPageAnalyticalConfiguration;
__decorate([
    (0, decorators_1.syncRule)({
        manifest: {
            path: application_1.getTableAnalyticalConfigurationPathForOP
        }
    }),
    (0, decorators_1.validity)({
        since: '1.136.0'
    })
], ObjectPageAnalyticalConfiguration.prototype, "aggregationOnLeafLevel", void 0);
//# sourceMappingURL=ObjectPageTable.js.map