@descope/web-components-ui 1.0.362 → 1.0.363
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/dist/cjs/index.cjs.js +21 -10
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +21 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/DescopeDev.js +1 -1
- package/dist/umd/descope-grid-index-js.js +1 -1
- package/package.json +1 -1
- package/src/components/descope-grid/GridClass.js +2 -2
- package/src/components/descope-grid/helpers.js +19 -8
package/dist/cjs/index.cjs.js
CHANGED
@@ -9883,33 +9883,44 @@ const isValidDataType = (data) => {
|
|
9883
9883
|
|
9884
9884
|
const isPlainObject = (value) => value?.constructor === Object;
|
9885
9885
|
|
9886
|
+
const isXml = (str) => /^\s*<[\s\S]*>/.test(str);
|
9887
|
+
|
9888
|
+
const escapeXML = (s) => {
|
9889
|
+
const dom = document.createElement('div');
|
9890
|
+
dom.textContent = s;
|
9891
|
+
return dom.innerHTML;
|
9892
|
+
};
|
9893
|
+
|
9886
9894
|
const getValueType = (value) => {
|
9887
9895
|
if (isPlainObject(value)) return 'object';
|
9888
9896
|
if (Array.isArray(value)) return 'array';
|
9897
|
+
if (isXml(value)) return 'xml';
|
9889
9898
|
|
9890
9899
|
return 'text';
|
9891
9900
|
};
|
9892
9901
|
|
9893
|
-
const renderCodeSnippet = (value) =>
|
9894
|
-
`<descope-code-snippet lang="
|
9895
|
-
value,
|
9896
|
-
null,
|
9897
|
-
2
|
9898
|
-
)}</descope-code-snippet>`;
|
9902
|
+
const renderCodeSnippet = (value, lang) =>
|
9903
|
+
`<descope-code-snippet lang="${lang}" class="row-details__value code">${value}</descope-code-snippet>`;
|
9899
9904
|
|
9900
9905
|
const renderText = (text) =>
|
9901
9906
|
`<div class="row-details__value text" title="${text}">${text}</div>`;
|
9907
|
+
const renderJson = (value) => renderCodeSnippet(JSON.stringify(value, null, 2), 'json');
|
9908
|
+
const renderXml = (value) => renderCodeSnippet(escapeXML(value), 'xml');
|
9902
9909
|
|
9903
9910
|
const defaultRowDetailsValueRenderer = (value) => {
|
9904
9911
|
const valueType = getValueType(value);
|
9905
9912
|
|
9906
9913
|
if (valueType === 'object') {
|
9907
|
-
return
|
9914
|
+
return renderJson(value);
|
9915
|
+
}
|
9916
|
+
|
9917
|
+
if (valueType === 'xml') {
|
9918
|
+
return renderXml(value);
|
9908
9919
|
}
|
9909
9920
|
|
9910
9921
|
if (valueType === 'array') {
|
9911
9922
|
if (value.some((v) => getValueType(v) === 'object')) {
|
9912
|
-
return
|
9923
|
+
return renderJson(value);
|
9913
9924
|
}
|
9914
9925
|
return renderText(value.join(',\n'));
|
9915
9926
|
}
|
@@ -10266,7 +10277,7 @@ const GridClass = compose(
|
|
10266
10277
|
grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${GridClass.cssVarList.detailsPanelItemsGap}))), 1fr));
|
10267
10278
|
width: 100%;
|
10268
10279
|
}
|
10269
|
-
vaadin-grid .row-details__item:has(.row-details__value.
|
10280
|
+
vaadin-grid .row-details__item:has(.row-details__value.code) {
|
10270
10281
|
grid-column: 1 / -1;
|
10271
10282
|
order: 2;
|
10272
10283
|
}
|
@@ -10275,7 +10286,7 @@ const GridClass = compose(
|
|
10275
10286
|
text-overflow: ellipsis;
|
10276
10287
|
white-space: pre;
|
10277
10288
|
}
|
10278
|
-
vaadin-grid .row-details__value.
|
10289
|
+
vaadin-grid .row-details__value.code {
|
10279
10290
|
margin-top: 5px;
|
10280
10291
|
max-height: 120px;
|
10281
10292
|
overflow: scroll;
|