Skip to content
Code-Schnipsel Gruppen Projekte
EventSelectItem.js 1,51 KiB
Newer Older
/**
 * @module package/quiqqer/eventcalendar/bin/controls/eventSelect/EventSelectItem
 * @author www.pcsg.de (Jan Wennrich)
 *
 * @require qui/QUI
 * @require qui/controls/elements/SelectItem
 * @require Ajax
 */
define('package/quiqqer/eventcalendar/bin/controls/eventSelect/EventSelectItem', [

    'qui/QUI',
    'qui/controls/elements/SelectItem',
    'Ajax'

], function (QUI, QUIElementSelectItem, QUIAjax) {
    "use strict";

    return new Class({

        Extends: QUIElementSelectItem,
        Type   : 'package/quiqqer/eventcalendar/bin/controls/eventSelect/EventSelectItem',

        Binds: [
            'refresh'
        ],

        initialize: function (options) {
            this.parent(options);

            this.setAttribute('icon', 'fa fa-bullhorn');
        },

        /**
         * Refresh the display
         *
         * @returns {Promise}
         */
        refresh: function () {
            return new Promise(function (resolve) {
                QUIAjax.get('package_quiqqer_eventcalendar_ajax_getEvent', function (result) {
                    if (result) {
                        this.$Text.set({
                            html: result.text
                        });
                    } else {
                        this.destroy();
                    }
                    resolve();
                }.bind(this), {
                    'package': 'quiqqer/eventcalendar',
                    eventID  : this.getAttribute('id')
                });
            }.bind(this));
        }
    });
});