Мой первый вклад с открытым исходным кодом - техническая сторона

Итак, около полутора месяцев назад - мне назначили мой первый выпуск в мире Open Source - и это был мой первый раз, когда я попросил его - все о котором вы можете найти здесь.

Вот техническая сторона этого - [я буду краток и понятен]

Итак, это была проблема -

Удаление хуков было прямым удалением хуков удаления! И, как ясно показано на изображении, сначала должен быть шаг подтверждения - для подтверждения удаления - во избежание потери данных!

Это были шаги, которые мне нужно было предпринять (после локальной настройки Taskcluster - что опять же довольно много [особенно для Windows]) -

Импортируйте компонент действия диалога в желаемый файл jsx.

import DialogAction from '../DialogAction'

Отправьте реквизиты, требуемые DialogAction, из файла jsx, в котором этот компонент реализуется.

dialogDeleteHook={dialogDeleteHook}
.
.
onDialogDeleteHook={this.handleDeleteDialogHook}

Добавьте необходимые методы для этих свойств и измените состояние при необходимости.

handleDeleteDialogHook = () => {
this.setState({ dialogDeleteHook: true });
};

Вызов ловушки диалогового окна при нажатии «Удалить ловушку» вместо действия по умолчанию.

onClick={onDialogDeleteHook}

Добавление кода для этой новой ловушки и добавление пользовательского интерфейса по мере необходимости, а затем вызов метода удаления при подтверждении удаления ловушки.

{dialogDeleteHook && (
  <DialogAction
    open={dialogDeleteHook}
    title=”Delete?”
    onSubmit={this.handleDeleteHook}
    onComplete={onActionDialogClose}
    onClose={onActionDialogClose}
    onError={onDialogActionError}
    error={dialogError}
    confirmText=”Delete Hook”
    body={
    <p>
     This will delete {hook.hookGroupId}/{hook.hookId}
    </p>
   }
  />
)}

Это должно сработать!

Это был конечный результат-

И очевидно -

Вот что я узнал:
1. Использование ES Lint для написания идеального кода - многоразового, повторно читаемого!
2. Внесение изменений в правильный файл среди 1000 файлов.
3. Создание Конечно, ни один тестовый пример не завершился неудачно!
4. Посмотрев на тесты Travis CI на Github, вы поймете, почему они терпят неудачу!
5. Предварительный просмотр развертывания, о котором я никогда не знал!

Ага. Это мой первый вклад!

См. Проблему здесь - https://github.com/taskcluster/taskcluster/issues/957

См. Мой первый PR - https://github.com/taskcluster/taskcluster/pull/1068

Написано с любовью,
Ришаб Будхираджа