@lv-x-software-house/x_view 1.2.7-dev.1 → 1.2.7-dev.3

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
@@ -4403,7 +4403,74 @@ function XViewSidebar({
4403
4403
  }
4404
4404
  )
4405
4405
  ) : "Selecionar Pasta no Drive"
4406
- ), /* @__PURE__ */ import_react3.default.createElement("p", { className: "text-[10px] text-slate-500 italic px-1 leading-relaxed" }, "Documentos criados nesta View ser\xE3o salvos na pasta selecionada acima.")))), activeSubMenu === "reshape" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Layout Type"), /* @__PURE__ */ import_react3.default.createElement(
4406
+ ), /* @__PURE__ */ import_react3.default.createElement("p", { className: "text-[10px] text-slate-500 italic px-1 leading-relaxed" }, "Documentos criados nesta View ser\xE3o salvos na pasta selecionada acima.")))), activeSubMenu === "quest" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Respons\xE1vel"), /* @__PURE__ */ import_react3.default.createElement(
4407
+ CustomSelect,
4408
+ {
4409
+ value: questFilterAssignee,
4410
+ onChange: (val) => setQuestFilterAssignee(val),
4411
+ options: [
4412
+ { value: "", label: "Qualquer / Todos" },
4413
+ ...(viewMembers || []).map((m) => ({ value: m.id, label: m.name || m.email }))
4414
+ ],
4415
+ placeholder: "Filtrar por respons\xE1vel"
4416
+ }
4417
+ )), /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Status"), /* @__PURE__ */ import_react3.default.createElement(
4418
+ CustomSelect,
4419
+ {
4420
+ value: questFilterStatus,
4421
+ onChange: (val) => setQuestFilterStatus(val),
4422
+ options: [
4423
+ { value: "", label: "Padr\xE3o (Oculta Dones)" },
4424
+ { value: "all", label: "Mostrar Todos" },
4425
+ { value: "Backlog", label: "Backlog" },
4426
+ { value: "In Progress", label: "In Progress" },
4427
+ { value: "Review", label: "Review" },
4428
+ { value: "Done", label: "Done" }
4429
+ ],
4430
+ placeholder: "Filtrar por status"
4431
+ }
4432
+ )), /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Milestone"), /* @__PURE__ */ import_react3.default.createElement(
4433
+ CustomSelect,
4434
+ {
4435
+ value: questFilterMilestone,
4436
+ onChange: (val) => setQuestFilterMilestone(val),
4437
+ options: [
4438
+ { value: "", label: "Todos os Milestones" },
4439
+ ...(milestones || []).map((m) => ({ value: m.id, label: m.name }))
4440
+ ],
4441
+ placeholder: "Filtrar por marco"
4442
+ }
4443
+ ))), /* @__PURE__ */ import_react3.default.createElement("div", { className: "flex gap-3 pt-4 border-t border-white/10" }, /* @__PURE__ */ import_react3.default.createElement(
4444
+ "button",
4445
+ {
4446
+ onClick: () => {
4447
+ setQuestFilterAssignee("");
4448
+ setQuestFilterStatus("");
4449
+ setQuestFilterMilestone("");
4450
+ },
4451
+ className: "flex-1 py-3 bg-white/[0.03] hover:bg-white/[0.08] text-slate-400 hover:text-slate-200 text-[10px] font-black uppercase tracking-widest rounded-xl transition-all border border-white/5 active:scale-95"
4452
+ },
4453
+ "Limpar"
4454
+ ), /* @__PURE__ */ import_react3.default.createElement(
4455
+ "button",
4456
+ {
4457
+ disabled: isQuestLensLoading,
4458
+ onClick: async () => {
4459
+ setIsQuestLensLoading(true);
4460
+ try {
4461
+ await onActivateQuestLens({
4462
+ assigneeId: questFilterAssignee,
4463
+ status: questFilterStatus,
4464
+ milestoneId: questFilterMilestone
4465
+ });
4466
+ } finally {
4467
+ setIsQuestLensLoading(false);
4468
+ }
4469
+ },
4470
+ className: "flex-[2] py-3 bg-indigo-600 hover:bg-indigo-500 text-white text-[10px] font-black uppercase tracking-widest rounded-xl shadow-lg shadow-indigo-500/20 transition-all hover:scale-[1.02] active:scale-95 flex items-center justify-center gap-2 disabled:opacity-50"
4471
+ },
4472
+ isQuestLensLoading ? "Processando..." : "Aplicar Lens"
4473
+ ))), activeSubMenu === "reshape" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Layout Type"), /* @__PURE__ */ import_react3.default.createElement(
4407
4474
  CustomSelect,
