@lv-x-software-house/x_view 1.3.2 → 1.3.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/index.js CHANGED
@@ -4160,7 +4160,8 @@ var IGNORED_KEYS = [
4160
4160
  "types",
4161
4161
  "process_tree",
4162
4162
  "process_abstraction_tree",
4163
- "is_process_template_quest"
4163
+ "is_process_template_quest",
4164
+ "participant_ids"
4164
4165
  ];
4165
4166
  function extractCustomPropsFromNode(node) {
4166
4167
  const customPropTypes = node._customPropTypes || {};
@@ -12728,6 +12729,10 @@ function InSceneQuestForm({
12728
12729
  recurrence_config: recurrenceConfig,
12729
12730
  milestone_ids: milestoneIds,
12730
12731
  dependency_ids: dependencyIds,
12732
+ participant_ids: Array.from(new Set([
12733
+ assigneeIds[0],
12734
+ ...(reviewStack || []).map((r) => r.userId)
12735
+ ].filter(Boolean))),
12731
12736
  ...additionalData
12732
12737
  });
12733
12738
  };
@@ -14523,7 +14528,11 @@ function QuestDetailsPanel({
14523
14528
  // Corrigido: Reseta o timer para o In Progress
14524
14529
  sla_started_at: slaStartedAt,
14525
14530
  sla_finished_at: slaFinishedAt,
14526
- recurrence_config: recurrenceConfig
14531
+ recurrence_config: recurrenceConfig,
14532
+ participant_ids: Array.from(new Set([
14533
+ returnAssigneeId,
14534
+ ...(reviewStack || []).map((r) => r.userId)
14535
+ ].filter(Boolean)))
14527
14536
  };
14528
14537
  try {
14529
14538
  await onSave(nodeToSave, false);
@@ -14579,7 +14588,11 @@ ${noteText}` : noteText : entry.notes,
14579
14588
  current_status_started_at: currentStatusStartedAt,
14580
14589
  sla_started_at: slaStartedAt,
14581
14590
  sla_finished_at: slaFinishedAt,
14582
- recurrence_config: recurrenceConfig
14591
+ recurrence_config: recurrenceConfig,
14592
+ participant_ids: Array.from(new Set([
14593
+ assigneeId,
14594
+ ...(reviewStack || []).map((r) => r.userId)
14595
+ ].filter(Boolean)))
14583
14596
  };
14584
14597
  await onSave(nodeToSave, true);
14585
14598
  setTimeline(updatedTimeline);
@@ -14884,6 +14897,10 @@ ${noteText}` : noteText : entry.notes,
14884
14897
  is_quest: true,
14885
14898
  reviewStack: currentReviewStack,
14886
14899
  timeline: currentTimeline,
14900
+ participant_ids: Array.from(new Set([
14901
+ currentAssigneeId,
14902
+ ...(currentReviewStack || []).map((r) => r.userId)
14903
+ ].filter(Boolean))),
14887
14904
  ...extrasObj,
14888
14905
  version_node: node.version_node,
14889
14906
  milestone_ids: milestoneIds,
@@ -15508,6 +15525,10 @@ ${noteText}` : noteText : entry.notes,
15508
15525
  {
15509
15526
  ...node,
15510
15527
  status,
15528
+ participant_ids: Array.from(new Set([
15529
+ assigneeId,
15530
+ ...(reviewStack || []).map((r) => r.userId)
15531
+ ].filter(Boolean))),
15511
15532
  _triggerBranch: {
15512
15533
  process: foundTreeContext.process,
15513
15534
  branch
@@ -19236,7 +19257,7 @@ function XViewScene({
19236
19257
  const viewParams = (0, import_react37.useMemo)(() => {
19237
19258
  if (encryptedConfig) {
19238
19259
  const data = decryptData(encryptedConfig);
19239
- if (data) {
19260
+ if (data && data.id && data.owner_id && data.type) {
19240
19261
  return data;
19241
19262
  }
19242
19263
  }
@@ -20193,6 +20214,7 @@ function XViewScene({
20193
20214
  console.warn(
20194
20215
  "Nenhum par\xE2metro de cena encontrado na URL ou falha na decripta\xE7\xE3o."
20195
20216
  );
20217
+ setPermissionStatus("corrupted");
20196
20218
  setIsLoading(false);
20197
20219
  }
20198
20220
  }, [
@@ -24627,6 +24649,53 @@ function XViewScene({
24627
24649
  transform: "translateX(30px)",
24628
24650
  transition: "all 300ms ease-in-out"
24629
24651
  } : {};
24652
+ if (permissionStatus === "corrupted") {
24653
+ return /* @__PURE__ */ import_react37.default.createElement("div", { className: "flex flex-col items-center justify-center min-h-screen w-full bg-slate-950 text-white" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "bg-slate-900/50 p-8 rounded-2xl border border-slate-800 shadow-2xl text-center max-w-md animate-fade-in" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "mb-4 text-amber-500" }, /* @__PURE__ */ import_react37.default.createElement(
24654
+ "svg",
24655
+ {
24656
+ xmlns: "http://www.w3.org/2000/svg",
24657
+ fill: "none",
24658
+ viewBox: "0 0 24 24",
24659
+ strokeWidth: 1.5,
24660
+ stroke: "currentColor",
24661
+ className: "w-16 h-16 mx-auto"
24662
+ },
24663
+ /* @__PURE__ */ import_react37.default.createElement(
24664
+ "path",
24665
+ {
24666
+ strokeLinecap: "round",
24667
+ strokeLinejoin: "round",
24668
+ d: "M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"
24669
+ }
24670
+ )
24671
+ )), /* @__PURE__ */ import_react37.default.createElement("h2", { className: "text-2xl font-bold mb-2" }, "Link Inv\xE1lido"), /* @__PURE__ */ import_react37.default.createElement("p", { className: "text-slate-400 mb-6" }, "O link de acesso a este cen\xE1rio est\xE1 corrompido, incompleto ou foi alterado de forma incorreta. Por favor, verifique a URL ou retorne ao dashboard."), /* @__PURE__ */ import_react37.default.createElement(
24672
+ "button",
24673
+ {
24674
+ onClick: handleNavigateBack,
24675
+ className: "flex items-center justify-center gap-2 w-full py-3 px-4 bg-blue-600 hover:bg-blue-700 text-white rounded-lg transition-colors font-medium cursor-pointer"
24676
+ },
24677
+ /* @__PURE__ */ import_react37.default.createElement(
24678
+ "svg",
24679
+ {
24680
+ xmlns: "http://www.w3.org/2000/svg",
24681
+ fill: "none",
24682
+ viewBox: "0 0 24 24",
24683
+ strokeWidth: 2,
24684
+ stroke: "currentColor",
24685
+ className: "w-5 h-5"
24686
+ },
24687
+ /* @__PURE__ */ import_react37.default.createElement(
24688
+ "path",
24689
+ {
24690
+ strokeLinecap: "round",
24691
+ strokeLinejoin: "round",
24692
+ d: "M10 19l-7-7m0 0l7-7m-7 7h18"
24693
+ }
24694
+ )
24695
+ ),
24696
+ "Voltar ao Dashboard"
24697
+ )));
24698
+ }
24630
24699
  if (permissionStatus === "denied") {
24631
24700
  return /* @__PURE__ */ import_react37.default.createElement("div", { className: "flex flex-col items-center justify-center min-h-screen w-full bg-slate-950 text-white" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "bg-slate-900/50 p-8 rounded-2xl border border-slate-800 shadow-2xl text-center max-w-md" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "mb-4 text-red-500" }, /* @__PURE__ */ import_react37.default.createElement(
24632
24701
  "svg",
package/dist/index.mjs CHANGED
@@ -4121,7 +4121,8 @@ var IGNORED_KEYS = [
4121
4121
  "types",
4122
4122
  "process_tree",
4123
4123
  "process_abstraction_tree",
4124
- "is_process_template_quest"
4124
+ "is_process_template_quest",
4125
+ "participant_ids"
4125
4126
  ];
4126
4127
  function extractCustomPropsFromNode(node) {
4127
4128
  const customPropTypes = node._customPropTypes || {};
@@ -12760,6 +12761,10 @@ function InSceneQuestForm({
12760
12761
  recurrence_config: recurrenceConfig,
12761
12762
  milestone_ids: milestoneIds,
12762
12763
  dependency_ids: dependencyIds,
12764
+ participant_ids: Array.from(new Set([
12765
+ assigneeIds[0],
12766
+ ...(reviewStack || []).map((r) => r.userId)
12767
+ ].filter(Boolean))),
12763
12768
  ...additionalData
12764
12769
  });
12765
12770
  };
@@ -14584,7 +14589,11 @@ function QuestDetailsPanel({
14584
14589
  // Corrigido: Reseta o timer para o In Progress
14585
14590
  sla_started_at: slaStartedAt,
14586
14591
  sla_finished_at: slaFinishedAt,
14587
- recurrence_config: recurrenceConfig
14592
+ recurrence_config: recurrenceConfig,
14593
+ participant_ids: Array.from(new Set([
14594
+ returnAssigneeId,
14595
+ ...(reviewStack || []).map((r) => r.userId)
14596
+ ].filter(Boolean)))
14588
14597
  };
14589
14598
  try {
14590
14599
  await onSave(nodeToSave, false);
@@ -14640,7 +14649,11 @@ ${noteText}` : noteText : entry.notes,
14640
14649
  current_status_started_at: currentStatusStartedAt,
14641
14650
  sla_started_at: slaStartedAt,
14642
14651
  sla_finished_at: slaFinishedAt,
14643
- recurrence_config: recurrenceConfig
14652
+ recurrence_config: recurrenceConfig,
14653
+ participant_ids: Array.from(new Set([
14654
+ assigneeId,
14655
+ ...(reviewStack || []).map((r) => r.userId)
14656
+ ].filter(Boolean)))
14644
14657
  };
14645
14658
  await onSave(nodeToSave, true);
14646
14659
  setTimeline(updatedTimeline);
@@ -14945,6 +14958,10 @@ ${noteText}` : noteText : entry.notes,
14945
14958
  is_quest: true,
14946
14959
  reviewStack: currentReviewStack,
14947
14960
  timeline: currentTimeline,
14961
+ participant_ids: Array.from(new Set([
14962
+ currentAssigneeId,
14963
+ ...(currentReviewStack || []).map((r) => r.userId)
14964
+ ].filter(Boolean))),
14948
14965
  ...extrasObj,
14949
14966
  version_node: node.version_node,
14950
14967
  milestone_ids: milestoneIds,
@@ -15569,6 +15586,10 @@ ${noteText}` : noteText : entry.notes,
15569
15586
  {
15570
15587
  ...node,
15571
15588
  status,
15589
+ participant_ids: Array.from(new Set([
15590
+ assigneeId,
15591
+ ...(reviewStack || []).map((r) => r.userId)
15592
+ ].filter(Boolean))),
15572
15593
  _triggerBranch: {
15573
15594
  process: foundTreeContext.process,
15574
15595
  branch
@@ -19328,7 +19349,7 @@ function XViewScene({
19328
19349
  const viewParams = useMemo15(() => {
19329
19350
  if (encryptedConfig) {
19330
19351
  const data = decryptData(encryptedConfig);
19331
- if (data) {
19352
+ if (data && data.id && data.owner_id && data.type) {
19332
19353
  return data;
19333
19354
  }
19334
19355
  }
@@ -20285,6 +20306,7 @@ function XViewScene({
20285
20306
  console.warn(
20286
20307
  "Nenhum par\xE2metro de cena encontrado na URL ou falha na decripta\xE7\xE3o."
20287
20308
  );
20309
+ setPermissionStatus("corrupted");
20288
20310
  setIsLoading(false);
20289
20311
  }
20290
20312
  }, [
@@ -24719,6 +24741,53 @@ function XViewScene({
24719
24741
  transform: "translateX(30px)",
24720
24742
  transition: "all 300ms ease-in-out"
24721
24743
  } : {};
24744
+ if (permissionStatus === "corrupted") {
24745
+ return /* @__PURE__ */ React36.createElement("div", { className: "flex flex-col items-center justify-center min-h-screen w-full bg-slate-950 text-white" }, /* @__PURE__ */ React36.createElement("div", { className: "bg-slate-900/50 p-8 rounded-2xl border border-slate-800 shadow-2xl text-center max-w-md animate-fade-in" }, /* @__PURE__ */ React36.createElement("div", { className: "mb-4 text-amber-500" }, /* @__PURE__ */ React36.createElement(
24746
+ "svg",
24747
+ {
24748
+ xmlns: "http://www.w3.org/2000/svg",
24749
+ fill: "none",
24750
+ viewBox: "0 0 24 24",
24751
+ strokeWidth: 1.5,
24752
+ stroke: "currentColor",
24753
+ className: "w-16 h-16 mx-auto"
24754
+ },
24755
+ /* @__PURE__ */ React36.createElement(
24756
+ "path",
24757
+ {
24758
+ strokeLinecap: "round",
24759
+ strokeLinejoin: "round",
24760
+ d: "M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"
24761
+ }
24762
+ )
24763
+ )), /* @__PURE__ */ React36.createElement("h2", { className: "text-2xl font-bold mb-2" }, "Link Inv\xE1lido"), /* @__PURE__ */ React36.createElement("p", { className: "text-slate-400 mb-6" }, "O link de acesso a este cen\xE1rio est\xE1 corrompido, incompleto ou foi alterado de forma incorreta. Por favor, verifique a URL ou retorne ao dashboard."), /* @__PURE__ */ React36.createElement(
24764
+ "button",
24765
+ {
24766
+ onClick: handleNavigateBack,
24767
+ className: "flex items-center justify-center gap-2 w-full py-3 px-4 bg-blue-600 hover:bg-blue-700 text-white rounded-lg transition-colors font-medium cursor-pointer"
24768
+ },
24769
+ /* @__PURE__ */ React36.createElement(
24770
+ "svg",
24771
+ {
24772
+ xmlns: "http://www.w3.org/2000/svg",
24773
+ fill: "none",
24774
+ viewBox: "0 0 24 24",
24775
+ strokeWidth: 2,
24776
+ stroke: "currentColor",
24777
+ className: "w-5 h-5"
24778
+ },
24779
+ /* @__PURE__ */ React36.createElement(
24780
+ "path",
24781
+ {
24782
+ strokeLinecap: "round",
24783
+ strokeLinejoin: "round",
24784
+ d: "M10 19l-7-7m0 0l7-7m-7 7h18"
24785
+ }
24786
+ )
24787
+ ),
24788
+ "Voltar ao Dashboard"
24789
+ )));
24790
+ }
24722
24791
  if (permissionStatus === "denied") {
24723
24792
  return /* @__PURE__ */ React36.createElement("div", { className: "flex flex-col items-center justify-center min-h-screen w-full bg-slate-950 text-white" }, /* @__PURE__ */ React36.createElement("div", { className: "bg-slate-900/50 p-8 rounded-2xl border border-slate-800 shadow-2xl text-center max-w-md" }, /* @__PURE__ */ React36.createElement("div", { className: "mb-4 text-red-500" }, /* @__PURE__ */ React36.createElement(
24724
24793
  "svg",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lv-x-software-house/x_view",
3
- "version": "1.3.2",
3
+ "version": "1.3.4",
4
4
  "description": "Pacote privado contendo os componentes e lógica de renderização 3D do X View.",
5
5
  "author": "iv.x - Engenharia de Software - ivxsoftwarehouse@gmail.com",
6
6
  "license": "UNLICENSED",