@po-ui/ng-components 21.33.0 → 22.0.0-next.0
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/README.md +2 -2
- package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs → po-ui-ng-components-po-chart-modal-table.component-BfgIJ-rf.mjs} +7 -6
- package/fesm2022/po-ui-ng-components-po-chart-modal-table.component-BfgIJ-rf.mjs.map +1 -0
- package/fesm2022/po-ui-ng-components.mjs +2866 -3250
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/index.d.ts +0 -1
- package/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.d.ts +4 -0
- package/lib/components/po-accordion/po-accordion.module.d.ts +0 -38
- package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +1 -0
- package/lib/components/po-field/po-search-ai/po-search-ai-base.component.d.ts +0 -4
- package/lib/components/po-listbox/po-listbox-base.component.d.ts +1 -1
- package/lib/components/po-navbar/po-navbar.component.d.ts +2 -3
- package/lib/components/po-navbar/po-navbar.module.d.ts +0 -38
- package/lib/components/po-page/po-page-slide/po-page-slide-base.component.d.ts +0 -39
- package/lib/components/po-page/po-page-slide/po-page-slide.component.d.ts +5 -13
- package/lib/components/po-slide/po-slide.component.d.ts +2 -3
- package/lib/components/po-slide/po-slide.module.d.ts +0 -37
- package/lib/components/po-stepper/po-stepper.component.d.ts +0 -1
- package/lib/components/po-table/po-table.component.d.ts +1 -1
- package/lib/components/po-tree-view/po-tree-view.module.d.ts +1 -0
- package/lib/components/po-widget/po-widget-base.component.d.ts +0 -1
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +3 -8
- package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +0 -1
- package/lib/services/po-component-injector/po-component-injector.service.d.ts +12 -5
- package/lib/utils/util.d.ts +0 -13
- package/package.json +13 -15
- package/po-ui-ng-components-22.0.0-next.0.tgz +0 -0
- package/schematics/collection.json +0 -20
- package/schematics/migrations.json +5 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/setup-project.d.ts +1 -0
- package/schematics/ng-add/setup-project.js +95 -0
- package/schematics/ng-add/setup-project.js.map +1 -1
- package/schematics/ng-generate/sidemenu/files/__appFileName__.spec.ts.template +35 -0
- package/schematics/ng-generate/sidemenu/files/{app.ts.template → __appFileName__.ts.template} +3 -3
- package/schematics/ng-generate/sidemenu/files-standalone/{app.spec.ts.template → __appFileName__.spec.ts.template} +4 -4
- package/schematics/ng-generate/sidemenu/files-standalone/{app.ts.template → __appFileName__.ts.template} +3 -3
- package/schematics/ng-generate/sidemenu/index.js +9 -3
- package/schematics/ng-generate/sidemenu/index.js.map +1 -1
- package/schematics/ng-generate/sidemenu/schema.d.ts +9 -0
- package/schematics/ng-generate/sidemenu/schema.json +5 -0
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v18/index.js +3 -3
- package/schematics/ng-update/v18/index.js.map +1 -1
- package/schematics/ng-update/v19/index.js +3 -3
- package/schematics/ng-update/v19/index.js.map +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v20/index.js +3 -3
- package/schematics/ng-update/v20/index.js.map +1 -1
- package/schematics/ng-update/v21/index.js +1 -1
- package/schematics/ng-update/v22/changes.d.ts +29 -0
- package/schematics/ng-update/v22/changes.js +44 -0
- package/schematics/ng-update/v22/changes.js.map +1 -0
- package/schematics/ng-update/v22/gauge-html-migration.d.ts +35 -0
- package/schematics/ng-update/v22/gauge-html-migration.js +308 -0
- package/schematics/ng-update/v22/gauge-html-migration.js.map +1 -0
- package/schematics/ng-update/v22/gauge-manual-test/all-cases.component.html +723 -0
- package/schematics/ng-update/v22/gauge-property-map.d.ts +53 -0
- package/schematics/ng-update/v22/gauge-property-map.js +298 -0
- package/schematics/ng-update/v22/gauge-property-map.js.map +1 -0
- package/schematics/ng-update/v22/gauge-ts-migration.d.ts +41 -0
- package/schematics/ng-update/v22/gauge-ts-migration.js +326 -0
- package/schematics/ng-update/v22/gauge-ts-migration.js.map +1 -0
- package/schematics/ng-update/v22/index.d.ts +39 -0
- package/schematics/ng-update/v22/index.js +253 -0
- package/schematics/ng-update/v22/index.js.map +1 -0
- package/schematics/ng-update/v22/migration-report.d.ts +48 -0
- package/schematics/ng-update/v22/migration-report.js +50 -0
- package/schematics/ng-update/v22/migration-report.js.map +1 -0
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/schematics/package.json +3 -0
- package/types/po-ui-ng-components.d.ts +40 -490
- package/fesm2022/po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs.map +0 -1
- package/lib/components/po-gauge/index.d.ts +0 -4
- package/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.d.ts +0 -19
- package/lib/components/po-gauge/interfaces/po-gauge-options.interface.d.ts +0 -69
- package/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.d.ts +0 -44
- package/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.d.ts +0 -15
- package/lib/components/po-gauge/po-gauge-base.component.d.ts +0 -133
- package/lib/components/po-gauge/po-gauge-default-values.constant.d.ts +0 -5
- package/lib/components/po-gauge/po-gauge.component.d.ts +0 -30
- package/lib/components/po-gauge/po-gauge.module.d.ts +0 -6
- package/po-ui-ng-components-21.33.0.tgz +0 -0
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -3
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -19
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
- package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -3
- package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
- package/schematics/ng-generate/po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -23
- package/schematics/ng-generate/po-page-default/index.d.ts +0 -4
- package/schematics/ng-generate/po-page-default/index.js +0 -13
- package/schematics/ng-generate/po-page-default/index.js.map +0 -1
- package/schematics/ng-generate/po-page-default/schema.d.ts +0 -3
- package/schematics/ng-generate/po-page-default/schema.js +0 -3
- package/schematics/ng-generate/po-page-default/schema.js.map +0 -1
- package/schematics/ng-generate/po-page-default/schema.json +0 -67
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -27
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
- package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
- package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
- package/schematics/ng-generate/po-page-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -33
- package/schematics/ng-generate/po-page-detail/index.d.ts +0 -4
- package/schematics/ng-generate/po-page-detail/index.js +0 -13
- package/schematics/ng-generate/po-page-detail/index.js.map +0 -1
- package/schematics/ng-generate/po-page-detail/schema.d.ts +0 -3
- package/schematics/ng-generate/po-page-detail/schema.js +0 -3
- package/schematics/ng-generate/po-page-detail/schema.js.map +0 -1
- package/schematics/ng-generate/po-page-detail/schema.json +0 -67
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -32
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -27
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -8
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -31
- package/schematics/ng-generate/po-page-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -33
- package/schematics/ng-generate/po-page-edit/index.d.ts +0 -4
- package/schematics/ng-generate/po-page-edit/index.js +0 -13
- package/schematics/ng-generate/po-page-edit/index.js.map +0 -1
- package/schematics/ng-generate/po-page-edit/schema.d.ts +0 -3
- package/schematics/ng-generate/po-page-edit/schema.js +0 -3
- package/schematics/ng-generate/po-page-edit/schema.js.map +0 -1
- package/schematics/ng-generate/po-page-edit/schema.json +0 -67
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -28
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -37
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -34
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +0 -19
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +0 -14
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template +0 -0
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.html.template +0 -28
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +0 -36
- package/schematics/ng-generate/po-page-list/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -42
- package/schematics/ng-generate/po-page-list/index.d.ts +0 -7
- package/schematics/ng-generate/po-page-list/index.js +0 -16
- package/schematics/ng-generate/po-page-list/index.js.map +0 -1
- package/schematics/ng-generate/po-page-list/schema.d.ts +0 -5
- package/schematics/ng-generate/po-page-list/schema.js +0 -3
- package/schematics/ng-generate/po-page-list/schema.js.map +0 -1
- package/schematics/ng-generate/po-page-list/schema.json +0 -78
- package/schematics/ng-generate/sidemenu/files/app.__style__.template +0 -0
- package/schematics/ng-generate/sidemenu/files/app.spec.ts.template +0 -33
- package/schematics/ng-generate/sidemenu/files-standalone/app.__style__.template +0 -0
- /package/schematics/ng-generate/{po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template → sidemenu/files/__appFileName__.__style__.template} +0 -0
- /package/schematics/ng-generate/sidemenu/files/{app.html.template → __appFileName__.html.template} +0 -0
- /package/schematics/ng-generate/{po-page-default/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.__style__.template → sidemenu/files-standalone/__appFileName__.__style__.template} +0 -0
- /package/schematics/ng-generate/sidemenu/files-standalone/{app.html.template → __appFileName__.html.template} +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Representa um único atributo/binding de um elemento `po-gauge` extraído do
|
|
3
|
+
* template. A expressão original é preservada textualmente (`rawExpression`),
|
|
4
|
+
* sem qualquer avaliação, garantindo que a migração seja fiel ao código-fonte.
|
|
5
|
+
*/
|
|
6
|
+
export interface GaugeAttribute {
|
|
7
|
+
/** Nome da propriedade do po-gauge (ex.: `p-value`, `p-ranges`). */
|
|
8
|
+
name: string;
|
|
9
|
+
/** `true` quando o atributo é um property binding (`[p-value]="..."`). */
|
|
10
|
+
binding: boolean;
|
|
11
|
+
/** Expressão/valor original preservado textualmente. */
|
|
12
|
+
rawExpression: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Resultado do mapeamento das propriedades do `po-gauge` para os atributos do
|
|
16
|
+
* `po-chart`, conforme o comportamento real do componente po-gauge da v21.
|
|
17
|
+
*/
|
|
18
|
+
export interface MappedChartAttributes {
|
|
19
|
+
/** Expressão gerada para `[p-series]` do po-chart. */
|
|
20
|
+
pSeries?: string;
|
|
21
|
+
/** Expressão gerada para `[p-options]` do po-chart (omitida se não aplicável). */
|
|
22
|
+
pOptions?: string;
|
|
23
|
+
/** Expressão gerada para `[p-value-gauge-multiple]` (quando p-value + p-ranges). */
|
|
24
|
+
pValueGaugeMultiple?: string;
|
|
25
|
+
/** Atributos fora do Mapeamento_Propriedades preservados no elemento (Req. 2.5). */
|
|
26
|
+
passthrough: Array<GaugeAttribute>;
|
|
27
|
+
/** Propriedades `po-gauge` sem equivalente na tabela (Req. 3.10). */
|
|
28
|
+
unmapped: Array<GaugeAttribute>;
|
|
29
|
+
/** Chaves de `p-options` em conflito entre propriedade individual e `p-options` (Req. 3.11). */
|
|
30
|
+
conflicts: Array<string>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Mapeia os atributos/bindings de um `po-gauge` para a configuração equivalente
|
|
34
|
+
* do `po-chart`, seguindo o comportamento real do componente po-gauge da v21.
|
|
35
|
+
*
|
|
36
|
+
* Regras aplicadas (baseadas no template e ngOnChanges do po-gauge):
|
|
37
|
+
* - `p-value` sem `p-ranges` → `[p-series]="[{ data: <expr> }]"`
|
|
38
|
+
* - `p-value` com `p-ranges` → `[p-value-gauge-multiple]="<expr>"`
|
|
39
|
+
* - `p-ranges` → `[p-series]="<ranges expr>"` (direto, sem wrap)
|
|
40
|
+
* - `p-title` → `[p-title]` passthrough direto no po-chart
|
|
41
|
+
* - `p-height` → `[p-height]` passthrough direto no po-chart
|
|
42
|
+
* - `p-description` → `p-options.descriptionChart`
|
|
43
|
+
* - `p-show-from-to-legend` → `p-options.showFromToLegend`
|
|
44
|
+
* - `p-show-pointer` → `p-options.pointer`
|
|
45
|
+
* - `p-options` → mescla para `[p-options]` do po-chart
|
|
46
|
+
* - `showContainerGauge: true` é injetado por padrão em `p-options`
|
|
47
|
+
* (comportamento do ngOnInit do po-gauge)
|
|
48
|
+
* - Propriedade `p-*` sem equivalente: coletada em `unmapped`
|
|
49
|
+
* - Demais atributos (não `po-gauge`): coletados em `passthrough`
|
|
50
|
+
* - Conflito entre propriedade individual e chave de `p-options`: prevalece o
|
|
51
|
+
* valor de `p-options` e o conflito é registrado
|
|
52
|
+
*/
|
|
53
|
+
export declare function mapGaugeProperties(attrs: Array<GaugeAttribute>): MappedChartAttributes;
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapGaugeProperties = mapGaugeProperties;
|
|
4
|
+
const changes_1 = require("./changes");
|
|
5
|
+
/** Índice das regras de mapeamento por nome da propriedade do po-gauge. */
|
|
6
|
+
const ruleByProp = (() => {
|
|
7
|
+
const map = new Map();
|
|
8
|
+
changes_1.gaugePropertyRules.forEach(rule => map.set(rule.gaugeProp, rule));
|
|
9
|
+
return map;
|
|
10
|
+
})();
|
|
11
|
+
/**
|
|
12
|
+
* Mapeia os atributos/bindings de um `po-gauge` para a configuração equivalente
|
|
13
|
+
* do `po-chart`, seguindo o comportamento real do componente po-gauge da v21.
|
|
14
|
+
*
|
|
15
|
+
* Regras aplicadas (baseadas no template e ngOnChanges do po-gauge):
|
|
16
|
+
* - `p-value` sem `p-ranges` → `[p-series]="[{ data: <expr> }]"`
|
|
17
|
+
* - `p-value` com `p-ranges` → `[p-value-gauge-multiple]="<expr>"`
|
|
18
|
+
* - `p-ranges` → `[p-series]="<ranges expr>"` (direto, sem wrap)
|
|
19
|
+
* - `p-title` → `[p-title]` passthrough direto no po-chart
|
|
20
|
+
* - `p-height` → `[p-height]` passthrough direto no po-chart
|
|
21
|
+
* - `p-description` → `p-options.descriptionChart`
|
|
22
|
+
* - `p-show-from-to-legend` → `p-options.showFromToLegend`
|
|
23
|
+
* - `p-show-pointer` → `p-options.pointer`
|
|
24
|
+
* - `p-options` → mescla para `[p-options]` do po-chart
|
|
25
|
+
* - `showContainerGauge: true` é injetado por padrão em `p-options`
|
|
26
|
+
* (comportamento do ngOnInit do po-gauge)
|
|
27
|
+
* - Propriedade `p-*` sem equivalente: coletada em `unmapped`
|
|
28
|
+
* - Demais atributos (não `po-gauge`): coletados em `passthrough`
|
|
29
|
+
* - Conflito entre propriedade individual e chave de `p-options`: prevalece o
|
|
30
|
+
* valor de `p-options` e o conflito é registrado
|
|
31
|
+
*/
|
|
32
|
+
function mapGaugeProperties(attrs) {
|
|
33
|
+
const result = {
|
|
34
|
+
passthrough: [],
|
|
35
|
+
unmapped: [],
|
|
36
|
+
conflicts: []
|
|
37
|
+
};
|
|
38
|
+
let valueAttr;
|
|
39
|
+
let rangesAttr;
|
|
40
|
+
let optionsAttr;
|
|
41
|
+
// Entradas individuais destinadas a p-options, na ordem de ocorrência.
|
|
42
|
+
const optionEntries = [];
|
|
43
|
+
attrs.forEach(attr => {
|
|
44
|
+
const base = normalizeName(attr.name);
|
|
45
|
+
const rule = ruleByProp.get(base);
|
|
46
|
+
if (!rule) {
|
|
47
|
+
// Propriedade `p-*` do po-gauge sem equivalente vs. atributo genérico
|
|
48
|
+
// preservado.
|
|
49
|
+
if (base.toLowerCase().startsWith('p-')) {
|
|
50
|
+
result.unmapped.push(attr);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
result.passthrough.push(attr);
|
|
54
|
+
}
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
switch (rule.target) {
|
|
58
|
+
case 'p-series':
|
|
59
|
+
if (base === 'p-value') {
|
|
60
|
+
valueAttr = attr;
|
|
61
|
+
}
|
|
62
|
+
else if (base === 'p-ranges') {
|
|
63
|
+
rangesAttr = attr;
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
case 'p-options':
|
|
67
|
+
if (base === 'p-options') {
|
|
68
|
+
optionsAttr = attr;
|
|
69
|
+
}
|
|
70
|
+
else if (rule.optionsKey) {
|
|
71
|
+
optionEntries.push({ key: rule.optionsKey, value: formatValue(attr) });
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
case 'passthrough':
|
|
75
|
+
// p-title e p-height vão direto como inputs do po-chart.
|
|
76
|
+
result.passthrough.push(attr);
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
const pSeries = buildSeries(valueAttr, rangesAttr);
|
|
81
|
+
if (pSeries !== undefined) {
|
|
82
|
+
result.pSeries = pSeries;
|
|
83
|
+
}
|
|
84
|
+
// Quando p-value + p-ranges estão presentes, o valor vai para
|
|
85
|
+
// p-value-gauge-multiple (como no ngOnChanges do po-gauge original).
|
|
86
|
+
if (valueAttr && rangesAttr) {
|
|
87
|
+
const rangesExpr = formatValue(rangesAttr);
|
|
88
|
+
if (isNonEmptyArrayLiteral(rangesExpr)) {
|
|
89
|
+
result.pValueGaugeMultiple = formatValue(valueAttr);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// Ranges dinâmico: quando vazio em runtime, o po-gauge colocava o valor na
|
|
93
|
+
// série (`[{ data: value }]`) e não usava valuesMultiple. Replica esse
|
|
94
|
+
// fallback condicional para preservar o comportamento original.
|
|
95
|
+
// Usa `expr && expr.length` para evitar warning NG8107.
|
|
96
|
+
result.pValueGaugeMultiple = `${rangesExpr} && ${rangesExpr}.length ? ${formatValue(valueAttr)} : undefined`;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const pOptions = buildOptions(optionEntries, optionsAttr, result.conflicts);
|
|
100
|
+
if (pOptions !== undefined) {
|
|
101
|
+
result.pOptions = pOptions;
|
|
102
|
+
}
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Constrói a expressão de `p-series` seguindo o comportamento real do
|
|
107
|
+
* ngOnChanges do po-gauge:
|
|
108
|
+
* - Com ranges: `this.series = [...this.ranges]` → p-series recebe ranges diretamente
|
|
109
|
+
* - Sem ranges, com value: `this.series = [{ data: this.value }]`
|
|
110
|
+
* - Nem value nem ranges: gera `[]` (comportamento padrão do po-gauge que
|
|
111
|
+
* inicializava `series: Array<PoChartSerie> = []`)
|
|
112
|
+
*
|
|
113
|
+
* Quando ambos existem, o value é tratado separadamente via
|
|
114
|
+
* `p-value-gauge-multiple` (pelo chamador).
|
|
115
|
+
*/
|
|
116
|
+
function buildSeries(valueAttr, rangesAttr) {
|
|
117
|
+
if (rangesAttr) {
|
|
118
|
+
const rangesExpr = formatValue(rangesAttr);
|
|
119
|
+
// Array literal não vazio: o conteúdo é garantido em tempo de build, então
|
|
120
|
+
// usa os ranges diretamente (equivale a `this.series = [...this.ranges]`).
|
|
121
|
+
if (isNonEmptyArrayLiteral(rangesExpr)) {
|
|
122
|
+
return rangesExpr;
|
|
123
|
+
}
|
|
124
|
+
// Ranges dinâmico (variável/expressão) ou array literal vazio: pode não ter
|
|
125
|
+
// itens em runtime. O po-gauge decidia isso em tempo de execução no
|
|
126
|
+
// ngOnChanges:
|
|
127
|
+
// this.ranges?.length ? [...this.ranges]
|
|
128
|
+
// : (value ? [{ data: value }] : [])
|
|
129
|
+
// Replica esse fallback condicional para preservar o comportamento original.
|
|
130
|
+
// Usa `expr && expr.length` em vez de `expr?.length` para evitar o warning
|
|
131
|
+
// NG8107 do Angular (optional chain desnecessário em tipos não-nullable).
|
|
132
|
+
const fallback = valueAttr ? `[{ data: ${formatValue(valueAttr)} }]` : '[]';
|
|
133
|
+
return `${rangesExpr} && ${rangesExpr}.length ? ${rangesExpr} : ${fallback}`;
|
|
134
|
+
}
|
|
135
|
+
if (valueAttr) {
|
|
136
|
+
// Sem ranges: series é [{ data: value }].
|
|
137
|
+
return `[{ data: ${formatValue(valueAttr)} }]`;
|
|
138
|
+
}
|
|
139
|
+
// Sem value nem ranges: o po-gauge inicializava series como [] por padrão.
|
|
140
|
+
// É necessário passar explicitamente para evitar que o po-chart receba
|
|
141
|
+
// undefined (o que causaria erro em runtime no template).
|
|
142
|
+
return '[]';
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Indica se a expressão é um array literal com pelo menos um elemento (ex.:
|
|
146
|
+
* `[{ from: 0, to: 50 }]`). Nesses casos o conteúdo é garantido em build-time e
|
|
147
|
+
* dispensa o fallback condicional aplicado a ranges dinâmicos.
|
|
148
|
+
*/
|
|
149
|
+
function isNonEmptyArrayLiteral(expr) {
|
|
150
|
+
const trimmed = expr.trim();
|
|
151
|
+
return trimmed.startsWith('[') && trimmed.endsWith(']') && trimmed.slice(1, -1).trim().length > 0;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Constrói a expressão de `p-options` mesclando as propriedades individuais com
|
|
155
|
+
* o objeto `p-options` de origem, e injetando `showContainerGauge: true` por
|
|
156
|
+
* padrão (comportamento do ngOnInit do po-gauge original).
|
|
157
|
+
*
|
|
158
|
+
* Quando uma mesma chave é definida pela propriedade individual e por
|
|
159
|
+
* `p-options`, prevalece o valor de `p-options` e o conflito é registrado.
|
|
160
|
+
*/
|
|
161
|
+
function buildOptions(individualEntries, optionsAttr, conflicts) {
|
|
162
|
+
// showContainerGauge: true é o default do ngOnInit do po-gauge.
|
|
163
|
+
const defaultEntries = [{ key: 'showContainerGauge', value: 'true' }];
|
|
164
|
+
const allIndividualEntries = [...defaultEntries, ...individualEntries];
|
|
165
|
+
if (!optionsAttr) {
|
|
166
|
+
return `{ ${allIndividualEntries.map(entry => `${entry.key}: ${entry.value}`).join(', ')} }`;
|
|
167
|
+
}
|
|
168
|
+
const optionsExpr = optionsAttr.binding ? optionsAttr.rawExpression.trim() : formatValue(optionsAttr);
|
|
169
|
+
const isLiteralObject = optionsAttr.binding && optionsExpr.startsWith('{') && optionsExpr.endsWith('}');
|
|
170
|
+
if (isLiteralObject) {
|
|
171
|
+
const topLevelKeys = parseTopLevelKeys(optionsExpr);
|
|
172
|
+
const keptEntries = [];
|
|
173
|
+
allIndividualEntries.forEach(entry => {
|
|
174
|
+
if (topLevelKeys.includes(entry.key)) {
|
|
175
|
+
if (entry.key === 'descriptionChart') {
|
|
176
|
+
// descriptionChart de p-description PREVALECE sobre p-options
|
|
177
|
+
// (comportamento do po-gauge: this.description || options.descriptionChart).
|
|
178
|
+
keptEntries.push(entry);
|
|
179
|
+
conflicts.push(entry.key);
|
|
180
|
+
}
|
|
181
|
+
else if (entry.key !== 'showContainerGauge') {
|
|
182
|
+
// Demais chaves: prevalece o valor definido em p-options.
|
|
183
|
+
// Não registra conflito para showContainerGauge (é apenas um default).
|
|
184
|
+
conflicts.push(entry.key);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
keptEntries.push(entry);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
// Monta o corpo do p-options literal, removendo a chave descriptionChart
|
|
192
|
+
// quando p-description prevalece (para não duplicar a chave).
|
|
193
|
+
let inner = optionsExpr.slice(1, -1).trim();
|
|
194
|
+
const descriptionOverrides = allIndividualEntries.some(entry => entry.key === 'descriptionChart') && topLevelKeys.includes('descriptionChart');
|
|
195
|
+
if (descriptionOverrides) {
|
|
196
|
+
inner = splitTopLevel(inner, ',')
|
|
197
|
+
.map(part => part.trim())
|
|
198
|
+
.filter(part => part.length > 0)
|
|
199
|
+
.filter(part => {
|
|
200
|
+
var _a;
|
|
201
|
+
const key = ((_a = splitTopLevel(part, ':')[0]) !== null && _a !== void 0 ? _a : '').trim().replace(/^['"`]|['"`]$/g, '');
|
|
202
|
+
return key !== 'descriptionChart';
|
|
203
|
+
})
|
|
204
|
+
.join(', ');
|
|
205
|
+
}
|
|
206
|
+
const parts = keptEntries.map(entry => `${entry.key}: ${entry.value}`);
|
|
207
|
+
if (inner.length > 0) {
|
|
208
|
+
parts.push(inner);
|
|
209
|
+
}
|
|
210
|
+
return parts.length > 0 ? `{ ${parts.join(', ')} }` : '{}';
|
|
211
|
+
}
|
|
212
|
+
// p-options é uma expressão opaca (variável/chamada): mescla via spread.
|
|
213
|
+
// As chaves individuais vêm antes do spread (p-options vence), EXCETO
|
|
214
|
+
// descriptionChart, que vem depois do spread para prevalecer, replicando
|
|
215
|
+
// `this.description || options.descriptionChart` do po-gauge original.
|
|
216
|
+
const descriptionEntry = allIndividualEntries.find(entry => entry.key === 'descriptionChart');
|
|
217
|
+
const otherEntries = allIndividualEntries.filter(entry => entry.key !== 'descriptionChart');
|
|
218
|
+
const otherParts = otherEntries.map(entry => `${entry.key}: ${entry.value}`).join(', ');
|
|
219
|
+
const prefix = otherParts.length > 0 ? `${otherParts}, ` : '';
|
|
220
|
+
if (descriptionEntry) {
|
|
221
|
+
return `{ ${prefix}...${optionsExpr}, ${descriptionEntry.key}: ${descriptionEntry.value} }`;
|
|
222
|
+
}
|
|
223
|
+
return `{ ${prefix}...${optionsExpr} }`;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Formata o valor de um atributo para uso em uma expressão de binding do
|
|
227
|
+
* po-chart. Bindings preservam a expressão original; atributos estáticos são
|
|
228
|
+
* convertidos em literais de string (Req. 3.1, 3.3).
|
|
229
|
+
*/
|
|
230
|
+
function formatValue(attr) {
|
|
231
|
+
if (attr.binding) {
|
|
232
|
+
return attr.rawExpression.trim();
|
|
233
|
+
}
|
|
234
|
+
return `'${attr.rawExpression.replace(/'/g, "\\'")}'`;
|
|
235
|
+
}
|
|
236
|
+
/** Remove colchetes/parênteses de binding e espaços do nome de um atributo. */
|
|
237
|
+
function normalizeName(name) {
|
|
238
|
+
return name
|
|
239
|
+
.replace(/^[[(]/, '')
|
|
240
|
+
.replace(/[\])]$/, '')
|
|
241
|
+
.trim();
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Extrai as chaves de primeiro nível de um objeto literal preservado
|
|
245
|
+
* textualmente, respeitando aninhamento de `{}`/`[]`/`()` e literais de string.
|
|
246
|
+
*/
|
|
247
|
+
function parseTopLevelKeys(objectLiteral) {
|
|
248
|
+
const inner = objectLiteral.trim().slice(1, -1);
|
|
249
|
+
return splitTopLevel(inner, ',')
|
|
250
|
+
.map(entry => {
|
|
251
|
+
var _a, _b;
|
|
252
|
+
const key = (_b = (_a = splitTopLevel(entry, ':')[0]) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
|
|
253
|
+
return key.replace(/^['"`]|['"`]$/g, '');
|
|
254
|
+
})
|
|
255
|
+
.filter(key => key.length > 0);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Divide uma string por um separador considerando apenas o nível superior,
|
|
259
|
+
* ignorando separadores dentro de `{}`/`[]`/`()` ou de literais de string.
|
|
260
|
+
*/
|
|
261
|
+
function splitTopLevel(source, separator) {
|
|
262
|
+
const parts = [];
|
|
263
|
+
let current = '';
|
|
264
|
+
let depth = 0;
|
|
265
|
+
let quote = '';
|
|
266
|
+
for (let i = 0; i < source.length; i++) {
|
|
267
|
+
const char = source[i];
|
|
268
|
+
if (quote) {
|
|
269
|
+
current += char;
|
|
270
|
+
if (char === quote && source[i - 1] !== '\\') {
|
|
271
|
+
quote = '';
|
|
272
|
+
}
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
if (char === '"' || char === "'" || char === '`') {
|
|
276
|
+
quote = char;
|
|
277
|
+
current += char;
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
if (char === '{' || char === '[' || char === '(') {
|
|
281
|
+
depth++;
|
|
282
|
+
}
|
|
283
|
+
else if (char === '}' || char === ']' || char === ')') {
|
|
284
|
+
depth--;
|
|
285
|
+
}
|
|
286
|
+
if (char === separator && depth === 0) {
|
|
287
|
+
parts.push(current);
|
|
288
|
+
current = '';
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
current += char;
|
|
292
|
+
}
|
|
293
|
+
if (current.trim().length > 0) {
|
|
294
|
+
parts.push(current);
|
|
295
|
+
}
|
|
296
|
+
return parts;
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=gauge-property-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gauge-property-map.js","sourceRoot":"","sources":["../../../../../projects/ui/schematics/ng-update/v22/gauge-property-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { MigrationWarning } from './migration-report';
|
|
2
|
+
/**
|
|
3
|
+
* Resultado da transformação de um arquivo TypeScript pela Schematic_Migracao.
|
|
4
|
+
*
|
|
5
|
+
* A função `migrateTypeScriptContent` é pura (string → string): recebe o
|
|
6
|
+
* conteúdo original e devolve o conteúdo transformado, um indicador de
|
|
7
|
+
* alteração e a lista de Casos_Nao_Migravel encontrados.
|
|
8
|
+
*/
|
|
9
|
+
export interface TsMigrationResult {
|
|
10
|
+
/** Conteúdo do arquivo após a transformação (idêntico ao original se nada mudou). */
|
|
11
|
+
content: string;
|
|
12
|
+
/** `true` somente quando alguma transformação foi efetivamente aplicada. */
|
|
13
|
+
changed: boolean;
|
|
14
|
+
/** Casos_Nao_Migravel identificados (ex.: símbolo gauge sem equivalente). */
|
|
15
|
+
warnings: Array<MigrationWarning>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Transforma referências ao `po-gauge` em referências equivalentes ao
|
|
19
|
+
* `po-chart` em um arquivo TypeScript.
|
|
20
|
+
*
|
|
21
|
+
* Comportamento (Req. 4.1–4.4, 4.6, 5.1–5.3):
|
|
22
|
+
* - Localiza `ImportDeclaration` de `@po-ui/ng-components` que contenham
|
|
23
|
+
* símbolos gauge e substitui os símbolos com equivalente conhecido
|
|
24
|
+
* (`gaugeSymbolMap`), preservando os demais símbolos do mesmo import.
|
|
25
|
+
* - Atualiza as referências desses símbolos no restante do arquivo
|
|
26
|
+
* (`declarations`/`imports`/`exports` de `@NgModule` e `imports` de
|
|
27
|
+
* componentes standalone / configuração da aplicação).
|
|
28
|
+
* - Se um símbolo gauge importado NÃO possui equivalente
|
|
29
|
+
* (`gaugeSymbolsWithoutEquivalent`), o arquivo é mantido inalterado e um
|
|
30
|
+
* `MigrationWarning` é registrado (Req. 4.4).
|
|
31
|
+
* - Deduplica símbolos-alvo já importados, evitando imports/itens duplicados
|
|
32
|
+
* (idempotência, Req. 7.4).
|
|
33
|
+
* - Preserva indentação, quebras de linha e a ordenação das importações não
|
|
34
|
+
* relacionadas ao gauge (Req. 4.6).
|
|
35
|
+
*
|
|
36
|
+
* @param source Conteúdo original do arquivo `.ts`.
|
|
37
|
+
* @param isStandalone Indica se o projeto é standalone (mantido por contrato de
|
|
38
|
+
* interface; a transformação de referências é a mesma para ambas as
|
|
39
|
+
* arquiteturas).
|
|
40
|
+
*/
|
|
41
|
+
export declare function migrateTypeScriptContent(source: string, isStandalone: boolean): TsMigrationResult;
|