@praxisui/list 9.0.0-beta.7 → 9.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/list",
|
|
3
|
-
"version": "9.0.0-beta.
|
|
3
|
+
"version": "9.0.0-beta.9",
|
|
4
4
|
"description": "List components and helpers for Praxis UI.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0",
|
|
8
8
|
"@angular/material": "^21.0.0",
|
|
9
|
-
"@praxisui/dynamic-fields": "^9.0.0-beta.
|
|
9
|
+
"@praxisui/dynamic-fields": "^9.0.0-beta.9",
|
|
10
10
|
"rxjs": ">=7 <9",
|
|
11
11
|
"@angular/forms": "^21.0.0",
|
|
12
12
|
"@angular/router": "^21.0.0",
|
|
13
|
-
"@praxisui/ai": "^9.0.0-beta.
|
|
14
|
-
"@praxisui/core": "^9.0.0-beta.
|
|
15
|
-
"@praxisui/rich-content": "^9.0.0-beta.
|
|
16
|
-
"@praxisui/settings-panel": "^9.0.0-beta.
|
|
13
|
+
"@praxisui/ai": "^9.0.0-beta.9",
|
|
14
|
+
"@praxisui/core": "^9.0.0-beta.9",
|
|
15
|
+
"@praxisui/rich-content": "^9.0.0-beta.9",
|
|
16
|
+
"@praxisui/settings-panel": "^9.0.0-beta.9"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"tslib": "^2.3.0",
|
|
@@ -302,7 +302,7 @@ A integracao com host ocorre por `SettingsValueProvider`:
|
|
|
302
302
|
| `dataSource.resourcePath` | Active | Campo principal para schema remoto. |
|
|
303
303
|
| `dataSource.query` | Active | JSON editavel com validacao sintatica. |
|
|
304
304
|
| `dataSource.sort` | Active | Gerado por `sortField/sortDir` e por UI sort rows. |
|
|
305
|
-
| `dataSource.data` |
|
|
305
|
+
| `dataSource.data` | Active | Preservado no objeto; editor mostra resumo, colunas de amostra e aviso de precedencia sobre `resourcePath`. |
|
|
306
306
|
| `layout.variant` | Active | `list/cards/tiles`. |
|
|
307
307
|
| `layout.model` | Active | `standard/media/hotel`. |
|
|
308
308
|
| `layout.lines` | Active | `1/2/3`. |
|
|
@@ -316,6 +316,7 @@ A integracao com host ocorre por `SettingsValueProvider`:
|
|
|
316
316
|
| `export.enabled/formats/general.*` | Active | Editor guiado de formatos, escopo, cabecalhos, limite, nome de arquivo, formatacao e campos incluidos. |
|
|
317
317
|
| `interaction.expandable/expandTrigger/expandMode/expandPlacement` | Active | Editor guiado de comportamento expansivel da linha. |
|
|
318
318
|
| `expansion.sections/rendering` | Active | Editor guiado para secoes inline e shell visual da expansao. |
|
|
319
|
+
| `rules.itemStyles/slotOverrides` | Active | Editor guiado basico para Json Logic, classe, estilo, template de slot, ocultacao e primeiro `effects[]` canonico. |
|
|
319
320
|
| `skin.type` | Active | Presets + selecao manual. |
|
|
320
321
|
| `skin.gradient/radius/shadow/border/backdropBlur/class/inlineStyle` | Active | Edicao direta + presets. |
|
|
321
322
|
| `selection.mode` | Active | `none/single/multiple`. |
|
|
@@ -347,11 +348,11 @@ A integracao com host ocorre por `SettingsValueProvider`:
|
|
|
347
348
|
| Area | Adherence | Current editor coverage | Recommended next step |
|
|
348
349
|
| --- | --- | --- | --- |
|
|
349
350
|
| `events.exportAction` | ja-suportado-so-ux | Campo visual no tab de eventos. | Manter coberto por spec focal de round-trip. |
|
|
350
|
-
| `layout.rowLayout` | ja-suportado-so-ux | Editor guiado cobre ativacao, preset corporativo, tipo, colunas, largura, alinhamento, gap e
|
|
351
|
-
| `export` | ja-suportado-so-ux | Editor guiado cobre habilitacao, formatos, escopo, cabecalhos, limite, nome de arquivo, formatacao e
|
|
352
|
-
| `interaction`/`expansion` | suportado-parcialmente | Editor guiado cobre interacao expansivel, secoes inline e
|
|
353
|
-
| `rules.itemStyles`/`rules.slotOverrides` | suportado-
|
|
354
|
-
| `dataSource.data` | ja-suportado-mal-nomeado-ou-mal-materializado | Round-trip por JSON
|
|
351
|
+
| `layout.rowLayout` | ja-suportado-so-ux | Editor guiado cobre ativacao, preset corporativo, tipo, colunas, largura, alinhamento, gap, CSS avancado e warnings inline para slots sem materializacao. | Evoluir depois com preview visual por slot. |
|
|
352
|
+
| `export` | ja-suportado-so-ux | Editor guiado cobre habilitacao, formatos, escopo, cabecalhos, limite, nome de arquivo, formatacao, campos incluidos, warning para campo inexistente quando o schema esta carregado e preview compacto de colunas/amostra. | Evoluir depois com preview fiel do payload final gerado pelo runtime. |
|
|
353
|
+
| `interaction`/`expansion` | suportado-parcialmente | Editor guiado cobre interacao expansivel, secoes inline, rendering e diagnostico de `dataSource`/`schemaContract` remotos preservados por JSON. | Evoluir fonte remota/schemaContract apenas com validacao de seguranca e prova runtime. |
|
|
354
|
+
| `rules.itemStyles`/`rules.slotOverrides` | ja-suportado-so-ux | Editor guiado cobre condicao Json Logic, estilo de item, override de slot, template basico, ocultacao e primeira materializacao canonica `effects[0]`. | Evoluir depois com builder visual de Json Logic, preview por item e suporte multi-effect se o runtime passar a consumir mais de um efeito. |
|
|
355
|
+
| `dataSource.data` | ja-suportado-mal-nomeado-ou-mal-materializado | Round-trip por JSON com resumo visual, colunas de amostra e aviso de precedencia sobre `resourcePath`. | Manter JSON-only para datasets grandes; considerar import dedicado apenas se houver demanda operacional. |
|
|
355
356
|
|
|
356
357
|
### Validacao Estrutural
|
|
357
358
|
|
|
@@ -443,11 +444,11 @@ ref.saved$.subscribe((payload) => {
|
|
|
443
444
|
|
|
444
445
|
### Known limitations and pending investigation
|
|
445
446
|
|
|
446
|
-
1. Nao existe editor dedicado para `dataSource.data` (dataset local grande).
|
|
447
|
-
2. `rules` possui
|
|
448
|
-
3. `layout.rowLayout` possui editor guiado
|
|
449
|
-
4. `export` possui editor guiado
|
|
450
|
-
5. `expansion.dataSource` remoto e `expansion.schemaContract` permanecem JSON-only
|
|
447
|
+
1. Nao existe editor dedicado para alterar `dataSource.data` (dataset local grande); o editor mostra resumo, amostra e precedencia para evitar erro silencioso.
|
|
448
|
+
2. `rules` possui editor guiado basico com `effects[0]`, mas ainda nao tem builder visual de Json Logic, preview de impacto por item ou authoring multi-effect. O runtime atualmente materializa o primeiro efeito valido.
|
|
449
|
+
3. `layout.rowLayout` possui editor guiado com warnings inline para slots sem materializacao, mas ainda nao tem preview visual por slot.
|
|
450
|
+
4. `export` possui editor guiado com warning de `includeFields` desconhecido e preview compacto de colunas/amostra, mas ainda nao tem preview fiel do payload final gerado pelo runtime.
|
|
451
|
+
5. `expansion.dataSource` remoto e `expansion.schemaContract` permanecem JSON-only para authoring; o editor mostra diagnostico de seguranca e preservacao ate existir prova runtime especifica de carregamento remoto.
|
|
451
452
|
6. O editor preserva em JSON/config campos declared-only que podem nao ter efeito no runtime final, mas nao deve promove-los como controles visuais ativos.
|
|
452
453
|
7. `isDirty$` usa comparacao por snapshot JSON; mudancas de ordenacao de chaves/objetos podem gerar ruido em cenarios extremos.
|
|
453
454
|
8. Conversao automatica de `globalAction.payload` string para JSON e heuristica (so quando formato parece objeto/array).
|
package/types/praxisui-list.d.ts
CHANGED
|
@@ -1179,6 +1179,7 @@ type SkinPreset = Exclude<SkinType, 'custom'>;
|
|
|
1179
1179
|
type RowLayoutColumn = NonNullable<NonNullable<NonNullable<PraxisListConfig['layout']>['rowLayout']>['columns']>[number];
|
|
1180
1180
|
type RowLayoutAlign = NonNullable<NonNullable<NonNullable<PraxisListConfig['layout']>['rowLayout']>['align']>;
|
|
1181
1181
|
type ListExpansionRendering = NonNullable<NonNullable<PraxisListConfig['expansion']>['rendering']>;
|
|
1182
|
+
type ExportPreviewRow = Record<string, string>;
|
|
1182
1183
|
declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
1183
1184
|
config: PraxisListConfig;
|
|
1184
1185
|
listId?: string;
|
|
@@ -1328,6 +1329,7 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1328
1329
|
readonly rowLayoutAlignOptions: RowLayoutAlign[];
|
|
1329
1330
|
readonly rowLayoutColumnAlignOptions: Array<NonNullable<RowLayoutColumn['align']>>;
|
|
1330
1331
|
readonly rowLayoutJustifyOptions: Array<NonNullable<RowLayoutColumn['justify']>>;
|
|
1332
|
+
readonly rowLayoutStructuralSlots: Set<ListRowLayoutSlot>;
|
|
1331
1333
|
readonly exportFormatOptions: PraxisExportFormat[];
|
|
1332
1334
|
readonly exportScopeOptions: PraxisExportScope[];
|
|
1333
1335
|
readonly expandTriggerOptions: Array<NonNullable<NonNullable<PraxisListConfig['interaction']>['expandTrigger']>>;
|
|
@@ -1336,6 +1338,8 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1336
1338
|
readonly expansionSectionTypeOptions: ListExpansionSectionType[];
|
|
1337
1339
|
readonly expansionShellOptions: Array<NonNullable<ListExpansionRendering['shell']>>;
|
|
1338
1340
|
readonly expansionColumnOptions: Array<NonNullable<ListExpansionRendering['columns']>>;
|
|
1341
|
+
readonly ruleSlotOptions: ListSlotOverrideRule['slot'][];
|
|
1342
|
+
readonly ruleTemplateTypeOptions: TemplateType[];
|
|
1339
1343
|
mappingMetaFields: string[];
|
|
1340
1344
|
mappingMetaSeparator: string;
|
|
1341
1345
|
mappingMetaWrapSecondInParens: boolean;
|
|
@@ -1382,6 +1386,11 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1382
1386
|
private resetVisualMappingState;
|
|
1383
1387
|
private setupSchemaWatcher;
|
|
1384
1388
|
onResourcePathChange(value: string): void;
|
|
1389
|
+
getLocalDataRows(): any[];
|
|
1390
|
+
getLocalDataSummary(): string;
|
|
1391
|
+
getLocalDataPrecedenceWarning(): string;
|
|
1392
|
+
getLocalDataColumns(): string[];
|
|
1393
|
+
getLocalDataPreviewRows(): Array<Record<string, string>>;
|
|
1385
1394
|
applySkinPreset(preset: SkinPreset): void;
|
|
1386
1395
|
applyLayoutPreset(preset: 'tiles-modern'): void;
|
|
1387
1396
|
private defaultPresetLocale;
|
|
@@ -1505,6 +1514,8 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1505
1514
|
removeRowLayoutColumn(index: number): void;
|
|
1506
1515
|
moveRowLayoutColumn(index: number, direction: -1 | 1): void;
|
|
1507
1516
|
onRowLayoutChanged(): void;
|
|
1517
|
+
rowLayoutColumnWarning(column: RowLayoutColumn): string;
|
|
1518
|
+
private rowLayoutSlotHasMaterialization;
|
|
1508
1519
|
private ensureRowLayoutDraft;
|
|
1509
1520
|
private defaultRowLayout;
|
|
1510
1521
|
private nextRowLayoutSlot;
|
|
@@ -1532,7 +1543,14 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1532
1543
|
onExportApplyFormattingChange(value: boolean): void;
|
|
1533
1544
|
onExportMaxRowsChange(value: any): void;
|
|
1534
1545
|
getExportIncludeFieldsText(): string;
|
|
1546
|
+
getExportPreviewColumns(): string[];
|
|
1547
|
+
getExportPreviewRows(): ExportPreviewRow[];
|
|
1548
|
+
getExportPreviewSummary(): string;
|
|
1549
|
+
getExportIncludeFieldsWarning(): string;
|
|
1550
|
+
getExportUnknownIncludeFields(): string[];
|
|
1535
1551
|
onExportIncludeFieldsTextChange(value: string): void;
|
|
1552
|
+
private readExportPreviewValue;
|
|
1553
|
+
private formatExportPreviewValue;
|
|
1536
1554
|
private ensureExportDraft;
|
|
1537
1555
|
expansionEnabled(): boolean;
|
|
1538
1556
|
onExpansionEnabledChange(enabled: boolean): void;
|
|
@@ -1545,6 +1563,8 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1545
1563
|
getExpansionColumnsModel(): NonNullable<ListExpansionRendering['columns']>;
|
|
1546
1564
|
getExpansionGapModel(): string;
|
|
1547
1565
|
getExpansionPaddingModel(): string;
|
|
1566
|
+
getExpansionRemoteSummary(): string;
|
|
1567
|
+
getExpansionRemoteWarnings(): string[];
|
|
1548
1568
|
onExpansionRenderingChanged(prop: 'shell' | 'columns' | 'gap' | 'padding', value: string | number): void;
|
|
1549
1569
|
addExpansionSection(): void;
|
|
1550
1570
|
removeExpansionSection(index: number): void;
|
|
@@ -1553,6 +1573,37 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1553
1573
|
getExpansionSectionShowIfText(section: ListExpansionSectionDef): string;
|
|
1554
1574
|
private ensureExpansionDraft;
|
|
1555
1575
|
private defaultExpansionSection;
|
|
1576
|
+
addItemStyleRule(): void;
|
|
1577
|
+
removeItemStyleRule(index: number): void;
|
|
1578
|
+
addSlotOverrideRule(): void;
|
|
1579
|
+
removeSlotOverrideRule(index: number): void;
|
|
1580
|
+
onRulesChanged(): void;
|
|
1581
|
+
getRuleConditionText(rule: {
|
|
1582
|
+
condition?: JsonLogicExpression | null;
|
|
1583
|
+
}): string;
|
|
1584
|
+
onRuleConditionChanged(rule: {
|
|
1585
|
+
condition?: JsonLogicExpression | null;
|
|
1586
|
+
}, raw: string): void;
|
|
1587
|
+
getItemStyleEffect(rule: ListItemStyleRule): ListItemStyleEffect | undefined;
|
|
1588
|
+
ensureItemStyleEffect(rule: ListItemStyleRule): void;
|
|
1589
|
+
clearItemStyleEffects(rule: ListItemStyleRule): void;
|
|
1590
|
+
getSlotOverrideEffect(rule: ListSlotOverrideRule): ListSlotOverrideEffect | undefined;
|
|
1591
|
+
ensureSlotOverrideEffect(rule: ListSlotOverrideRule): void;
|
|
1592
|
+
clearSlotOverrideEffects(rule: ListSlotOverrideRule): void;
|
|
1593
|
+
getSlotOverrideTemplateExpr(rule: {
|
|
1594
|
+
template?: TemplateDef;
|
|
1595
|
+
}): string;
|
|
1596
|
+
onSlotOverrideTemplateExprChanged(rule: {
|
|
1597
|
+
template?: TemplateDef;
|
|
1598
|
+
}, expr: string): void;
|
|
1599
|
+
getSlotOverrideTemplateType(rule: {
|
|
1600
|
+
template?: TemplateDef;
|
|
1601
|
+
}): TemplateType;
|
|
1602
|
+
onSlotOverrideTemplateTypeChanged(rule: {
|
|
1603
|
+
template?: TemplateDef;
|
|
1604
|
+
}, type: TemplateType): void;
|
|
1605
|
+
private defaultItemStyleRule;
|
|
1606
|
+
private defaultSlotOverrideRule;
|
|
1556
1607
|
onSkeletonChanged(value: any): void;
|
|
1557
1608
|
addUiSortRow(): void;
|
|
1558
1609
|
removeUiSortRow(i: number): void;
|