"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); /*! * devextreme-angular * Version: 19.1.16 * Build date: Tue Oct 18 2022 * * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-angular */ Object.defineProperty(exports, "__esModule", { value: true }); var platform_browser_1 = require("@angular/platform-browser"); var platform_browser_2 = require("@angular/platform-browser"); var core_1 = require("@angular/core"); var accordion_1 = require("devextreme/ui/accordion"); var component_1 = require("../core/component"); var template_host_1 = require("../core/template-host"); var integration_1 = require("../core/integration"); var template_1 = require("../core/template"); var nested_option_1 = require("../core/nested-option"); var watcher_helper_1 = require("../core/watcher-helper"); var iterable_differ_helper_1 = require("../core/iterable-differ-helper"); var item_dxi_1 = require("./nested/item-dxi"); var item_dxi_2 = require("./nested/item-dxi"); /** * The Accordion widget contains several panels displayed one under another. These panels can be collapsed or expanded by an end user, which makes this widget very useful for presenting information in a limited amount of space. */ var DxAccordionComponent = (function (_super) { __extends(DxAccordionComponent, _super); function DxAccordionComponent(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) { var _this = _super.call(this, elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId) || this; _this._watcherHelper = _watcherHelper; _this._idh = _idh; _this._createEventEmitters([ { subscribe: 'contentReady', emit: 'onContentReady' }, { subscribe: 'disposing', emit: 'onDisposing' }, { subscribe: 'initialized', emit: 'onInitialized' }, { subscribe: 'itemClick', emit: 'onItemClick' }, { subscribe: 'itemContextMenu', emit: 'onItemContextMenu' }, { subscribe: 'itemHold', emit: 'onItemHold' }, { subscribe: 'itemRendered', emit: 'onItemRendered' }, { subscribe: 'itemTitleClick', emit: 'onItemTitleClick' }, { subscribe: 'optionChanged', emit: 'onOptionChanged' }, { subscribe: 'selectionChanged', emit: 'onSelectionChanged' }, { emit: 'accessKeyChange' }, { emit: 'activeStateEnabledChange' }, { emit: 'animationDurationChange' }, { emit: 'collapsibleChange' }, { emit: 'dataSourceChange' }, { emit: 'deferRenderingChange' }, { emit: 'disabledChange' }, { emit: 'elementAttrChange' }, { emit: 'focusStateEnabledChange' }, { emit: 'heightChange' }, { emit: 'hintChange' }, { emit: 'hoverStateEnabledChange' }, { emit: 'itemHoldTimeoutChange' }, { emit: 'itemsChange' }, { emit: 'itemTemplateChange' }, { emit: 'itemTitleTemplateChange' }, { emit: 'keyExprChange' }, { emit: 'multipleChange' }, { emit: 'noDataTextChange' }, { emit: 'repaintChangesOnlyChange' }, { emit: 'rtlEnabledChange' }, { emit: 'selectedIndexChange' }, { emit: 'selectedItemChange' }, { emit: 'selectedItemKeysChange' }, { emit: 'selectedItemsChange' }, { emit: 'tabIndexChange' }, { emit: 'visibleChange' }, { emit: 'widthChange' } ]); _this._idh.setHost(_this); optionHost.setHost(_this); return _this; } Object.defineProperty(DxAccordionComponent.prototype, "accessKey", { get: /** * Specifies the shortcut key that sets focus on the widget. */ function () { return this._getOption('accessKey'); }, set: function (value) { this._setOption('accessKey', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "activeStateEnabled", { get: /** * Specifies whether or not the widget changes its state when interacting with a user. */ function () { return this._getOption('activeStateEnabled'); }, set: function (value) { this._setOption('activeStateEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "animationDuration", { get: /** * A number specifying the time in milliseconds spent on the animation of the expanding or collapsing of a panel. */ function () { return this._getOption('animationDuration'); }, set: function (value) { this._setOption('animationDuration', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "collapsible", { get: /** * Specifies whether all items can be collapsed or whether at least one item must always be expanded. */ function () { return this._getOption('collapsible'); }, set: function (value) { this._setOption('collapsible', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "dataSource", { get: /** * Binds the widget to data. */ function () { return this._getOption('dataSource'); }, set: function (value) { this._setOption('dataSource', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "deferRendering", { get: /** * Specifies whether to render the panel's content when it is displayed. If false, the content is rendered immediately. */ function () { return this._getOption('deferRendering'); }, set: function (value) { this._setOption('deferRendering', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "disabled", { get: /** * Specifies whether the widget responds to user interaction. */ function () { return this._getOption('disabled'); }, set: function (value) { this._setOption('disabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "elementAttr", { get: /** * Specifies the attributes to be attached to the widget's root element. */ function () { return this._getOption('elementAttr'); }, set: function (value) { this._setOption('elementAttr', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "focusStateEnabled", { get: /** * Specifies whether the widget can be focused using keyboard navigation. */ function () { return this._getOption('focusStateEnabled'); }, set: function (value) { this._setOption('focusStateEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "height", { get: /** * Specifies the widget's height. */ function () { return this._getOption('height'); }, set: function (value) { this._setOption('height', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "hint", { get: /** * Specifies text for a hint that appears when a user pauses on the widget. */ function () { return this._getOption('hint'); }, set: function (value) { this._setOption('hint', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "hoverStateEnabled", { get: /** * Specifies whether the widget changes its state when a user pauses on it. */ function () { return this._getOption('hoverStateEnabled'); }, set: function (value) { this._setOption('hoverStateEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "itemHoldTimeout", { get: /** * The time period in milliseconds before the onItemHold event is raised. */ function () { return this._getOption('itemHoldTimeout'); }, set: function (value) { this._setOption('itemHoldTimeout', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "items", { get: /** * An array of items displayed by the widget. */ function () { return this._getOption('items'); }, set: function (value) { this._setOption('items', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "itemTemplate", { get: /** * Specifies a custom template for items. */ function () { return this._getOption('itemTemplate'); }, set: function (value) { this._setOption('itemTemplate', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "itemTitleTemplate", { get: /** * Specifies a custom template for item titles. */ function () { return this._getOption('itemTitleTemplate'); }, set: function (value) { this._setOption('itemTitleTemplate', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "keyExpr", { get: /** * Specifies which data field provides keys for widget items. */ function () { return this._getOption('keyExpr'); }, set: function (value) { this._setOption('keyExpr', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "multiple", { get: /** * Specifies whether the widget can expand several items or only a single item at once. */ function () { return this._getOption('multiple'); }, set: function (value) { this._setOption('multiple', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "noDataText", { get: /** * The text or HTML markup displayed by the widget if the item collection is empty. */ function () { return this._getOption('noDataText'); }, set: function (value) { this._setOption('noDataText', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "repaintChangesOnly", { get: /** * Specifies whether to repaint only those elements whose data changed. */ function () { return this._getOption('repaintChangesOnly'); }, set: function (value) { this._setOption('repaintChangesOnly', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "rtlEnabled", { get: /** * Switches the widget to a right-to-left representation. */ function () { return this._getOption('rtlEnabled'); }, set: function (value) { this._setOption('rtlEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "selectedIndex", { get: /** * The index number of the currently selected item. */ function () { return this._getOption('selectedIndex'); }, set: function (value) { this._setOption('selectedIndex', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "selectedItem", { get: /** * The selected item object. */ function () { return this._getOption('selectedItem'); }, set: function (value) { this._setOption('selectedItem', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "selectedItemKeys", { get: /** * Specifies an array of currently selected item keys. */ function () { return this._getOption('selectedItemKeys'); }, set: function (value) { this._setOption('selectedItemKeys', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "selectedItems", { get: /** * An array of currently selected item objects. */ function () { return this._getOption('selectedItems'); }, set: function (value) { this._setOption('selectedItems', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "tabIndex", { get: /** * Specifies the number of the element when the Tab key is used for navigating. */ function () { return this._getOption('tabIndex'); }, set: function (value) { this._setOption('tabIndex', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "visible", { get: /** * Specifies whether the widget is visible. */ function () { return this._getOption('visible'); }, set: function (value) { this._setOption('visible', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "width", { get: /** * Specifies the widget's width. */ function () { return this._getOption('width'); }, set: function (value) { this._setOption('width', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxAccordionComponent.prototype, "itemsChildren", { get: function () { return this._getOption('items'); }, set: function (value) { this.setChildren('items', value); }, enumerable: true, configurable: true }); DxAccordionComponent.prototype._createInstance = function (element, options) { return new accordion_1.default(element, options); }; DxAccordionComponent.prototype.ngOnDestroy = function () { this._destroyWidget(); }; DxAccordionComponent.prototype.ngOnChanges = function (changes) { _super.prototype.ngOnChanges.call(this, changes); this.setupChanges('dataSource', changes); this.setupChanges('items', changes); this.setupChanges('selectedItemKeys', changes); this.setupChanges('selectedItems', changes); }; DxAccordionComponent.prototype.setupChanges = function (prop, changes) { if (!(prop in this._optionsToUpdate)) { this._idh.setup(prop, changes); } }; DxAccordionComponent.prototype.ngDoCheck = function () { this._idh.doCheck('dataSource'); this._idh.doCheck('items'); this._idh.doCheck('selectedItemKeys'); this._idh.doCheck('selectedItems'); this._watcherHelper.checkWatchers(); _super.prototype.ngDoCheck.call(this); _super.prototype.clearChangedOptions.call(this); }; DxAccordionComponent.prototype._setOption = function (name, value) { var isSetup = this._idh.setupSingle(name, value); var isChanged = this._idh.getChanges(name, value) !== null; if (isSetup || isChanged) { _super.prototype._setOption.call(this, name, value); } }; DxAccordionComponent.decorators = [ { type: core_1.Component, args: [{ selector: 'dx-accordion', template: '', providers: [ template_host_1.DxTemplateHost, watcher_helper_1.WatcherHelper, nested_option_1.NestedOptionHost, iterable_differ_helper_1.IterableDifferHelper ] },] }, ]; /** @nocollapse */ DxAccordionComponent.ctorParameters = function () { return [ { type: core_1.ElementRef, }, { type: core_1.NgZone, }, { type: template_host_1.DxTemplateHost, }, { type: watcher_helper_1.WatcherHelper, }, { type: iterable_differ_helper_1.IterableDifferHelper, }, { type: nested_option_1.NestedOptionHost, }, { type: platform_browser_2.TransferState, }, { type: undefined, decorators: [{ type: core_1.Inject, args: [core_1.PLATFORM_ID,] },] }, ]; }; DxAccordionComponent.propDecorators = { "accessKey": [{ type: core_1.Input },], "activeStateEnabled": [{ type: core_1.Input },], "animationDuration": [{ type: core_1.Input },], "collapsible": [{ type: core_1.Input },], "dataSource": [{ type: core_1.Input },], "deferRendering": [{ type: core_1.Input },], "disabled": [{ type: core_1.Input },], "elementAttr": [{ type: core_1.Input },], "focusStateEnabled": [{ type: core_1.Input },], "height": [{ type: core_1.Input },], "hint": [{ type: core_1.Input },], "hoverStateEnabled": [{ type: core_1.Input },], "itemHoldTimeout": [{ type: core_1.Input },], "items": [{ type: core_1.Input },], "itemTemplate": [{ type: core_1.Input },], "itemTitleTemplate": [{ type: core_1.Input },], "keyExpr": [{ type: core_1.Input },], "multiple": [{ type: core_1.Input },], "noDataText": [{ type: core_1.Input },], "repaintChangesOnly": [{ type: core_1.Input },], "rtlEnabled": [{ type: core_1.Input },], "selectedIndex": [{ type: core_1.Input },], "selectedItem": [{ type: core_1.Input },], "selectedItemKeys": [{ type: core_1.Input },], "selectedItems": [{ type: core_1.Input },], "tabIndex": [{ type: core_1.Input },], "visible": [{ type: core_1.Input },], "width": [{ type: core_1.Input },], "onContentReady": [{ type: core_1.Output },], "onDisposing": [{ type: core_1.Output },], "onInitialized": [{ type: core_1.Output },], "onItemClick": [{ type: core_1.Output },], "onItemContextMenu": [{ type: core_1.Output },], "onItemHold": [{ type: core_1.Output },], "onItemRendered": [{ type: core_1.Output },], "onItemTitleClick": [{ type: core_1.Output },], "onOptionChanged": [{ type: core_1.Output },], "onSelectionChanged": [{ type: core_1.Output },], "accessKeyChange": [{ type: core_1.Output },], "activeStateEnabledChange": [{ type: core_1.Output },], "animationDurationChange": [{ type: core_1.Output },], "collapsibleChange": [{ type: core_1.Output },], "dataSourceChange": [{ type: core_1.Output },], "deferRenderingChange": [{ type: core_1.Output },], "disabledChange": [{ type: core_1.Output },], "elementAttrChange": [{ type: core_1.Output },], "focusStateEnabledChange": [{ type: core_1.Output },], "heightChange": [{ type: core_1.Output },], "hintChange": [{ type: core_1.Output },], "hoverStateEnabledChange": [{ type: core_1.Output },], "itemHoldTimeoutChange": [{ type: core_1.Output },], "itemsChange": [{ type: core_1.Output },], "itemTemplateChange": [{ type: core_1.Output },], "itemTitleTemplateChange": [{ type: core_1.Output },], "keyExprChange": [{ type: core_1.Output },], "multipleChange": [{ type: core_1.Output },], "noDataTextChange": [{ type: core_1.Output },], "repaintChangesOnlyChange": [{ type: core_1.Output },], "rtlEnabledChange": [{ type: core_1.Output },], "selectedIndexChange": [{ type: core_1.Output },], "selectedItemChange": [{ type: core_1.Output },], "selectedItemKeysChange": [{ type: core_1.Output },], "selectedItemsChange": [{ type: core_1.Output },], "tabIndexChange": [{ type: core_1.Output },], "visibleChange": [{ type: core_1.Output },], "widthChange": [{ type: core_1.Output },], "itemsChildren": [{ type: core_1.ContentChildren, args: [item_dxi_2.DxiItemComponent,] },], }; return DxAccordionComponent; }(component_1.DxComponent)); exports.DxAccordionComponent = DxAccordionComponent; var DxAccordionModule = (function () { function DxAccordionModule() { } DxAccordionModule.decorators = [ { type: core_1.NgModule, args: [{ imports: [ item_dxi_1.DxiItemModule, integration_1.DxIntegrationModule, template_1.DxTemplateModule, platform_browser_1.BrowserTransferStateModule ], declarations: [ DxAccordionComponent ], exports: [ DxAccordionComponent, item_dxi_1.DxiItemModule, template_1.DxTemplateModule ] },] }, ]; return DxAccordionModule; }()); exports.DxAccordionModule = DxAccordionModule; //# sourceMappingURL=accordion.js.map