/** * @class Ext.calendar.view.Multi * @extend Ext.container.Container * @xtype calendar-multiview * * For an overview of calendar views see {@link Ext.calendar.view.Base} * * This view is used to wrap multiple calendar panels and allows switching between and * communicating with them through a single interface. This class does not provide any * additional UI functionality. That is provided by {@link Ext.calendar.panel.Panel} * which wraps this component. * * Sample Multi view * * Ext.create({ * xtype: 'calendar-multiview', * renderTo: Ext.getBody(), * height: 400, * width: 400, * store: { * autoLoad: true, * proxy: { * type: 'ajax', * url: 'calendars.php' * }, * eventStoreDefaults: { * proxy: { * type: 'ajax', * url: 'events.php' * } * } * }, * views: { * day: { * xtype: 'calendar-day' * }, * week: { * xtype: 'calendar-week' * }, * month: { * xtype: 'calendar-month' * } * }, * defaultView: 'day' * }); * * In the previous example we've detailed the calendar panel types we're interested in * having contained within the multi view using the {@link #cfg-views} config option. * The key specified for each calendar panel will be used when specifying the initial * {@link #cfg-defaultView} as well as when setting the current view at runtime using * the {@link method-setView} method. * * The following Multi view configs will be applied to any calendar panel in the views * config: * * - {@link #cfg-compact} * - {@link #cfg-compactOptions} * - {@link #cfg-store} * - {@link #cfg-timezoneOffset} * - {@link #cfg-value} * * ### Date Range Navigation * * The {@link #cfg-movePrevious} and {@link #cfg-moveNext} move the active view backward * and forward. The amount moved depends on the current view type. * * ### Alternative Classes * * If you require UI controls for navigating views and toggling the visibility of events * per source calendar consider {@link Ext.calendar.panel.Panel}. * Ext.calendar.panel.Panel wraps the Multi view and provides navigational controls. */ /** * @cfg [layout='fit'] * @inheritdoc */ /** * @cfg [compact=false] * @inheritdoc Ext.calendar.view.Base#cfg-compact * The compact config is applied to all configured {@link #cfg-views}. * @accessor */ /** * @cfg [compactOptions=null] * @inheritdoc Ext.calendar.view.Base#cfg-compactOptions * The compactOptions config is applied to all configured {@link #cfg-views}. * @accessor */ /** * @cfg [store=null] * @inheritdoc Ext.calendar.view.Base#cfg-store * The store config is applied to all configured {@link #cfg-views}. * @accessor */ /** * @cfg timezoneOffset * @inheritdoc Ext.calendar.view.Base#cfg-timezoneOffset * The timezoneOffset config is applied to all configured {@link #cfg-views}. * @accessor */ /** * @cfg value * @inheritdoc Ext.calendar.view.Base#cfg-value * The value config is applied to all configured {@link #cfg-views}. * @accessor */ /** * @cfg {Object} [views=null] * The calendar views to have available, each item in this configuration * (labelled by a key) is to contain the configuration for the view, a class that * extends {@link Ext.calendar.panel.Base}. * * Example with a day and week view: * * views: { * day: { * xtype: 'calendar-day' * }, * week: { * xtype: 'calendar-week' * } * } * * The "day" and "week" keys would be the eligible values for the * {@link #cfg-defaultView} and the param string to pass to * {@link #method-setView}. * @accessor */ /** * @cfg {String} [defaultView=null] * The key of the item from {@link #views} to use as the default. */ /** * @method moveNext * Moves the active view forward. The amount moved * depends on the current view. */ /** * @method movePrevious * Moves the active view backward. The amount moved * depends on the current view. */ /** * @method navigate * Move the current view by an amount based of the current {@link #value}. * @param {Number} amount The number of intervals to move. * @param {String} [interval=Ext.Date.DAY] The interval to navigate by. See {@link Ext.Date} * for valid intervals. */ /** * @method setView * Set the active view. * * Example defaultView / views configuration * * defaultView: 'day', * views: { * day: { * xtype: 'calendar-day' * }, * week: { * xtype: 'calendar-week' * } * } * * To change the view from the default of "day" to "week": * * ViewInstance.setView('week'); * * @param {String} view The view name from {@link #views}. */