@praxisui/core 8.0.0-beta.84 → 8.0.0-beta.85
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/fesm2022/praxisui-core.mjs +31 -0
- package/package.json +1 -1
- package/types/praxisui-core.d.ts +13 -0
|
@@ -499,6 +499,7 @@ const FieldControlType = {
|
|
|
499
499
|
INLINE_ENTITY_LOOKUP: 'inlineEntityLookup',
|
|
500
500
|
INLINE_AUTOCOMPLETE: 'inlineAutocomplete',
|
|
501
501
|
INLINE_INPUT: 'inlineInput',
|
|
502
|
+
INLINE_PHONE: 'inlinePhone',
|
|
502
503
|
INLINE_NUMBER: 'inlineNumber',
|
|
503
504
|
INLINE_CURRENCY: 'inlineCurrency',
|
|
504
505
|
INLINE_CURRENCY_RANGE: 'inlineCurrencyRange',
|
|
@@ -592,6 +593,7 @@ const INLINE_FILTER_CONTROL_TYPES = Object.freeze({
|
|
|
592
593
|
CURRENCY_RANGE: FieldControlType.INLINE_CURRENCY_RANGE,
|
|
593
594
|
MULTI_SELECT: FieldControlType.INLINE_MULTISELECT,
|
|
594
595
|
INPUT: FieldControlType.INLINE_INPUT,
|
|
596
|
+
PHONE: FieldControlType.INLINE_PHONE,
|
|
595
597
|
TOGGLE: FieldControlType.INLINE_TOGGLE,
|
|
596
598
|
RANGE: FieldControlType.INLINE_RANGE,
|
|
597
599
|
PERIOD_RANGE: FieldControlType.INLINE_PERIOD_RANGE,
|
|
@@ -629,6 +631,7 @@ const INLINE_FILTER_CANONICAL_TOKEN_TO_CONTROL_TYPE_MAP = {
|
|
|
629
631
|
inlinecurrencyrange: INLINE_FILTER_CONTROL_TYPES.CURRENCY_RANGE,
|
|
630
632
|
inlinemultiselect: INLINE_FILTER_CONTROL_TYPES.MULTI_SELECT,
|
|
631
633
|
inlineinput: INLINE_FILTER_CONTROL_TYPES.INPUT,
|
|
634
|
+
inlinephone: INLINE_FILTER_CONTROL_TYPES.PHONE,
|
|
632
635
|
inlinetoggle: INLINE_FILTER_CONTROL_TYPES.TOGGLE,
|
|
633
636
|
inlinerange: INLINE_FILTER_CONTROL_TYPES.RANGE,
|
|
634
637
|
inlineperiodrange: INLINE_FILTER_CONTROL_TYPES.PERIOD_RANGE,
|
|
@@ -668,6 +671,7 @@ const INLINE_FILTER_CANONICAL_TOKEN_TO_BASE_CONTROL_TYPE_MAP = {
|
|
|
668
671
|
inlinecurrencyrange: FieldControlType.PRICE_RANGE,
|
|
669
672
|
inlinemultiselect: FieldControlType.MULTI_SELECT,
|
|
670
673
|
inlineinput: FieldControlType.INPUT,
|
|
674
|
+
inlinephone: FieldControlType.PHONE,
|
|
671
675
|
inlinetoggle: FieldControlType.TOGGLE,
|
|
672
676
|
inlinerange: FieldControlType.RANGE_SLIDER,
|
|
673
677
|
inlineperiodrange: FieldControlType.RANGE_SLIDER,
|
|
@@ -12077,6 +12081,17 @@ class SurfaceOpenMaterializerService {
|
|
|
12077
12081
|
? this.extractCollectionData(data)
|
|
12078
12082
|
: null;
|
|
12079
12083
|
if (collectionData) {
|
|
12084
|
+
if (this.shouldPreserveCollectionPresentation(payload)) {
|
|
12085
|
+
return {
|
|
12086
|
+
...payload,
|
|
12087
|
+
context: this.mergeMaterializationContext(payload, {
|
|
12088
|
+
readUrl,
|
|
12089
|
+
dataShape: 'array',
|
|
12090
|
+
recordCount: collectionData.length,
|
|
12091
|
+
presentation: 'host-declared',
|
|
12092
|
+
}),
|
|
12093
|
+
};
|
|
12094
|
+
}
|
|
12080
12095
|
const schemaFields = await this.resolveSchemaFields(payload, discoveryOptions);
|
|
12081
12096
|
return this.materializeArrayAsTable(payload, collectionData, schemaFields, resourceId, readUrl);
|
|
12082
12097
|
}
|
|
@@ -12134,6 +12149,21 @@ class SurfaceOpenMaterializerService {
|
|
|
12134
12149
|
|| cardinality === 'COLLECTION'
|
|
12135
12150
|
|| cardinality === 'PAGE';
|
|
12136
12151
|
}
|
|
12152
|
+
shouldPreserveCollectionPresentation(payload) {
|
|
12153
|
+
const widget = payload.widget;
|
|
12154
|
+
const widgetId = String(widget?.id || '').trim();
|
|
12155
|
+
if (!widgetId || widgetId === 'praxis-dynamic-form') {
|
|
12156
|
+
return false;
|
|
12157
|
+
}
|
|
12158
|
+
if (widgetId !== 'praxis-table') {
|
|
12159
|
+
return true;
|
|
12160
|
+
}
|
|
12161
|
+
const inputs = widget.inputs || {};
|
|
12162
|
+
return Boolean(inputs['resourcePath']
|
|
12163
|
+
|| inputs['queryContext']
|
|
12164
|
+
|| inputs['config']
|
|
12165
|
+
|| inputs['data']);
|
|
12166
|
+
}
|
|
12137
12167
|
resolveResourceId(payload, context) {
|
|
12138
12168
|
const resource = payload.context?.['resource'];
|
|
12139
12169
|
const direct = resource?.['resourceId'];
|
|
@@ -18726,6 +18756,7 @@ const DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP = {
|
|
|
18726
18756
|
'pdx-material-slide-toggle': FieldControlType.TOGGLE,
|
|
18727
18757
|
'pdx-material-async-select': FieldControlType.ASYNC_SELECT,
|
|
18728
18758
|
'pdx-inline-entity-lookup': FieldControlType.ENTITY_LOOKUP,
|
|
18759
|
+
'pdx-inline-phone': FieldControlType.INLINE_PHONE,
|
|
18729
18760
|
'pdx-material-entity-lookup': FieldControlType.ENTITY_LOOKUP,
|
|
18730
18761
|
'pdx-material-radio-group': FieldControlType.RADIO,
|
|
18731
18762
|
'pdx-material-checkbox-group': FieldControlType.CHECKBOX,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/core",
|
|
3
|
-
"version": "8.0.0-beta.
|
|
3
|
+
"version": "8.0.0-beta.85",
|
|
4
4
|
"description": "Core library for Praxis UI Workspace: types, tokens, services and utilities shared across @praxisui/* packages.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
package/types/praxisui-core.d.ts
CHANGED
|
@@ -3416,6 +3416,7 @@ declare const FieldControlType: {
|
|
|
3416
3416
|
readonly INLINE_ENTITY_LOOKUP: "inlineEntityLookup";
|
|
3417
3417
|
readonly INLINE_AUTOCOMPLETE: "inlineAutocomplete";
|
|
3418
3418
|
readonly INLINE_INPUT: "inlineInput";
|
|
3419
|
+
readonly INLINE_PHONE: "inlinePhone";
|
|
3419
3420
|
readonly INLINE_NUMBER: "inlineNumber";
|
|
3420
3421
|
readonly INLINE_CURRENCY: "inlineCurrency";
|
|
3421
3422
|
readonly INLINE_CURRENCY_RANGE: "inlineCurrencyRange";
|
|
@@ -6542,6 +6543,10 @@ interface MaterialDatepickerMetadata extends FieldMetadata {
|
|
|
6542
6543
|
controlType: typeof FieldControlType.DATE_PICKER;
|
|
6543
6544
|
/** Date format for display */
|
|
6544
6545
|
dateFormat?: string;
|
|
6546
|
+
/** Locale for parsing and formatting date values. */
|
|
6547
|
+
locale?: string;
|
|
6548
|
+
/** Display format hint, such as dd/MM/yyyy for day-first dates. */
|
|
6549
|
+
displayFormat?: string;
|
|
6545
6550
|
/** Allows manual typing in the input. Set false to force calendar selection. */
|
|
6546
6551
|
manualInput?: boolean;
|
|
6547
6552
|
/** Minimum selectable date */
|
|
@@ -8980,6 +8985,7 @@ declare class SurfaceOpenMaterializerService {
|
|
|
8980
8985
|
private shouldMaterializeItemReadProjection;
|
|
8981
8986
|
private resolveResponseCardinality;
|
|
8982
8987
|
private shouldMaterializeAsCollection;
|
|
8988
|
+
private shouldPreserveCollectionPresentation;
|
|
8983
8989
|
private resolveResourceId;
|
|
8984
8990
|
private resolveItemReadUrl;
|
|
8985
8991
|
private resolveSchemaFields;
|
|
@@ -11950,6 +11956,12 @@ interface LoadingState {
|
|
|
11950
11956
|
componentType?: string;
|
|
11951
11957
|
componentId?: string;
|
|
11952
11958
|
resourcePath?: string;
|
|
11959
|
+
totalItems?: number;
|
|
11960
|
+
loadedItemsCount?: number;
|
|
11961
|
+
page?: {
|
|
11962
|
+
index?: number;
|
|
11963
|
+
size?: number;
|
|
11964
|
+
};
|
|
11953
11965
|
};
|
|
11954
11966
|
timestamp?: string;
|
|
11955
11967
|
}
|
|
@@ -12227,6 +12239,7 @@ declare const INLINE_FILTER_CONTROL_TYPES: Readonly<{
|
|
|
12227
12239
|
readonly CURRENCY_RANGE: "inlineCurrencyRange";
|
|
12228
12240
|
readonly MULTI_SELECT: "inlineMultiSelect";
|
|
12229
12241
|
readonly INPUT: "inlineInput";
|
|
12242
|
+
readonly PHONE: "inlinePhone";
|
|
12230
12243
|
readonly TOGGLE: "inlineToggle";
|
|
12231
12244
|
readonly RANGE: "inlineRange";
|
|
12232
12245
|
readonly PERIOD_RANGE: "inlinePeriodRange";
|