fix(ivy): don't project removed placeholders with runtime i18n (#30783)

When translated content was projected, all of the content was reappended, even the placeholders that had been removed in the translation.
To avoid that we added a new flag on `TNode` that specifies that a node is detached, in which case it should be ignored by the projection.

FW-1319 #resolve
PR Close #30783
This commit is contained in:
Olivier Combe
2019-06-05 20:47:21 +02:00
committed by Misko Hevery
parent 05a43ca869
commit 30efb6b8ea
4 changed files with 23 additions and 17 deletions

View File

@ -47,19 +47,22 @@ export const enum TNodeType {
*/
export const enum TNodeFlags {
/** This bit is set if the node is a component */
isComponent = 0b00001,
isComponent = 0b000001,
/** This bit is set if the node has been projected */
isProjected = 0b00010,
isProjected = 0b000010,
/** This bit is set if any directive on this node has content queries */
hasContentQuery = 0b00100,
hasContentQuery = 0b000100,
/** This bit is set if the node has any "class" inputs */
hasClassInput = 0b01000,
hasClassInput = 0b001000,
/** This bit is set if the node has any "style" inputs */
hasStyleInput = 0b10000,
hasStyleInput = 0b010000,
/** This bit is set if the node has been detached by i18n */
isDetached = 0b100000,
}
/**