диалоговое окно ngx-color-picker закрывается после щелчка снаружи - PullRequest
0 голосов
/ 30 августа 2018

Я использовал ngx-color-picker в нашем проекте. но проблема, которую я получаю, заключается в том, что всякий раз, когда я щелкаю за пределами диалога, он закрывается. Я не хочу закрывать диалоговое окно, если оно щелкнуло за пределами диалогового окна. Есть ли в ngx-color-picker какое-либо встроенное событие, которое решает эту ситуацию?

Я использовал этот пакет: https://www.npmjs.com/package/ngx-color-picker

Любая помощь будет высоко ценится.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Из документов , такого ввода нет ... Может быть, вы можете взглянуть на inline позиционирование вместо popup.

[cpDialogDisplay]            // Dialog positioning mode: 'popup', 'inline' ('popup').
                             //   popup: dialog is shown as popup (fixed positioning).
                             //   inline: dialog is shown permanently (static positioning).

Вы все еще можете раскошелиться на проект, если вам действительно нужна эта функция.

0 голосов
/ 30 августа 2018

По этой функции от источника

 public onMouseDown(event: MouseEvent): void {
    if (!this.isIE10 && this.cpDialogDisplay === 'popup' &&
        event.target !== this.directiveElementRef.nativeElement &&
        !this.isDescendant(this.elRef.nativeElement, event.target) &&
        !this.isDescendant(this.directiveElementRef.nativeElement, event.target) &&
        this.cpIgnoredElements.filter((item: any) => item === event.target).length === 0)
    {
      if (!this.cpSaveClickOutside) {
        this.setColorFromString(this.initialColor, false);

        this.directiveInstance.colorChanged(this.initialColor);
      }

      this.closeColorPicker();
    }
  }

Вы должны использовать:

cpDialogDisplay = 'inline'

Вместо

cpDialogDisplay = 'popup'

Для предотвращения такого поведения, однако это отключит диалог .

Итак, ответ на ваш вопрос:

Я не хочу закрывать диалоговое окно, если оно щелкнуло за пределами Диалог. Есть ли в ngx-color-picker какое-либо встроенное событие, которое принимает заботиться об этой ситуации?

Is Нет .

На мой взгляд, как и в любом проекте с открытым исходным кодом, у вас есть несколько вариантов:

1) Измените исходный код компонента, отправьте свои изменения в проект в github и, если сопровождающие согласятся с вашей реализацией, ваша новая функция станет частью будущих выпусков указанного компонента;

2) Вы создаете свой собственный компонент с нуля, возможно, в значительной степени основываясь на текущей ngx-color-picker , с нужной вам функцией и, возможно, другими.

3) Найдите другие похожие проекты / компоненты, которые могут иметь функцию / поведение, которое вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...