UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

74 lines (72 loc) 3.79 kB
/** * DevExtreme (cjs/__internal/scheduler/appointments_new/appointment/agenda_appointment.js) * Version: 25.2.8 * Build date: Mon Jun 08 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AgendaAppointmentView = void 0; var _renderer = _interopRequireDefault(require("../../../../core/renderer")); var _const = require("../const"); var _base_appointment = require("./base_appointment"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } class AgendaAppointmentView extends _base_appointment.BaseAppointmentView { applyElementClasses() { super.applyElementClasses(); this.$element().toggleClass(_const.AGENDA_APPOINTMENT_CLASSES.LAST_IN_DATE, this.option().modifiers.isLastInGroup) } resize() { this.$element().css({ height: this.option().geometry.height, width: this.option().geometry.width }) } defaultAppointmentContent($container) { this.renderMarker($container); this.renderInfo($container); return $container } renderMarker($container) { const $leftContainer = (0, _renderer.default)("<div>").addClass(_const.AGENDA_APPOINTMENT_CLASSES.LEFT_LAYOUT).appendTo($container); const $marker = (0, _renderer.default)("<div>").addClass(_const.AGENDA_APPOINTMENT_CLASSES.MARKER).appendTo($leftContainer); void this.option().getResourceColor().then(color => { if (color) { this.$element().addClass(_const.APPOINTMENT_TYPE_CLASSES.HAS_RESOURCE); $marker.css("backgroundColor", color) } }); if (this.isRecurring()) { (0, _renderer.default)("<span>").addClass(`${_const.APPOINTMENT_CLASSES.RECURRENCE_ICON} dx-icon-repeat`).attr("aria-label", _const.RECURRING_LABEL).appendTo($marker) } } renderInfo($container) { const $rightContainer = (0, _renderer.default)("<div>").addClass(_const.AGENDA_APPOINTMENT_CLASSES.RIGHT_LAYOUT).appendTo($container); (0, _renderer.default)("<div>").addClass(_const.APPOINTMENT_CLASSES.TITLE).text(this.getTitleText()).appendTo($rightContainer); const $contentDetails = (0, _renderer.default)("<div>").addClass(_const.APPOINTMENT_CLASSES.DETAILS).appendTo($rightContainer); (0, _renderer.default)("<div>").addClass(_const.APPOINTMENT_CLASSES.DATE).text(this.getDateText()).appendTo($contentDetails); if (this.isAllDay()) { (0, _renderer.default)("<div>").text(_const.ALL_DAY_TEXT).addClass(_const.APPOINTMENT_CLASSES.ALL_DAY_TEXT).prependTo($contentDetails) } this.renderResourceList($contentDetails) } renderResourceList($contentDetails) { void this.option().getResourcesValues(this.appointmentData).then(resources => { const container = (0, _renderer.default)("<div>").addClass(_const.AGENDA_APPOINTMENT_CLASSES.RESOURCE_LIST).appendTo($contentDetails); resources.forEach(resource => { const itemContainer = (0, _renderer.default)("<div>").addClass(_const.AGENDA_APPOINTMENT_CLASSES.RESOURCE_ITEM).appendTo(container); (0, _renderer.default)("<div>").text(`${resource.label}:`).appendTo(itemContainer); (0, _renderer.default)("<div>").addClass(_const.AGENDA_APPOINTMENT_CLASSES.RESOURCE_ITEM_VALUE).text(resource.values.join(", ")).appendTo(itemContainer) }) }) } } exports.AgendaAppointmentView = AgendaAppointmentView;