UNPKG

devextreme-react

Version:

DevExtreme React UI and Visualization Components

509 lines (507 loc) • 18.6 kB
/*! * devextreme-react * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-react */ "use client"; "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Validation = exports.ToolbarItem = exports.Toolbar = exports.Texts = exports.Tasks = exports.StripLine = exports.Sorting = exports.Search = exports.ScaleTypeRange = exports.Resources = exports.ResourceAssignments = exports.OperationDescriptions = exports.Item = exports.HeaderFilter = exports.GanttHeaderFilterSearch = exports.GanttHeaderFilter = exports.Format = exports.FilterRow = exports.Editing = exports.Dependencies = exports.ContextMenuItemItem = exports.ContextMenuItem = exports.ContextMenu = exports.ColumnHeaderFilterSearch = exports.ColumnHeaderFilter = exports.Column = exports.Gantt = void 0; const React = __importStar(require("react")); const react_1 = require("react"); const gantt_1 = __importDefault(require("devextreme/ui/gantt")); const component_1 = require("./core/component"); const nested_option_1 = __importDefault(require("./core/nested-option")); const Gantt = (0, react_1.memo)((0, react_1.forwardRef)((props, ref) => { const baseRef = (0, react_1.useRef)(null); (0, react_1.useImperativeHandle)(ref, () => ({ instance() { return baseRef.current?.getInstance(); } }), [baseRef.current]); const independentEvents = (0, react_1.useMemo)(() => (["onContentReady", "onContextMenuPreparing", "onCustomCommand", "onDependencyDeleted", "onDependencyDeleting", "onDependencyInserted", "onDependencyInserting", "onDisposing", "onInitialized", "onResourceAssigned", "onResourceAssigning", "onResourceDeleted", "onResourceDeleting", "onResourceInserted", "onResourceInserting", "onResourceManagerDialogShowing", "onResourceUnassigned", "onResourceUnassigning", "onScaleCellPrepared", "onTaskClick", "onTaskDblClick", "onTaskDeleted", "onTaskDeleting", "onTaskEditDialogShowing", "onTaskInserted", "onTaskInserting", "onTaskMoving", "onTaskUpdated", "onTaskUpdating"]), []); const expectedChildren = (0, react_1.useMemo)(() => ({ column: { optionName: "columns", isCollectionItem: true }, contextMenu: { optionName: "contextMenu", isCollectionItem: false }, dependencies: { optionName: "dependencies", isCollectionItem: false }, editing: { optionName: "editing", isCollectionItem: false }, filterRow: { optionName: "filterRow", isCollectionItem: false }, ganttHeaderFilter: { optionName: "headerFilter", isCollectionItem: false }, headerFilter: { optionName: "headerFilter", isCollectionItem: false }, resourceAssignments: { optionName: "resourceAssignments", isCollectionItem: false }, resources: { optionName: "resources", isCollectionItem: false }, scaleTypeRange: { optionName: "scaleTypeRange", isCollectionItem: false }, sorting: { optionName: "sorting", isCollectionItem: false }, stripLine: { optionName: "stripLines", isCollectionItem: true }, tasks: { optionName: "tasks", isCollectionItem: false }, toolbar: { optionName: "toolbar", isCollectionItem: false }, validation: { optionName: "validation", isCollectionItem: false } }), []); const templateProps = (0, react_1.useMemo)(() => ([ { tmplOption: "taskContentTemplate", render: "taskContentRender", component: "taskContentComponent" }, { tmplOption: "taskProgressTooltipContentTemplate", render: "taskProgressTooltipContentRender", component: "taskProgressTooltipContentComponent" }, { tmplOption: "taskTimeTooltipContentTemplate", render: "taskTimeTooltipContentRender", component: "taskTimeTooltipContentComponent" }, { tmplOption: "taskTooltipContentTemplate", render: "taskTooltipContentRender", component: "taskTooltipContentComponent" }, ]), []); return (React.createElement((component_1.Component), { WidgetClass: gantt_1.default, ref: baseRef, independentEvents, expectedChildren, templateProps, ...props, })); })); exports.Gantt = Gantt; const _componentColumn = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "columns", IsCollectionItem: true, DefaultsProps: { defaultFilterValue: "filterValue", defaultFilterValues: "filterValues", defaultSelectedFilterOperation: "selectedFilterOperation", defaultSortIndex: "sortIndex", defaultSortOrder: "sortOrder", defaultVisible: "visible", defaultVisibleIndex: "visibleIndex" }, ExpectedChildren: { columnHeaderFilter: { optionName: "headerFilter", isCollectionItem: false }, format: { optionName: "format", isCollectionItem: false }, headerFilter: { optionName: "headerFilter", isCollectionItem: false } }, TemplateProps: [{ tmplOption: "cellTemplate", render: "cellRender", component: "cellComponent" }, { tmplOption: "headerCellTemplate", render: "headerCellRender", component: "headerCellComponent" }], }, }); }; const Column = Object.assign(_componentColumn, { componentType: "option", }); exports.Column = Column; const _componentColumnHeaderFilter = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "headerFilter", ExpectedChildren: { columnHeaderFilterSearch: { optionName: "search", isCollectionItem: false }, search: { optionName: "search", isCollectionItem: false } }, }, }); }; const ColumnHeaderFilter = Object.assign(_componentColumnHeaderFilter, { componentType: "option", }); exports.ColumnHeaderFilter = ColumnHeaderFilter; const _componentColumnHeaderFilterSearch = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "search", }, }); }; const ColumnHeaderFilterSearch = Object.assign(_componentColumnHeaderFilterSearch, { componentType: "option", }); exports.ColumnHeaderFilterSearch = ColumnHeaderFilterSearch; const _componentContextMenu = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "contextMenu", ExpectedChildren: { contextMenuItem: { optionName: "items", isCollectionItem: true }, item: { optionName: "items", isCollectionItem: true } }, }, }); }; const ContextMenu = Object.assign(_componentContextMenu, { componentType: "option", }); exports.ContextMenu = ContextMenu; const _componentContextMenuItem = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "items", IsCollectionItem: true, ExpectedChildren: { contextMenuItemItem: { optionName: "items", isCollectionItem: true }, item: { optionName: "items", isCollectionItem: true } }, TemplateProps: [{ tmplOption: "template", render: "render", component: "component" }], }, }); }; const ContextMenuItem = Object.assign(_componentContextMenuItem, { componentType: "option", }); exports.ContextMenuItem = ContextMenuItem; const _componentContextMenuItemItem = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "items", IsCollectionItem: true, TemplateProps: [{ tmplOption: "template", render: "render", component: "component" }], }, }); }; const ContextMenuItemItem = Object.assign(_componentContextMenuItemItem, { componentType: "option", }); exports.ContextMenuItemItem = ContextMenuItemItem; const _componentDependencies = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "dependencies", }, }); }; const Dependencies = Object.assign(_componentDependencies, { componentType: "option", }); exports.Dependencies = Dependencies; const _componentEditing = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "editing", }, }); }; const Editing = Object.assign(_componentEditing, { componentType: "option", }); exports.Editing = Editing; const _componentFilterRow = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "filterRow", ExpectedChildren: { operationDescriptions: { optionName: "operationDescriptions", isCollectionItem: false } }, }, }); }; const FilterRow = Object.assign(_componentFilterRow, { componentType: "option", }); exports.FilterRow = FilterRow; const _componentFormat = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "format", }, }); }; const Format = Object.assign(_componentFormat, { componentType: "option", }); exports.Format = Format; const _componentGanttHeaderFilter = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "headerFilter", ExpectedChildren: { ganttHeaderFilterSearch: { optionName: "search", isCollectionItem: false }, search: { optionName: "search", isCollectionItem: false }, texts: { optionName: "texts", isCollectionItem: false } }, }, }); }; const GanttHeaderFilter = Object.assign(_componentGanttHeaderFilter, { componentType: "option", }); exports.GanttHeaderFilter = GanttHeaderFilter; const _componentGanttHeaderFilterSearch = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "search", }, }); }; const GanttHeaderFilterSearch = Object.assign(_componentGanttHeaderFilterSearch, { componentType: "option", }); exports.GanttHeaderFilterSearch = GanttHeaderFilterSearch; const _componentHeaderFilter = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "headerFilter", ExpectedChildren: { columnHeaderFilterSearch: { optionName: "search", isCollectionItem: false }, ganttHeaderFilterSearch: { optionName: "search", isCollectionItem: false }, texts: { optionName: "texts", isCollectionItem: false } }, }, }); }; const HeaderFilter = Object.assign(_componentHeaderFilter, { componentType: "option", }); exports.HeaderFilter = HeaderFilter; const _componentItem = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "items", IsCollectionItem: true, ExpectedChildren: { contextMenuItemItem: { optionName: "items", isCollectionItem: true }, item: { optionName: "items", isCollectionItem: true } }, TemplateProps: [{ tmplOption: "template", render: "render", component: "component" }, { tmplOption: "menuItemTemplate", render: "menuItemRender", component: "menuItemComponent" }], }, }); }; const Item = Object.assign(_componentItem, { componentType: "option", }); exports.Item = Item; const _componentOperationDescriptions = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "operationDescriptions", }, }); }; const OperationDescriptions = Object.assign(_componentOperationDescriptions, { componentType: "option", }); exports.OperationDescriptions = OperationDescriptions; const _componentResourceAssignments = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "resourceAssignments", }, }); }; const ResourceAssignments = Object.assign(_componentResourceAssignments, { componentType: "option", }); exports.ResourceAssignments = ResourceAssignments; const _componentResources = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "resources", }, }); }; const Resources = Object.assign(_componentResources, { componentType: "option", }); exports.Resources = Resources; const _componentScaleTypeRange = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "scaleTypeRange", }, }); }; const ScaleTypeRange = Object.assign(_componentScaleTypeRange, { componentType: "option", }); exports.ScaleTypeRange = ScaleTypeRange; const _componentSearch = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "search", }, }); }; const Search = Object.assign(_componentSearch, { componentType: "option", }); exports.Search = Search; const _componentSorting = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "sorting", }, }); }; const Sorting = Object.assign(_componentSorting, { componentType: "option", }); exports.Sorting = Sorting; const _componentStripLine = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "stripLines", IsCollectionItem: true, }, }); }; const StripLine = Object.assign(_componentStripLine, { componentType: "option", }); exports.StripLine = StripLine; const _componentTasks = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "tasks", }, }); }; const Tasks = Object.assign(_componentTasks, { componentType: "option", }); exports.Tasks = Tasks; const _componentTexts = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "texts", }, }); }; const Texts = Object.assign(_componentTexts, { componentType: "option", }); exports.Texts = Texts; const _componentToolbar = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "toolbar", ExpectedChildren: { item: { optionName: "items", isCollectionItem: true }, toolbarItem: { optionName: "items", isCollectionItem: true } }, }, }); }; const Toolbar = Object.assign(_componentToolbar, { componentType: "option", }); exports.Toolbar = Toolbar; const _componentToolbarItem = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "items", IsCollectionItem: true, TemplateProps: [{ tmplOption: "menuItemTemplate", render: "menuItemRender", component: "menuItemComponent" }, { tmplOption: "template", render: "render", component: "component" }], }, }); }; const ToolbarItem = Object.assign(_componentToolbarItem, { componentType: "option", }); exports.ToolbarItem = ToolbarItem; const _componentValidation = (props) => { return React.createElement((nested_option_1.default), { ...props, elementDescriptor: { OptionName: "validation", }, }); }; const Validation = Object.assign(_componentValidation, { componentType: "option", }); exports.Validation = Validation; exports.default = Gantt;