4408
4475
  {
4409
4476
  value: reshapeLayoutType,
@@ -15607,7 +15674,7 @@ function XViewScene({
15607
15674
  stateRef.current.questTree = questTreeMode;
15608
15675
  }, [questTreeMode]);
15609
15676
  (0, import_react33.useEffect)(() => {
15610
- var _a2;
15677
+ var _a2, _b2;
15611
15678
  if (!isInitialized) return;
15612
15679
  const map = /* @__PURE__ */ new Map();
15613
15680
  const parentDbsArray = ((_a2 = sceneDataRef.current) == null ? void 0 : _a2.parent_dbs) || [];
@@ -15619,8 +15686,9 @@ function XViewScene({
15619
15686
  (db) => String(db.db_id) === String(parentFileId)
15620
15687
  );
15621
15688
  const isCurrentView = String(parentFileId) === String(sceneConfigId);
15689
+ const isViewType = ((_b2 = viewParams == null ? void 0 : viewParams.type) == null ? void 0 : _b2.toLowerCase()) === "view";
15622
15690
  const ownerId2 = (parentDbInfo == null ? void 0 : parentDbInfo.owner_id) || (isCurrentView ? viewParams == null ? void 0 : viewParams.owner_id : null);
15623
- const datasetName = isCurrentView ? "Quests Internas (View)" : parentFile.dataset_name || `Dataset #${parentFileId.substring(0, 6)}`;
15691
+ const datasetName = isCurrentView && isViewType ? "Quests Internas (View)" : parentFile.dataset_name || `Dataset #${parentFileId.substring(0, 6)}`;
15624
15692
  if (parentFile.nodes && ownerId2) {
15625
15693
  for (const node of parentFile.nodes) {
15626
15694
  map.set(String(node.id), { parentFileId, ownerId: ownerId2, datasetName });
package/dist/index.mjs CHANGED
@@ -4364,7 +4364,74 @@ function XViewSidebar({
4364
4364
  }
4365
4365
  )
4366
4366
  ) : "Selecionar Pasta no Drive"
4367
- ), /* @__PURE__ */ React2.createElement("p", { className: "text-[10px] text-slate-500 italic px-1 leading-relaxed" }, "Documentos criados nesta View ser\xE3o salvos na pasta selecionada acima.")))), activeSubMenu === "reshape" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Layout Type"), /* @__PURE__ */ React2.createElement(
4367
+ ), /* @__PURE__ */ React2.createElement("p", { className: "text-[10px] text-slate-500 italic px-1 leading-relaxed" }, "Documentos criados nesta View ser\xE3o salvos na pasta selecionada acima.")))), activeSubMenu === "quest" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Respons\xE1vel"), /* @__PURE__ */ React2.createElement(
4368
+ CustomSelect,
4369
+ {
4370
+ value: questFilterAssignee,
4371
+ onChange: (val) => setQuestFilterAssignee(val),
4372
+ options: [
4373
+ { value: "", label: "Qualquer / Todos" },
4374
+ ...(viewMembers || []).map((m) => ({ value: m.id, label: m.name || m.email }))
4375
+ ],
4376
+ placeholder: "Filtrar por respons\xE1vel"
4377
+ }
4378
+ )), /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Status"), /* @__PURE__ */ React2.createElement(
4379
+ CustomSelect,
4380
+ {
4381
+ value: questFilterStatus,
4382
+ onChange: (val) => setQuestFilterStatus(val),
4383
+ options: [
4384
+ { value: "", label: "Padr\xE3o (Oculta Dones)" },
4385
+ { value: "all", label: "Mostrar Todos" },
4386
+ { value: "Backlog", label: "Backlog" },
4387
+ { value: "In Progress", label: "In Progress" },
4388
+ { value: "Review", label: "Review" },
4389
+ { value: "Done", label: "Done" }
4390
+ ],
4391
+ placeholder: "Filtrar por status"
4392
+ }
4393
+ )), /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Milestone"), /* @__PURE__ */ React2.createElement(
4394
+ CustomSelect,
4395
+ {
4396
+ value: questFilterMilestone,
4397
+ onChange: (val) => setQuestFilterMilestone(val),
4398
+ options: [
4399
+ { value: "", label: "Todos os Milestones" },
4400
+ ...(milestones || []).map((m) => ({ value: m.id, label: m.name }))
4401
+ ],
4402
+ placeholder: "Filtrar por marco"
4403
+ }
4404
+ ))), /* @__PURE__ */ React2.createElement("div", { className: "flex gap-3 pt-4 border-t border-white/10" }, /* @__PURE__ */ React2.createElement(
4405
+ "button",
4406
+ {
4407
+ onClick: () => {
4408
+ setQuestFilterAssignee("");
4409
+ setQuestFilterStatus("");
4410
+ setQuestFilterMilestone("");
4411
+ },
4412
+ className: "flex-1 py-3 bg-white/[0.03] hover:bg-white/[0.08] text-slate-400 hover:text-slate-200 text-[10px] font-black uppercase tracking-widest rounded-xl transition-all border border-white/5 active:scale-95"
4413
+ },
4414
+ "Limpar"
4415
+ ), /* @__PURE__ */ React2.createElement(
4416
+ "button",
4417
+ {
4418
+ disabled: isQuestLensLoading,
4419
+ onClick: async () => {
4420
+ setIsQuestLensLoading(true);
4421
+ try {
4422
+ await onActivateQuestLens({
4423
+ assigneeId: questFilterAssignee,
4424
+ status: questFilterStatus,
4425
+ milestoneId: questFilterMilestone
4426
+ });
4427
+ } finally {
4428
+ setIsQuestLensLoading(false);
4429
+ }
4430
+ },
4431
+ className: "flex-[2] py-3 bg-indigo-600 hover:bg-indigo-500 text-white text-[10px] font-black uppercase tracking-widest rounded-xl shadow-lg shadow-indigo-500/20 transition-all hover:scale-[1.02] active:scale-95 flex items-center justify-center gap-2 disabled:opacity-50"
4432
+ },
4433
+ isQuestLensLoading ? "Processando..." : "Aplicar Lens"
4434
+ ))), activeSubMenu === "reshape" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Layout Type"), /* @__PURE__ */ React2.createElement(
4368
4435
  CustomSelect,
