Skip to content
Code-Schnipsel Gruppen Projekte
History.js 3,94 KiB
Newer Older
Henning Leutz's avatar
Henning Leutz committed
/**
 * Cron History Panel
 *
 * @module package/quiqqer/cron/bin/History
Henning Leutz's avatar
Henning Leutz committed
 * @author www.pcsg.de (Henning Leutz)
Henning Leutz's avatar
Henning Leutz committed
 *
 * @require qui/QUI
 * @require qui/controls/desktop/Panel
 * @require qui/controls/windows/Confirm
 * @require qui/controls/buttons/Button
 * @require qui/controls/buttons/Seperator
 * @require controls/grid/Grid
 * @require Ajax
 * @require Locale
Henning Leutz's avatar
Henning Leutz committed
 */

define('package/quiqqer/cron/bin/History', [
Henning Leutz's avatar
Henning Leutz committed

    'qui/QUI',
    'qui/controls/desktop/Panel',
    'qui/controls/windows/Confirm',
    'qui/controls/buttons/Button',
    'qui/controls/buttons/Seperator',
    'controls/grid/Grid',
    'Ajax',
    'Locale'

Henning Leutz's avatar
Henning Leutz committed
], function (QUI, QUIPanel, QUIConfirm, QUIButton, QUIButtonSeperator, Grid, Ajax, QUILocale) {
Henning Leutz's avatar
Henning Leutz committed
    "use strict";

Henning Leutz's avatar
Henning Leutz committed
    var lg = 'quiqqer/cron';


Henning Leutz's avatar
Henning Leutz committed
    return new Class({

Henning Leutz's avatar
Henning Leutz committed
        Extends: QUIPanel,
        Type   : 'package/quiqqer/cron/bin/History',
Henning Leutz's avatar
Henning Leutz committed

Henning Leutz's avatar
Henning Leutz committed
        Binds: [
Henning Leutz's avatar
Henning Leutz committed
            '$onCreate',
            '$onResize'
        ],

Henning Leutz's avatar
Henning Leutz committed
        options: {
            title: 'Cron-History',
Henning Leutz's avatar
Henning Leutz committed
            icon : 'fa fa-long-arrow-right'
Henning Leutz's avatar
Henning Leutz committed
        },

Henning Leutz's avatar
Henning Leutz committed
        initialize: function (options) {
            this.parent(options);
Henning Leutz's avatar
Henning Leutz committed

            this.addEvents({
Henning Leutz's avatar
Henning Leutz committed
                onCreate: this.$onCreate,
                onResize: this.$onResize
Henning Leutz's avatar
Henning Leutz committed
            });
        },

        /**
         * Load the History list
         */
Henning Leutz's avatar
Henning Leutz committed
        loadData: function () {
            var self    = this,
                options = this.$Grid.options;

            this.Loader.show();
Henning Leutz's avatar
Henning Leutz committed

Henning Leutz's avatar
Henning Leutz committed
            Ajax.get('package_quiqqer_cron_ajax_history_get', function (result) {
                self.$Grid.setData(result);
Henning Leutz's avatar
Henning Leutz committed
            }, {
Henning Leutz's avatar
Henning Leutz committed
                'package': 'quiqqer/cron',
                params   : JSON.encode({
                    perPage: options.perPage,
                    page   : options.page
Henning Leutz's avatar
Henning Leutz committed
            });
        },

        /**
         * event : on Create
         */
Henning Leutz's avatar
Henning Leutz committed
        $onCreate: function () {
            var self      = this,
                Content   = this.getContent(),
Henning Leutz's avatar
Henning Leutz committed

                Container = new Element('div', {
Henning Leutz's avatar
Henning Leutz committed
                    'class': 'box',
Henning Leutz's avatar
Henning Leutz committed
                    styles : {
Henning Leutz's avatar
Henning Leutz committed
                        width : '100%',
                        height: '100%'
Henning Leutz's avatar
Henning Leutz committed
                    }
Henning Leutz's avatar
Henning Leutz committed
                }).inject(Content);
Henning Leutz's avatar
Henning Leutz committed


            this.$Grid = new Grid(Container, {
Henning Leutz's avatar
Henning Leutz committed
                columnModel: [{
                    header   : QUILocale.get('quiqqer/system', 'createdate'),
                    dataIndex: 'lastexec',
                    dataType : 'date',
                    width    : 150
Henning Leutz's avatar
Henning Leutz committed
                }, {
Henning Leutz's avatar
Henning Leutz committed
                    header   : QUILocale.get(lg, 'cron.id'),
                    dataIndex: 'cronid',
                    dataType : 'string',
                    width    : 50
Henning Leutz's avatar
Henning Leutz committed
                    header   : QUILocale.get(lg, 'cron.title'),
                    dataIndex: 'cronTitle',
                    dataType : 'string',
                    width    : 200
Henning Leutz's avatar
Henning Leutz committed
                }, {
Henning Leutz's avatar
Henning Leutz committed
                    header   : QUILocale.get('quiqqer/system', 'user_id'),
                    dataIndex: 'uid',
                    dataType : 'string',
                    width    : 100
Henning Leutz's avatar
Henning Leutz committed
                    header   : QUILocale.get('quiqqer/system', 'username'),
                    dataIndex: 'username',
                    dataType : 'string',
                    width    : 150
Henning Leutz's avatar
Henning Leutz committed
                }],
                pagination : true
            });

Henning Leutz's avatar
Henning Leutz committed
            this.$Grid.addEvents({
Henning Leutz's avatar
Henning Leutz committed
                onRefresh: function () {
Henning Leutz's avatar
Henning Leutz committed
                    self.loadData();
                }
            });

            this.$Grid.refresh();
Henning Leutz's avatar
Henning Leutz committed
        },

        /**
         * event : on resize
         */
Henning Leutz's avatar
Henning Leutz committed
        $onResize: function () {
            if (!this.$Grid) {
Henning Leutz's avatar
Henning Leutz committed
                return;
            }

            var Content = this.getContent(),
                size    = Content.getSize();

Henning Leutz's avatar
Henning Leutz committed
            this.$Grid.setHeight(size.y - 40);
            this.$Grid.setWidth(size.x - 40);
Henning Leutz's avatar
Henning Leutz committed
        }
    });