![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-form/js/components/ |
Upload File : |
import FCore from "../core/FCore"; import ScalableComponent from "../core/ScalableComponent"; import {beginOfDay, compareDate} from "absol/src/Time/datetime"; import inheritComponentClass from "../core/inheritComponentClass"; import InputAttributeHandlers, {InputAttributeNames} from "./handlers/InputAttributeHandlers"; import {AssemblerInstance} from "../core/Assembler"; var _ = FCore._; /*** * @extends ScalableComponent * @constructor */ function DateInYearInput() { ScalableComponent.call(this); } inheritComponentClass(DateInYearInput, ScalableComponent); DateInYearInput.prototype.tag = "DateInYearInput"; DateInYearInput.prototype.menuIcon = "span.mdi.mdi-calendar-today"; DateInYearInput.prototype.SUPPORT_EVENT_NAMES = ['change']; Object.assign(DateInYearInput.prototype.attributeHandlers, InputAttributeHandlers); DateInYearInput.prototype.attributeHandlers.notNull = { set: function (value){ this.domElt.notNull = !!value; }, get: function (){ return this.domElt.notNull; }, export: function (){ return this.domElt.notNull || undefined; }, descriptor:{ type:'bool' } }; DateInYearInput.prototype.attributeHandlers.value = { set: function (value) { var prev = this.domElt.value; if (value instanceof Date) this.domElt.value = {month: value.getMonth(), date: value.getDate()}; else if (typeof value == 'string' || typeof value == "number") { value = new Date(value); this.domElt.value = {month: value.getMonth(), date: value.getDate()}; } if (typeof value === 'object') { this.domElt.value = value; } else { value = null; this.domElt.value = null; } var cur = this.domElt.value; if (!prev !== !cur || (prev && cur && (prev.month !== cur.month || prev.date !== cur.date))) this.pinFire('value'); }, get: function () { return this.view.value; }, descriptor: { type: 'DateMonth', nullable: true, defaultValue: beginOfDay(new Date()), sign: 'DateMonth_value' } }; DateInYearInput.prototype.attributeHandlers.format = { set: function (value) { this.domElt.format = value || 'dd/MM'; }, get: function () { return this.domElt.format; }, descriptor: { type: 'enum', values: ['dd/MM', 'MM/dd', 'MMM-dd', 'dd tháng MM'] } }; DateInYearInput.prototype.pinHandlers.value = { receives: function (value) { this.attributes.value = value; }, get: function () { return this.domElt.value; }, descriptor: { type: "DateMonth" } }; DateInYearInput.prototype.render = function () { return _('dateinyearinput'); }; DateInYearInput.prototype.style.width = 100; DateInYearInput.prototype.style.height = 30; DateInYearInput.prototype.onCreate = function () { ScalableComponent.prototype.onCreate.call(this); this.attributes.value = null; }; DateInYearInput.prototype.onCreated = function () { ScalableComponent.prototype.onCreated.call(this); this.domElt.on('change', this.ev_inputChange.bind(this)); }; DateInYearInput.prototype.getAcceptsEventNames = function () { return ScalableComponent.prototype.getAcceptsEventNames.call(this).concat(['change']); }; DateInYearInput.prototype.measureMinSize = function () { return {width: 75, height: 16}; }; DateInYearInput.prototype.createDataBindingDescriptor = function () { var thisC = this; return { configurable: true, set: function (value) { thisC.setAttribute('value', value); }, get: function () { return thisC.getAttribute('value'); } }; }; DateInYearInput.prototype.ev_inputChange = function () { this.pinFire('value'); }; AssemblerInstance.addClass(DateInYearInput); export default DateInYearInput;