@genexus/genexus-ide-ui 1.1.21 → 1.1.22
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/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +6 -9
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +345 -177
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +13 -36
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +17 -13
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/{helpers-30f109a4.js → helpers-b30b36b4.js} +2 -2
- package/dist/cjs/{helpers-30f109a4.js.map → helpers-b30b36b4.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/utilities-6118dc24.js +78 -0
- package/dist/cjs/utilities-6118dc24.js.map +1 -0
- package/dist/collection/common/helpers.js +1 -1
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/common/types.js.map +1 -1
- package/dist/collection/components/team-dev/bring-changes/bring-changes.css +6 -6
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js +5 -8
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.css +48 -665
- package/dist/collection/components/team-dev/commit/commit.js +407 -251
- package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +20 -3
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +20 -3
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +20 -3
- package/dist/collection/components/team-dev/commit/helpers.js +10 -0
- package/dist/collection/components/team-dev/commit/helpers.js.map +1 -0
- package/dist/collection/components/team-dev/common/types.js +2 -0
- package/dist/collection/components/team-dev/common/types.js.map +1 -0
- package/dist/collection/components/team-dev/common/utilities.js +67 -0
- package/dist/collection/components/team-dev/common/utilities.js.map +1 -0
- package/dist/collection/components/team-dev/history/history.css +6 -0
- package/dist/collection/components/team-dev/history/history.js +11 -34
- package/dist/collection/components/team-dev/history/history.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.js +4 -10
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/components/gx-ide-team-dev-bring-changes.js +6 -9
- package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +369 -191
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-history.js +12 -35
- package/dist/components/gx-ide-team-dev-history.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +16 -12
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/helpers.js +1 -1
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/utilities.js +75 -0
- package/dist/components/utilities.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +6 -9
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +345 -177
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +13 -36
- package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +17 -13
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/{helpers-10479d69.js → helpers-a4f16ffb.js} +2 -2
- package/dist/esm/{helpers-10479d69.js.map → helpers-a4f16ffb.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/utilities-6fdb43e4.js +75 -0
- package/dist/esm/utilities-6fdb43e4.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +20 -3
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +20 -3
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +20 -3
- package/dist/genexus-ide-ui/{p-b465f29d.entry.js → p-012cfb1d.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-0f8a8202.js +87 -0
- package/dist/genexus-ide-ui/p-0f8a8202.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3b5a4e2e.entry.js → p-11b8f81d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-82878950.entry.js → p-19d197c5.entry.js} +8 -8
- package/dist/genexus-ide-ui/{p-667965d3.entry.js → p-72b5d3e4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-74a0cb25.entry.js → p-810ad95f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ac131847.entry.js → p-863ef4de.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3fbc5a02.entry.js → p-884e0ed9.entry.js} +97 -104
- package/dist/genexus-ide-ui/p-884e0ed9.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9ddea83b.js → p-957046fd.js} +2 -2
- package/dist/genexus-ide-ui/p-957046fd.js.map +1 -0
- package/dist/genexus-ide-ui/p-ca706700.entry.js +484 -0
- package/dist/genexus-ide-ui/p-ca706700.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-d4ef0c35.entry.js +683 -0
- package/dist/genexus-ide-ui/p-d4ef0c35.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-75a5c51f.entry.js → p-fa52a417.entry.js} +153 -149
- package/dist/genexus-ide-ui/p-fa52a417.entry.js.map +1 -0
- package/dist/types/common/types.d.ts +0 -1
- package/dist/types/components/team-dev/bring-changes/bring-changes.d.ts +1 -4
- package/dist/types/components/team-dev/commit/commit.d.ts +53 -70
- package/dist/types/components/team-dev/commit/helpers.d.ts +4 -0
- package/dist/types/components/team-dev/common/types.d.ts +1 -0
- package/dist/types/components/team-dev/common/utilities.d.ts +25 -0
- package/dist/types/components/team-dev/history/history.d.ts +1 -1
- package/dist/types/components/team-dev/update/update.d.ts +2 -1
- package/dist/types/components.d.ts +7 -15
- package/package.json +1 -1
- package/dist/cjs/render-combo-items-e774f796.js +0 -18
- package/dist/cjs/render-combo-items-e774f796.js.map +0 -1
- package/dist/components/render-combo-items.js +0 -16
- package/dist/components/render-combo-items.js.map +0 -1
- package/dist/esm/render-combo-items-e9c8df5e.js +0 -16
- package/dist/esm/render-combo-items-e9c8df5e.js.map +0 -1
- package/dist/genexus-ide-ui/p-34fd4875.entry.js +0 -573
- package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3fbc5a02.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-60e39b2f.entry.js +0 -541
- package/dist/genexus-ide-ui/p-60e39b2f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-75a5c51f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9ddea83b.js.map +0 -1
- package/dist/genexus-ide-ui/p-f549f6e1.js +0 -17
- package/dist/genexus-ide-ui/p-f549f6e1.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-b465f29d.entry.js.map → p-012cfb1d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3b5a4e2e.entry.js.map → p-11b8f81d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-82878950.entry.js.map → p-19d197c5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-667965d3.entry.js.map → p-72b5d3e4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-74a0cb25.entry.js.map → p-810ad95f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ac131847.entry.js.map → p-863ef4de.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/components/team-dev/history/history.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAIhF,OAAO,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,qBAAqB;IACrB,yBAAyB;IACzB,sBAAsB;IACtB,oBAAoB;CACrB,CAAC;AAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC;IACvC,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,wBAAwB;CAC/B,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,WAAW,CAAC;IACtC,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,WAAW,CAAC;IAC9B,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,WAAW,CAAC;IAC/B,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,QAAQ;CACf,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,WAAW,CAAC;IAC3B,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,KAAK;CACZ,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,WAAW,CAAC;IAC/B,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,WAAW,CAAC;IAC7B,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,WAAW,CAAC;IAC9B,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AAQH,MAAM,OAAO,mBAAmB;;QAC9B,wDAAuB;QAEvB,qCAA8B,EAAE,EAAC;QAIjC,8CAA4B;QAC5B,kDAAgC;QAChC,gDAA6B;QAC7B,4CAA0B;QAC1B,+CAAuC;QACvC,8CAA4B;QAC5B,iDAAiC;QACjC,uDAA2C;QA8H3C,4CAAgB,CAAC,KAAkB,EAAW,EAAE;YAC9C,IAAI,IAAI,GAAG,gBAAU,GAAG,EAAE,YAAY,EAAE,KAAK,EAAC,SAAS,GAAY,CAAC;YACpE,QAAQ,KAAK,EAAE;gBACb,KAAK,UAAU;oBACb,IAAI,GAAG,gBAAU,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAC,SAAS,GAAY,CAAC;oBAC5D,MAAM;gBAER,KAAK,UAAU;oBACb,IAAI,GAAG,gBAAU,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAC,SAAS,GAAY,CAAC;oBACxE,MAAM;gBAER,KAAK,SAAS;oBACZ,IAAI,GAAG,gBAAU,GAAG,EAAE,YAAY,EAAE,KAAK,EAAC,SAAS,GAAY,CAAC;oBAChE,MAAM;aACT;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EAAC;QAEF,qDAAyB,KAAK,EAAE,SAAiB,EAAiB,EAAE;;YAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,MAAM,OAAO,GAAgB;gBAC3B,MAAM,EAAE,uBAAA,IAAI,qCAAU,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAA,IAAI,qCAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACxD,IAAI,EAAE,uBAAA,IAAI,mCAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAA,IAAI,mCAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC9D,EAAE,EAAE,uBAAA,IAAI,iCAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAA,IAAI,iCAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACxD,QAAQ,EAAE,uBAAA,IAAI,uCAAY,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAA,IAAI,uCAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC9D,IAAI,EAAE,uBAAA,IAAI,mCAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAA,IAAI,mCAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAClD,IAAI,EAAE,uBAAA,IAAI,oCAAS,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAA,IAAI,oCAAS,CAAC,KAAK;aAC/D,CAAC;YAEF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EAAsB,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,EAAC;QAEF,mDAAuB,KAAK,EAAE,UAAkB,EAAE,EAAE;YAClD,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAC/D,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;aACtC;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;QACH,CAAC,EAAC;QAEF,+DAAmC,GAAS,EAAE;YAC5C,IAAI,uBAAA,IAAI,4CAAiB,EAAE;gBACzB,uBAAA,IAAI,4CAAiB,CAAC,gBAAgB,CACpC,aAAa,EACb,CAAC,EAAc,EAAQ,EAAE;oBACvB,EAAE,CAAC,cAAc,EAAE,CAAC;oBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;oBACrB,uBAAA,IAAI,2DAAgC,MAApC,IAAI,EAAiC,EAAE,CAAC,CAAC;gBAC3C,CAAC,CACF,CAAC;aACH;QACH,CAAC,EAAC;QAEF,8DAAkC,KAAK,EAAE,EAAc,EAAiB,EAAE;YACxE,IAAI,CAAC,uBAAuB,CAAC;gBAC3B,SAAS,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACpC,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,OAAO,EAAE,EAAE,CAAC,OAAO;aACpB,CAAC,CAAC;QACL,CAAC,EAAC;QAEF,oDAAwB,GAAG,EAAE;YAC3B,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QAC3C,CAAC,EAAC;QAEF,iDAAqB,GAAY,EAAE;;YACjC,MAAM,gBAAgB,GAAG,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACrE,OAAO,CACL,uBACE,KAAK,EAAE;oBACL,cAAc,EAAE,IAAI;oBACpB,cAAc,EAAE,IAAI;oBACpB,qBAAqB,EAAE,gBAAgB;iBACxC,EACD,kBAAkB,EAAE,CAAC,EAAO,EAAE,EAAE;oBAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBACrB,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EAAsB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC,EACD,GAAG,EAAE,CAAC,EAA4B,EAAE,EAAE;;oBACpC,IAAI,EAAE,IAAI,uBAAA,IAAI,4CAAiB,KAAK,EAAE,EAAE;wBACtC,uBAAA,IAAI,wCAAoB,EAA8B,MAAA,CAAC;wBAEvD,uBAAA,IAAI,4DAAiC,MAArC,IAAI,CAAmC,CAAC;wBAExC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3B,uBAAA,IAAI,4CAAiB,CAAC,SAAS,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,EAAE,EAAE,IAAI,CAAC,CAAC;yBAC5D;qBACF;gBACH,CAAC;gBAED,iCAA2B,KAAK,EAAC,yBAAyB;oBACxD,6CACe,uBAAA,IAAI,6CAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,0BAClC,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM;oBAC1B,6CACe,uBAAA,IAAI,6CAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,0BACvC,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,KAAK,GACc;oBAC1B,6CACe,uBAAA,IAAI,6CAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,0BACpC,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM;oBAC1B,6CACe,uBAAA,IAAI,6CAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,0BAC1C,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM,CACA;gBAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACzB,8BAAwB,KAAK,EAAC,qBAAqB,IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAiB,EAAE,EAAE,CAAC,CACvC,2BACE,KAAK,EAAE,GAAG,CAAC,EAAE,EACb,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,KAAK,EAAC,kBAAkB;oBAExB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,EAAE,CACc;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,OAAO,CACS;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,IAAI,CACY;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CACxB,CACH,CACvB,CAAC,CACqB,CAC1B,CAAC,CAAC,CAAC,CACF,8BAAwB,KAAK,EAAC,qBAAqB;oBACjD;wBACE,0BACE,UAAU,EAAE,uBAAA,IAAI,6CAAkB,CAAC,kBAAkB,EACrD,UAAU,EAAE,IAAI,GACI,CACO,CACR,CAC1B;gBAED,2BAAqB,KAAK,EAAC,kBAAkB,GAAuB,CACpD,CACnB,CAAC;QACJ,CAAC,EAAC;QAEF,yDAA6B,GAAY,EAAE;;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,gBAAgB,GACpB,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,MAAM,MAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YAClE,OAAO,CACL,uBACE,KAAK,EAAE;oBACL,uBAAuB,EAAE,IAAI;oBAC7B,cAAc,EAAE,IAAI;oBACpB,qBAAqB,EAAE,gBAAgB;iBACxC;gBAED,iCAA2B,KAAK,EAAC,yBAAyB;oBACxD,sDACuB,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM;oBAC1B,sDACuB,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,GACb;oBAC1B,6CAEI,uBAAA,IAAI,6CAAkB,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,0BAEpC,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM;oBAC1B,6CAEI,uBAAA,IAAI,6CAAkB,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,0BAErC,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM;oBAC1B,6CAEI,uBAAA,IAAI,6CAAkB,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,0BAE3C,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,KAAK,GACc;oBAC1B,6CAEI,uBAAA,IAAI,6CAAkB,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,0BAEtC,MAAM,EAC3B,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM,CACA;gBAC3B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7D,8BAAwB,KAAK,EAAC,qBAAqB,IAChD,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAe,EAAE,EAAE,CAAC,CACjC,2BAAqB,KAAK,EAAC,kBAAkB;oBAC3C,4BAAsB,KAAK,EAAC,mBAAmB;wBAC7C,gBAAU,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAC,SAAS,GAAY,CACnC;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,uBAAA,IAAI,yCAAc,MAAlB,IAAI,EAAe,GAAG,CAAC,KAAK,CAAC,CACT;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,IAAI,CACY;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,IAAI,CACY;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,WAAW,CACK;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,MAAM,CACU,CACH,CACvB,CAAC,CACqB,CAC1B,CAAC,CAAC,CAAC,CACF,8BAAwB,KAAK,EAAC,qBAAqB;oBACjD;wBACE,0BACE,YAAY,EAAE,WAAW,EACzB,UAAU,EAAE,uBAAA,IAAI,6CAAkB,CAAC,sBAAsB,EACzD,UAAU,EAAE,IAAI,GACI,CACO,CACR,CAC1B;gBAED,2BAAqB,KAAK,EAAC,kBAAkB,GAAuB,CACpD,CACnB,CAAC;QACJ,CAAC,EAAC;QAEF,4CAAgB,GAAY,EAAE;YAC5B,OAAO,CACL,IAAI,CAAC,OAAO,IAAI,CACd,WAAK,KAAK,EAAC,0BAA0B;gBACnC,qBACE,WAAW,EAAE,uBAAA,IAAI,6CAAkB,CAAC,MAAM,CAAC,KAAK,EAChD,IAAI,QACJ,WAAW,EAAE,uBAAA,IAAI,6CAAkB,CAAC,MAAM,CAAC,WAAW,GACvC,CACb,CACP,CACF,CAAC;QACJ,CAAC,EAAC;;uBA9YiC,EAAE;2BAKL,IAAI;+BAKA,IAAI;6BAKf,IAAI;uBAKD,IAAI;;gCAUK,KAAK;;;;;wBA2CM,EAAE;;;;;IAjBlD,KAAK,CAAC,wBAAwB,CAAC,oBAA4B;;QACzD,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;QAE9C,gBAAgB;QAChB,uBAAA,IAAI,qCAAU,CAAC,KAAK,GAAG,IAAI,CAAC;QAC5B,uBAAA,IAAI,mCAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,uBAAA,IAAI,iCAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACxB,uBAAA,IAAI,uCAAY,CAAC,KAAK,GAAG,IAAI,CAAC;QAC9B,uBAAA,IAAI,mCAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,uBAAA,IAAI,oCAAS,CAAC,KAAK,GAAG,MAAA,uBAAA,IAAI,kCAAO,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC;QAE5C,MAAM,uBAAA,IAAI,kDAAuB,MAA3B,IAAI,EAAwB,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAOD,KAAK,CAAC,mBAAmB,CAAC,eAA2B;QACnD,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAEhE,IACE,eAAe,CAAC,MAAM,GAAG,CAAC;YAC1B,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,WAAW,EAChB;YACA,MAAM,uBAAA,IAAI,kDAAuB,MAA3B,IAAI,EAAwB,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;IACH,CAAC;IAkBD,KAAK,CAAC,iBAAiB;QACrB,uBAAA,IAAI,yCAAqB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;QACnE,uBAAA,IAAI,8BAAU,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAA,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,uBAAA,IAAI,sCAAW,CAAC,gBAAgB,CAC9B,gBAAgB,EAChB,CAAC,CAAuB,EAAE,EAAE;YAC1B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;QAClC,CAAC,CACF,CAAC;IACJ,CAAC;IA2RD,MAAM;;QACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;YAClB,gBAAU,KAAK,EAAE,WAAW,GAAa;YAEzC,kBACE,GAAG,EAAE,CAAC,EAAwB,EAAE,EAAE,CAChC,CAAC,uBAAA,IAAI,kCAAc,EAA0B,MAAA,CAAC,EAEhD,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,IAAI,CAAC,eAAe,EAC9B,kCAAkC,EAChC,uBAAA,IAAI,6CAAkB,CAAC,OAAO,CAAC,iBAAiB,EAElD,gCAAgC,EAC9B,uBAAA,IAAI,6CAAkB,CAAC,OAAO,CAAC,eAAe,EAEhD,gBAAgB;gBAEhB,8BACE,KAAK,EAAE;wBACL,kBAAkB,EAAE,IAAI,CAAC,eAAe;wBACxC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB;qBAC5C,EACD,YAAY,EAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,QAAQ,EACxB,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,IAAI,CAAC,6BAA6B,EACpD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,GAC7B,CACf;YAEb,YAAM,KAAK,EAAC,mDAAmD;gBAC7D,WAAK,KAAK,EAAC,cAAc;oBACvB,WAAK,KAAK,EAAC,eAAe;wBACxB,WAAK,KAAK,EAAC,oBAAoB;4BAC7B,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,QAAQ,IAClC,uBAAA,IAAI,6CAAkB,CAAC,OAAO,CAAC,MAAM,CAChC;4BACR,eACE,KAAK,EAAC,EAAE,EACR,KAAK,EAAC,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,IAAI,EAAC,QAAQ,EACb,EAAE,EAAC,QAAQ,EACX,GAAG,EAAE,CAAC,EAAqB,EAAE,EAAE,CAC7B,CAAC,uBAAA,IAAI,iCAAa,EAAuB,MAAA,CAAC,GAEnC,CACP;wBAEN,cACE,EAAE,EAAC,sBAAsB,EACzB,KAAK,EAAC,kCAAkC,gBAC5B,uBAAA,IAAI,6CAAkB,CAAC,YAAY,CAAC,eAAe,mBAChD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,mBACtC,mBAAmB,EACjC,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAA,IAAI,iDAAsB,MAA1B,IAAI,CAAwB;4BAE3C,gBAAU,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,mBAAmB,GAAa,CACxD;wBAET,cACE,KAAK,EAAC,kCAAkC,gBAC5B,uBAAA,IAAI,6CAAkB,CAAC,YAAY,CAAC,eAAe,EAC/D,OAAO,EAAE,GAAG,EAAE,CACZ,uBAAA,IAAI,kDAAuB,MAA3B,IAAI,EAAwB,IAAI,CAAC,iBAAiB,CAAC,EAErD,IAAI,EAAE,uBAAA,IAAI,6CAAkB,CAAC,YAAY,CAAC,eAAe;4BAEzD,gBAAU,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,UAAU,GAAa,CAC/C,CACL;oBAEN,WACE,EAAE,EAAC,mBAAmB,qBACN,sBAAsB,EACtC,KAAK,EAAE;4BACL,2BAA2B,EAAE,CAAC,IAAI,CAAC,aAAa;4BAChD,mBAAmB,EAAE,IAAI;yBAC1B,EACD,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,MAAM,EAAE,IAAI,CAAC,aAAa;wBAE1B;4BACE,WAAK,KAAK,EAAC,cAAc;gCACvB,WAAK,KAAK,EAAC,8BAA8B;oCACvC,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,MAAM,IAChC,uBAAA,IAAI,6CAAkB,CAAC,OAAO,CAAC,IAAI,CAC9B;oCACR,eACE,KAAK,EAAC,EAAE,EACR,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,MAAM,EACT,GAAG,EAAE,CAAC,EAAqB,EAAE,EAAE,CAC7B,CAAC,uBAAA,IAAI,+BAAW,EAAuB,MAAA,CAAC,GAEjC,CACP;gCAEN,WAAK,KAAK,EAAC,4BAA4B;oCACrC,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,IAC9B,uBAAA,IAAI,6CAAkB,CAAC,OAAO,CAAC,EAAE,CAC5B;oCACR,eACE,KAAK,EAAC,EAAE,EACR,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,IAAI,EACP,GAAG,EAAE,CAAC,EAAqB,EAAE,EAAE,CAC7B,CAAC,uBAAA,IAAI,6BAAS,EAAuB,MAAA,CAAC,GAE/B,CACP;gCAEN,WAAK,KAAK,EAAC,8BAA8B;oCACvC,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,MAAM,IAChC,uBAAA,IAAI,6CAAkB,CAAC,OAAO,CAAC,IAAI,CAC9B;oCAER,2BACE,cAAc,EAAC,OAAO,EACtB,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,uBAAA,IAAI,kCAAO,EAClB,KAAK,EAAE,MAAA,uBAAA,IAAI,kCAAO,CAAC,CAAC,CAAC,0CAAE,KAAK,EAC5B,GAAG,EAAE,CAAC,EAA+B,EAAE,EAAE,CACvC,CAAC,uBAAA,IAAI,gCAAY,EAAiC,MAAA,CAAC,GAEhC,CACnB;gCAEN,WAAK,KAAK,EAAC,8BAA8B;oCACvC,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,MAAM,IAChC,uBAAA,IAAI,6CAAkB,CAAC,OAAO,CAAC,IAAI,CAC9B;oCAER,eACE,KAAK,EAAC,EAAE,EACR,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,OAAO,EACb,EAAE,EAAC,MAAM,EACT,GAAG,EAAE,CAAC,EAAqB,EAAE,EAAE,CAC7B,CAAC,uBAAA,IAAI,+BAAW,EAAuB,MAAA,CAAC,GAEjC,CACP;gCAEN,WAAK,KAAK,EAAC,kCAAkC;oCAC3C,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,UAAU,IACpC,uBAAA,IAAI,6CAAkB,CAAC,OAAO,CAAC,QAAQ,CAClC;oCAER,eACE,KAAK,EAAC,EAAE,EACR,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,OAAO,EACb,EAAE,EAAC,UAAU,EACb,GAAG,EAAE,CAAC,EAAqB,EAAE,EAAE,CAC7B,CAAC,uBAAA,IAAI,mCAAe,EAAuB,MAAA,CAAC,GAErC,CACP,CACF,CACF,CACF,CACF;gBAEL,uBAAA,IAAI,yCAAc,MAAlB,IAAI,CAAgB;gBAEpB,CAAC,IAAI,CAAC,OAAO,IAAI,CAChB,WAAK,KAAK,EAAC,0BAA0B;oBAClC,uBAAA,IAAI,8CAAmB,MAAvB,IAAI,CAAqB;oBAE1B,WAAK,KAAK,EAAC,mBAAmB;wBAC5B,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,IACxC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAC/C;wBACR,eACE,KAAK,EAAC,yBAAyB,EAC/B,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAC7D,SAAS,QACT,QAAQ,QACR,QAAQ,EAAE,IAAI,EACd,IAAI,EAAC,cAAc,EACnB,EAAE,EAAC,cAAc,GACR,CACP;oBAEL,uBAAA,IAAI,sDAA2B,MAA/B,IAAI,CAA6B,CAC9B,CACP,CACI,CACF,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/* STENCIL IMPORTS */\nimport { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../../common/config\";\nimport { formatDate } from \"../../../common/helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../components\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\nimport {\n hasActiveVersionInList,\n mapObjectTypeToComboBoxItemModel\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\",\n \"components/accordion\",\n \"components/sidebar\"\n];\n\nconst CHANGES_PENDING_ICON = getIconPath({\n category: \"gx-server\",\n name: \"changes-commit-pending\"\n});\n\nconst FILTER_ICON_PRIMARY = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\n\nconst DELETED_ICON = getIconPath({\n category: \"gx-server\",\n name: \"delete\"\n});\n\nconst NEW_ICON = getIconPath({\n category: \"gx-server\",\n name: \"new\"\n});\n\nconst PRIVATE_ICON = getIconPath({\n category: \"gx-server\",\n name: \"private\"\n});\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-history\",\n styleUrl: \"history.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-history\"]\n})\nexport class GxIdeTeamDevHistory {\n #_componentLocale: any;\n\n #types: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeTeamDevHistoryElement;\n\n #fromEl?: HTMLChEditElement;\n #revisionEl?: HTMLChEditElement;\n #searchEl: HTMLChEditElement;\n #toEl?: HTMLChEditElement;\n #typesEl?: HTMLChComboBoxRenderElement;\n #userEl?: HTMLChEditElement;\n #sidebarEl: HTMLChSidebarElement;\n #revisionsGridEl: HTMLChTabularGridElement;\n\n @State() historyDetail: RevisionDetailData;\n\n /**\n * The files rendered in the table\n */\n @State() objects: RevisionData[] = [];\n\n /**\n * Used to call getObjectsFromVersion from the versionsChanged method only once after receiving the versions for the first time.\n */\n @State() isFirstLoad: boolean = true;\n\n /**\n * Used to hide the select-kb-items when collapsed\n */\n @State() sidebarExpanded: boolean = true;\n\n /**\n * Used to show or hide the filters section\n */\n @State() filtersHidden = true;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * The Id of the selected revision in the revisions grid\n */\n @State() selectedRevisionId: string;\n\n /**\n * Used to customize the select-kb-items \"header\" part grid layout\n */\n @State() hasActiveVersion: boolean = false; // TODO:\n\n /**\n * Possible values of type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback invoked when user right-clicks on the grid\n */\n @Prop() readonly gridContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * The Id of the selected version in the select-kb-items component\n */\n @Prop({ mutable: true }) selectedVersionId: string;\n @Watch(\"selectedVersionId\")\n async selectedVersionIdChanged(newSelectedVersionId: string) {\n this.selectedVersionId = newSelectedVersionId;\n\n // Reset filters\n this.#searchEl.value = null;\n this.#fromEl.value = null;\n this.#toEl.value = null;\n this.#revisionEl.value = null;\n this.#userEl.value = null;\n this.#typesEl.value = this.#types[0]?.value;\n\n await this.#getObjectsFromVersion(newSelectedVersionId);\n }\n\n /**\n * List of versions to show in the versions tree\n */\n @Prop({ mutable: true }) versions: ItemNode[] = [];\n @Watch(\"versions\")\n async versionsListChanged(newVersionsList: ItemNode[]) {\n this.versions = newVersionsList;\n this.hasActiveVersion = hasActiveVersionInList(newVersionsList);\n\n if (\n newVersionsList.length > 0 &&\n this.selectedVersionId &&\n this.isFirstLoad\n ) {\n await this.#getObjectsFromVersion(this.selectedVersionId);\n this.isFirstLoad = false;\n }\n }\n\n /**\n * Callback invoked when is necessary to reload the history info. Receive the filters as parameters and only returns the info corresponding to the master grid.\n\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked to obtain detailed info from a revision. As parameter receive internal revision id\n */\n @Prop() readonly loadDetailCallback: LoadDetailCallback;\n\n /**\n * Callback invoked when the selected version changes. As parameter receive the selected version id\n */\n @Prop() readonly selectedVersionChangeCallback: SelectedVersionChangeCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#types = mapObjectTypeToComboBoxItemModel(this.types);\n }\n\n async componentDidLoad() {\n this.#sidebarEl.addEventListener(\n \"expandedChange\",\n (e: CustomEvent<boolean>) => {\n this.sidebarExpanded = e.detail;\n }\n );\n }\n\n #getIconState = (state: ObjectState): Element => {\n let icon = <ch-image src={PRIVATE_ICON} class=\"icon-sm\"></ch-image>;\n switch (state) {\n case \"Inserted\":\n icon = <ch-image src={NEW_ICON} class=\"icon-sm\"></ch-image>;\n break;\n\n case \"Modified\":\n icon = <ch-image src={CHANGES_PENDING_ICON} class=\"icon-sm\"></ch-image>;\n break;\n\n case \"Deleted\":\n icon = <ch-image src={DELETED_ICON} class=\"icon-sm\"></ch-image>;\n break;\n }\n return icon;\n };\n\n #getObjectsFromVersion = async (versionId: string): Promise<void> => {\n this.loading = true;\n\n const filters: FiltersData = {\n search: this.#searchEl.value ? this.#searchEl.value : \"\",\n from: this.#fromEl.value ? new Date(this.#fromEl.value) : null,\n to: this.#toEl.value ? new Date(this.#toEl.value) : null,\n revision: this.#revisionEl.value ? this.#revisionEl.value : \"\",\n user: this.#userEl.value ? this.#userEl.value : \"\",\n type: this.#typesEl.value === \"all\" ? \"\" : this.#typesEl.value\n };\n\n this.objects = await this.loadCallback(filters, versionId);\n await this.#getSelectedRevision(this.objects[0]?.id);\n this.loading = false;\n };\n\n #getSelectedRevision = async (revisionId: string) => {\n if (revisionId) {\n this.historyDetail = await this.loadDetailCallback(revisionId);\n this.selectedRevisionId = revisionId;\n } else {\n this.historyDetail = null;\n }\n };\n\n #registerGridContextMenuListener = (): void => {\n if (this.#revisionsGridEl) {\n this.#revisionsGridEl.addEventListener(\n \"contextmenu\",\n (ev: MouseEvent): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.#gridContextMenuCallbackHandler(ev);\n }\n );\n }\n };\n\n #gridContextMenuCallbackHandler = async (ev: MouseEvent): Promise<void> => {\n this.gridContextMenuCallback({\n selection: [this.selectedRevisionId],\n clientX: ev.clientX,\n clientY: ev.clientY\n });\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #renderCommitsGrid = (): Element => {\n const tabularGridEmpty = this.objects?.length === 0 || !this.objects;\n return (\n <ch-tabular-grid\n class={{\n \"commits-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n onSelectionChanged={(ev: any) => {\n this.objects.length > 0 &&\n this.#getSelectedRevision(ev.detail.rowsId[0]);\n }}\n ref={(el: HTMLChTabularGridElement) => {\n if (el && this.#revisionsGridEl !== el) {\n this.#revisionsGridEl = el as HTMLChTabularGridElement;\n\n this.#registerGridContextMenuListener();\n\n if (this.objects.length > 0) {\n this.#revisionsGridEl.selectRow(this.objects[0]?.id, true);\n }\n }\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.id}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.comment}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"1fr\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.user}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.commitDate}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: RevisionData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.id}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.comment}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.commitDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateTitle={this.#_componentLocale.emptyRevisionsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderAffectedObjectsGrid = (): Element => {\n const iterable = this.historyDetail ? this.historyDetail.objects : [];\n const tabularGridEmpty =\n this.historyDetail?.objects.length === 0 || !this.historyDetail;\n return (\n <ch-tabular-grid\n class={{\n \"affected-objects-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.name\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.types\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.description\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"1fr\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.action\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.historyDetail && this.historyDetail.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {iterable.map((obj: ObjectData) => (\n <ch-tabular-grid-row class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#getIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.action}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#_componentLocale.emptyHistoryDetailText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderLoader = (): Element => {\n return (\n this.loading && (\n <div class=\"main__content scrollable\">\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n description={this.#_componentLocale.loader.description}\n ></gx-ide-loader>\n </div>\n )\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <ch-sidebar\n ref={(el: HTMLChSidebarElement) =>\n (this.#sidebarEl = el as HTMLChSidebarElement)\n }\n class=\"sidebar\"\n expanded={this.sidebarExpanded}\n expandButtonCollapseAccessibleName={\n this.#_componentLocale.sidebar.collapseAriaLabel\n }\n expandButtonExpandAccessibleName={\n this.#_componentLocale.sidebar.expandAriaLabel\n }\n showExpandButton\n >\n <gx-ide-select-kb-items\n class={{\n \"sidebar-expanded\": this.sidebarExpanded,\n \"has-active-version\": this.hasActiveVersion\n }}\n checkboxType=\"none\"\n itemsList={this.versions}\n expandOnClick={false}\n selectionChanged={this.selectedVersionChangeCallback}\n itemContextMenuCallback={this.itemContextMenuCallback}\n ></gx-ide-select-kb-items>\n </ch-sidebar>\n\n <main class=\"main spacing-body-block-start spacing-body-inline\">\n <div class=\"main__header\">\n <div class=\"search-filter\">\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"search\">\n {this.#_componentLocale.filters.search}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n startImgSrc={SEARCH_ICON}\n part=\"search\"\n id=\"search\"\n ref={(el: HTMLChEditElement) =>\n (this.#searchEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <button\n id=\"filter-toggle-button\"\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={() => this.#toggleFiltersHandler()}\n >\n <ch-image class=\"icon-md\" src={FILTER_ICON_PRIMARY}></ch-image>\n </button>\n\n <button\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.reloadAriaLabel}\n onClick={() =>\n this.#getObjectsFromVersion(this.selectedVersionId)\n }\n part={this.#_componentLocale.searchFilter.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={RESET_ICON}></ch-image>\n </button>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div class=\"filters-grid\">\n <div class=\"field field-block field-from\">\n <label class=\"label\" htmlFor=\"from\">\n {this.#_componentLocale.filters.from}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n part=\"from\"\n id=\"from\"\n ref={(el: HTMLChEditElement) =>\n (this.#fromEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-to\">\n <label class=\"label\" htmlFor=\"to\">\n {this.#_componentLocale.filters.to}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n id=\"to\"\n ref={(el: HTMLChEditElement) =>\n (this.#toEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#_componentLocale.filters.type}\n </label>\n\n <ch-combo-box-render\n accessibleName=\"types\"\n class=\"combo-box\"\n part=\"type\"\n model={this.#types}\n value={this.#types[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block field-user\">\n <label class=\"label\" htmlFor=\"user\">\n {this.#_componentLocale.filters.user}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"user\"\n class=\"input\"\n id=\"user\"\n ref={(el: HTMLChEditElement) =>\n (this.#userEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-revision\">\n <label class=\"label\" htmlFor=\"revision\">\n {this.#_componentLocale.filters.revision}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"revision\"\n class=\"input\"\n id=\"revision\"\n ref={(el: HTMLChEditElement) =>\n (this.#revisionEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {this.#renderLoader()}\n\n {!this.loading && (\n <div class=\"main__content scrollable\">\n {this.#renderCommitsGrid()}\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"comment-area\">\n {this.historyDetail ? this.historyDetail.title : null}\n </label>\n <ch-edit\n class=\"input comment-text-area\"\n value={this.historyDetail ? this.historyDetail.comment : null}\n multiline\n autoGrow\n readonly={true}\n part=\"comment-area\"\n id=\"comment-area\"\n ></ch-edit>\n </div>\n\n {this.#renderAffectedObjectsGrid()}\n </div>\n )}\n </main>\n </Host>\n );\n }\n}\n\n// Types\nexport type ObjectType = {\n id: string;\n name: string;\n icon?: string;\n};\n\nexport type FiltersData = {\n search: string;\n from?: Date;\n to?: Date;\n user?: string;\n revision?: string;\n type?: string;\n};\nexport type RevisionData = {\n id: string;\n comment: string;\n user: string;\n commitDate: Date;\n};\n\nexport type RevisionDetailData = {\n title: string;\n comment: string;\n objects: ObjectData[];\n};\nexport type ObjectData = {\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: string;\n description: string;\n action: string;\n};\nexport type ObjectState = \"Inserted\" | \"Modified\" | \"Deleted\";\n\nexport type LoadCallback = (\n filters: FiltersData,\n versionId: string\n) => Promise<RevisionData[]>;\n\nexport type LoadDetailCallback = (\n revision: string\n) => Promise<RevisionDetailData>;\n\nexport type SelectedVersionChangeCallback = (\n selectedVersion: string[]\n) => Promise<void>;\n"]}
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/components/team-dev/history/history.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../../common/config\";\nimport { formatDate } from \"../../../common/helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../components\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\nimport {\n hasActiveVersionInList,\n mapObjectTypeToComboBoxItemModel\n} from \"./helpers\";\nimport {\n renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\",\n \"components/accordion\",\n \"components/sidebar\"\n];\n\nconst FILTER_ICON_PRIMARY = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\n\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-history\",\n styleUrl: \"history.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-history\"]\n})\nexport class GxIdeTeamDevHistory {\n #_componentLocale: any;\n\n #types: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeTeamDevHistoryElement;\n\n #fromEl?: HTMLChEditElement;\n #revisionEl?: HTMLChEditElement;\n #searchEl: HTMLChEditElement;\n #toEl?: HTMLChEditElement;\n #typesEl?: HTMLChComboBoxRenderElement;\n #userEl?: HTMLChEditElement;\n #sidebarEl: HTMLChSidebarElement;\n #revisionsGridEl: HTMLChTabularGridElement;\n\n @State() historyDetail: RevisionDetailData;\n\n /**\n * The files rendered in the table\n */\n @State() objects: RevisionData[] = [];\n\n /**\n * Used to call getObjectsFromVersion from the versionsChanged method only once after receiving the versions for the first time.\n */\n @State() isFirstLoad: boolean = true;\n\n /**\n * Used to hide the select-kb-items when collapsed\n */\n @State() sidebarExpanded: boolean = true;\n\n /**\n * Used to show or hide the filters section\n */\n @State() filtersHidden = true;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * The Id of the selected revision in the revisions grid\n */\n @State() selectedRevisionId: string;\n\n /**\n * Used to customize the select-kb-items \"header\" part grid layout\n */\n @State() hasActiveVersion: boolean = false; // TODO:\n\n /**\n * Possible values of type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback invoked when user right-clicks on the grid\n */\n @Prop() readonly gridContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * The Id of the selected version in the select-kb-items component\n */\n @Prop({ mutable: true }) selectedVersionId: string;\n @Watch(\"selectedVersionId\")\n async selectedVersionIdChanged(newSelectedVersionId: string) {\n this.selectedVersionId = newSelectedVersionId;\n\n // Reset filters\n this.#searchEl.value = null;\n this.#fromEl.value = null;\n this.#toEl.value = null;\n this.#revisionEl.value = null;\n this.#userEl.value = null;\n this.#typesEl.value = this.#types[0]?.value;\n\n await this.#getObjectsFromVersion(newSelectedVersionId);\n }\n\n /**\n * List of versions to show in the versions tree\n */\n @Prop({ mutable: true }) versions: ItemNode[] = [];\n @Watch(\"versions\")\n async versionsListChanged(newVersionsList: ItemNode[]) {\n this.versions = newVersionsList;\n this.hasActiveVersion = hasActiveVersionInList(newVersionsList);\n\n if (\n newVersionsList.length > 0 &&\n this.selectedVersionId &&\n this.isFirstLoad\n ) {\n await this.#getObjectsFromVersion(this.selectedVersionId);\n this.isFirstLoad = false;\n }\n }\n\n /**\n * Callback invoked when is necessary to reload the history info. Receive the filters as parameters and only returns the info corresponding to the master grid.\n\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked to obtain detailed info from a revision. As parameter receive internal revision id\n */\n @Prop() readonly loadDetailCallback: LoadDetailCallback;\n\n /**\n * Callback invoked when the selected version changes. As parameter receive the selected version id\n */\n @Prop() readonly selectedVersionChangeCallback: SelectedVersionChangeCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#types = mapObjectTypeToComboBoxItemModel(this.types);\n }\n\n async componentDidLoad() {\n this.#sidebarEl.addEventListener(\n \"expandedChange\",\n (e: CustomEvent<boolean>) => {\n this.sidebarExpanded = e.detail;\n }\n );\n }\n\n #getObjectsFromVersion = async (versionId: string): Promise<void> => {\n this.loading = true;\n\n const filters: FiltersData = {\n search: this.#searchEl.value ? this.#searchEl.value : \"\",\n from: this.#fromEl.value ? new Date(this.#fromEl.value) : null,\n to: this.#toEl.value ? new Date(this.#toEl.value) : null,\n revision: this.#revisionEl.value ? this.#revisionEl.value : \"\",\n user: this.#userEl.value ? this.#userEl.value : \"\",\n type: this.#typesEl.value === \"all\" ? \"\" : this.#typesEl.value\n };\n\n this.objects = await this.loadCallback(filters, versionId);\n await this.#getSelectedRevision(this.objects[0]?.id);\n this.loading = false;\n };\n\n #getSelectedRevision = async (revisionId: string) => {\n if (revisionId) {\n this.historyDetail = await this.loadDetailCallback(revisionId);\n this.historyDetail.title = this.#formatHistoryDetailDate(\n this.historyDetail.title\n );\n this.selectedRevisionId = revisionId;\n } else {\n this.historyDetail = null;\n }\n };\n\n #registerGridContextMenuListener = (): void => {\n if (this.#revisionsGridEl) {\n this.#revisionsGridEl.addEventListener(\n \"contextmenu\",\n (ev: MouseEvent): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.#gridContextMenuCallbackHandler(ev);\n }\n );\n }\n };\n\n #gridContextMenuCallbackHandler = async (ev: MouseEvent): Promise<void> => {\n this.gridContextMenuCallback({\n selection: [this.selectedRevisionId],\n clientX: ev.clientX,\n clientY: ev.clientY\n });\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #renderCommitsGrid = (): Element => {\n const tabularGridEmpty = this.objects?.length === 0 || !this.objects;\n return (\n <ch-tabular-grid\n class={{\n \"commits-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n onSelectionChanged={(ev: any) => {\n this.objects.length > 0 &&\n this.#getSelectedRevision(ev.detail.rowsId[0]);\n }}\n ref={(el: HTMLChTabularGridElement) => {\n if (el && this.#revisionsGridEl !== el) {\n this.#revisionsGridEl = el as HTMLChTabularGridElement;\n\n this.#registerGridContextMenuListener();\n\n if (this.objects.length > 0) {\n this.#revisionsGridEl.selectRow(this.objects[0]?.id, true);\n }\n }\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.id}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.comment}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"1fr\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.user}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.commitDate}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: RevisionData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.id}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.comment}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.commitDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateTitle={this.#_componentLocale.emptyRevisionsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderAffectedObjectsGrid = (): Element => {\n const iterable = this.historyDetail ? this.historyDetail.objects : [];\n const tabularGridEmpty =\n this.historyDetail?.objects.length === 0 || !this.historyDetail;\n return (\n <ch-tabular-grid\n class={{\n \"affected-objects-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.name\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.types\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.description\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.action\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.historyDetail && this.historyDetail.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {iterable.map((obj: ObjectData) => (\n <ch-tabular-grid-row class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(obj.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectStateWithIcon(obj.state)}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#_componentLocale.emptyHistoryDetailText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderLoader = (): Element => {\n return (\n this.loading && (\n <div class=\"main__content scrollable\">\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n description={this.#_componentLocale.loader.description}\n ></gx-ide-loader>\n </div>\n )\n );\n };\n\n #formatHistoryDetailDate = (title: string): string => {\n const parts = title.split(\" - \");\n const datePart = new Date(parts[1]);\n const formattedDate = formatDate(datePart, \"date-time\");\n return `${parts[0]} - ${formattedDate} - ${parts[2]}`;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <ch-sidebar\n ref={(el: HTMLChSidebarElement) =>\n (this.#sidebarEl = el as HTMLChSidebarElement)\n }\n class=\"sidebar\"\n expanded={this.sidebarExpanded}\n expandButtonCollapseAccessibleName={\n this.#_componentLocale.sidebar.collapseAriaLabel\n }\n expandButtonExpandAccessibleName={\n this.#_componentLocale.sidebar.expandAriaLabel\n }\n showExpandButton\n >\n <gx-ide-select-kb-items\n class={{\n \"sidebar-expanded\": this.sidebarExpanded,\n \"has-active-version\": this.hasActiveVersion\n }}\n checkboxType=\"none\"\n itemsList={this.versions}\n expandOnClick={false}\n selectionChanged={this.selectedVersionChangeCallback}\n itemContextMenuCallback={this.itemContextMenuCallback}\n ></gx-ide-select-kb-items>\n </ch-sidebar>\n\n <main class=\"main spacing-body-block-start spacing-body-inline\">\n <div class=\"main__header\">\n <div class=\"search-filter\">\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"search\">\n {this.#_componentLocale.filters.search}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n startImgSrc={SEARCH_ICON}\n part=\"search\"\n id=\"search\"\n ref={(el: HTMLChEditElement) =>\n (this.#searchEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <button\n id=\"filter-toggle-button\"\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={() => this.#toggleFiltersHandler()}\n >\n <ch-image class=\"icon-md\" src={FILTER_ICON_PRIMARY}></ch-image>\n </button>\n\n <button\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.reloadAriaLabel}\n onClick={() =>\n this.#getObjectsFromVersion(this.selectedVersionId)\n }\n part={this.#_componentLocale.searchFilter.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={RESET_ICON}></ch-image>\n </button>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div class=\"filters-grid\">\n <div class=\"field field-block field-from\">\n <label class=\"label\" htmlFor=\"from\">\n {this.#_componentLocale.filters.from}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n part=\"from\"\n id=\"from\"\n ref={(el: HTMLChEditElement) =>\n (this.#fromEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-to\">\n <label class=\"label\" htmlFor=\"to\">\n {this.#_componentLocale.filters.to}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n id=\"to\"\n ref={(el: HTMLChEditElement) =>\n (this.#toEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#_componentLocale.filters.type}\n </label>\n\n <ch-combo-box-render\n accessibleName=\"types\"\n class=\"combo-box\"\n part=\"type\"\n model={this.#types}\n value={this.#types[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block field-user\">\n <label class=\"label\" htmlFor=\"user\">\n {this.#_componentLocale.filters.user}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"user\"\n class=\"input\"\n id=\"user\"\n ref={(el: HTMLChEditElement) =>\n (this.#userEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-revision\">\n <label class=\"label\" htmlFor=\"revision\">\n {this.#_componentLocale.filters.revision}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"revision\"\n class=\"input\"\n id=\"revision\"\n ref={(el: HTMLChEditElement) =>\n (this.#revisionEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {this.#renderLoader()}\n\n {!this.loading && (\n <div class=\"main__content scrollable\">\n {this.#renderCommitsGrid()}\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"comment-area\">\n {this.historyDetail ? this.historyDetail.title : null}\n </label>\n <ch-edit\n class=\"input comment-text-area\"\n value={this.historyDetail ? this.historyDetail.comment : null}\n multiline\n autoGrow\n readonly={true}\n part=\"comment-area\"\n id=\"comment-area\"\n ></ch-edit>\n </div>\n\n {this.#renderAffectedObjectsGrid()}\n </div>\n )}\n </main>\n </Host>\n );\n }\n}\n\n// Types\nexport type ObjectType = {\n id: string;\n name: string;\n icon?: string;\n};\n\nexport type FiltersData = {\n search: string;\n from?: Date;\n to?: Date;\n user?: string;\n revision?: string;\n type?: string;\n};\nexport type RevisionData = {\n id: string;\n comment: string;\n user: string;\n commitDate: Date;\n};\n\nexport type RevisionDetailData = {\n title: string;\n comment: string;\n objects: ObjectData[];\n};\nexport type ObjectData = {\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: ObjectType;\n description: string;\n action: string;\n};\nexport type ObjectState = \"Inserted\" | \"Modified\" | \"Deleted\";\n\nexport type LoadCallback = (\n filters: FiltersData,\n versionId: string\n) => Promise<RevisionData[]>;\n\nexport type LoadDetailCallback = (\n revision: string\n) => Promise<RevisionDetailData>;\n\nexport type SelectedVersionChangeCallback = (\n selectedVersion: string[]\n) => Promise<void>;\n"]}
|
|
@@ -7,12 +7,6 @@ import { renderComboItems } from "../../../common/render-combo-items";
|
|
|
7
7
|
import { formatDate } from "../../../common/helpers";
|
|
8
8
|
const CSS_BUNDLES = [
|
|
9
9
|
"resets/box-sizing",
|
|
10
|
-
// "utils/form",
|
|
11
|
-
// "utils/layout",
|
|
12
|
-
// "utils/typography",
|
|
13
|
-
// "components/button",
|
|
14
|
-
// "components/checkbox",
|
|
15
|
-
// "components/edit",
|
|
16
10
|
"components/tabular-grid"
|
|
17
11
|
];
|
|
18
12
|
export class GxIdeTeamDevUpdate {
|
|
@@ -103,16 +97,16 @@ export class GxIdeTeamDevUpdate {
|
|
|
103
97
|
this.renderIconState = (state) => {
|
|
104
98
|
let type;
|
|
105
99
|
switch (state) {
|
|
106
|
-
case "
|
|
100
|
+
case "Modified":
|
|
107
101
|
type = "gx-server/changes-commit-pending";
|
|
108
102
|
break;
|
|
109
|
-
case "
|
|
103
|
+
case "Inserted":
|
|
110
104
|
type = "gx-server/new";
|
|
111
105
|
break;
|
|
112
|
-
case "
|
|
106
|
+
case "Deleted":
|
|
113
107
|
type = "gx-server/delete";
|
|
114
108
|
break;
|
|
115
|
-
case "
|
|
109
|
+
case "Conflicted":
|
|
116
110
|
type = "gx-server/conflict";
|
|
117
111
|
break;
|
|
118
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/components/team-dev/update/update.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color as GxgIconColor } from \"@genexus/gemini/dist/types/components/icon/icon\";\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nimport {\n ObjectState,\n ObjectType,\n ContextMenuInfo,\n ItemsCheckedState,\n ItemsCheckedResult,\n ResultState\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-team-dev-update\",\n styleUrl: \"update.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update\"]\n})\nexport class GxIdeTeamDevUpdate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending for update grid checkboxes, should be checked, after loadData has loaded objects for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdateElement;\n\n /* References needed to collect data */\n // private optionKbPropertiesEl!: HTMLGxgFormCheckboxElement;\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterTypeEl!: HTMLGxgComboBoxElement;\n private chGridPendingForUpdateEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private chGridResultsEl!: HTMLChGridElement;\n private gxgTabButtonResultsEl!: HTMLGxgTabButtonElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * For show or hide advanced filters\n */\n @State() objectScopeText = \"all\";\n\n /**\n * The tab that is currently open\n */\n @State() openTab: \"pending\" | \"ignored\" | \"results\" = \"pending\";\n\n /**\n * For show or hide advanced filters\n */\n @State() revisionScopeText: string = undefined;\n\n /**\n * For show or hide advanced filters\n */\n @State() showFilter = false;\n\n /**\n * The data loaded for populate the grids\n */\n @State() updateData: UpdateData = {\n pendingForUpdate: [],\n ignoredObjects: []\n };\n\n /**\n * The data receive after user update\n */\n @State() updateResultData: UpdateResultData[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the information of an Image System type of data.\n */\n @Prop() readonly gridContextMenuCallback!: GridContextMenuCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer to call when the user makes a partial selection from button Change of Scope group.\n */\n @Prop() readonly objectsScopeCallback!: () => Promise<\"all\" | \"partial\">;\n\n /**\n * This is a function provided by the developer to call when the user clicked in server url of Update From group.\n */\n @Prop() readonly openServerCallback!: () => Promise<void>;\n\n /**\n * This is a function provided by the developer that return the information of a Font type of data.\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * This is a function provided by the developer to call when the user wants to select the revision to work on.\n */\n @Prop() readonly revisionScopeCallback!: () => Promise<string | undefined>;\n\n /**\n * Callback that should be invoked when the user activates the context menu on any of the grids. It receives the internal IDs of the selected elements and in which grid the event occurred. It should prevent the default browser context menu from appearing\n */\n @Prop() readonly objectsContextMenuCallback!: ObjectsContextMenuCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: UpdateSelectCallback;\n\n /**\n * Possibly values for the filter type\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * This is a function provided by the developer that return the information of a Design System type of data.\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Information to show in the container of group 'Update From'\n */\n @Prop() readonly updateFrom: UpdateFromData;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.filterPatternEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingToUpdateRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the host to instruct the component to force a data reload in the grids.\n */\n @Method()\n async reload() {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private onRowContextMenuHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n if (this.objectsContextMenuCallback) {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"pending\") {\n selection = await this.chGridPendingForUpdateEl.getSelectedRows();\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n } else if (grid === \"results\") {\n selection = await this.chGridResultsEl.getSelectedRows();\n }\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private markAllPendingToUpdateRows = () => {\n this.chGridPendingForUpdateEl.markAllRows();\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n private genexusServerUrlHandler = () => {\n if (this.updateFrom?.serverUrl) {\n window.open(this.updateFrom.serverUrl);\n }\n };\n\n private renderOptions = (): Element => {\n return (\n <div class=\"options-wrapper\">\n {/* genexus server*/}\n <gx-ide-container\n part=\"options-update-from\"\n containerTitle={this._componentLocale.options.updateFrom}\n titleType=\"secondary\"\n contentBorderEnd\n noContentPadding\n >\n <gx-ide-list-selector\n type=\"single-selection\"\n listName=\"commit-recent-messages\"\n readonly\n noListBorder\n >\n {/* genexus server*/}\n <gx-ide-list-selector-item\n icon=\"window-tools/genexus-cloud\"\n itemId=\"genexus-server\"\n itemValue={undefined}\n class=\"genexus-server\"\n onClick={this.genexusServerUrlHandler}\n >\n {`${this._componentLocale.options.updateFrom}:`}\n <gxg-text type=\"text-link\">\n {this.updateFrom ? this.updateFrom.serverUrl : \"\"}\n </gxg-text>\n </gx-ide-list-selector-item>\n\n {/* knowledge base*/}\n <gx-ide-list-selector-item\n icon=\"general/knowledge-base\"\n itemId=\"knowledge-base\"\n itemValue={`${this._componentLocale.options.knowledgeBase}: ${\n this.updateFrom ? this.updateFrom.kbName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* version */}\n <gx-ide-list-selector-item\n icon=\"general/version\"\n itemId=\"version\"\n itemValue={`${this._componentLocale.options.version}: ${\n this.updateFrom ? this.updateFrom.versionName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* last full update */}\n <gx-ide-list-selector-item\n icon=\"window-tools/last-changes-view\"\n itemId=\"last-full-update\"\n itemValue={`${\n this._componentLocale.options.lastFullUpdate\n }: ${formatDate(this.updateFrom.lastFullUpdate)}`}\n ></gx-ide-list-selector-item>\n </gx-ide-list-selector>\n </gx-ide-container>\n\n {/* scope*/}\n <gx-ide-container\n part=\"options-scope\"\n containerTitle={this._componentLocale.options.scope}\n titleType=\"secondary\"\n >\n <div class=\"scope\">\n {/* Objects*/}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.objects}:\n </gxg-label>\n <span\n class={{\n bold: this.objectScopeText === \"partial\",\n value: true\n }}\n >\n {\n this._componentLocale.options.scopeData.objects[\n this.objectScopeText.toLocaleLowerCase()\n ]\n }\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.objectsScope}\n part=\"gxg-button gxg-button--scope-objects-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Revision */}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.revision}:\n </gxg-label>\n <span\n class={{\n bold: this.revisionScopeText !== undefined,\n value: true\n }}\n >\n {this.revisionScopeText === undefined\n ? this._componentLocale.options.scopeData.revision.latest\n : this.revisionScopeText}\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.revisionScope}\n part=\"gxg-button gxg-button--scope-revision-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Kb Properties */}\n <div class=\"row\">\n <gxg-form-checkbox\n label={this._componentLocale.options.kbProperties}\n class=\"align-center\"\n part=\"option-kb-properties\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </gx-ide-container>\n </div>\n );\n };\n\n private renderFilter = (): Element => {\n return (\n <div\n class={{\n \"filter-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-form-text\n label-position=\"start\"\n centerLabel\n label={this._componentLocale.filter.pattern}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-pattern\"\n onInput={this.loadData}\n class=\"combo\"\n ></gxg-form-text>\n\n {/* type */}\n <gxg-combo-box\n label-position=\"start\"\n centerLabel\n disable-filter\n label={this._componentLocale.filter.type}\n disabled={!this.types}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterTypeEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.loadData}\n part=\"filter-type\"\n value={this.types[0].id}\n class=\"combo\"\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* load data */}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"button\"\n ></gxg-button>\n </div>\n );\n };\n\n private renderData = (): Element => {\n return (\n <gx-ide-container\n part=\"data-container\"\n noContentPadding\n class=\"gxi-overflow-auto\"\n displayBorderTop\n >\n <gxg-tabs id=\"dataTabs\" part=\"data-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.pendingForUpdate}\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n isSelected={true}\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.ignoredObjects}\n tab=\"ignoredObjects\"\n key=\"ignoredObjects\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.results}\n tab=\"results\"\n key=\"results\"\n ref={(el: HTMLGxgTabButtonElement) =>\n (this.gxgTabButtonResultsEl = el)\n }\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n noPadding\n isSelected={true}\n >\n {this.renderPendingForUpdate()}\n </gxg-tab>\n <gxg-tab tab=\"ignoredObjects\" key=\"ignoredObjects\" noPadding>\n {this.renderIgnoredObjects()}\n </gxg-tab>\n <gxg-tab tab=\"results\" key=\"results\" noPadding>\n {this.renderResults()}\n </gxg-tab>\n </gxg-tabs>\n </gx-ide-container>\n );\n };\n\n private renderPendingForUpdate = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-pending-update\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingForUpdateEl = el)\n }\n part=\"ch-tabular-grid-pending-for-updates\"\n onRowContextMenu={this.onRowContextMenuHandler(\"pending\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"pending\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.status}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.action}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.pendingForUpdate.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.status}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.action}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIgnoredObjects = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-ignored-objects\"\n onRowContextMenu={this.onRowContextMenuHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.ignoredObjects.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderResults = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-results\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) => (this.chGridResultsEl = el)}\n part=\"ch-tabular-grid-results\"\n onRowContextMenu={this.onRowContextMenuHandler(\"results\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"results\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"tree\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.notes}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateResultData.map((obj: UpdateResultData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconResult(obj.result)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.notes}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-rowset>\n {obj.messages.map(msg => {\n let msgType;\n switch (msg.type) {\n case \"info\":\n msgType = \"text-alert-info\";\n break;\n case \"success\":\n msgType = \"text-alert-success\";\n break;\n case \"warning\":\n msgType = \"text-alert-warning\";\n break;\n case \"error\":\n msgType = \"text-alert-error\";\n break;\n }\n return (\n <ch-tabular-grid-rowset-empty>\n <gxg-text type={msgType as any}>{msg.text}</gxg-text>\n </ch-tabular-grid-rowset-empty>\n );\n })}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIconState = (state: ObjectState): Element => {\n let type: string;\n\n switch (state) {\n case \"modified\":\n type = \"gx-server/changes-commit-pending\";\n break;\n case \"inserted\":\n type = \"gx-server/new\";\n break;\n case \"deleted\":\n type = \"gx-server/delete\";\n break;\n case \"conflicted\":\n type = \"gx-server/conflict\";\n break;\n }\n return <ch-image class=\"icon-md\" src={type}></ch-image>;\n };\n\n private renderIconResult = (result: ResultState): Element => {\n let type: string;\n let color: GxgIconColor;\n switch (result) {\n case \"info\":\n type = \"gemini-tools/notice\";\n color = \"primary-active\";\n break;\n case \"success\":\n type = \"gemini-tools/success\";\n color = \"success\";\n break;\n case \"warning\":\n type = \"gemini-tools/warning\";\n color = \"warning\";\n break;\n case \"error\":\n type = \"gemini-tools/error\";\n color = \"error\";\n break;\n }\n return <gxg-icon type={type} color={color}></gxg-icon>;\n };\n\n private loadData = async (): Promise<void> => {\n const filters: FiltersData = {\n pattern: this.showFilter ? this.filterPatternEl.value : null,\n type: this.showFilter ? this.filterTypeEl.value : null\n };\n // this.updateData = null;\n this.isLoading = true;\n this.updateData = await this.loadCallback(filters);\n this.isLoading = false;\n if (!this.loadDataCalledFirstTime) {\n /* this allows checking the pending commits checkboxes on first load*/\n this.loadDataCalledFirstTime = true;\n }\n };\n\n private update = async (): Promise<void> => {\n if (this.updateCallback) {\n const pendingForUpdateMarked =\n await this.chGridPendingForUpdateEl.getMarkedRows();\n this.updateCallback(pendingForUpdateMarked).then(\n (updateResultData: UpdateResultData[]) => {\n this.updateResultData = updateResultData;\n this.gxgTabButtonResultsEl.tabButtonClick();\n }\n );\n }\n };\n\n private objectsScope = (): void => {\n if (this.objectsScopeCallback) {\n this.objectsScopeCallback().then(objectData => {\n if (objectData) {\n this.objectScopeText = objectData;\n }\n });\n }\n };\n\n private revisionScope = (): void => {\n if (this.revisionScopeCallback) {\n this.revisionScopeCallback().then(revisionData => {\n this.revisionScopeText = revisionData;\n });\n }\n };\n\n private pendingForUpdatesRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingForUpdateEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n if (this.chGridPendingForUpdateEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingForUpdateEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingForUpdateEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderTop\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderFilter()}\n {this.renderData()}\n\n <gxg-button\n id=\"button-update\"\n type=\"primary-text-only\"\n onClick={this.update}\n part=\"gxg-button gxg-button--update\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnUpdate}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (filters: FiltersData) => Promise<UpdateData>;\n\nexport type UpdateCallback = (\n selection: string[]\n) => Promise<UpdateResultData[]>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type UpdateSelectCallback = (\n grid: UpdateSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type UpdateSourceType = \"pending\" | \"ignored\" | \"results\";\n\nexport type GridContextMenuCallback = (\n selection: string[],\n grid: \"update\" | \"ignored\" | \"results\"\n) => Promise<void>;\n\nexport type ObjectsContextMenuCallback = (\n source: UpdateSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ConfirmCallback = (data: any) => Promise<boolean>;\n\nexport interface UpdateFromData {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate: Date;\n}\nexport interface FiltersData {\n pattern: string;\n type: string;\n}\nexport interface UpdateData {\n pendingForUpdate: ModifiedObject[];\n ignoredObjects: ModifiedObject[];\n}\nexport interface ModifiedObject {\n id: string;\n typeIcon: string;\n state?: ObjectState;\n name: string;\n type: string;\n description?: string;\n modifiedOn?: Date;\n status?: string;\n action?: string;\n}\nexport interface UpdateResultData {\n id: string;\n result: ResultState;\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: string;\n description: string;\n notes: string;\n messages: MessageData[];\n}\n\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/components/team-dev/update/update.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color as GxgIconColor } from \"@genexus/gemini/dist/types/components/icon/icon\";\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nimport { ObjectState } from \"../common/types\";\n\nimport {\n ObjectType,\n ContextMenuInfo,\n ItemsCheckedState,\n ItemsCheckedResult,\n ResultState\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-team-dev-update\",\n styleUrl: \"update.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update\"]\n})\nexport class GxIdeTeamDevUpdate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending for update grid checkboxes, should be checked, after loadData has loaded objects for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdateElement;\n\n /* References needed to collect data */\n // private optionKbPropertiesEl!: HTMLGxgFormCheckboxElement;\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterTypeEl!: HTMLGxgComboBoxElement;\n private chGridPendingForUpdateEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private chGridResultsEl!: HTMLChGridElement;\n private gxgTabButtonResultsEl!: HTMLGxgTabButtonElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * For show or hide advanced filters\n */\n @State() objectScopeText = \"all\";\n\n /**\n * The tab that is currently open\n */\n @State() openTab: \"pending\" | \"ignored\" | \"results\" = \"pending\";\n\n /**\n * For show or hide advanced filters\n */\n @State() revisionScopeText: string = undefined;\n\n /**\n * For show or hide advanced filters\n */\n @State() showFilter = false;\n\n /**\n * The data loaded for populate the grids\n */\n @State() updateData: UpdateData = {\n pendingForUpdate: [],\n ignoredObjects: []\n };\n\n /**\n * The data receive after user update\n */\n @State() updateResultData: UpdateResultData[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the information of an Image System type of data.\n */\n @Prop() readonly gridContextMenuCallback!: GridContextMenuCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer to call when the user makes a partial selection from button Change of Scope group.\n */\n @Prop() readonly objectsScopeCallback!: () => Promise<\"all\" | \"partial\">;\n\n /**\n * This is a function provided by the developer to call when the user clicked in server url of Update From group.\n */\n @Prop() readonly openServerCallback!: () => Promise<void>;\n\n /**\n * This is a function provided by the developer that return the information of a Font type of data.\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * This is a function provided by the developer to call when the user wants to select the revision to work on.\n */\n @Prop() readonly revisionScopeCallback!: () => Promise<string | undefined>;\n\n /**\n * Callback that should be invoked when the user activates the context menu on any of the grids. It receives the internal IDs of the selected elements and in which grid the event occurred. It should prevent the default browser context menu from appearing\n */\n @Prop() readonly objectsContextMenuCallback!: ObjectsContextMenuCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: UpdateSelectCallback;\n\n /**\n * Possibly values for the filter type\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * This is a function provided by the developer that return the information of a Design System type of data.\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Information to show in the container of group 'Update From'\n */\n @Prop() readonly updateFrom: UpdateFromData;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.filterPatternEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingToUpdateRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the host to instruct the component to force a data reload in the grids.\n */\n @Method()\n async reload() {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private onRowContextMenuHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n if (this.objectsContextMenuCallback) {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"pending\") {\n selection = await this.chGridPendingForUpdateEl.getSelectedRows();\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n } else if (grid === \"results\") {\n selection = await this.chGridResultsEl.getSelectedRows();\n }\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private markAllPendingToUpdateRows = () => {\n this.chGridPendingForUpdateEl.markAllRows();\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n private genexusServerUrlHandler = () => {\n if (this.updateFrom?.serverUrl) {\n window.open(this.updateFrom.serverUrl);\n }\n };\n\n private renderOptions = (): Element => {\n return (\n <div class=\"options-wrapper\">\n {/* genexus server*/}\n <gx-ide-container\n part=\"options-update-from\"\n containerTitle={this._componentLocale.options.updateFrom}\n titleType=\"secondary\"\n contentBorderEnd\n noContentPadding\n >\n <gx-ide-list-selector\n type=\"single-selection\"\n listName=\"commit-recent-messages\"\n readonly\n noListBorder\n >\n {/* genexus server*/}\n <gx-ide-list-selector-item\n icon=\"window-tools/genexus-cloud\"\n itemId=\"genexus-server\"\n itemValue={undefined}\n class=\"genexus-server\"\n onClick={this.genexusServerUrlHandler}\n >\n {`${this._componentLocale.options.updateFrom}:`}\n <gxg-text type=\"text-link\">\n {this.updateFrom ? this.updateFrom.serverUrl : \"\"}\n </gxg-text>\n </gx-ide-list-selector-item>\n\n {/* knowledge base*/}\n <gx-ide-list-selector-item\n icon=\"general/knowledge-base\"\n itemId=\"knowledge-base\"\n itemValue={`${this._componentLocale.options.knowledgeBase}: ${\n this.updateFrom ? this.updateFrom.kbName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* version */}\n <gx-ide-list-selector-item\n icon=\"general/version\"\n itemId=\"version\"\n itemValue={`${this._componentLocale.options.version}: ${\n this.updateFrom ? this.updateFrom.versionName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* last full update */}\n <gx-ide-list-selector-item\n icon=\"window-tools/last-changes-view\"\n itemId=\"last-full-update\"\n itemValue={`${\n this._componentLocale.options.lastFullUpdate\n }: ${formatDate(this.updateFrom.lastFullUpdate)}`}\n ></gx-ide-list-selector-item>\n </gx-ide-list-selector>\n </gx-ide-container>\n\n {/* scope*/}\n <gx-ide-container\n part=\"options-scope\"\n containerTitle={this._componentLocale.options.scope}\n titleType=\"secondary\"\n >\n <div class=\"scope\">\n {/* Objects*/}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.objects}:\n </gxg-label>\n <span\n class={{\n bold: this.objectScopeText === \"partial\",\n value: true\n }}\n >\n {\n this._componentLocale.options.scopeData.objects[\n this.objectScopeText.toLocaleLowerCase()\n ]\n }\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.objectsScope}\n part=\"gxg-button gxg-button--scope-objects-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Revision */}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.revision}:\n </gxg-label>\n <span\n class={{\n bold: this.revisionScopeText !== undefined,\n value: true\n }}\n >\n {this.revisionScopeText === undefined\n ? this._componentLocale.options.scopeData.revision.latest\n : this.revisionScopeText}\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.revisionScope}\n part=\"gxg-button gxg-button--scope-revision-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Kb Properties */}\n <div class=\"row\">\n <gxg-form-checkbox\n label={this._componentLocale.options.kbProperties}\n class=\"align-center\"\n part=\"option-kb-properties\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </gx-ide-container>\n </div>\n );\n };\n\n private renderFilter = (): Element => {\n return (\n <div\n class={{\n \"filter-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-form-text\n label-position=\"start\"\n centerLabel\n label={this._componentLocale.filter.pattern}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-pattern\"\n onInput={this.loadData}\n class=\"combo\"\n ></gxg-form-text>\n\n {/* type */}\n <gxg-combo-box\n label-position=\"start\"\n centerLabel\n disable-filter\n label={this._componentLocale.filter.type}\n disabled={!this.types}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterTypeEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.loadData}\n part=\"filter-type\"\n value={this.types[0].id}\n class=\"combo\"\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* load data */}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"button\"\n ></gxg-button>\n </div>\n );\n };\n\n private renderData = (): Element => {\n return (\n <gx-ide-container\n part=\"data-container\"\n noContentPadding\n class=\"gxi-overflow-auto\"\n displayBorderTop\n >\n <gxg-tabs id=\"dataTabs\" part=\"data-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.pendingForUpdate}\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n isSelected={true}\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.ignoredObjects}\n tab=\"ignoredObjects\"\n key=\"ignoredObjects\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.results}\n tab=\"results\"\n key=\"results\"\n ref={(el: HTMLGxgTabButtonElement) =>\n (this.gxgTabButtonResultsEl = el)\n }\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n noPadding\n isSelected={true}\n >\n {this.renderPendingForUpdate()}\n </gxg-tab>\n <gxg-tab tab=\"ignoredObjects\" key=\"ignoredObjects\" noPadding>\n {this.renderIgnoredObjects()}\n </gxg-tab>\n <gxg-tab tab=\"results\" key=\"results\" noPadding>\n {this.renderResults()}\n </gxg-tab>\n </gxg-tabs>\n </gx-ide-container>\n );\n };\n\n private renderPendingForUpdate = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-pending-update\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingForUpdateEl = el)\n }\n part=\"ch-tabular-grid-pending-for-updates\"\n onRowContextMenu={this.onRowContextMenuHandler(\"pending\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"pending\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.status}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.action}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.pendingForUpdate.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.status}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.action}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIgnoredObjects = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-ignored-objects\"\n onRowContextMenu={this.onRowContextMenuHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.ignoredObjects.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderResults = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-results\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) => (this.chGridResultsEl = el)}\n part=\"ch-tabular-grid-results\"\n onRowContextMenu={this.onRowContextMenuHandler(\"results\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"results\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"tree\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.notes}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateResultData.map((obj: UpdateResultData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconResult(obj.result)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.notes}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-rowset>\n {obj.messages.map(msg => {\n let msgType;\n switch (msg.type) {\n case \"info\":\n msgType = \"text-alert-info\";\n break;\n case \"success\":\n msgType = \"text-alert-success\";\n break;\n case \"warning\":\n msgType = \"text-alert-warning\";\n break;\n case \"error\":\n msgType = \"text-alert-error\";\n break;\n }\n return (\n <ch-tabular-grid-rowset-empty>\n <gxg-text type={msgType as any}>{msg.text}</gxg-text>\n </ch-tabular-grid-rowset-empty>\n );\n })}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIconState = (state: ObjectState): Element => {\n let type: string;\n\n switch (state) {\n case \"Modified\":\n type = \"gx-server/changes-commit-pending\";\n break;\n case \"Inserted\":\n type = \"gx-server/new\";\n break;\n case \"Deleted\":\n type = \"gx-server/delete\";\n break;\n case \"Conflicted\":\n type = \"gx-server/conflict\";\n break;\n }\n return <ch-image class=\"icon-md\" src={type}></ch-image>;\n };\n\n private renderIconResult = (result: ResultState): Element => {\n let type: string;\n let color: GxgIconColor;\n switch (result) {\n case \"info\":\n type = \"gemini-tools/notice\";\n color = \"primary-active\";\n break;\n case \"success\":\n type = \"gemini-tools/success\";\n color = \"success\";\n break;\n case \"warning\":\n type = \"gemini-tools/warning\";\n color = \"warning\";\n break;\n case \"error\":\n type = \"gemini-tools/error\";\n color = \"error\";\n break;\n }\n return <gxg-icon type={type} color={color}></gxg-icon>;\n };\n\n private loadData = async (): Promise<void> => {\n const filters: FiltersData = {\n pattern: this.showFilter ? this.filterPatternEl.value : null,\n type: this.showFilter ? this.filterTypeEl.value : null\n };\n // this.updateData = null;\n this.isLoading = true;\n this.updateData = await this.loadCallback(filters);\n this.isLoading = false;\n if (!this.loadDataCalledFirstTime) {\n /* this allows checking the pending commits checkboxes on first load*/\n this.loadDataCalledFirstTime = true;\n }\n };\n\n private update = async (): Promise<void> => {\n if (this.updateCallback) {\n const pendingForUpdateMarked =\n await this.chGridPendingForUpdateEl.getMarkedRows();\n this.updateCallback(pendingForUpdateMarked).then(\n (updateResultData: UpdateResultData[]) => {\n this.updateResultData = updateResultData;\n this.gxgTabButtonResultsEl.tabButtonClick();\n }\n );\n }\n };\n\n private objectsScope = (): void => {\n if (this.objectsScopeCallback) {\n this.objectsScopeCallback().then(objectData => {\n if (objectData) {\n this.objectScopeText = objectData;\n }\n });\n }\n };\n\n private revisionScope = (): void => {\n if (this.revisionScopeCallback) {\n this.revisionScopeCallback().then(revisionData => {\n this.revisionScopeText = revisionData;\n });\n }\n };\n\n private pendingForUpdatesRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingForUpdateEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n if (this.chGridPendingForUpdateEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingForUpdateEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingForUpdateEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderTop\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderFilter()}\n {this.renderData()}\n\n <gxg-button\n id=\"button-update\"\n type=\"primary-text-only\"\n onClick={this.update}\n part=\"gxg-button gxg-button--update\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnUpdate}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (filters: FiltersData) => Promise<UpdateData>;\n\nexport type UpdateCallback = (\n selection: string[]\n) => Promise<UpdateResultData[]>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type UpdateSelectCallback = (\n grid: UpdateSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type UpdateSourceType = \"pending\" | \"ignored\" | \"results\";\n\nexport type GridContextMenuCallback = (\n selection: string[],\n grid: \"update\" | \"ignored\" | \"results\"\n) => Promise<void>;\n\nexport type ObjectsContextMenuCallback = (\n source: UpdateSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ConfirmCallback = (data: any) => Promise<boolean>;\n\nexport interface UpdateFromData {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate: Date;\n}\nexport interface FiltersData {\n pattern: string;\n type: string;\n}\nexport interface UpdateData {\n pendingForUpdate: ModifiedObject[];\n ignoredObjects: ModifiedObject[];\n}\nexport interface ModifiedObject {\n id: string;\n typeIcon: string;\n state?: ObjectState;\n name: string;\n type: string;\n description?: string;\n modifiedOn?: Date;\n status?: string;\n action?: string;\n}\nexport interface UpdateResultData {\n id: string;\n result: ResultState;\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: string;\n description: string;\n notes: string;\n messages: MessageData[];\n}\n\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { g as getIconPath } from './MERCURY_ASSETS.js';
|
|
3
3
|
import { L as Locale } from './locale.js';
|
|
4
|
+
import { r as renderObjectTypeWithIcon } from './utilities.js';
|
|
4
5
|
import { d as defineCustomElement$3 } from './gx-ide-empty-state2.js';
|
|
5
6
|
import { d as defineCustomElement$2 } from './ide-loader.js';
|
|
6
7
|
|
|
7
|
-
const bringChangesCss = ":host{--pill-border-radius:12px;--pill-padding-inline:8px;--pill-padding-block:2px;--pill-font-size:var(--font-size-body-s);display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content max-content 1fr}.detail__current-version,.detail__knowledge-base{max-inline-size:250px;min-inline-size:180px}.detail__current-version,.detail__knowledge-base{padding-inline:24px;border-inline-end:1px solid var(--mer-border-color__on-elevation--01)}.information__col-1,.detail__genexus-server{padding-inline-end:24px;border-inline-end:1px solid var(--mer-border-color__on-elevation--01)}.information__col-2,.detail__merge-from-version{padding-inline-start:24px}.section{display:contents}.header{display:grid;gap:24px}.header__detail{display:grid;grid-template-areas:\"detail-title detail-title detail-title detail-title\" \"detail-commit-name detail-commit-name detail-commit-name detail-commit-name\" \"detail-genexus-server detail-knowledge-base detail-current-version detail-merge-from-version\";row-gap:16px;grid-template-columns:minmax(250px, 350px) repeat(3, minmax(180px, 250px))}.detail__label{color:var(--mer-color__neutral-gray--400)}.detail__title{grid-area:detail-title}.detail__commit-name{grid-area:detail-commit-name}.detail__genexus-server{grid-area:detail-genexus-server}.detail__genexus-server>a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.detail__link{align-items:start;color:var(--mer-text__primary);text-decoration:underline}.detail__link:hover{color:var(--mer-text__primary--hover)}.detail__link:active{color:var(--mer-text__primary--active)}.detail__knowledge-base{grid-area:detail-knowledge-base}.detail__current-version{grid-area:detail-current-version}.detail__merge-from-version{grid-area:detail-merge-from-version}.header__information{display:grid;row-gap:10px;grid-template-areas:\"information-title information-title\" \"information-col-1 information-col-2\";grid-template-columns:max-content 1fr;grid-template-rows:max-content 64px}.information__title{grid-area:information-title}.information__col-1{grid-area:information-col-1;display:flex;gap:24px}.information__col-2{display:grid;grid-area:information-col-2}.controls-container{display:grid;margin-block-start:24px}.filter{grid-template-columns:232px 186px 1fr;gap:12px}.button-merge-checked{margin-inline-start:auto}.main{position:relative;display:grid;overflow:auto}.loader{position:relative;inline-size:100%;block-size:100%;inset-block-start:0}.tabular-grid{border-radius:4px;overflow:hidden}.empty-state{block-size:100%}.loader{--elevation-background-color:var(--mer-surface__elevation--01)}.warning-error-description{display:flex;align-items:center;gap:8px;padding:8px;max-inline-size:800px;line-height:1.5}.warning-error-icon{flex-shrink:0}.tabular-grid.empty-result::part(main){overflow:hidden}.input-comments-container{position:relative}.input-comments{--control__border-color:transparent;padding-block:0 !important;padding-inline:0 !important;--line-height-tight:1.4;block-size:100%;background-color:var(--mer-surface);transition:var(--mer-timing--super-fast) block-size, var(--mer-timing--super-fast) background-color, var(--mer-timing--super-fast) padding-block, var(--mer-timing--super-fast) padding-inline}.input-comments:focus{position:absolute;block-size:200px;inline-size:100%;z-index:99;background-color:var(--mer-surface__elevation--01);padding-block:var(--control__padding-block) !important;padding-inline:var(--control__padding-inline) !important}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon){background-size:contain;margin-inline-end:0;--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--enabled);cursor:pointer}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon):hover{--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--hover)}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon):active{--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--active)}.tabular-grid-row-actions::part(main),.property-grid-row-actions::part(main){gap:0 !important}.
|
|
8
|
+
const bringChangesCss = ".custom-icon-text-wrapper{display:flex;align-items:center;gap:10px}:host{--pill-border-radius:12px;--pill-padding-inline:8px;--pill-padding-block:2px;--pill-font-size:var(--font-size-body-s);display:grid;block-size:100%;overflow:auto;grid-template-rows:max-content max-content 1fr}.detail__current-version,.detail__knowledge-base{max-inline-size:250px;min-inline-size:180px}.detail__current-version,.detail__knowledge-base{padding-inline:24px;border-inline-end:1px solid var(--mer-border-color__on-elevation--01)}.information__col-1,.detail__genexus-server{padding-inline-end:24px;border-inline-end:1px solid var(--mer-border-color__on-elevation--01)}.information__col-2,.detail__merge-from-version{padding-inline-start:24px}.section{display:contents}.header{display:grid;gap:24px}.header__detail{display:grid;grid-template-areas:\"detail-title detail-title detail-title detail-title\" \"detail-commit-name detail-commit-name detail-commit-name detail-commit-name\" \"detail-genexus-server detail-knowledge-base detail-current-version detail-merge-from-version\";row-gap:16px;grid-template-columns:minmax(250px, 350px) repeat(3, minmax(180px, 250px))}.detail__label{color:var(--mer-color__neutral-gray--400)}.detail__title{grid-area:detail-title}.detail__commit-name{grid-area:detail-commit-name}.detail__genexus-server{grid-area:detail-genexus-server}.detail__genexus-server>a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.detail__link{align-items:start;color:var(--mer-text__primary);text-decoration:underline}.detail__link:hover{color:var(--mer-text__primary--hover)}.detail__link:active{color:var(--mer-text__primary--active)}.detail__knowledge-base{grid-area:detail-knowledge-base}.detail__current-version{grid-area:detail-current-version}.detail__merge-from-version{grid-area:detail-merge-from-version}.header__information{display:grid;row-gap:10px;grid-template-areas:\"information-title information-title\" \"information-col-1 information-col-2\";grid-template-columns:max-content 1fr;grid-template-rows:max-content 64px}.information__title{grid-area:information-title}.information__col-1{grid-area:information-col-1;display:flex;gap:24px}.information__col-2{display:grid;grid-area:information-col-2}.controls-container{display:grid;margin-block-start:24px}.filter{grid-template-columns:232px 186px 1fr;gap:12px}.button-merge-checked{margin-inline-start:auto}.main{position:relative;display:grid;overflow:auto}.loader{position:relative;inline-size:100%;block-size:100%;inset-block-start:0}.tabular-grid{border-radius:4px;overflow:hidden}.empty-state{block-size:100%}.loader{--elevation-background-color:var(--mer-surface__elevation--01)}.warning-error-description{display:flex;align-items:center;gap:8px;padding:8px;max-inline-size:800px;line-height:1.5}.warning-error-icon{flex-shrink:0}.tabular-grid.empty-result::part(main){overflow:hidden}.input-comments-container{position:relative}.input-comments{--control__border-color:transparent;padding-block:0 !important;padding-inline:0 !important;--line-height-tight:1.4;block-size:100%;background-color:var(--mer-surface);transition:var(--mer-timing--super-fast) block-size, var(--mer-timing--super-fast) background-color, var(--mer-timing--super-fast) padding-block, var(--mer-timing--super-fast) padding-inline}.input-comments:focus{position:absolute;block-size:200px;inline-size:100%;z-index:99;background-color:var(--mer-surface__elevation--01);padding-block:var(--control__padding-block) !important;padding-inline:var(--control__padding-inline) !important}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon){background-size:contain;margin-inline-end:0;--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--enabled);cursor:pointer}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon):hover{--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--hover)}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon):active{--icon-path:var(--icon__gemini-tools_show-more-vertical_neutral--active)}.tabular-grid-row-actions::part(main),.property-grid-row-actions::part(main){gap:0 !important}.tabular-grid-row-actions>button{justify-content:start}.pill{--pill-background-color:transparent;--pill-color:transparent;--pill-border-color:transparent;background-color:var(--pill-background-color);color:var(--pill-color);border:1px solid var(--pill-border-color);inline-size:100%;padding:var(--pill-padding-block) var(--pill-padding-inline);display:flex;align-items:center;justify-content:center;border-radius:var(--pill-border-radius);position:relative;font-weight:var(--font-weight-semi-bold)}.pill--to-merge,.pill--to-revert{--pill-background-color:var();--pill-color:var(--mer-color__neutral-gray--400);--pill-border-color:var()}.pill--to-merge-marked{--pill-background-color:var();--pill-color:var(--mer-border-color__primary);--pill-border-color:var()}.pill--pending{--pill-background-color:var(--mer-color__tinted-primary--8);--pill-color:var(--mer-border-color__primary);--pill-border-color:var(--mer-color__tinted-primary--50)}.pill--warning{--pill-background-color:var(--mer-color__tinted-yellow--5);--pill-color:var(--mer-border-color__warning);--pill-border-color:var(--mer-color__tinted-yellow--60)}.pill--error{--pill-background-color:var(--mer-color__tinted-red--5);--pill-color:var(--mer-border-color__error);--pill-border-color:var(--mer-color__tinted-red--60)}.pill--merged,.pill--reverted{--pill-background-color:var(--mer-color__tinted-green--5);--pill-color:var(--mer-border-color__success);--pill-border-color:var(--mer-color__tinted-green--60)}.pill--transitioning{--pill-color:transparent}.merging-spinner-caption{display:flex;align-items:center;gap:6px;--status-circle-color:transparent;--status-circle-size:$size;--status-circle-inset-inline-start:14px;--pill-color:var(--mer-border-color__primary)}.merging-spinner-caption::before{display:inline-block;content:\"\";width:14px;height:14px;border:calc(14px / 7) solid var(--mer-color__tinted-primary--50);border-top:calc(14px / 7) solid var(--mer-color__primary--300);border-radius:50%;animation:spin var(--mer-timing--regular) linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.tabular-grid .button-secondary{--control__padding-block:var(--pill-padding-block);--control__padding-inline:var(--pill-padding-inline);font-size:inherit;font-weight:inherit;}.tabular-grid .tabular-grid-cell--for-pill{--grid-cell__padding-block:4px;align-items:center;justify-content:center}.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(selector-label),.tabular-grid.disabled-custom-selector .tabular-grid-column::part(bar-selector),.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(actions-icon){pointer-events:none;opacity:0.5}.tabular-grid-column--settings-custom-selector,.tabular-grid-cell--settings-custom-selector{--grid-cell__padding-inline:0;--grid-cell__padding-block:0}.tabular-grid-cell::part(actions-icon){padding-block:6px}ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon){block-size:100%;display:block;background-size:14px;padding-inline:16px}.tabular-grid-cell.no-checkbox-custom-selector::part(selector-label){visibility:hidden}.tabular-grid-row-actions::part(window){background-color:var(--mer-surface__elevation--02) !important}.tabular-grid-row .tabular-grid-cell:nth-child(3){min-inline-size:400px}";
|
|
8
9
|
|
|
9
10
|
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
10
11
|
if (kind === "a" && !f)
|
|
@@ -22,7 +23,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
|
|
|
22
23
|
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
23
24
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
24
25
|
};
|
|
25
|
-
var _GxIdeTeamDevBringChanges_componentLocale, _GxIdeTeamDevBringChanges_commitLabel, _GxIdeTeamDevBringChanges_comboBoxStatesModel, _GxIdeTeamDevBringChanges_checkedObjectsIdsArray, _GxIdeTeamDevBringChanges_formatComments, _GxIdeTeamDevBringChanges_mergeCheckedClickedHandler, _GxIdeTeamDevBringChanges_mergeSingleObject, _GxIdeTeamDevBringChanges_renderActionCellContent, _GxIdeTeamDevBringChanges_renderCommitsNumbers, _GxIdeTeamDevBringChanges_renderFormatedDate, _GxIdeTeamDevBringChanges_renderObjectActions,
|
|
26
|
+
var _GxIdeTeamDevBringChanges_componentLocale, _GxIdeTeamDevBringChanges_commitLabel, _GxIdeTeamDevBringChanges_comboBoxStatesModel, _GxIdeTeamDevBringChanges_checkedObjectsIdsArray, _GxIdeTeamDevBringChanges_formatComments, _GxIdeTeamDevBringChanges_mergeCheckedClickedHandler, _GxIdeTeamDevBringChanges_mergeSingleObject, _GxIdeTeamDevBringChanges_renderActionCellContent, _GxIdeTeamDevBringChanges_renderCommitsNumbers, _GxIdeTeamDevBringChanges_renderFormatedDate, _GxIdeTeamDevBringChanges_renderObjectActions, _GxIdeTeamDevBringChanges_renderObjectStateWithIcon, _GxIdeTeamDevBringChanges_renderObjectsRows, _GxIdeTeamDevBringChanges_rowContextMenuHandler, _GxIdeTeamDevBringChanges_rowMarkingChangedHandler, _GxIdeTeamDevBringChanges_searchInputHandler, _GxIdeTeamDevBringChanges_stateChangedHandler, _GxIdeTeamDevBringChanges_updateMenuContextActions, _GxIdeTeamDevBringChanges_updateFilteredObjects;
|
|
26
27
|
const CSS_BUNDLES = [
|
|
27
28
|
"resets/box-sizing",
|
|
28
29
|
"components/tabular-grid",
|
|
@@ -177,7 +178,7 @@ const GxIdeTeamDevBringChanges$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeT
|
|
|
177
178
|
h("button", { type: "button", class: "button-tertiary", disabled: previewMergeDisabled }, __classPrivateFieldGet(this, _GxIdeTeamDevBringChanges_componentLocale, "f").objectActions.previewMerge)
|
|
178
179
|
];
|
|
179
180
|
});
|
|
180
|
-
|
|
181
|
+
_GxIdeTeamDevBringChanges_renderObjectStateWithIcon.set(this, (objectType, objectId) => {
|
|
181
182
|
if (objectType === "merging" || objectType === "reverting") {
|
|
182
183
|
return (h("span", { class: "merging-spinner-caption" }, this.operationType === "revert"
|
|
183
184
|
? __classPrivateFieldGet(this, _GxIdeTeamDevBringChanges_componentLocale, "f").states.reverting
|
|
@@ -194,10 +195,6 @@ const GxIdeTeamDevBringChanges$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeT
|
|
|
194
195
|
return (h("span", { class: classes }, __classPrivateFieldGet(this, _GxIdeTeamDevBringChanges_componentLocale, "f").states[objectType]));
|
|
195
196
|
}
|
|
196
197
|
});
|
|
197
|
-
_GxIdeTeamDevBringChanges_renderObjectType.set(this, (objectType) => {
|
|
198
|
-
const icon = objectType.icon;
|
|
199
|
-
return (h("span", { class: "custom-icon-text-wrapper" }, h("ch-image", { class: "icon-md", src: icon }), `${objectType.name}`));
|
|
200
|
-
});
|
|
201
198
|
_GxIdeTeamDevBringChanges_renderObjectsRows.set(this, () => {
|
|
202
199
|
return this.objectsFiltered.map(commitObject => {
|
|
203
200
|
const marked = this.markedObjectsSet.has(commitObject.id);
|
|
@@ -214,7 +211,7 @@ const GxIdeTeamDevBringChanges$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeT
|
|
|
214
211
|
return (h("ch-tabular-grid-row", { class: "tabular-grid-row", key: commitObject.id, rowid: commitObject.id, ref: (el) => marked && (el === null || el === void 0 ? void 0 : el.setAttribute("marked", "true")) }, h("ch-tabular-grid-cell", { "cell-type": "rich", "row-selector": "true", class: {
|
|
215
212
|
"tabular-grid-cell": true,
|
|
216
213
|
"no-checkbox-custom-selector": alreadyMerged
|
|
217
|
-
}, size: "max-content" }, commitObject.name), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" },
|
|
214
|
+
}, size: "max-content" }, commitObject.name), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, renderObjectTypeWithIcon(commitObject.type)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, commitObject.description), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, __classPrivateFieldGet(this, _GxIdeTeamDevBringChanges_renderActionCellContent, "f").call(this, commitObject.actionTaken)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell tabular-grid-cell--for-pill" }, __classPrivateFieldGet(this, _GxIdeTeamDevBringChanges_renderObjectStateWithIcon, "f").call(this, this.objectsStatesMap.get(commitObject.id), commitObject.id)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell tabular-grid-cell--settings-custom-selector", "cell-type": "rich", "row-actions": "true" }), errorOrWarningMessage && (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", { class: { "tabular-grid-rowset-empty": true, [state]: true } }, h("p", { class: "warning-error-description" }, h("ch-image", { class: "icon-md warning-error-icon", src: MESSAGE_ICON }), errorOrWarningMessage))))));
|
|
218
215
|
});
|
|
219
216
|
});
|
|
220
217
|
_GxIdeTeamDevBringChanges_rowContextMenuHandler.set(this, (event) => {
|
|
@@ -486,7 +483,7 @@ const GxIdeTeamDevBringChanges$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeT
|
|
|
486
483
|
"objectsStatesMap": ["objectsStatesMapChanged"],
|
|
487
484
|
"commitObjects": ["commitObjectsChanged"]
|
|
488
485
|
}]);
|
|
489
|
-
_GxIdeTeamDevBringChanges_componentLocale = new WeakMap(), _GxIdeTeamDevBringChanges_commitLabel = new WeakMap(), _GxIdeTeamDevBringChanges_comboBoxStatesModel = new WeakMap(), _GxIdeTeamDevBringChanges_checkedObjectsIdsArray = new WeakMap(), _GxIdeTeamDevBringChanges_formatComments = new WeakMap(), _GxIdeTeamDevBringChanges_mergeCheckedClickedHandler = new WeakMap(), _GxIdeTeamDevBringChanges_mergeSingleObject = new WeakMap(), _GxIdeTeamDevBringChanges_renderActionCellContent = new WeakMap(), _GxIdeTeamDevBringChanges_renderCommitsNumbers = new WeakMap(), _GxIdeTeamDevBringChanges_renderFormatedDate = new WeakMap(), _GxIdeTeamDevBringChanges_renderObjectActions = new WeakMap(),
|
|
486
|
+
_GxIdeTeamDevBringChanges_componentLocale = new WeakMap(), _GxIdeTeamDevBringChanges_commitLabel = new WeakMap(), _GxIdeTeamDevBringChanges_comboBoxStatesModel = new WeakMap(), _GxIdeTeamDevBringChanges_checkedObjectsIdsArray = new WeakMap(), _GxIdeTeamDevBringChanges_formatComments = new WeakMap(), _GxIdeTeamDevBringChanges_mergeCheckedClickedHandler = new WeakMap(), _GxIdeTeamDevBringChanges_mergeSingleObject = new WeakMap(), _GxIdeTeamDevBringChanges_renderActionCellContent = new WeakMap(), _GxIdeTeamDevBringChanges_renderCommitsNumbers = new WeakMap(), _GxIdeTeamDevBringChanges_renderFormatedDate = new WeakMap(), _GxIdeTeamDevBringChanges_renderObjectActions = new WeakMap(), _GxIdeTeamDevBringChanges_renderObjectStateWithIcon = new WeakMap(), _GxIdeTeamDevBringChanges_renderObjectsRows = new WeakMap(), _GxIdeTeamDevBringChanges_rowContextMenuHandler = new WeakMap(), _GxIdeTeamDevBringChanges_rowMarkingChangedHandler = new WeakMap(), _GxIdeTeamDevBringChanges_searchInputHandler = new WeakMap(), _GxIdeTeamDevBringChanges_stateChangedHandler = new WeakMap(), _GxIdeTeamDevBringChanges_updateMenuContextActions = new WeakMap(), _GxIdeTeamDevBringChanges_updateFilteredObjects = new WeakMap();
|
|
490
487
|
function defineCustomElement$1() {
|
|
491
488
|
if (typeof customElements === "undefined") {
|
|
492
489
|
return;
|