/*globals define*/ /** * @class de_epages.presentation.tray.contenttrayview * @author Copyright 2006-2013, epages GmbH, All Rights Reserved * * The tray's content tray view displays all elements which where saved via batch action * * ### Example * HTML: * <div class="container"></div> * * JavaScript: * var view = new ContentTrayView(); * view.render().$el.appendTo('.container'); * * @uses jQuery.ui.accordion * @uses Backbone * * @return {Object} ContentTrayView */ define('de_epages/presentation/tray/tray-view', [ 'jquery/ui/accordion', 'backbone', 'ep/ajax', '$tmpl!./tray-view', '$dict!../dictionary', 'ep/ui/input', 'ep/ui/tooltip' ], function ($, Backbone, ep, template, dict) { 'use strict'; return Backbone.View.extend({ tagname: 'div', template: template, /** * Render stored data from object tray and use an accordion for displaing the items. * * @since 6.17.0 * @chainable * @return {Object} ContentTrayView */ render: function () { var self = this, renderedTemplate; ep.ajax({ type: 'POST', dataType: 'json', data: { 'ObjectID': ep.config.siteId, 'ViewAction': 'JSONGetTray' } }).done(function (data) { self.selectedElements = data; renderedTemplate = self.template({ items: data }).dictParse(dict, true); self.$el.html(renderedTemplate); $.extend(self, $.tmplItem(renderedTemplate).elements); if (data.length) { self.trayNode.accordion({ animate: false, collapsible: true, heightStyle: "content" }); self.useTray.uiInput(); } self.tooltip.uiTooltip(); }); return self; }, /** * Get all elements which are stored in the tray * @return {Array} Contains all elements which are stored in the tray */ getSelectedElements: function () { return this.selectedElements; } }); });