jupiter-dynamic-forms 1.19.2 → 1.19.4
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/core/concept-tree.d.ts.map +1 -1
- package/dist/core/dynamic-form.d.ts.map +1 -1
- package/dist/index.js +14 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +45 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4641,7 +4641,7 @@ JupiterFormField.styles = css`
|
|
|
4641
4641
|
100% { box-shadow: 0 0 0 0px transparent; background-color: transparent; }
|
|
4642
4642
|
}
|
|
4643
4643
|
:host(.concept-highlight) {
|
|
4644
|
-
animation: concept-highlight-pulse
|
|
4644
|
+
animation: concept-highlight-pulse 10s ease-out forwards;
|
|
4645
4645
|
}
|
|
4646
4646
|
`;
|
|
4647
4647
|
__decorateClass$6([
|
|
@@ -5219,6 +5219,16 @@ JupiterConceptTree.styles = css`
|
|
|
5219
5219
|
opacity: 1;
|
|
5220
5220
|
}
|
|
5221
5221
|
|
|
5222
|
+
@keyframes concept-row-highlight-pulse {
|
|
5223
|
+
0% { background-color: #fef9c3; box-shadow: inset 0 3px 0 -1px #fbbf24, inset 0 -3px 0 -1px #fbbf24; }
|
|
5224
|
+
60% { background-color: #fef9c3; box-shadow: inset 0 3px 0 -1px #fbbf24, inset 0 -3px 0 -1px #fbbf24; }
|
|
5225
|
+
100% { background-color: transparent; box-shadow: none; }
|
|
5226
|
+
}
|
|
5227
|
+
:host(.concept-highlight) .concept-name-cell,
|
|
5228
|
+
:host(.concept-highlight) .field-cell {
|
|
5229
|
+
animation: concept-row-highlight-pulse 10s ease-out forwards;
|
|
5230
|
+
}
|
|
5231
|
+
|
|
5222
5232
|
`;
|
|
5223
5233
|
__decorateClass$5([
|
|
5224
5234
|
n2({ type: Object })
|
|
@@ -12786,7 +12796,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
12786
12796
|
})) == null ? void 0 : _a.id;
|
|
12787
12797
|
}
|
|
12788
12798
|
async scrollToConcept(conceptName, dimensions, match) {
|
|
12789
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
12799
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
12790
12800
|
console.log(`[scrollToConcept] ▶ START conceptName=${conceptName} value=${match == null ? void 0 : match.value} dims=${JSON.stringify(dimensions)}`);
|
|
12791
12801
|
let targetSection = null;
|
|
12792
12802
|
let targetConcept = null;
|
|
@@ -12840,6 +12850,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
12840
12850
|
targetColumnId = ((_b = columns[0]) == null ? void 0 : _b.id) ?? null;
|
|
12841
12851
|
}
|
|
12842
12852
|
console.log(`[scrollToConcept] targetColumnId=${targetColumnId} hasValueMatch=${hasValueMatch} targetValue=${targetValue}`);
|
|
12853
|
+
this._conceptSearchText = conceptName.includes(":") ? conceptName.split(":").pop() : conceptName;
|
|
12843
12854
|
this.requestUpdate();
|
|
12844
12855
|
await this.updateComplete;
|
|
12845
12856
|
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
@@ -12960,13 +12971,40 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
12960
12971
|
return;
|
|
12961
12972
|
}
|
|
12962
12973
|
console.log(`[scrollToConcept] ✅ HIGHLIGHTING conceptId=${targetFieldEl.conceptId} columnId=${targetFieldEl.columnId} value=${targetFieldEl.value}`);
|
|
12963
|
-
targetFieldEl.
|
|
12964
|
-
|
|
12965
|
-
const
|
|
12974
|
+
const fieldRect = targetFieldEl.getBoundingClientRect();
|
|
12975
|
+
const root = this.shadowRoot;
|
|
12976
|
+
const potentialContainer = root ? root.querySelector(".side-panel-content") ?? root.querySelector(".form-container") : null;
|
|
12977
|
+
const scrollContainer = potentialContainer && potentialContainer.scrollHeight > potentialContainer.clientHeight ? potentialContainer : null;
|
|
12978
|
+
if (scrollContainer) {
|
|
12979
|
+
const containerRect = scrollContainer.getBoundingClientRect();
|
|
12980
|
+
const targetScrollTop = Math.max(
|
|
12981
|
+
0,
|
|
12982
|
+
fieldRect.top - containerRect.top + scrollContainer.scrollTop - scrollContainer.clientHeight / 2 + fieldRect.height / 2
|
|
12983
|
+
);
|
|
12984
|
+
scrollContainer.scrollTo({ top: targetScrollTop, behavior: "smooth" });
|
|
12985
|
+
} else {
|
|
12986
|
+
targetFieldEl.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
12987
|
+
}
|
|
12988
|
+
const tableContainer = (_k = targetSectionEl == null ? void 0 : targetSectionEl.shadowRoot) == null ? void 0 : _k.querySelector(".table-container");
|
|
12989
|
+
if (tableContainer && tableContainer.scrollWidth > tableContainer.clientWidth) {
|
|
12990
|
+
const tableRect = tableContainer.getBoundingClientRect();
|
|
12991
|
+
const targetScrollLeft = Math.max(
|
|
12992
|
+
0,
|
|
12993
|
+
fieldRect.left - tableRect.left + tableContainer.scrollLeft - tableContainer.clientWidth / 2 + fieldRect.width / 2
|
|
12994
|
+
);
|
|
12995
|
+
tableContainer.scrollTo({ left: targetScrollLeft, behavior: "smooth" });
|
|
12996
|
+
}
|
|
12997
|
+
const rootNode = targetFieldEl.getRootNode();
|
|
12998
|
+
const rowHost = rootNode instanceof ShadowRoot ? rootNode.host : null;
|
|
12999
|
+
const highlightEl = rowHost ?? targetFieldEl;
|
|
13000
|
+
highlightEl.classList.add("concept-highlight");
|
|
13001
|
+
const focusTarget = (_l = targetFieldEl.shadowRoot) == null ? void 0 : _l.querySelector(
|
|
12966
13002
|
'input:not([type="hidden"]), select, textarea, button, [tabindex]:not([tabindex="-1"])'
|
|
12967
13003
|
);
|
|
12968
|
-
focusTarget
|
|
12969
|
-
|
|
13004
|
+
if (focusTarget) {
|
|
13005
|
+
setTimeout(() => focusTarget.focus({ preventScroll: true }), 450);
|
|
13006
|
+
}
|
|
13007
|
+
setTimeout(() => highlightEl.classList.remove("concept-highlight"), 1e4);
|
|
12970
13008
|
}
|
|
12971
13009
|
render() {
|
|
12972
13010
|
var _a;
|