4369
4436
  {
4370
4437
  value: reshapeLayoutType,
@@ -15670,7 +15737,7 @@ function XViewScene({
15670
15737
  stateRef.current.questTree = questTreeMode;
15671
15738
  }, [questTreeMode]);
15672
15739
  useEffect25(() => {
15673
- var _a2;
15740
+ var _a2, _b2;
15674
15741
  if (!isInitialized) return;
15675
15742
  const map = /* @__PURE__ */ new Map();
15676
15743
  const parentDbsArray = ((_a2 = sceneDataRef.current) == null ? void 0 : _a2.parent_dbs) || [];
@@ -15682,8 +15749,9 @@ function XViewScene({
15682
15749
  (db) => String(db.db_id) === String(parentFileId)
15683
15750
  );
15684
15751
  const isCurrentView = String(parentFileId) === String(sceneConfigId);
15752
+ const isViewType = ((_b2 = viewParams == null ? void 0 : viewParams.type) == null ? void 0 : _b2.toLowerCase()) === "view";
15685
15753
  const ownerId2 = (parentDbInfo == null ? void 0 : parentDbInfo.owner_id) || (isCurrentView ? viewParams == null ? void 0 : viewParams.owner_id : null);
15686
- const datasetName = isCurrentView ? "Quests Internas (View)" : parentFile.dataset_name || `Dataset #${parentFileId.substring(0, 6)}`;
15754
+ const datasetName = isCurrentView && isViewType ? "Quests Internas (View)" : parentFile.dataset_name || `Dataset #${parentFileId.substring(0, 6)}`;
15687
15755
  if (parentFile.nodes && ownerId2) {
15688
15756
  for (const node of parentFile.nodes) {
15689
15757
  map.set(String(node.id), { parentFileId, ownerId: ownerId2, datasetName });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lv-x-software-house/x_view",
3
- "version": "1.2.7-dev.1",
3
+ "version": "1.2.7-dev.3",
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",