Loading... {JSON.stringify(props.store)};
+ }
+
+ const topRightMenuStore = TopRightMenuNs.Store.create({ visible: false });
+
+ const widgets = props.store.data?.widgets.map((widget) => {
+ widget.setDashboardId(props.store.id);
+ return {props.value};
+ } else if (props.children) {
+ output = props.children;
+ } else {
+ output = (none); + } + return
- {props.store.issue.description}
-
- {props.store.issue.description}
+
- {props.data.notes || '-'}
-
- {props.data.notes || '-'}
+ ОБСУДИТЬ
-
+ - {taskTitle} - {props.children} -
-+ {taskTitle} + {props.children} +
+Простые уведомления о движении задач - и больше ничего лишнего. - Пример уведомления по личному упоминанию в задаче: -
- -+ Простые уведомления о движении задач - и больше ничего лишнего. + Пример уведомления по личному упоминанию в задаче: +
- Кажется получилось поправить проблемку. Глянь мой MR. -Можно задавать коллегам вопросы прямо из комментария задачи, неотрываясь от её содержимого. Уведомление доставится в считанные минуты с ссылкой на задачу и информацией от кого это уведомление.
-Пример запроса моих текущих задач с помощью команды - /current_issues_eccm -
- -+ Можно задавать коллегам вопросы прямо из комментария задачи, + неотрываясь от её содержимого. Уведомление доставится в считанные + минуты с ссылкой на задачу и информацией от кого это уведомление. +
++ Пример запроса моих текущих задач с помощью команды + + /current_issues_eccm + +
+ +Unknown page
- ) + returnUnknown page
; }; -export default UnknownPage; \ No newline at end of file +export default UnknownPage; diff --git a/frontend/src/utils/service-actions-buttons.tsx b/frontend/src/utils/service-actions-buttons.tsx index 16c1706..6f8cadd 100644 --- a/frontend/src/utils/service-actions-buttons.tsx +++ b/frontend/src/utils/service-actions-buttons.tsx @@ -1,14 +1,15 @@ import React from 'react'; -import { onGetIssuesQueueSizeClick, onIssuesRefreshClick } from './service-actions'; +import { + onGetIssuesQueueSizeClick, + onIssuesRefreshClick, +} from './service-actions'; export const IssuesForceRefreshButton = (): JSX.Element => { - return ( - - ); + return ; }; export const GetIssuesQueueSizeButton = (): JSX.Element => { - return ( - - ); + return ( + + ); }; diff --git a/frontend/src/utils/service-actions.ts b/frontend/src/utils/service-actions.ts index 0c2f950..b0298ac 100644 --- a/frontend/src/utils/service-actions.ts +++ b/frontend/src/utils/service-actions.ts @@ -1,21 +1,31 @@ -import axios from "axios"; +import axios from 'axios'; import React from 'react'; export const onIssuesRefreshClick = (e: React.MouseEvent) => { - if (e.target !== e.currentTarget) return; - e.stopPropagation(); - const rawInput = prompt("Force issues refresh (delimiters - space, comma, semicolon or tab)", ""); - if (!rawInput) return; - const list = rawInput.split(/[ ,;\t\n\r]/).map(item => Number(item)).filter(item => (Number.isFinite(item) && item > 0)); - if (!list) return; - axios.post(`/redmine-event-emitter/append-issues`, list); + if (e.target !== e.currentTarget) return; + e.stopPropagation(); + const rawInput = prompt( + 'Force issues refresh (delimiters - space, comma, semicolon or tab)', + '', + ); + if (!rawInput) return; + const list = rawInput + .split(/[ ,;\t\n\r]/) + .map((item) => Number(item)) + .filter((item) => Number.isFinite(item) && item > 0); + if (!list) return; + axios.post(`/redmine-event-emitter/append-issues`, list); }; -export const onGetIssuesQueueSizeClick = async (e: React.MouseEvent): Promise