Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] @prizm-ui/components - Table: в таблице с древовидной структурой данных некорректно работает *ngIf для вложенных элементов #235

Closed
1 of 9 tasks
ickisIckis opened this issue May 5, 2023 · 3 comments
Assignees
Labels
state:ready ready for release (pass tested)
Milestone

Comments

@ickisIckis
Copy link
Collaborator

ickisIckis commented May 5, 2023

Библиотека

Выберите нужное отметив галочку [x]

  • @prizm-ui/core
  • @prizm-ui/components
  • @prizm-ui/install
  • @prizm-ui/icons
  • @prizm-ui/flag-icons
  • @prizm-ui/theme
  • @prizm-ui/charts
  • @prizm-ui/ast
  • @prizm-ui/nx-plugin

Компонент

Table

Версия

1.0.0-beta.33

Описание проблемы

Работаю над задачей, в которой необходимо скрыть или показать дополнительные колонки таблицы.
Таблица принимает данные в виде дерева, ряды создаются через *prizmRow. Состоянием колонок управляет *ngIf.

Есть следующая проблема:
При переключении состояния колонок, когда дерево уже раскрыто и таблица отрисована, для дочерних (скрываемых) рядов колонки не меняют своего состояния (не добавляются при попытке открыть и не удаляются при попытке закрыть).

Пример html:

`<tbody prizmTbody [data]="items$ | async">
<ng-container
*prizmRow="
let item of items$ | async;
getChildren: getTableChildren;
let i = index;
let parentItem = parentItem;
let deepLevel = deepLevel;
let count = count
"

<tr prizmTr #trElement>
  <td prizmTd *prizmCell="'tag'" (click)="treeButton.toggle()">
    <div class="col-tree flex-cell">
      <prizm-tree-button
        #treeButton
        [manualChange]="true"
        [visibilityIcon]="!!item.children"
        [open]="trElement.isChildrenOpened(i)"
        (openChange)="$event ? trElement.showChildren(i) : trElement.hideChildren(i)"
        [level]="deepLevel"
      >
      </prizm-tree-button>
      <div class="name-box">{{ item.name }}</div>
    </div>
  </td>
  <td prizmTd *prizmCell="'name'">{{ item.description }}</td>
  <td prizmTd *prizmCell="'currValue'">{{item.currValue}}</td>
  <td prizmTd *prizmCell="'prevValue'">{{ item.prevValue}}</td>
  <td prizmTd *prizmCell="'order'">{{ item.order }}</td>
  <td prizmTd *prizmCell="'send'">{{item.send}}</td>

  <ng-container *ngIf="showColumns$ | async">
    <td prizmTd *prizmCell="'correction'">{{item.correction}}</td>
    <td prizmTd *prizmCell="'delta'">{{item.delta}}</td>
    <td prizmTd *prizmCell="'threshold'">{{item.threshold}}</td>
  </ng-container>
</tr>
`
@ZurabDev ZurabDev self-assigned this May 10, 2023
@ZurabDev ZurabDev added this to the 1.0.0-beta.36 milestone May 10, 2023
@ZurabDev ZurabDev added the state:ready ready for release (pass tested) label May 10, 2023
@ickisIckis
Copy link
Collaborator Author

ickisIckis commented May 22, 2023

В версии 1.0.0-rc.2 проблема все еще воспроизводится

@ZurabDev ZurabDev removed this from the 1.0.0-rc.1 milestone May 22, 2023
@ZurabDev ZurabDev added state:in_progress We work on this issue and removed state:ready ready for release (pass tested) labels May 22, 2023
@ZurabDev ZurabDev reopened this May 22, 2023
@ickisIckis
Copy link
Collaborator Author

проблема воспроизводится при использовании директивы *prizmCell на ячейках

@ZurabDev ZurabDev added this to the 1.0.0 milestone May 24, 2023
@ZurabDev ZurabDev added state:ready ready for release (pass tested) and removed state:in_progress We work on this issue labels May 24, 2023
@ZurabDev ZurabDev modified the milestones: 1.0.0, next May 24, 2023
@ZurabDev ZurabDev reopened this May 24, 2023
@ickisIckis
Copy link
Collaborator Author

Исправлено в версии 1.0.0-next.3
Спасибо!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:ready ready for release (pass tested)
Projects
None yet
Development

No branches or pull requests

2 participants