pi-apexlang 0.2.2 → 0.4.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 +22 -5
- package/THIRD_PARTY_NOTICES.md +2 -2
- package/UPSTREAM.json +2 -2
- package/docs/assets/overview.en.png +0 -0
- package/docs/assets/overview.en.svg +89 -0
- package/docs/assets/overview.uk.png +0 -0
- package/docs/assets/overview.uk.svg +89 -0
- package/docs/en/README.md +41 -0
- package/docs/en/architecture.md +73 -0
- package/docs/en/getting-started.md +77 -0
- package/docs/en/maintenance.md +83 -0
- package/docs/en/tool-reference.md +85 -0
- package/docs/uk/README.md +41 -0
- package/docs/uk/architecture.md +73 -0
- package/docs/uk/getting-started.md +77 -0
- package/docs/uk/maintenance.md +83 -0
- package/docs/uk/tool-reference.md +85 -0
- package/extensions/apexlang/index.ts +19 -10
- package/extensions/lib/apexlang-cli.d.mts +1 -2
- package/extensions/lib/apexlang-cli.mjs +18 -13
- package/extensions/lib/apexlang-local-validate.mjs +83 -0
- package/extensions/lib/apexlang-local-validator.py +116 -0
- package/extensions/lib/apexlang-runtime-validate.mjs +76 -0
- package/package.json +2 -1
- package/skills/apexlang/APEXlang Skills and Workflows.md +325 -0
- package/skills/apexlang/README.md +6 -6
- package/skills/apexlang/RELEASE-NOTES.md +2 -2
- package/skills/apexlang/SKILL.md +24 -19
- package/skills/apexlang/agents/openai.yaml +4 -3
- package/skills/apexlang/assets/apex-generation/components.registry.json +1001 -16
- package/skills/apexlang/assets/apexlang/domains-catalog.json +6 -1
- package/skills/apexlang/assets/component-attributes.json +1924 -180
- package/skills/apexlang/assets/component-policies.json +19 -10
- package/skills/apexlang/assets/contracts/grammar-semantic-rules.json +134 -0
- package/skills/apexlang/assets/contracts/package-layers.json +56 -0
- package/skills/apexlang/assets/contracts/page-construction-packs.json +154 -0
- package/skills/apexlang/assets/contracts/page-patterns.json +119 -0
- package/skills/apexlang/assets/grammar/apexlang.ebnf +11743 -0
- package/skills/apexlang/assets/indexes/font-apex-icon-index.json +1699 -0
- package/skills/apexlang/assets/routing-catalog-main.json +11 -10
- package/skills/apexlang/assets/routing-load-policy.json +35 -9
- package/skills/apexlang/assets/rules-mapping.json +110 -2
- package/skills/apexlang/assets/rules.catalog.json +1298 -0
- package/skills/apexlang/assets/validator-fix-recipes.json +372 -17
- package/skills/apexlang/assets/workspace-intelligence.json +7 -10
- package/skills/apexlang/manifest.json +268 -12
- package/skills/apexlang/references/domains/README.md +1 -1
- package/skills/apexlang/references/domains/page-components/buttons.md +2 -2
- package/skills/apexlang/references/domains/page-components/page-items.md +3 -3
- package/skills/apexlang/references/domains/page-components/regions/region-display-selector/workflow-region-display-selector.md +69 -0
- package/skills/apexlang/references/domains/page-components/regions.md +1 -0
- package/skills/apexlang/references/domains/template-components/comments.md +61 -0
- package/skills/apexlang/references/domains/template-components/registry.md +2 -0
- package/skills/apexlang/references/domains/template-components/templates.md +47 -0
- package/skills/apexlang/references/domains/template-components/timeline.md +51 -0
- package/skills/apexlang/references/ops/one-message-router-contract.md +2 -2
- package/skills/apexlang/references/ops/runtime-gates/01-direct-sqlcl-import.md +1 -1
- package/skills/apexlang/references/ops/runtime-gates/02-direct-sqlcl-validate-gate.md +1 -1
- package/skills/apexlang/references/ops/runtime-gates.md +17 -16
- package/skills/apexlang/references/ops/sqlcl-agents/00-connection-gate.md +7 -7
- package/skills/apexlang/references/ops/sqlcl.md +7 -8
- package/skills/apexlang/references/policies/compiler-prop-map.md +6 -4
- package/skills/apexlang/references/policies/governance/00-governance.md +2 -2
- package/skills/apexlang/references/policies/memory-bank/00-guard/ai.guard.md +126 -922
- package/skills/apexlang/references/policies/memory-bank/20-data/apex.logic.md +3 -3
- package/skills/apexlang/references/policies/memory-bank/20-data/db.connection.md +9 -11
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.cards-page.md +95 -0
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.page.md +2 -2
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.smart-filter-search.md +145 -74
- package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-interactions.md +9 -2
- package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-media.md +6 -5
- package/skills/apexlang/references/policies/memory-bank/systemPatterns.md +9 -1
- package/skills/apexlang/references/workflows/apex-generation/agents/20-agent-draft.md +51 -232
- package/skills/apexlang/references/workflows/apex-generation/agents/30-agent-critique.md +49 -449
- package/skills/apexlang/references/workflows/apex-generation/agents/40-agent-revision.md +38 -238
- package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-test-matrix.md +8 -2
- package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-validation-notes.md +19 -3
- package/skills/apexlang/references/workflows/apex-generation/registry.md +15 -1
- package/skills/apexlang/references/workflows/apex-generation/templates.md +1 -1
- package/skills/apexlang/references/workflows/apex-generation.md +1 -1
- package/skills/apexlang/references/workflows/apexlang/apexlang-execution-model.md +5 -5
- package/skills/apexlang/references/workflows/apexlang/prompt-contracts.md +81 -10
- package/skills/apexlang/references/workflows/apexlang/workflow-create-app-from-fr-and-model.md +18 -7
- package/skills/apexlang/release-notes.json +156 -0
- package/skills/apexlang/runtime/grammar_contract.mjs +1166 -0
- package/skills/apexlang/runtime/internal/python/format_apexlang.py +210 -0
- package/skills/apexlang/runtime/internal/python/validate_apexlang.py +14142 -5843
- package/skills/apexlang/runtime/internal/python/validator_common.py +2 -0
- package/skills/apexlang/runtime/lib/catalogs.mjs +1026 -0
- package/skills/apexlang/runtime/lib/common.mjs +35 -0
- package/skills/apexlang/runtime/runtime.bundle.mjs +457 -57
- package/skills/apexlang/templates/items/combobox/combobox.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/date-picker/date-picker._common.md +1 -1
- package/skills/apexlang/templates/items/date-picker/date-picker.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/file-upload/file-upload._common.md +30 -24
- package/skills/apexlang/templates/items/file-upload/file-upload.compact-template.md +6 -0
- package/skills/apexlang/templates/items/file-upload/file-upload.explicit-defaults.md +23 -8
- package/skills/apexlang/templates/items/file-upload/file-upload.minimal.md +6 -0
- package/skills/apexlang/templates/items/hidden-item/hidden-item._common.md +1 -1
- package/skills/apexlang/templates/items/hidden-item/hidden-item.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/items._common.md +3 -2
- package/skills/apexlang/templates/items/list-manager/list-manager.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/markdown-editor/markdown-editor._common.md +1 -1
- package/skills/apexlang/templates/items/markdown-editor/markdown-editor.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/number-field/number-field._common.md +8 -6
- package/skills/apexlang/templates/items/number-field/number-field.explicit-defaults.md +12 -2
- package/skills/apexlang/templates/items/popup-lov/popup-lov.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor._common.md +1 -1
- package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/select-many/standard.md +1 -1
- package/skills/apexlang/templates/items/shuttle/shuttle.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/switch/switch._common.md +8 -8
- package/skills/apexlang/templates/items/switch/switch.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-area/text-area._common.md +2 -3
- package/skills/apexlang/templates/items/text-area/text-area.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-area/text-area.required-length.md +1 -3
- package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.required-length.md +1 -3
- package/skills/apexlang/templates/items/text-field/text-field._common.md +2 -3
- package/skills/apexlang/templates/items/text-field/text-field.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-field/text-field.required-length.md +1 -3
- package/skills/apexlang/templates/page-examples/faceted-search/faceted-search.example.md +0 -5
- package/skills/apexlang/templates/page-examples/form-page/form-page.example.md +0 -9
- package/skills/apexlang/templates/page-examples/interactive-report-page/interactive-report-page.example.md +2 -2
- package/skills/apexlang/templates/page-examples/login-page/login-page.example.md +0 -8
- package/skills/apexlang/templates/page-examples/task-definition-initiated-tasks-page/task-definition-initiated-tasks-page.example.md +7 -17
- package/skills/apexlang/templates/page-examples/task-definition-my-tasks-page/task-definition-my-tasks-page.example.md +7 -65
- package/skills/apexlang/templates/page-examples/task-definition-task-details/task-definition-task-details.example.md +38 -201
- package/skills/apexlang/templates/region-components/calendar/calendar.custom-styling.md +3 -1
- package/skills/apexlang/templates/region-components/calendar/calendar.faceted-search.md +3 -2
- package/skills/apexlang/templates/region-components/cards/README.md +12 -4
- package/skills/apexlang/templates/region-components/cards/cards._common.md +176 -37
- package/skills/apexlang/templates/region-components/cards/cards._index.md +2 -1
- package/skills/apexlang/templates/region-components/cards/cards.refresh-after-dialog.md +46 -0
- package/skills/apexlang/templates/region-components/cards/cards.refresh-on-change.md +58 -0
- package/skills/apexlang/templates/region-components/cards/cards.rest-source.md +54 -18
- package/skills/apexlang/templates/region-components/cards/cards.standard.md +37 -21
- package/skills/apexlang/templates/region-components/chart/chart._series._common.md +1 -4
- package/skills/apexlang/templates/region-components/chart/chart.pie.md +6 -2
- package/skills/apexlang/templates/region-components/chart/chart.status-meter-gauge.md +1 -1
- package/skills/apexlang/templates/region-components/chart/chart.stock.md +2 -0
- package/skills/apexlang/templates/region-components/chart/features/chart.feature-chart-links.md +9 -7
- package/skills/apexlang/templates/region-components/faceted-search/faceted-search._common.md +1 -14
- package/skills/apexlang/templates/region-components/form/form._items._common.md +1 -5
- package/skills/apexlang/templates/region-components/interactive-report/interactive-report._columns._common.md +2 -6
- package/skills/apexlang/templates/region-components/interactive-report/interactive-report.page-header-actions.md +1 -7
- package/skills/apexlang/templates/region-components/list/README.md +1 -1
- package/skills/apexlang/templates/region-components/list/list._common.md +1 -1
- package/skills/apexlang/templates/region-components/map/map.backgrounds.md +12 -10
- package/skills/apexlang/templates/region-components/map/map.layer.extruded-polygons.md +16 -12
- package/skills/apexlang/templates/region-components/map/map.layer.heat-map.md +10 -7
- package/skills/apexlang/templates/region-components/map/map.layer.lines.md +10 -8
- package/skills/apexlang/templates/region-components/map/map.layer.polygons.md +21 -18
- package/skills/apexlang/templates/region-components/map/map.region.background-custom.md +25 -19
- package/skills/apexlang/templates/region-components/map/map.region.background-shared.md +19 -13
- package/skills/apexlang/templates/region-components/map/map.region.bbox-sql.md +13 -13
- package/skills/apexlang/templates/region-components/map/map.region.bbox-static.md +2 -2
- package/skills/apexlang/templates/region-components/map/map.region.browser-location.md +3 -7
- package/skills/apexlang/templates/region-components/map/map.region.init-position-sql.md +7 -7
- package/skills/apexlang/templates/region-components/region-display-selector/README.md +5 -2
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._common.md +60 -7
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._index.md +4 -1
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.permutations.md +55 -0
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.standard.md +91 -5
- package/skills/apexlang/templates/region-components/smart-filter-search/README.md +6 -2
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._common.md +107 -46
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._index.md +4 -3
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search.standard.md +33 -17
- package/skills/apexlang/templates/shared-components/component-settings/component-settings._common.md +1 -0
- package/skills/apexlang/templates/shared-components/component-settings.example.md +1 -0
- package/skills/apexlang/templates/shared-components/email-templates.example.md +1 -1
- package/skills/apexlang/templates/shared-components/rest-data-sources/example_rest_data_source.example.md +40 -46
- package/skills/apexlang/templates/shared-components/task-definitions/action-task.example.md +2 -30
- package/skills/apexlang/templates/shared-components/task-definitions/approve-request.example.md +3 -31
- package/skills/apexlang/templates/template-components/README.md +27 -15
- package/skills/apexlang/templates/template-components/avatar/README.md +56 -0
- package/skills/apexlang/templates/template-components/avatar/avatar._common.md +149 -0
- package/skills/apexlang/templates/template-components/avatar/avatar._index.md +42 -0
- package/skills/apexlang/templates/template-components/{avatar._template_options.md → avatar/avatar._template_options.md} +1 -1
- package/skills/apexlang/templates/template-components/avatar/avatar.report-icon.md +48 -0
- package/skills/apexlang/templates/template-components/avatar/avatar.report-image-url-column.md +62 -0
- package/skills/apexlang/templates/template-components/avatar/avatar.report-initials.md +54 -0
- package/skills/apexlang/templates/template-components/badge/README.md +38 -0
- package/skills/apexlang/templates/template-components/badge/badge._common.md +183 -0
- package/skills/apexlang/templates/template-components/badge/badge._index.md +20 -0
- package/skills/apexlang/templates/template-components/badge/badge.report-link.md +66 -0
- package/skills/apexlang/templates/template-components/badge/badge.report-minimal.md +76 -0
- package/skills/apexlang/templates/template-components/comments/README.md +20 -0
- package/skills/apexlang/templates/template-components/comments/comments._common.md +43 -0
- package/skills/apexlang/templates/template-components/comments/comments._index.md +25 -0
- package/skills/apexlang/templates/template-components/{comments._template_options.md → comments/comments._template_options.md} +2 -1
- package/skills/apexlang/templates/template-components/comments/comments.apex-task-comments.md +77 -0
- package/skills/apexlang/templates/template-components/comments/comments.partial-column.md +120 -0
- package/skills/apexlang/templates/template-components/comments/comments.permutations.md +425 -0
- package/skills/apexlang/templates/template-components/content-row/README.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._common.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._index.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._template_options.md +1 -1
- package/skills/apexlang/templates/template-components/flexbox-container/README.md +9 -0
- package/skills/apexlang/templates/template-components/flexbox-container/flexbox-container._index.md +13 -0
- package/skills/apexlang/templates/template-components/media-list/README.md +100 -0
- package/skills/apexlang/templates/template-components/media-list/media-list._common.md +174 -0
- package/skills/apexlang/templates/template-components/media-list/media-list._index.md +50 -0
- package/skills/apexlang/templates/template-components/{media-list._template_options.md → media-list/media-list._template_options.md} +8 -2
- package/skills/apexlang/templates/template-components/media-list/media-list.partial.md +50 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-avatar-badge.md +76 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-base.md +71 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-grouped.md +40 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-layouts.md +50 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-link.md +53 -0
- package/skills/apexlang/templates/template-components/metric-card/README.md +19 -4
- package/skills/apexlang/templates/template-components/metric-card/metric-card._common.md +122 -29
- package/skills/apexlang/templates/template-components/metric-card/metric-card._index.md +6 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card._template_options.md +47 -2
- package/skills/apexlang/templates/template-components/metric-card/metric-card.partial-minimal.md +51 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.permutations.md +56 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-avatar-badge.md +98 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-grouping-selection.md +131 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-link.md +66 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-minimal.md +97 -0
- package/skills/apexlang/templates/template-components/template-components.registry.json +90 -1
- package/skills/apexlang/templates/template-components/timeline/README.md +19 -0
- package/skills/apexlang/templates/template-components/timeline/timeline._common.md +43 -0
- package/skills/apexlang/templates/template-components/timeline/timeline._index.md +24 -0
- package/skills/apexlang/templates/template-components/{timeline._template_options.md → timeline/timeline._template_options.md} +2 -1
- package/skills/apexlang/templates/template-components/timeline/timeline.permutations.md +399 -0
- package/skills/apexlang/templates/template-components/timeline/timeline.report-sample-data.md +168 -0
- package/skills/apexlang/templates/workspace-components/credentials/credentials-for-open-ai.example.md +1 -1
- package/skills/apexlang/templates/workspace-components/generative-ai-services/open-ai.example.md +8 -6
- package/skills/apexlang/tools/apexctl.mjs +167 -4
- package/skills/apexlang/tools/compiler-truth-audit.mjs +95 -63
- package/skills/apexlang/tools/query-valid-props-context.mjs +30 -0
- package/skills/apexlang/tools/query-valid-props-normalize.mjs +1 -0
- package/skills/apexlang/tools/query-valid-props-runtime.mjs +13 -8
- package/skills/apexlang/tools/query-valid-props-semantics.mjs +391 -0
- package/skills/apexlang/tools/query-valid-props-template-components.mjs +15 -1
- package/skills/apexlang/tools/query-valid-props.mjs +198 -216
- /package/skills/apexlang/templates/template-components/{badge._template_options.md → badge/badge._template_options.md} +0 -0
- /package/skills/apexlang/templates/template-components/{flexbox-container._template_options.md → flexbox-container/flexbox-container._template_options.md} +0 -0
|
@@ -31,30 +31,32 @@ region {{regionStaticId}} (
|
|
|
31
31
|
}
|
|
32
32
|
card {
|
|
33
33
|
primaryKeyColumn1: {{card.primaryKeyColumn1}}
|
|
34
|
+
primaryKeyColumn2: {{card.primaryKeyColumn2}}
|
|
35
|
+
cssClasses: {{card.cssClasses}}
|
|
34
36
|
}
|
|
35
37
|
title {
|
|
36
|
-
column: {{title.column}}
|
|
37
|
-
htmlExpression: {{title.htmlExpression}}
|
|
38
38
|
advancedFormatting: {{title.advancedFormatting}}
|
|
39
|
+
{{title.valueProperty}}: {{title.value}}
|
|
39
40
|
}
|
|
40
41
|
subtitle {
|
|
41
|
-
column: {{subtitle.column}}
|
|
42
|
-
htmlExpression: {{subtitle.htmlExpression}}
|
|
43
42
|
advancedFormatting: {{subtitle.advancedFormatting}}
|
|
43
|
+
{{subtitle.valueProperty}}: {{subtitle.value}}
|
|
44
44
|
}
|
|
45
45
|
body {
|
|
46
|
-
column: {{body.column}}
|
|
47
|
-
htmlExpression: {{body.htmlExpression}}
|
|
48
46
|
advancedFormatting: {{body.advancedFormatting}}
|
|
47
|
+
{{body.valueProperty}}: {{body.value}}
|
|
49
48
|
}
|
|
50
49
|
secondaryBody {
|
|
51
|
-
column: {{secondaryBody.column}}
|
|
52
|
-
htmlExpression: {{secondaryBody.htmlExpression}}
|
|
53
50
|
advancedFormatting: {{secondaryBody.advancedFormatting}}
|
|
51
|
+
{{secondaryBody.valueProperty}}: {{secondaryBody.value}}
|
|
54
52
|
}
|
|
55
53
|
media {
|
|
54
|
+
advancedFormatting: false
|
|
56
55
|
source: {{media.source}}
|
|
57
56
|
{{media.sourceValueProperty}}: {{media.sourceValue}}
|
|
57
|
+
position: {{media.position}}
|
|
58
|
+
sizing: {{media.sizing}}
|
|
59
|
+
imageDescription: {{media.imageDescription}}
|
|
58
60
|
}
|
|
59
61
|
blobAttributes {
|
|
60
62
|
mimeTypeColumn: {{blobAttributes.mimeTypeColumn}}
|
|
@@ -62,8 +64,8 @@ region {{regionStaticId}} (
|
|
|
62
64
|
}
|
|
63
65
|
iconAndBadge {
|
|
64
66
|
iconSource: {{iconAndBadge.iconSource}}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
{{iconAndBadge.sourceValueProperty}}: {{iconAndBadge.sourceValue}}
|
|
68
|
+
iconPosition: {{iconAndBadge.iconPosition}}
|
|
67
69
|
iconDescription: {{iconAndBadge.iconDescription}}
|
|
68
70
|
badgeColumn: {{iconAndBadge.badgeColumn}}
|
|
69
71
|
badgeLabel: {{iconAndBadge.badgeLabel}}
|
|
@@ -74,12 +76,14 @@ region {{regionStaticId}} (
|
|
|
74
76
|
noDataFoundIcon: {{messages.noDataFoundIcon}}
|
|
75
77
|
}
|
|
76
78
|
componentAppearance {
|
|
79
|
+
layout: {{componentAppearance.layout}}
|
|
77
80
|
gridColumns: {{componentAppearance.gridColumns}}
|
|
81
|
+
cssClasses: {{componentAppearance.cssClasses}}
|
|
78
82
|
}
|
|
79
83
|
)
|
|
80
84
|
```
|
|
81
85
|
|
|
82
|
-
|
|
86
|
+
The `valueProperty` placeholders are schematic. For title, subtitle, body, and secondary body, emit exactly one pair: `advancedFormatting: false` plus `column`, or `advancedFormatting: true` plus `htmlExpression`. For actions, append the native action shape from `cards._common.md`; button actions may add `appearance`, `advanced`, and `serverSideCondition`, while `behavior.type: triggerAction` requires a nested `triggerAction` child and omits navigation targets. For media, emit exactly one concrete source-value property according to this mapping:
|
|
83
87
|
|
|
84
88
|
| media.source | Required value property |
|
|
85
89
|
|--------------|-------------------------|
|
|
@@ -93,8 +97,11 @@ Use exactly one of these source-specific shapes when a Cards region needs media:
|
|
|
93
97
|
|
|
94
98
|
```apexlang
|
|
95
99
|
media {
|
|
100
|
+
advancedFormatting: false
|
|
96
101
|
source: blobColumn
|
|
97
102
|
blobColumn: <BLOB_COLUMN_ALIAS>
|
|
103
|
+
position: first
|
|
104
|
+
sizing: cover
|
|
98
105
|
}
|
|
99
106
|
blobAttributes {
|
|
100
107
|
mimeTypeColumn: <MIME_TYPE_COLUMN_ALIAS>
|
|
@@ -104,21 +111,27 @@ blobAttributes {
|
|
|
104
111
|
|
|
105
112
|
```apexlang
|
|
106
113
|
media {
|
|
114
|
+
advancedFormatting: false
|
|
107
115
|
source: urlColumn
|
|
108
116
|
urlColumn: <URL_COLUMN_ALIAS>
|
|
117
|
+
position: first
|
|
118
|
+
sizing: cover
|
|
109
119
|
}
|
|
110
120
|
```
|
|
111
121
|
|
|
112
122
|
```apexlang
|
|
113
123
|
media {
|
|
124
|
+
advancedFormatting: false
|
|
114
125
|
source: imageUrl
|
|
115
126
|
url: <STATIC_IMAGE_URL_OR_COLUMN_SUBSTITUTION>
|
|
127
|
+
position: first
|
|
128
|
+
sizing: cover
|
|
116
129
|
}
|
|
117
130
|
```
|
|
118
131
|
|
|
119
132
|
## Non-Default Media Presentation
|
|
120
133
|
|
|
121
|
-
|
|
134
|
+
Every direct-source media block emits `advancedFormatting: false`, required `position`, and required `sizing`. Use `position: first` and `sizing: cover` as deterministic defaults; emit optional `appearance` only when requested.
|
|
122
135
|
|
|
123
136
|
When a non-default presentation is required, add only the needed supported properties inside the same `media` block:
|
|
124
137
|
|
|
@@ -130,13 +143,17 @@ sizing: cover
|
|
|
130
143
|
|
|
131
144
|
# Conditional Rendering Rules
|
|
132
145
|
|
|
133
|
-
-
|
|
146
|
+
- Every title, subtitle, body, secondary-body, primary-key, icon, media, badge, link, or conditional-style alias used by the region must be projected by `source.sqlQuery` and proven by schema/live/user-asserted object evidence.
|
|
147
|
+
- Omit `card.cssClasses` unless conditional per-row styling is explicitly requested. When used, map a projected alias whose values are restricted to an active-build allowlist of semantic Universal Theme classes.
|
|
148
|
+
- When refreshed SQL binds page items, emit every bind item in `source.pageItemsToSubmit` and target the region static ID with the native Refresh dynamic-action capability.
|
|
149
|
+
|
|
150
|
+
- If `title.column` is emitted, set `title.advancedFormatting: false` and omit `title.htmlExpression`.
|
|
134
151
|
- If `title.htmlExpression` is emitted, `title.advancedFormatting` must also be emitted with value `true`, and `title.column` must be omitted.
|
|
135
|
-
- If `subtitle.column` is emitted,
|
|
152
|
+
- If `subtitle.column` is emitted, set `subtitle.advancedFormatting: false` and omit `subtitle.htmlExpression`.
|
|
136
153
|
- If `subtitle.htmlExpression` is emitted, `subtitle.advancedFormatting` must also be emitted with value `true`, and `subtitle.column` must be omitted.
|
|
137
|
-
- If `body.column` is emitted,
|
|
154
|
+
- If `body.column` is emitted, set `body.advancedFormatting: false` and omit `body.htmlExpression`.
|
|
138
155
|
- If `body.htmlExpression` is emitted, `body.advancedFormatting` must also be emitted with value `true`, and `body.column` must be omitted.
|
|
139
|
-
- If `secondaryBody.column` is emitted,
|
|
156
|
+
- If `secondaryBody.column` is emitted, set `secondaryBody.advancedFormatting: false` and omit `secondaryBody.htmlExpression`.
|
|
140
157
|
- If `secondaryBody.htmlExpression` is emitted, `secondaryBody.advancedFormatting` must also be emitted with value `true`, and `secondaryBody.column` must be omitted.
|
|
141
158
|
- If the Cards region displays a BLOB image, project the raw BLOB column in SQL for display only, define `card.primaryKeyColumn1`, and emit `media { source: blobColumn blobColumn: <BLOB_COLUMN_ALIAS> }`.
|
|
142
159
|
- Do not use the raw BLOB alias as a comparison key; sorting, grouping, distincting, joining, analytic keys, and filter comparisons must follow `SQL_PLSQL_LOB_COMPARISON_KEY_FORBIDDEN_001` in `20-data/apex.sql.md`.
|
|
@@ -145,12 +162,11 @@ sizing: cover
|
|
|
145
162
|
- If the Cards region displays images from a URL column, project that URL alias in SQL and emit `media { source: urlColumn urlColumn: <URL_COLUMN_ALIAS> }`.
|
|
146
163
|
- If the Cards region displays a static image URL or column substitution URL, emit `media { source: imageUrl url: <STATIC_IMAGE_URL_OR_COLUMN_SUBSTITUTION> }`; substitution values use APEX syntax such as `&IMAGE_URL_COLUMN.`.
|
|
147
164
|
- In any Cards `media` block, emit at most one source-specific value property: `blobColumn` with `source: blobColumn`, `urlColumn` with `source: urlColumn`, or `url` with `source: imageUrl`.
|
|
148
|
-
-
|
|
149
|
-
- Emit `position`, `appearance`, and `sizing` only for explicit non-default media presentation requirements. Accepted values are `position: first | background`, `appearance: square | widescreen`, and `sizing: cover`.
|
|
150
|
-
- Never emit `position: first`, `appearance: square`, or `sizing: cover` just to mirror APEX defaults.
|
|
165
|
+
- Direct-source media always emits `advancedFormatting: false`, `position: first | body | background`, and `sizing: fit | cover`; default to `first` and `cover`. `appearance: square | widescreen` remains optional.
|
|
151
166
|
- Do not emit additional `media` or `blobAttributes` properties unless compiler-backed truth proves them.
|
|
152
167
|
- Do not add report-style child `column (...)` blocks for Cards BLOB display.
|
|
153
168
|
- Inside cards `title.htmlExpression`, `subtitle.htmlExpression`, `body.htmlExpression`, and `secondaryBody.htmlExpression`, use `&COLUMN.` substitution strings, not `#COLUMN#`.
|
|
154
|
-
-
|
|
155
|
-
- Emit `componentAppearance.gridColumns` only when the prompt explicitly specifies a fixed card column count.
|
|
169
|
+
- Emit `componentAppearance.layout: grid`, `float`, or `horizontal` from explicit layout intent. Emit `gridColumns` only with `layout: grid` and an explicit fixed card column count; otherwise omit it. Use `componentAppearance.cssClasses` only for a proven Cards-container class.
|
|
156
170
|
- If emitted, `componentAppearance.gridColumns` must be one of `2`, `3`, `4`, or `5`.
|
|
171
|
+
- If full-card and decision-button actions coexist, document interaction precedence and evidence-backed business conditions rather than inferring exclusivity.
|
|
172
|
+
- Do not add filtering/search regions or filter orchestration in this Cards template. Route that composition to its owning Faceted Search or Smart Filters pattern.
|
|
@@ -36,7 +36,6 @@ Standardize reusable series contracts across all chart scenarios.
|
|
|
36
36
|
- `series.label.*`
|
|
37
37
|
- `series.marker.*`
|
|
38
38
|
- `series.line.*`
|
|
39
|
-
- `series.tooltip.*`
|
|
40
39
|
- `series.advanced.*`
|
|
41
40
|
|
|
42
41
|
---
|
|
@@ -73,9 +72,6 @@ series {{series.staticId}} (
|
|
|
73
72
|
label {
|
|
74
73
|
{{series.label}}
|
|
75
74
|
}
|
|
76
|
-
tooltip {
|
|
77
|
-
{{series.tooltip}}
|
|
78
|
-
}
|
|
79
75
|
advanced {
|
|
80
76
|
{{series.advanced}}
|
|
81
77
|
}
|
|
@@ -90,3 +86,4 @@ series {{series.staticId}} (
|
|
|
90
86
|
- Keep alias mappings deterministic and schema-valid.
|
|
91
87
|
- SQL output aliases referenced by `columnMapping` must match the returned query metadata exactly, including case.
|
|
92
88
|
- For generated SQL-backed charts, prefer uppercase aliases in both the SQL and `columnMapping` (for example `LABEL`, `VALUE`, `STORE_LABEL`, `TOTAL_VALUE`) to avoid runtime column-resolution mismatches.
|
|
89
|
+
- Use `columnMapping.customTooltip`, `columnMapping.legendTooltip`, or `columnMapping.labelTooltip` for tooltip columns; do not emit a `series.tooltip` group.
|
|
@@ -46,9 +46,12 @@ region {{chartRegion.staticId}} (
|
|
|
46
46
|
}
|
|
47
47
|
chart {
|
|
48
48
|
type: {{chart.type}}
|
|
49
|
+
}
|
|
50
|
+
settings {
|
|
49
51
|
pieSelectionEffect: {{chart.pieSelectionEffect}}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
}
|
|
53
|
+
value {
|
|
54
|
+
pieChartOtherThreshold: {{chart.otherThreshold}}
|
|
52
55
|
}
|
|
53
56
|
chartLayout {
|
|
54
57
|
{{chartLayout}}
|
|
@@ -70,3 +73,4 @@ region {{chartRegion.staticId}} (
|
|
|
70
73
|
- Render `{{seriesBlocks}}` using `chart._series._common.md`.
|
|
71
74
|
- Omit pie-only options when using non-pie chart types.
|
|
72
75
|
- Suppress axis guidance for pie charts.
|
|
76
|
+
- Do not emit `chart.style`; the current grammar has no pie chart style property.
|
package/skills/apexlang/templates/region-components/chart/features/chart.feature-chart-links.md
CHANGED
|
@@ -13,7 +13,7 @@ description: Adds link targets to chart data points using SQL-generated URLs.
|
|
|
13
13
|
# Usage
|
|
14
14
|
|
|
15
15
|
1. Add a SQL column that returns the desired URL (e.g., `apex_page.get_url`).
|
|
16
|
-
2.
|
|
16
|
+
2. Enable the series `link` block using `type: redirectUrlReturnedByFirstCol`.
|
|
17
17
|
3. Ensure navigation targets respect security (checksums, authorization).
|
|
18
18
|
|
|
19
19
|
# Example Snippet
|
|
@@ -26,11 +26,11 @@ series FEATURE_CHART_LINKS (
|
|
|
26
26
|
type: sqlQuery
|
|
27
27
|
sqlQuery:
|
|
28
28
|
```sql
|
|
29
|
-
select
|
|
30
|
-
sum(quantity) total_quantity,
|
|
31
|
-
apex_page.get_url(p_page => 10,
|
|
29
|
+
select apex_page.get_url(p_page => 10,
|
|
32
30
|
p_items => 'P10_PRODUCT',
|
|
33
|
-
p_values => product_name) as detail_link
|
|
31
|
+
p_values => product_name) as detail_link,
|
|
32
|
+
product_name,
|
|
33
|
+
sum(quantity) total_quantity,
|
|
34
34
|
from eba_demo_chart_orders
|
|
35
35
|
group by product_name
|
|
36
36
|
```
|
|
@@ -39,7 +39,10 @@ series FEATURE_CHART_LINKS (
|
|
|
39
39
|
columnMapping {
|
|
40
40
|
label: PRODUCT_NAME
|
|
41
41
|
value: TOTAL_QUANTITY
|
|
42
|
-
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
link {
|
|
45
|
+
type: redirectUrlReturnedByFirstCol
|
|
43
46
|
}
|
|
44
47
|
)
|
|
45
48
|
```
|
|
@@ -50,4 +53,3 @@ series FEATURE_CHART_LINKS (
|
|
|
50
53
|
- Combine with region actions (refresh, modal launch) to keep navigation consistent with UX guidelines.
|
|
51
54
|
|
|
52
55
|
# References
|
|
53
|
-
|
package/skills/apexlang/templates/region-components/faceted-search/faceted-search._common.md
CHANGED
|
@@ -30,11 +30,6 @@ Document the native faceted-search region shell and its filter child metadata bo
|
|
|
30
30
|
| source.filteredRegion | yes | ref | Must reference results region id. |
|
|
31
31
|
| layout.slot | optional | string | Default to `leftColumn` for the standard pattern. |
|
|
32
32
|
| appearance.template | optional | string | Default to `@/standard`. |
|
|
33
|
-
| compactNosThreshold setting | yes | number | Standard default is `10000`. |
|
|
34
|
-
| showCurrentFacets setting | yes | boolean/string | Standard default is `true`; use `selector` only for explicit selector-mode requests. |
|
|
35
|
-
| showTotalRowCount setting | yes | boolean | Standard default is `true`. |
|
|
36
|
-
| displayChartForTopNValues setting | optional | positive integer | Opt-in only for explicit chart/top-N requests; common value is `10`. |
|
|
37
|
-
| currentFacetsSelector setting | conditional | selector | Required only when `showCurrentFacets: selector` is emitted. |
|
|
38
33
|
| facets | optional | array | Facet definitions and LOV/source metadata. |
|
|
39
34
|
| searchFacet.enabled | optional | boolean | Enables free-text facet search. |
|
|
40
35
|
|
|
@@ -143,21 +138,13 @@ region {{regionStaticId}} (
|
|
|
143
138
|
template: {{appearance.template}}
|
|
144
139
|
templateOptions: #DEFAULT#
|
|
145
140
|
}
|
|
146
|
-
settings {
|
|
147
|
-
compactNosThreshold: 10000
|
|
148
|
-
showCurrentFacets: true
|
|
149
|
-
showTotalRowCount: true
|
|
150
|
-
}
|
|
151
141
|
{{facets}}
|
|
152
142
|
)
|
|
153
143
|
```
|
|
154
144
|
|
|
155
145
|
# Conditional Rendering Rules
|
|
156
146
|
|
|
157
|
-
-
|
|
158
|
-
- Keep current-facets selector configuration in `settings`, but only for explicit selector-mode requests.
|
|
159
|
-
- When selector mode is requested, emit both `showCurrentFacets: selector` and a concrete `currentFacetsSelector` value. Do not invent an external target unless the generated page also creates a clearly named target.
|
|
160
|
-
- Emit `displayChartForTopNValues` only for explicit chart/top-N requests; use a positive integer such as `10`.
|
|
147
|
+
- Do not emit faceted-search `settings` properties unless the grammar exposes them; the current region grammar does not allow the prior `compactNosThreshold`, `showCurrentFacets`, or `showTotalRowCount` properties.
|
|
161
148
|
- Do not merge facet child definitions into the region shell description.
|
|
162
149
|
- The standard page-level composition for this region family is breadcrumb in `breadcrumbBar`, results in `body`, and faceted search in `leftColumn`.
|
|
163
150
|
- When the request calls for Product, Store, Status, or other discrete value filters, start from `selectList`, `checkboxGroup`, or `radioGroup` plus `lov { type: distinctValues }` instead of internal `NATIVE_*` token guessing.
|
|
@@ -38,7 +38,6 @@ Standardize reusable form item blocks so scenario templates can render item defi
|
|
|
38
38
|
- `item.label.*`
|
|
39
39
|
- `item.layout.*`
|
|
40
40
|
- `item.appearance.*`
|
|
41
|
-
- `item.settings.*`
|
|
42
41
|
- `item.validation.*`
|
|
43
42
|
- `item.lov.*`
|
|
44
43
|
- `item.security.*`
|
|
@@ -65,9 +64,6 @@ pageItem {{item.staticId}} (
|
|
|
65
64
|
templateOptions: {{item.appearance.templateOptions}}
|
|
66
65
|
width: {{item.appearance.width}}
|
|
67
66
|
}
|
|
68
|
-
settings {
|
|
69
|
-
sendOnPageSubmit: {{item.settings.sendOnPageSubmit}}
|
|
70
|
-
}
|
|
71
67
|
validation {
|
|
72
68
|
valueRequired: {{item.validation.valueRequired}}
|
|
73
69
|
}
|
|
@@ -93,7 +89,7 @@ pageItem {{item.staticId}} (
|
|
|
93
89
|
|
|
94
90
|
- Omit optional blocks when values are not provided.
|
|
95
91
|
- Do not emit `appearance.width` for item types whose schema forbids it; `displayOnly` supports only `appearance.template` and `appearance.templateOptions`.
|
|
96
|
-
-
|
|
92
|
+
- Do not emit page-item `settings` blocks; the current grammar does not expose a pageItem settings group.
|
|
97
93
|
- Keep each item mapped to exactly one form region via `item.region`.
|
|
98
94
|
- For items rendered inside the main form region body, emit `layout.slot: regionBody` instead of `BODY`.
|
|
99
95
|
- Every form region must have at least one source-mapped primary-key item; emit `primaryKey: true` on each PK item.
|
|
@@ -42,7 +42,6 @@ Standardize `column` variable contracts, output shape, and guardrails for all in
|
|
|
42
42
|
| column.link.linkAttributes | optional | string | HTML attributes for the rendered link. |
|
|
43
43
|
| column.comments | required by default | string | Descriptive metadata string for `comments { comments: ... }` on business-significant, derived, status, and action columns; include the required attributes `Display Label`, `Display in Report`, `Display in Form`, `Format Mask`, `Value Required`, `Read Only`, `Primary Display Column`, and `Authorization Scheme`, with optional leading `Summary`. |
|
|
44
44
|
| column.genAI.columnContext | optional | string | NL2IR column context from column annotation `column_context`, else `ai_context`, else `description`, else column comment. |
|
|
45
|
-
| column.advanced.columnAlias | optional | string | APEX alias for REST/NL2IR scenarios. |
|
|
46
45
|
|
|
47
46
|
---
|
|
48
47
|
|
|
@@ -71,7 +70,7 @@ column {{column.name}} (
|
|
|
71
70
|
}
|
|
72
71
|
lov {
|
|
73
72
|
type: {{column.lov.type}}
|
|
74
|
-
|
|
73
|
+
lov: @{{column.lov.sharedComponent}}
|
|
75
74
|
}
|
|
76
75
|
security {
|
|
77
76
|
authorizationScheme: @{{column.security.authorizationScheme}}
|
|
@@ -93,9 +92,6 @@ column {{column.name}} (
|
|
|
93
92
|
genAI {
|
|
94
93
|
columnContext: {{column.genAI.columnContext}}
|
|
95
94
|
}
|
|
96
|
-
advanced {
|
|
97
|
-
columnAlias: {{column.advanced.columnAlias}}
|
|
98
|
-
}
|
|
99
95
|
)
|
|
100
96
|
```
|
|
101
97
|
|
|
@@ -115,7 +111,7 @@ column {{column.name}} (
|
|
|
115
111
|
- Omit `link` unless column-level navigation is explicitly requested and target page/item mappings are known.
|
|
116
112
|
- Omit `comments` only for hidden technical columns or when a documented exemption applies.
|
|
117
113
|
- Omit `genAI` unless NL2IR context is required.
|
|
118
|
-
-
|
|
114
|
+
- Do not emit `advanced.columnAlias`; the current grammar does not allow that property for Interactive Report columns.
|
|
119
115
|
|
|
120
116
|
---
|
|
121
117
|
|
|
@@ -130,13 +130,6 @@ dynamicAction {{dynamicAction.staticId}} (
|
|
|
130
130
|
|
|
131
131
|
action {{dynamicAction.action.staticId}} (
|
|
132
132
|
action: {{dynamicAction.action.type}}
|
|
133
|
-
settings {
|
|
134
|
-
title: {{dynamicAction.action.title}}
|
|
135
|
-
message: {{dynamicAction.action.message}}
|
|
136
|
-
style: {{dynamicAction.action.style}}
|
|
137
|
-
icon: {{dynamicAction.action.icon}}
|
|
138
|
-
okLabel: {{dynamicAction.action.okLabel}}
|
|
139
|
-
}
|
|
140
133
|
execution {
|
|
141
134
|
sequence: {{dynamicAction.action.sequence}}
|
|
142
135
|
event: @{{dynamicAction.staticId}}
|
|
@@ -152,3 +145,4 @@ dynamicAction {{dynamicAction.staticId}} (
|
|
|
152
145
|
|
|
153
146
|
- Replace theme template references with valid aliases.
|
|
154
147
|
- Remove button and dynamic action blocks when no custom action is required.
|
|
148
|
+
- Do not emit a dynamic-action `action.settings` block; action-specific dialog text must wait for a grammar-backed property path.
|
|
@@ -7,7 +7,7 @@ Catalog of canonical list region templates for the `list` region family, includi
|
|
|
7
7
|
- Load `list._index.md` first as the routing entrypoint.
|
|
8
8
|
- Load `list._common.md` to align variable contracts, guardrails, and required inputs.
|
|
9
9
|
- Choose a qualifier file matching the intended list template appearance (`cards` or `mediaList`).
|
|
10
|
-
- For `mediaList`, align report-level attribute names and values with `../../template-components/media-list._template_options.md`, plus `../../template-components/avatar._template_options.md` and `../../template-components/badge._template_options.md` for shared substructures.
|
|
10
|
+
- For `mediaList`, align report-level attribute names and values with `../../template-components/media-list/media-list._template_options.md`, plus `../../template-components/avatar/avatar._template_options.md` and `../../template-components/badge/badge._template_options.md` for shared substructures.
|
|
11
11
|
- Preserve canonical path references and markdown-first conventions when updating workflow or registry links.
|
|
12
12
|
|
|
13
13
|
## Template Catalog
|
|
@@ -14,7 +14,7 @@ Document the native list region shell and qualifier-dependent list-template appe
|
|
|
14
14
|
1. Use the dedicated `region-list` template.
|
|
15
15
|
2. Treat the qualifier as mandatory design intent: `cards` or `mediaList`.
|
|
16
16
|
3. Keep the list shared-component reference in the source block.
|
|
17
|
-
4. When the qualifier is `mediaList`, align the report-level appearance values with `../../template-components/media-list._template_options.md`, plus the shared `../../template-components/avatar._template_options.md` and `../../template-components/badge._template_options.md` owner files.
|
|
17
|
+
4. When the qualifier is `mediaList`, align the report-level appearance values with `../../template-components/media-list/media-list._template_options.md`, plus the shared `../../template-components/avatar/avatar._template_options.md` and `../../template-components/badge/badge._template_options.md` owner files.
|
|
18
18
|
|
|
19
19
|
# Variable Contract
|
|
20
20
|
|
|
@@ -20,9 +20,9 @@ Document the `mapBackground` shared component family: raster XYZ tile layers, ve
|
|
|
20
20
|
| `type` | yes | enum | `raster`, `vector`, or OGC WMS. |
|
|
21
21
|
| `url` | yes | string | Background URL. |
|
|
22
22
|
| `attribution` | conditional | text | Used for raster and OGC WMS backgrounds. |
|
|
23
|
-
| `
|
|
24
|
-
| `apiKey` | conditional | string | Static API-key value. |
|
|
25
|
-
| `
|
|
23
|
+
| `apiKey.type` | optional | enum | `staticValue` or `webCredential`. |
|
|
24
|
+
| `apiKey.staticValue` | conditional | string | Static API-key value. |
|
|
25
|
+
| `apiKey.webCredential` | conditional | credential ref | URL Query String Web Credential. |
|
|
26
26
|
| `httpHeaders` | optional | text | Key-value pairs, one per line. |
|
|
27
27
|
| `minZoomLevel` / `maxZoomLevel` | optional | number | Background zoom limits. |
|
|
28
28
|
| subscription fields | optional | subscription | Shared-component subscription metadata. |
|
|
@@ -34,16 +34,18 @@ Document the `mapBackground` shared component family: raster XYZ tile layers, ve
|
|
|
34
34
|
```apexlang
|
|
35
35
|
mapBackground {{staticId}} (
|
|
36
36
|
name: {{name}}
|
|
37
|
-
staticId: {{staticId}}
|
|
38
37
|
type: {{type}}
|
|
39
38
|
url: {{url}}
|
|
40
39
|
attribution: {{attribution}}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
apiKey: {{apiKey.type}}
|
|
41
|
+
staticValue: {{apiKey.staticValue}}
|
|
42
|
+
webCredential: @{{apiKey.webCredential}}
|
|
44
43
|
httpHeaders: {{httpHeaders}}
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
advanced {
|
|
45
|
+
staticId: {{staticId}}
|
|
46
|
+
minZoomLevel: {{minZoomLevel}}
|
|
47
|
+
maxZoomLevel: {{maxZoomLevel}}
|
|
48
|
+
}
|
|
47
49
|
)
|
|
48
50
|
```
|
|
49
51
|
|
|
@@ -64,7 +66,7 @@ Use shared backgrounds from a map region when `tileLayerType` selects the shared
|
|
|
64
66
|
- OGC WMS
|
|
65
67
|
- Provide the URL with the required WMS parameters except `BBOX`, `WIDTH`, `HEIGHT`, `REQUEST`, `FORMAT`, and `SRS/CRS`; the map region adds those automatically.
|
|
66
68
|
- `attribution` only applies to raster and OGC WMS backgrounds in the current seed metadata.
|
|
67
|
-
- `
|
|
69
|
+
- `apiKey: webCredential`
|
|
68
70
|
- The credential must be a URL Query String Web Credential.
|
|
69
71
|
- Background vector-tile usage is still subject to the application-scoped native plugin setting `useVectorTileLayers`.
|
|
70
72
|
|
|
@@ -24,15 +24,15 @@ Document 3D polygon-layer behavior for Maps: extruded polygon geometry, height-b
|
|
|
24
24
|
- `layer.layout.sequence`
|
|
25
25
|
- `layer.source.tableName`
|
|
26
26
|
- `layer.columnMapping.geometryColumnDataType`
|
|
27
|
-
- `layer.
|
|
28
|
-
- `layer.
|
|
27
|
+
- `layer.appearance.extrusionValueColumn`
|
|
28
|
+
- `layer.appearance.unit`
|
|
29
29
|
|
|
30
30
|
## Optional Variables
|
|
31
31
|
|
|
32
|
-
- `layer.
|
|
33
|
-
- `layer.
|
|
34
|
-
- `layer.
|
|
35
|
-
- `layer.
|
|
32
|
+
- `layer.appearance.fillColor`
|
|
33
|
+
- `layer.appearance.fillOpacity`
|
|
34
|
+
- `layer.appearance.strokeColor`
|
|
35
|
+
- `layer.appearance.strokeWidth`
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
@@ -57,10 +57,14 @@ layer {{layer.staticId}} (
|
|
|
57
57
|
geometryColumn: {{layer.columnMapping.geometryColumn}}
|
|
58
58
|
primaryKeyColumn: {{layer.columnMapping.primaryKeyColumn}}
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
appearance {
|
|
61
|
+
extrusionValueColumn: {{layer.appearance.extrusionValueColumn}}
|
|
62
|
+
unit: {{layer.appearance.unit}}
|
|
63
|
+
fillColor: {{layer.appearance.fillColor}}
|
|
64
|
+
fillOpacity: {{layer.appearance.fillOpacity}}
|
|
65
|
+
strokeColor: {{layer.appearance.strokeColor}}
|
|
66
|
+
strokeWidth: {{layer.appearance.strokeWidth}}
|
|
67
|
+
}
|
|
64
68
|
)
|
|
65
69
|
```
|
|
66
70
|
|
|
@@ -68,7 +72,7 @@ layer {{layer.staticId}} (
|
|
|
68
72
|
|
|
69
73
|
# Guardrails
|
|
70
74
|
|
|
71
|
-
- `
|
|
72
|
-
- `
|
|
75
|
+
- `appearance.extrusionValueColumn` is required for extruded polygons.
|
|
76
|
+
- `appearance.unit` becomes required once the extrusion value column is set.
|
|
73
77
|
- Use polygon geometry for the layer source; extrusion metadata is not a substitute for valid polygon geometry.
|
|
74
78
|
- Extruded polygons share the same fill-color-spectrum rules as normal polygon layers.
|
|
@@ -27,10 +27,10 @@ Document heat-map behavior for Maps: point-density rendering, heat-map color sch
|
|
|
27
27
|
|
|
28
28
|
## Optional Variables
|
|
29
29
|
|
|
30
|
-
- `layer.
|
|
31
|
-
- `layer.
|
|
30
|
+
- `layer.appearance.valueColumn`
|
|
31
|
+
- `layer.appearance.colorScheme`
|
|
32
32
|
- `layer.layerHeatmap*Name`
|
|
33
|
-
- `layer.
|
|
33
|
+
- `layer.appearance.customColorList`
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|
|
@@ -57,9 +57,12 @@ layer {{layer.staticId}} (
|
|
|
57
57
|
latitudeColumn: {{layer.columnMapping.latitudeColumn}}
|
|
58
58
|
primaryKeyColumn: {{layer.columnMapping.primaryKeyColumn}}
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
appearance {
|
|
61
|
+
valueColumn: {{layer.appearance.valueColumn}}
|
|
62
|
+
colorScheme: {{layer.appearance.colorScheme}}
|
|
63
|
+
schemeName: {{layer.appearance.schemeName}}
|
|
64
|
+
customColorList: {{layer.appearance.customColorList}}
|
|
65
|
+
}
|
|
63
66
|
)
|
|
64
67
|
```
|
|
65
68
|
|
|
@@ -69,5 +72,5 @@ layer {{layer.staticId}} (
|
|
|
69
72
|
|
|
70
73
|
- Heat maps are point-only in practice. If the source uses `sdoGeometry` or `geojson`, it must still return point objects.
|
|
71
74
|
- Heat-map layers do not expose the normal tooltip, link-target, or info-window metadata paths.
|
|
72
|
-
- `
|
|
75
|
+
- `appearance.valueColumn` is optional. Without it, the widget derives color intensity from point density alone.
|
|
73
76
|
- Use high-contrast color ramps and avoid problematic red-green-only schemes.
|
|
@@ -27,10 +27,10 @@ Document line-layer behavior for Maps: line geometry mapping, stroke styling, co
|
|
|
27
27
|
|
|
28
28
|
## Optional Variables
|
|
29
29
|
|
|
30
|
-
- `layer.
|
|
31
|
-
- `layer.
|
|
32
|
-
- `layer.
|
|
33
|
-
- `layer.
|
|
30
|
+
- `layer.appearance.strokeColor`
|
|
31
|
+
- `layer.appearance.strokeWidth`
|
|
32
|
+
- `layer.appearance.strokeStyle`
|
|
33
|
+
- `layer.appearance.colorValueColumn`
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|
|
@@ -55,10 +55,12 @@ layer {{layer.staticId}} (
|
|
|
55
55
|
geometryColumn: {{layer.columnMapping.geometryColumn}}
|
|
56
56
|
primaryKeyColumn: {{layer.columnMapping.primaryKeyColumn}}
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
appearance {
|
|
59
|
+
strokeColor: {{layer.appearance.strokeColor}}
|
|
60
|
+
strokeWidth: {{layer.appearance.strokeWidth}}
|
|
61
|
+
strokeStyle: {{layer.appearance.strokeStyle}}
|
|
62
|
+
colorValueColumn: {{layer.appearance.colorValueColumn}}
|
|
63
|
+
}
|
|
62
64
|
)
|
|
63
65
|
```
|
|
64
66
|
|
|
@@ -27,16 +27,16 @@ Document 2D polygon-layer behavior for Maps: polygon geometry, static fill and s
|
|
|
27
27
|
|
|
28
28
|
## Optional Variables
|
|
29
29
|
|
|
30
|
-
- `layer.
|
|
31
|
-
- `layer.
|
|
30
|
+
- `layer.appearance.useColorScheme`
|
|
31
|
+
- `layer.appearance.colorScheme`
|
|
32
32
|
- `layer.layerColorSpectrum*Name`
|
|
33
33
|
- `layer.featureFillColorSpectrum`
|
|
34
|
-
- `layer.
|
|
35
|
-
- `layer.
|
|
36
|
-
- `layer.
|
|
37
|
-
- `layer.
|
|
38
|
-
- `layer.
|
|
39
|
-
- `layer.
|
|
34
|
+
- `layer.appearance.colorValueColumn`
|
|
35
|
+
- `layer.appearance.fillColor`
|
|
36
|
+
- `layer.appearance.fillOpacity`
|
|
37
|
+
- `layer.appearance.strokeColor`
|
|
38
|
+
- `layer.appearance.strokeWidth`
|
|
39
|
+
- `layer.appearance.strokeStyle`
|
|
40
40
|
- `layer.mapFeatureLegendAdvFormatting`
|
|
41
41
|
- `layer.mapFeatureLegendHtmlExpr`
|
|
42
42
|
|
|
@@ -63,14 +63,17 @@ layer {{layer.staticId}} (
|
|
|
63
63
|
geometryColumn: {{layer.columnMapping.geometryColumn}}
|
|
64
64
|
primaryKeyColumn: {{layer.columnMapping.primaryKeyColumn}}
|
|
65
65
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
appearance {
|
|
67
|
+
useColorScheme: {{layer.appearance.useColorScheme}}
|
|
68
|
+
colorScheme: {{layer.appearance.colorScheme}}
|
|
69
|
+
schemeName: {{layer.appearance.schemeName}}
|
|
70
|
+
colorValueColumn: {{layer.appearance.colorValueColumn}}
|
|
71
|
+
fillColor: {{layer.appearance.fillColor}}
|
|
72
|
+
fillOpacity: {{layer.appearance.fillOpacity}}
|
|
73
|
+
strokeColor: {{layer.appearance.strokeColor}}
|
|
74
|
+
strokeWidth: {{layer.appearance.strokeWidth}}
|
|
75
|
+
strokeStyle: {{layer.appearance.strokeStyle}}
|
|
76
|
+
}
|
|
74
77
|
)
|
|
75
78
|
```
|
|
76
79
|
|
|
@@ -78,6 +81,6 @@ layer {{layer.staticId}} (
|
|
|
78
81
|
|
|
79
82
|
# Guardrails
|
|
80
83
|
|
|
81
|
-
- Spectrum-driven fill on polygons requires a numeric `
|
|
82
|
-
- When spectrum mode is off, the layer falls back to static `
|
|
84
|
+
- Spectrum-driven fill on polygons requires a numeric `appearance.colorValueColumn`.
|
|
85
|
+
- When spectrum mode is off, the layer falls back to static `appearance.fillColor`.
|
|
83
86
|
- Keep contrast between polygon fill, stroke, and the underlying basemap high enough for clear differentiation.
|