Добавление пунктов меню в "Создать задачу"¶
UETaskMenuItem предназначен для добавления пунктов меню у кнопки 'Создать задачу' на странице задач
Описание UETaskMenuItem
type TaskMenuItemProps = {
taskStore: TaskSearchStore<ITreeNodeModel<any>>;
}
type Resolver = (taskStore: TaskSearchStore<ITreeNodeModel<any>>) => boolean;
type Meta = {
order: number;
};
export type UETaskMenuItem = UeModuleBase<Resolver, Meta> & {
component: ComponentType<TaskMenuItemProps>;
};
Пример: пункт меню с названием 'SomeDropDownItemName', при нажатии на который появляется модальное окно
@observer
class SomeComponent extends React.Component<IProps> {
@observable
isModalOpen = false;
@action
toggleModal = () => {
this.isModalOpen = !this.isModalOpen;
};
override render () {
const taskStore = this.props.taskStore;
return (
<>
<DropDown.Item
onClick={this.toggleModal}
>
{'SomeDropDownItemName'}
</DropDown.Item>
<Modal
isOpen={this.isModalOpen}
onClose={this.toggleModal}
>
<>
{'someModalContent'}
</>
</Modal>
</>
);
}
}
export const someNewTaskMenuItemUE: UniverseUE.IUeMeta['TaskMenuItem'] =
{
moduleId: 'exampleUeModule1',
active: true,
system: false,
meta: {
order: 2
},
component: SomeComponent,
resolver: (taskStore: TaskSearchStore<ITreeNodeModel<any>>) => {
return true;
}
};
ueModuleManager.addModule('TaskMenuItem', someNewTaskMenuItemUE);