wikimedia/mediawiki-core

View on GitHub
resources/src/mediawiki.special.apisandbox/DateTimeParamWidget.js

Summary

Maintainability
A
0 mins
Test Coverage
var TextParamMixin = require( './TextParamMixin.js' ),
    UtilMixin = require( './UtilMixin.js' );

/**
 * A wrapper for mw.widgets.datetime.DateTimeInputWidget
 *
 * @class
 * @private
 * @constructor
 * @param {Object} config Configuration options
 */
function DateTimeParamWidget( config ) {
    config.formatter = {
        format: '${year|0}-${month|0}-${day|0}T${hour|0}:${minute|0}:${second|0}${zone|short}'
    };
    config.clearable = false;

    DateTimeParamWidget.super.call( this, config );
}

OO.inheritClass( DateTimeParamWidget, mw.widgets.datetime.DateTimeInputWidget );
OO.mixinClass( DateTimeParamWidget, TextParamMixin );
OO.mixinClass( DateTimeParamWidget, UtilMixin );

/**
 * @return {jQuery.Promise}
 */
DateTimeParamWidget.prototype.getValidity = function () {
    if ( !this.apiBool( this.paramInfo.required ) || this.getApiValue() !== '' ) {
        return $.Deferred().resolve().promise();
    } else {
        return $.Deferred().reject().promise();
    }
};

module.exports = DateTimeParamWidget;