@genexus/genexus-ide-ui 1.1.61 → 1.1.63
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/{common-f2540d3e.js → common-51d68918.js} +1 -31
- package/dist/cjs/common-51d68918.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +111 -49
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +358 -266
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +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-progress-bar.cjs.entry.js +141 -0
- package/dist/cjs/gx-ide-progress-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/common/common.js +0 -21
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +1 -1
- package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.en.json +5 -0
- package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.ja.json +5 -0
- package/dist/collection/components/_helpers/progress-bar/gx-ide-assets/progress-bar/langs/progress-bar.lang.zh.json +5 -0
- package/dist/collection/components/_helpers/progress-bar/progress-bar.css +210 -0
- package/dist/collection/components/_helpers/progress-bar/progress-bar.js +320 -0
- package/dist/collection/components/_helpers/progress-bar/progress-bar.js.map +1 -0
- package/dist/collection/components/modules/edit-module-server/edit-module-server.css +30 -639
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js +179 -110
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
- package/dist/collection/components/modules/edit-module-server/gx-ide-assets/edit-module-server/shortcuts.json +15 -0
- package/dist/collection/components/modules/edit-module-server/helpers.js +12 -0
- package/dist/collection/components/modules/edit-module-server/helpers.js.map +1 -0
- package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +6 -2
- package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +6 -2
- package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +6 -2
- package/dist/collection/components/modules/manage-module-references/helpers.js +32 -0
- package/dist/collection/components/modules/manage-module-references/helpers.js.map +1 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +116 -789
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +378 -373
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
- package/dist/collection/components/team-dev/preview/team-dev-preview.css +1 -1
- package/dist/collection/components/team-dev/preview/team-dev-preview.js +1 -1
- package/dist/collection/components/team-dev/preview/team-dev-preview.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +1 -0
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/common.js +1 -30
- package/dist/components/common.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +118 -68
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-empty-state2.js +1 -1
- package/dist/components/gx-ide-empty-state2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +384 -291
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-progress-bar.d.ts +11 -0
- package/dist/components/gx-ide-progress-bar.js +8 -0
- package/dist/components/gx-ide-progress-bar.js.map +1 -0
- package/dist/components/gx-ide-team-dev-preview.js +2 -2
- package/dist/components/gx-ide-team-dev-preview.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +1 -1
- package/dist/components/progress-bar.js +166 -0
- package/dist/components/progress-bar.js.map +1 -0
- package/dist/esm/{common-b811a822.js → common-dc966e64.js} +2 -31
- package/dist/esm/common-dc966e64.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +112 -50
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +359 -267
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +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-progress-bar.entry.js +137 -0
- package/dist/esm/gx-ide-progress-bar.entry.js.map +1 -0
- package/dist/esm/gx-ide-splash.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-preview.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-preview.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- 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/edit-module-server/shortcuts.json +15 -0
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +6 -2
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +6 -2
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +6 -2
- package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.en.json +5 -0
- package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.ja.json +5 -0
- package/dist/genexus-ide-ui/gx-ide-assets/progress-bar/langs/progress-bar.lang.zh.json +5 -0
- package/dist/genexus-ide-ui/p-29ac6b13.entry.js +582 -0
- package/dist/genexus-ide-ui/p-29ac6b13.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-3a22af5d.entry.js +249 -0
- package/dist/genexus-ide-ui/p-3a22af5d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-45d9dcbc.entry.js +166 -0
- package/dist/genexus-ide-ui/p-45d9dcbc.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-84d39fc6.entry.js → p-5f7de718.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-84d39fc6.entry.js.map → p-5f7de718.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f5734cc7.entry.js → p-630581df.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d41d52f6.entry.js → p-70038e09.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-b5aadc8d.entry.js → p-8f2f8995.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ae33da9a.entry.js → p-9606ebed.entry.js} +19 -19
- package/dist/genexus-ide-ui/{p-ef6a6401.entry.js → p-966f80c1.entry.js} +15 -14
- package/dist/genexus-ide-ui/p-966f80c1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-97bbd54c.js +132 -0
- package/dist/genexus-ide-ui/p-97bbd54c.js.map +1 -0
- package/dist/types/common/common.d.ts +0 -2
- package/dist/types/components/_helpers/progress-bar/progress-bar.d.ts +61 -0
- package/dist/types/components/modules/edit-module-server/edit-module-server.d.ts +15 -30
- package/dist/types/components/modules/edit-module-server/helpers.d.ts +3 -0
- package/dist/types/components/modules/manage-module-references/helpers.d.ts +5 -0
- package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +43 -88
- package/dist/types/components.d.ts +109 -42
- package/package.json +1 -1
- package/dist/cjs/common-f2540d3e.js.map +0 -1
- package/dist/esm/common-b811a822.js.map +0 -1
- package/dist/genexus-ide-ui/p-67e3486a.entry.js +0 -498
- package/dist/genexus-ide-ui/p-67e3486a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-714b37c0.js +0 -159
- package/dist/genexus-ide-ui/p-714b37c0.js.map +0 -1
- package/dist/genexus-ide-ui/p-e13998a5.entry.js +0 -141
- package/dist/genexus-ide-ui/p-e13998a5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ef6a6401.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-f5734cc7.entry.js.map → p-630581df.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d41d52f6.entry.js.map → p-70038e09.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b5aadc8d.entry.js.map → p-8f2f8995.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ae33da9a.entry.js.map → p-9606ebed.entry.js.map} +0 -0
package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manage-module-references.js","sourceRoot":"","sources":["../../../../src/components/modules/manage-module-references/manage-module-references.tsx"],"names":[],"mappings":";;;;;;AAAA,qBAAqB;AACrB,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,KAAK,EACL,OAAO,EAEP,MAAM,EACN,KAAK,EACL,KAAK,EACN,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAkB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAU/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;CAC1B,CAAC;AAQF,MAAM,OAAO,wBAAwB;;QAO3B,sBAAiB,GAAG,KAAK,CAAC;QAIlC,+CAAc,WAAW,CAAC;YACxB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,cAAc;SAC1B,CAAC,EAAC;QACH,+CAAc,WAAW,CAAC;YACxB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ;SACf,CAAC,EAAC;QAuHH,qBAAqB;QAEb,iCAA4B,GAAG,CAAC,UAAwB,EAAE,EAAE;YAClE,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,kCAAkC,EAAE;gBACrE,iEAAiE;gBACjE,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;gBACpC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC1B,qEAAqE;oBACrE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC7B,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,mFAAmF;gBACnF,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC1B,MAAM,SAAS,GACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;oBAC3D,IAAI,SAAS,EAAE;wBACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACnE;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClE,CAAC,CAAC;QAEM,sCAAiC,GAAG,GAAqB,EAAE;YACjE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAC/B,IAAI,CAAC,cAAc,EACnB,QAAQ,CACW,CAAC;YACtB,OAAO,MAAM,IAAI,SAAS,CAAC;QAC7B,CAAC,CAAC;QAEF;;WAEG;QACK,eAAU,GAAG,CACnB,OAAe,EACf,QAAgB,EAChB,KAAsB,EAChB,EAAE;YACR,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,oBAAoB,qBAAQ,IAAI,CAAE,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QACvD,CAAC,CAAC;QAEF,sBAAsB;QAEtB;;WAEG;QACK,uBAAkB,GAAG,CAC3B,KAAoD,EACpD,EAAE;YACF,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACtC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,gBAAgB,CACrC,CAAC;YACF,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;aACnC;QACH,CAAC,CAAC;QAEF;;WAEG;QACK,kCAA6B,GAAG,KAAK,EAAE,EAAO,EAAE,MAAe,EAAE,EAAE;YACzE,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACtE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;gBACvC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;QACH,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;YAC7C,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBACrD,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAC5C,MAAM,EACN,MAAM,CACG,CAAC;oBACZ,OAAO,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;aACxC;QACH,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAAC,CAAsB,EAAE,EAAE;YAC7D,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF;;WAEG;QACK,iCAA4B,GAAG,KAAK,EAAE,MAAkB,EAAE,EAAE;YAClE,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC7D,MAAM,CAAC,EAAE,CACV,CAAC;gBACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACtD,IAAI,CAAC,gBAAgB,EACrB,MAAM,CAAC,EAAE,EACT,uBAAuB,EACvB,IAAI,CAAC,iCAAiC,EAAE,EACxC,IAAI,CAAC,UAAU,CAChB,CAAC;gBACF,IAAI,eAAe,EAAE;oBACnB,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;iBAClE;gBACD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;aACxC;QACH,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,IAAsB,EAAE,EAAE;YACvD,SAAS;YACT,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;aACxC;YACD,YAAY;iBACP,IAAI,IAAI,KAAK,WAAW,EAAE;gBAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAkB,EAAE,EAAE;oBACnE,8EAA8E;oBAC9E,OAAO,MAAM,CAAC,cAAc,CAAC;gBAC/B,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;gBAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAkB,EAAE,EAAE;oBACnE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAEM,mBAAc,GAAG,KAAK,EAAE,CAAa,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,yBAAyB,EAAE;gBAClC,MAAM,wBAAwB,GAC5B,CAAC,CAAC,MACH,CAAC,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,yBAAyB,CAAC;oBACnC,SAAS,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBAClC,OAAO,EAAE,wBAAwB,CAAC,CAAC;oBACnC,OAAO,EAAE,wBAAwB,CAAC,CAAC;iBACpC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,CACtB,MAAkB,EAClB,QAAiC,EACU,EAAE;YAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrE,IAAI,eAAe,CAAC;YACpB,IAAI,mBAAmB,CAAC;YACxB,IAAI,iBAAiB,EAAE;gBACrB,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CACpC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAC5C,CAAC;aACH;YACD,IAAI,eAAe,EAAE;gBACnB,mBAAmB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;aACjD;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,MAAkB,EAAE,EAAE,CAAC,GAAG,EAAE;YACzD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAY,EAAE;YACxC,OAAO,CACL,uBACE,gBAAgB,EAAC,QAAQ,EACzB,IAAI,EAAC,yBAAyB,EAC9B,KAAK,EAAC,uCAAuC,EAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAE3C,iCAA2B,KAAK,EAAC,yBAAyB;oBACxD,8BACE,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM;oBAE1B,8BACE,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,GACM;oBAC1B,8BACE,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAC,aAAa,GACM,CACA;gBAE3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAkB,EAAE,EAAE,CAAC,CAChD,2BACE,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE,MAAM,CAAC,EAAE,EAChB,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,QAAQ,EACN,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;oBAG7D,4BAAsB,KAAK,EAAC,mBAAmB;wBAC7C,gBACE,IAAI,EAAC,gBAAgB,iBACR,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAChD,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAC1C,IAAI,EAAC,OAAO,GACF,CACS;oBACvB,4BAAsB,KAAK,EAAC,0CAA0C;wBACpE,YAAM,KAAK,EAAC,wBAAwB,IACjC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAC9B;wBACP,YAAM,KAAK,EAAC,+BAA+B,IACxC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CACrC,CACc;oBAEvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7D,WAAK,KAAK,EAAC,gBAAgB;wBACzB,kBACE,QAAQ,EACN,CAAC,IAAI,CAAC,eAAe;gCACrB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,cAAc;gCACvD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,iBAAiB,EAE5D,GAAG,QACH,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAExC,IAAI,CAAC,iCAAiC,EAAE,CAC9B,CACT,CACP,CAAC,CAAC,CAAC,IAAI,CACa,CACH,CACvB,CAAC,CACc,CACnB,CAAC;QACJ,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAG,EAAE;YACrC,OAAO,CACL,0BACE,YAAY,EAAE,uBAAA,IAAI,4CAAY,EAC9B,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,GACrC,CACvB,CAAC;QACJ,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAAC,MAAkB,EAAS,EAAE;YAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,oBAAoB,GAAG,MAAM,CAAC,cAAc,CAAC;YACnD,IAAI,YAAY,KAAK,iBAAiB,IAAI,YAAY,KAAK,cAAc,EAAE;gBACzE,OAAO,SAAS,CAAC;aAClB;iBAAM,IAAI,CAAC,oBAAoB,EAAE;gBAChC,OAAO,0BAA0B,CAAC;aACnC;iBAAM;gBACL,OAAO,iBAAiB,CAAC;aAC1B;QACH,CAAC,CAAC;QAEF,uCAAuC;QAC/B,sBAAiB,GAAG,GAAG,EAAE;YAC/B,OAAO,CACL,iBAAW,IAAI,EAAC,mBAAmB,EAAC,IAAI,EAAC,UAAU;gBACjD,WAAK,KAAK,EAAC,mBAAmB,IAK3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAC5C,CACI,CACb,CAAC;QACJ,CAAC,CAAC;QAEM,gCAA2B,GAAG,GAAG,EAAE;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CACvC,IAAI,CAAC,cAAc,EACnB,gBAAgB,CACjB,CAAC;YACF,IAAI,cAAc,EAAE;gBAClB,OAAO,SAAG,KAAK,EAAC,4BAA4B,IAAE,cAAc,CAAK,CAAC;aACnE;QACH,CAAC,CAAC;QAEM,2BAAsB,GAAG,GAAG,EAAE;YACpC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YAC1D,IAAI,OAAO,CAAC;YACZ,IAAI,QAAQ,GAAG,+BAA+B,CAAC;YAC/C,IAAI,cAAc,EAAE;gBAClB,OAAO,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;gBACtG,QAAQ,IAAI,2CAA2C,CAAC;aACzD;iBAAM;gBACL,OAAO;oBACL,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,CAAC;aAC1E;YACD,OAAO,CACL,WAAK,KAAK,EAAE,QAAQ;gBAClB,gBAAU,IAAI,EAAC,qBAAqB,IAAE,OAAO,CAAY,CACrD,CACP,CAAC;QACJ,CAAC,CAAC;QAEM,sCAAiC,GAAG,CAAC,CAAmB,EAAE,EAAE;YAClE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC;QACM,qCAAgC,GAAG,CAAC,CAAmB,EAAE,EAAE;YACjE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC;QACM,gCAA2B,GAAG,CAAC,SAAiB,EAAE,EAAE;YAC1D,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACnE,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;QACH,CAAC,CAAC;QAEM,yBAAoB,GAAG,GAAG,EAAE;YAClC,OAAO,CACL,WAAK,IAAI,EAAC,oBAAoB;gBAC5B,qBACE,EAAE,EAAC,oBAAoB,0BAEvB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EACpD,IAAI,EAAC,iBAAiB,yEAGtB,KAAK,EACH,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB;yBACtD,iBAAiB,EAEtB,aAAa,EAAC,OAAO,EACrB,WAAW,QACX,cAAc,EAAE,IAAI,CAAC,iCAAiC,EACtD,QAAQ,EAAE,IAAI,CAAC,aAAa,IAE3B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACxC,0BACE,KAAK,EAAE,IAAI,CAAC,EAAE,EACd,cAAc,EAAE,IAAI,CAAC,gCAAgC,IAEpD,IAAI,CAAC,EAAE,CACW,CACtB,CAAC,CACY,CACZ,CACP,CAAC;QACJ,CAAC,CAAC;QAEM,iCAA4B,GAAG,CAAC,CAAsB,EAAE,EAAE;YAChE,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAqB,CAAC;YAC9D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAClC,CAKE,EACF,EAAE;YACF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAAC,CAAmB,EAAE,EAAE;YAC1D,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAG,EAAE;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,QAAQ;gBACR,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACrC,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,oFAAoF;QACtF,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC,CAAC;0BA5fkC,EAAE;+BAKG,EAAE;;;oCAGC;YAC1C,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,aAAa;SACrB;sCACsD,IAAI,GAAG,EAAE;+BACrC,IAAI;gCACH,IAAI;6BACC,CAAC;6BACQ,aAAa;6BAC9B,KAAK;+BACK,CAAC;4BAeJ,KAAK;uBAKU,EAAE;;;;;kCAyBF,KAAK;;IA9DpD,iBAAiB,CAAC,UAAwB;QACxC,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAiBD,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;SAC5B;IACH,CAAC;IA8CD,kCAAkC;IAElC,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CACnC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CACpC,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,gBAAgB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,iBAAiB;IAGjB,iBAAiB,CAAC,cAA4B;QAC5C,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IAC7C,CAAC;IAED,0BAA0B;IAE1B;;OAEG;IAEH,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAmZD,0BAA0B;IAE1B,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,kBAAkB,EAAE,IAAI;aACzB;YAED,gBAAU,KAAK,EAAE,WAAW,GAAa;YACzC,WAAK,KAAK,EAAC,qBAAqB;gBAC9B,wBACE,gBAAgB,QAChB,oBAAoB,QACpB,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,EAC1C,IAAI,EAAC,SAAS,EACd,cAAc,EACZ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;oBAIhE,YAAM,KAAK,EAAC,MAAM;wBAChB,WAAK,KAAK,EAAC,oBAAoB;4BAC7B,cAAQ,KAAK,EAAC,iBAAiB;gCAC7B,WAAK,KAAK,EAAC,0BAA0B;oCACnC,qBACG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CACjC;oCACZ,WAAK,KAAK,EAAC,gBAAgB;wCACzB,qBACE,aAAa,QACb,cAAc,EAAE,IAAI,CAAC,yBAAyB,IAE7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACxB,0BACE,KAAK,EAAE,IAAI,CAAC,EAAE,EACd,cAAc,EAAE,IAAI,CAAC,yBAAyB,IAE7C,IAAI,CAAC,IAAI,CACS,CACtB,CAAC,CACY;wCACf,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACzB,YAAM,KAAK,EAAC,0BAA0B;4CACpC,kBACE,IAAI,EAAC,qBAAqB,EAC1B,IAAI,EAAC,mCAAmC,EACxC,OAAO,EAAE,IAAI,CAAC,cAAc,GAChB,CACT,CACR,CAAC,CAAC,CAAC,IAAI;wCACR,kBACE,IAAI,EAAC,qBAAqB,EAC1B,IAAI,EAAC,oBAAoB,EACzB,OAAO,EAAE,IAAI,CAAC,YAAY,GACd,CACV,CACF,CACC;4BAET,WAAK,KAAK,EAAC,eAAe;gCACxB,WAAK,KAAK,EAAC,sBAAsB;oCAC/B,qBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAClD,aAAa,EAAC,OAAO,EACrB,WAAW,EAAE,KAAK,EAClB,cAAc,EAAE,IAAI,CAAC,yBAAyB,EAC9C,QAAQ,EAAE,IAAI,CAAC,aAAa,GACb;oCACjB,6BACE,OAAO,QACP,SAAS,QACT,KAAK,EAAC,kBAAkB,EACxB,uBAAuB,EACrB,IAAI,CAAC,4BAA4B;wCAGnC,kBACE,EAAE,EAAC,YAAY,EACf,QAAQ,QACR,QAAQ,EAAE,IAAI,CAAC,aAAa,IAE3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAC3C;wCACb,kBACE,EAAE,EAAC,eAAe,EAClB,QAAQ,EAAE,IAAI,CAAC,aAAa,IAG1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB;6CAC3C,SAAS,CAEH;wCACb,kBACE,EAAE,EAAC,aAAa,EAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,IAE3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAC5C,CACS,CACpB;gCAEN,WACE,KAAK,EAAC,gBAAgB,EACtB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAoB,CAAC,IAErD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;oCAC9B,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE;oCAC1B,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAC9B,CACF,CACF;wBAGL,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACrB,WAAK,KAAK,EAAC,aAAa;4BACtB,cAAQ,KAAK,EAAC,qBAAqB;gCAChC,IAAI,CAAC,iBAAiB,EAAE;gCACxB,IAAI,CAAC,sBAAsB,EAAE;gCAC7B,IAAI,CAAC,oBAAoB,EAAE;gCAE3B,IAAI,CAAC,2BAA2B,EAAE,CAC5B;4BACT,WAAK,KAAK,EAAC,uCAAuC,IAC/C,0BAA0B,CACzB,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,cAAc,EACnB,YAAY,CACW,CAC1B,CACG,CACF,CACP,CAAC,CAAC,CAAC,CACF,0BACE,KAAK,EAAC,6BAA6B,EACnC,YAAY,EAAE,uBAAA,IAAI,4CAAY,EAC9B,UAAU,EACR,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAE3D,gBAAgB,EACd,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,UAAU;iCAChD,WAAW,GAEI,CACvB,CACI;oBAEP,yBACE,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,cAAc,EACnB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,QACR,OAAO,EACL,IAAI,CAAC,oBAAoB,CAAC,OAAO;4BACjC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,cAAc,EAElD,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,gBAAgB,EACvD,SAAS,EAAC,cAAc,EACxB,cAAc,EAAE,IAAI,CAAC,uBAAuB,GACzB,CACJ,CACf;YACN,sBACE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAClD,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAA6B,CAAC,EAC1D,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,YAAY,EAAC,WAAW,GACR,CACb,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModulePropertyData,\n ModuleVersionData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\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-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* selectedServerIdOnModulesAllUpdate is updated every time modulesAll is modified, in order to determine if the server is the same or not.*/\n private selectedServerIdOnModulesAllUpdate: string;\n\n #filterIcon = getIconPath({\n category: \"system\",\n name: \"filters\",\n colorType: \"on-elevation\"\n });\n #moduleIcon = getIconPath({\n category: \"objects\",\n name: \"module\"\n });\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private serversDetail!: HTMLDivElement;\n\n // 3.STATE() VARIABLES //\n\n @State() modulesAll: ModuleData[] = [];\n @Watch(\"modulesAll\")\n modulesAllWatcher(modulesAll: ModuleData[]) {\n this.updateModulesSelectedVersion(modulesAll);\n }\n @State() filteredModules: ModuleData[] = [];\n @State() selectedModule: ModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() modulesSelectedVersion: Map<string, string> = new Map();\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n @State() loadingServer = false;\n @State() reRenderCounter: number = 0;\n @Watch(\"loadingServer\")\n loadingServerHandler(loading: boolean) {\n if (loading) {\n this.loaderEl.show = true;\n } else {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback: ExecuteActionCallback;\n\n /**\n * Callback invoked when Add button is clicked\n */\n @Prop() readonly addServerCallback: AddServerCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback, if we do not implement the commands in a first version\n */\n @Prop() readonly showServerCommands: boolean = false;\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() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n // 7.LISTENERS //\n\n @Watch(\"modulesAll\")\n onPropValueChange(newModulesData: ModuleData[]) {\n this.filteredModules = [...newModulesData];\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * validate\n */\n @Method()\n async validate(): Promise<boolean> {\n return true;\n }\n\n // 9.LOCAL METHODS //\n\n private updateModulesSelectedVersion = (modulesAll: ModuleData[]) => {\n if (this.selectedServerId !== this.selectedServerIdOnModulesAllUpdate) {\n // the server has changed. clear the updateModulesSelectedVersion\n this.modulesSelectedVersion.clear();\n modulesAll.forEach(module => {\n // this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n this.modulesSelectedVersion.set(\n module.id,\n module.versions[module.versions.length - 1].id\n );\n });\n } else {\n // the server has't changed. only add the module to the map, if it is a new module.\n modulesAll.forEach(module => {\n const newModule =\n this.modulesSelectedVersion.get(module.id) === undefined;\n if (newModule) {\n this.modulesSelectedVersion.set(module.id, module.versions[0].id);\n }\n });\n }\n this.selectedServerIdOnModulesAllUpdate = this.selectedServerId;\n };\n\n private getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const action = this.getModuleData(\n this.selectedModule,\n \"action\"\n ) as ModuleActionType;\n return action || \"install\";\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n private onProgress = (\n message: string,\n progress: number,\n state: topStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n // 10.LOCAL METHODS //\n\n /**\n * Used for changing the selected module\n */\n private handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n const selectedModuleId = event.detail.rowsId[0];\n const foundModule = this.modulesAll.find(\n item => item.id === selectedModuleId\n );\n if (foundModule) {\n this.selectedModule = foundModule;\n }\n };\n\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (id: any, reload: boolean) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id, reload);\n this.selectedServerId = id;\n this.modulesAll = [...resolvedObjects];\n this.filterModulesByType(\"browse\");\n this.selectedModule = this.filteredModules[0];\n this.loadingServer = false;\n }\n };\n\n private handleFilterChange = (value: string) => {\n value = value.trim().toLowerCase();\n if (value) {\n this.filteredModules = this.modulesAll.filter(module => {\n const selectedVersionName = this.getModuleData(\n module,\n \"name\"\n ) as string;\n return selectedVersionName?.toLowerCase().includes(value);\n });\n } else {\n this.filteredModules = this.modulesAll;\n }\n };\n\n private handleFilterChangeHandler = (e: CustomEvent<string>) => {\n const value = e.detail;\n return this.handleFilterChange(value);\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n private executeActionCallbackHandler = async (module: ModuleData) => {\n if (this.executeActionCallback) {\n const moduleSelectedVersionId = this.modulesSelectedVersion.get(\n module.id\n );\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n this.getActionFromCurrentModuleVersion(),\n this.onProgress\n );\n if (actionCompleted) {\n this.serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n this.actionCompleted = actionCompleted;\n }\n };\n\n private filterModulesByType = (type: ModuleFilterType) => {\n // browse\n if (type === \"browse\") {\n this.filteredModules = this.modulesAll;\n }\n // installed\n else if (type === \"installed\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n // if the module has a currentVersion (not undefined) it means it is installed\n return module.currentVersion;\n });\n } else if (type === \"updates\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n return module.versions.find(version => version.action === \"update\");\n });\n }\n };\n\n private showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n private getModuleData = (\n module: ModuleData,\n dataType: keyof ModuleVersionData\n ): string | ModulePropertyData[] | undefined => {\n const selectedVersionId = this.modulesSelectedVersion.get(module.id);\n let selectedVersion;\n let selectedVersionData;\n if (selectedVersionId) {\n selectedVersion = module.versions.find(\n version => version.id === selectedVersionId\n );\n }\n if (selectedVersion) {\n selectedVersionData = selectedVersion[dataType];\n }\n return selectedVersionData;\n };\n\n private moduleActionHandler = (module: ModuleData) => () => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n };\n\n private renderModulesGrid = (): Element => {\n return (\n <ch-tabular-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"min-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredModules.map((module: ModuleData) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <gxg-icon\n type=\"objects/module\"\n data-action={this.moduleVersionIconColor(module)}\n color={this.moduleVersionIconColor(module)}\n size=\"small\"\n ></gxg-icon>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell grid-cell-module__info\">\n <span class=\"grid-cell-module__name\">\n {this.getModuleData(module, \"name\")}\n </span>\n <span class=\"grid-cell-module__description\">\n {this.getModuleData(module, \"description\")}\n </span>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.selectedModule && this.selectedModule.id === module.id ? (\n <div class=\"button-wrapper\">\n <gxg-button\n disabled={\n !this.actionCompleted ||\n this.getModuleData(module, \"action\") === \"incompatible\" ||\n this.getModuleData(module, \"action\") === \"not-installable\"\n }\n fit\n part=\"module-action\"\n onClick={this.moduleActionHandler(module)}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n </div>\n ) : null}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderEmptyStateModules = () => {\n return (\n <gx-ide-empty-state\n stateIconSrc={this.#filterIcon}\n stateTitle={this._componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n private moduleVersionIconColor = (module: ModuleData): Color => {\n const moduleAction = this.getModuleData(module, \"action\");\n const moduleCurrentVersion = module.currentVersion;\n if (moduleAction === \"not-installable\" || moduleAction === \"incompatible\") {\n return \"warning\";\n } else if (!moduleCurrentVersion) {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n };\n\n /* module details/information renders*/\n private renderVersionName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n {/* <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(this.selectedModule)}\n ></gxg-icon> */}\n {this.getModuleData(this.selectedModule, \"name\")}\n </div>\n </gxg-title>\n );\n };\n\n private renderVersionWarningMessage = () => {\n const warningMessage = this.getModuleData(\n this.selectedModule,\n \"warningMessage\"\n );\n if (warningMessage) {\n return <p class=\"module-info__alert-message\">{warningMessage}</p>;\n }\n };\n\n private renderInstalledVersion = () => {\n const currentVersion = this.selectedModule.currentVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentVersion) {\n caption = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${currentVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{caption}</gxg-text>\n </div>\n );\n };\n\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail;\n this.updateSelectedModuleVersion(versionId);\n };\n private moduleVersionsItemChangedHandler = (e: CustomEvent<any>) => {\n const versionId = e.detail.value;\n this.updateSelectedModuleVersion(versionId);\n };\n private updateSelectedModuleVersion = (versionId: string) => {\n if (versionId) {\n this.modulesSelectedVersion.set(this.selectedModule.id, versionId);\n this.reRenderCounter++;\n }\n };\n\n private renderModuleVersions = () => {\n return (\n <div part=\"available-versions\">\n <gxg-combo-box\n id=\"versions-combo-box\"\n disable-filter\n value={this.getModuleData(this.selectedModule, \"id\")}\n part=\"module-versions\"\n display-validation-styles\n display-validation-message\n label={\n this._componentLocale.modulesInformation.moduleProperties\n .availableVersions\n }\n labelPosition=\"start\"\n centerLabel\n onValueChanged={this.moduleVersionsValueChangedHandler}\n disabled={this.loadingServer}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.moduleVersionsItemChangedHandler}\n >\n {item.id}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n </div>\n );\n };\n\n private selectedButtonChangedHandler = (e: CustomEvent<string>) => {\n const type = e.detail.replace(\"btn-\", \"\") as ModuleFilterType;\n this.filterModulesByType(type);\n };\n\n private serverItemSelectedHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n const serverId = e.detail.value;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private progressBarCloseHandler = () => {\n setTimeout(() => {\n this.actionCompleted = true;\n this.closeProgressBar = true;\n // reset\n this.progressValue = 0;\n this.progressState = \"in-progress\";\n }, 400);\n // delay to force the footer line disappear after the top-state-bar has been closed.\n };\n\n private reloadServer = () => {\n this.serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n part=\"servers\"\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* Servers*/}\n <main class=\"main\">\n <div class=\"modules__container\">\n <header class=\"modules__header\">\n <div class=\"modules__combo-container\">\n <gxg-label>\n {this._componentLocale.modules.selectServer}\n </gxg-label>\n <div class=\"modules__combo\">\n <gxg-combo-box\n disableFilter\n onValueChanged={this.serverValueChangedHandler}\n >\n {this.servers.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.serverItemSelectedHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n {this.showServerCommands ? (\n <span class=\"modules__server-commands\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n </span>\n ) : null}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.reloadServer}\n ></gxg-button>\n </div>\n </div>\n </header>\n\n <div class=\"modules__main\">\n <div class=\"modules__main-header\">\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={this.handleFilterChangeHandler}\n disabled={this.loadingServer}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={\n this.selectedButtonChangedHandler\n }\n >\n <gxg-button\n id=\"btn-browse\"\n selected\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.browse}\n </gxg-button>\n <gxg-button\n id=\"btn-installed\"\n disabled={this.loadingServer}\n >\n {\n this._componentLocale.modules.buttonsContainer\n .installed\n }\n </gxg-button>\n <gxg-button\n id=\"btn-updates\"\n disabled={this.loadingServer}\n >\n {this._componentLocale.modules.buttonsContainer.updates}\n </gxg-button>\n </gxg-buttons-container>\n </div>\n {/* modules grid*/}\n <div\n class=\"grid-container\"\n ref={el => (this.serversDetail = el as HTMLDivElement)}\n >\n {this.filteredModules.length > 0\n ? this.renderModulesGrid()\n : this.renderEmptyStateModules()}\n </div>\n </div>\n </div>\n\n {/* Module version information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderVersionName()}\n {this.renderInstalledVersion()}\n {this.renderModuleVersions()}\n {/* {this.renderNotInstallable()} */}\n {this.renderVersionWarningMessage()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(\n this.getModuleData(\n this.selectedModule,\n \"properties\"\n ) as ModulePropertyData[]\n )}\n </div>\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={this.#moduleIcon}\n stateTitle={\n this._componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this._componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </main>\n {/* Top State Bar*/}\n <gxg-top-state-bar\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n noBorder\n caption={\n this.selectedModuleAction.message ||\n this._componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n closeType=\"not-progress\"\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.servers.loading}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n container={this.serversDetail}\n borderRadius=\"0 0 0 8px\"\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\n\nexport type AddServerCallback = () => Promise<void>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: topStateBarType;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"manage-module-references.js","sourceRoot":"","sources":["../../../../src/components/modules/manage-module-references/manage-module-references.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Watch,\n Listen\n} from \"@stencil/core\";\n// Other Libraries\nimport {\n ComboBoxModel,\n TabularGridSelectionChangedEvent,\n SegmentedControlModel\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n// Custom Imports\nimport { TopStateBarType } from \"../../../components\";\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModuleVersionData\n} from \"../types\";\nimport {\n mapModuleServerDataToComboBoxModel,\n mapModuleVersionDataToComboBoxModel,\n renderModuleDataProperties\n} from \"./helpers\";\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\nimport { hiChar } from \"../../../common/helpers\";\nimport { ComboBoxItemValue } from \"@genexus/gemini\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/icon\",\n \"components/combo-box\",\n \"components/edit\",\n \"components/tabular-grid\",\n \"components/segmented-control\",\n \"chameleon/scrollbar\",\n \"utils/spacing\"\n];\n\n// icons\nconst SHOW_MORE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\nconst MODULE_ICON = getIconPath({\n category: \"objects\",\n name: \"module\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"system\",\n name: \"filters\",\n colorType: \"on-elevation\"\n});\nconst MVS = \"__\"; // The separator between module-id, and module-version-id\n\n@Component({\n tag: \"gx-ide-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n #componentLocale: any;\n\n /**\n * #moduleVersionsMap maps a module version (identified as module-id + version-id), with the ModuleVersionData\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #moduleVersionsMap: ModulesVersionsMap = new Map();\n\n /**\n * maps a module-id, with the module current installed version, and the list of versions as a ComboBoxModel representation.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #modulesMap: ModulesMap = new Map();\n\n // #modulesJustFetched is used to select the current module on componentDidRender\n #modulesJustFetched: boolean = false;\n #searchModulesFilterValue: string;\n #modulesGrid: HTMLChTabularGridElement;\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n #progressBarEl: HTMLGxIdeProgressBarElement;\n\n @State() actionInProgress = false;\n @State() executeActionCallbackInProgress = false;\n @State() filteredModules: ModuleData[] = [];\n @State() loadingServer = false;\n\n @State() modulesAll: ModuleData[] = [];\n @Watch(\"modulesAll\")\n modulesAllChanged(newModules: ModuleData[]) {\n let currentSelectedVersion: string;\n if (this.selectedModuleId) {\n // If this.selectedModuleId has a value, serverSelectedCallback was called\n // but the server is the same. This occurs when a user action (e.g., install\n // or restore) requires modules to update. The selected module and version\n // remain unchanged. We must save the current version before #clearAll().\n currentSelectedVersion = this.#modulesMap.get(\n this.selectedModuleId\n ).currentSelectedVersion;\n }\n\n this.#clearAll();\n newModules.forEach(module => {\n let currentSelectedVersionValue = module.versions[0].id;\n if (currentSelectedVersion && this.selectedModuleId === module.id) {\n currentSelectedVersionValue = currentSelectedVersion;\n currentSelectedVersion === undefined; // found. prevent the if in the following iteration.\n }\n\n // fulfill #modulesMap\n const moduleVersionsComboBoxModel = mapModuleVersionDataToComboBoxModel(\n module.versions\n );\n this.#modulesMap.set(module.id, {\n moduleData: module,\n currentInstalledVersion: module.currentVersion,\n currentSelectedVersion: currentSelectedVersionValue,\n comboBoxVersionsModel: moduleVersionsComboBoxModel\n });\n\n // fulfill #moduleVersionsMap.\n module.versions.forEach(version => {\n const moduleVersionCombinedId = `${module.id}${MVS}${version.id}`;\n this.#moduleVersionsMap.set(moduleVersionCombinedId, {\n id: version.id,\n action: version.action,\n description: version.description,\n properties: version.properties,\n name: version.name,\n warningMessage: version.warningMessage\n });\n });\n });\n\n this.#modulesJustFetched = true;\n this.#filterModules();\n }\n\n @State() progressState: TopStateBarType = \"in-progress\";\n @State() progressValue: number = 0;\n @State() reRenderCounter: number = 0;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() selectedModuleId: string;\n @State() selectedModuleType: ModuleFilterType = \"browse\";\n @State() selectedServerId: string;\n @State() selectedServerValue: string;\n // serversComboBoxModel is a model representation of the servers ModuleServerData[]\n @State() serversComboBoxModel: ComboBoxModel = [];\n @State() selectedModuleVersions: ComboBoxModel = [];\n #segmentedControlModel: SegmentedControlModel = [];\n\n /**\n * If true, the progress bar will close automatically once the progress has reached 100%.\n */\n @Prop() readonly autoCloseProgressBar: boolean = false;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback!: ExecuteActionCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n @Watch(\"servers\")\n serversChanged(newServers: ModuleServerData[]) {\n if (newServers.length) {\n this.serversComboBoxModel =\n mapModuleServerDataToComboBoxModel(newServers);\n this.selectedServerValue = this.serversComboBoxModel[0].value;\n }\n }\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback\n */\n @Prop() readonly showServerCommands: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.serversChanged(this.servers); // map ModuleServerData to ComboBoxModel\n\n this.#segmentedControlModel = [\n {\n id: \"browse\",\n caption: this.#componentLocale.modules.buttonsContainer.browse\n },\n {\n id: \"installed\",\n caption: this.#componentLocale.modules.buttonsContainer.installed\n },\n {\n id: \"updates\",\n caption: this.#componentLocale.modules.buttonsContainer.updates\n }\n ];\n }\n\n async componentDidLoad() {\n await this.#serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n componentDidRender() {\n if (this.#modulesJustFetched && this.selectedModuleId) {\n // set selected module as selected on the grid after server reload.\n this.#modulesGrid.selectRow(this.selectedModuleId, true);\n this.#modulesJustFetched = false;\n }\n }\n\n @Listen(\"progressBarClosed\")\n progressBarClosedHandler() {\n // set it to false, to fire a re-render the next time the progress-bar is active.\n this.actionInProgress = false;\n }\n\n #clearAll = () => {\n this.#modulesMap.clear();\n this.#moduleVersionsMap.clear();\n };\n\n #filterModules = () => {\n let filteredModules;\n // 1. Filter by type first\n // browse\n if (this.selectedModuleType === \"browse\") {\n filteredModules = this.modulesAll;\n }\n // installed\n else if (this.selectedModuleType === \"installed\") {\n filteredModules = this.modulesAll.filter((module: ModuleData) => {\n // if the module has a currentVersion (not undefined) it means it is installed\n return module.currentVersion;\n });\n } else if (this.selectedModuleType === \"updates\") {\n filteredModules = this.modulesAll.filter((module: ModuleData) => {\n return module.versions.find(version => version.action === \"update\");\n });\n }\n\n // 2. Then filter by user input\n if (this.#searchModulesFilterValue) {\n filteredModules = filteredModules.filter(module => {\n const moduleSelectedVersion = this.#moduleVersionsMap.get(\n `${module.id}${MVS}${\n this.#modulesMap.get(module.id).currentSelectedVersion\n }`\n );\n const moduleSelectedVersionName =\n moduleSelectedVersion.name.toLowerCase();\n const moduleSelectedVersionDescription =\n moduleSelectedVersion.description.toLowerCase();\n\n return (\n moduleSelectedVersionName?.includes(this.#searchModulesFilterValue) ||\n moduleSelectedVersionDescription?.includes(\n this.#searchModulesFilterValue\n )\n );\n });\n }\n\n this.filteredModules = filteredModules;\n };\n\n #getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const action = this.#moduleVersionsMap.get(\n `${this.selectedModuleId}${MVS}${\n this.#modulesMap.get(this.selectedModuleId).currentSelectedVersion\n }`\n ).action;\n return action || \"install\";\n };\n\n #handleFilterChangeHandler = (event: CustomEvent<string> | InputEvent) => {\n const searchValue = (event.detail as string).trim().toLowerCase();\n this.#searchModulesFilterValue = searchValue;\n this.#filterModules();\n };\n\n #handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedModuleId = event.detail.rowsId[0];\n\n // update selected versions comboBox model\n const selectedModuleVersionsInfoArray = this.#modulesMap.get(\n this.selectedModuleId\n ).comboBoxVersionsModel;\n\n this.selectedModuleVersions = selectedModuleVersionsInfoArray.map(\n versionInfo => {\n return {\n caption: versionInfo.value,\n value: versionInfo.value\n } as ComboBoxItemValue;\n }\n );\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #moduleActionHandler = (module: ModuleData) => async () => {\n await this.#progressBarEl.reset(); // sets the progress bar to 0\n this.executeActionCallbackInProgress = true;\n this.actionInProgress = true;\n\n const moduleSelectedVersionId = this.#modulesMap.get(\n this.selectedModuleId\n ).currentSelectedVersion;\n\n const actionSuccessful = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n this.#getActionFromCurrentModuleVersion(),\n this.#onProgress\n );\n this.executeActionCallbackInProgress = false;\n if (actionSuccessful) {\n this.#serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n };\n\n #moduleTypeButtonClicked = (event: CustomEvent<string>): void => {\n this.selectedModuleType = event.detail as ModuleFilterType;\n this.#filterModules();\n };\n\n #moduleVersionsValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n const versionId = event.detail;\n const currentModuleMapValue = this.#modulesMap.get(this.selectedModuleId);\n currentModuleMapValue.currentSelectedVersion = versionId.toString();\n this.#modulesMap.set(this.selectedModuleId, currentModuleMapValue);\n this.reRenderCounter++;\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #onProgress = (\n message: string,\n progress: number,\n state: TopStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n #progressBarCloseHandler = () => {};\n\n #reloadServer = () => {\n this.#serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n\n #renderEmptyStateModules = (): HTMLGxIdeEmptyStateElement => {\n return (\n <gx-ide-empty-state\n isAnimated={true}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n #renderInstalledVersion = () => {\n const currentInstalledVersion = this.#modulesMap.get(\n this.selectedModuleId\n ).currentInstalledVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentInstalledVersion) {\n caption = `${\n this.#componentLocale.modulesInformation.moduleProperties.installed\n }: ${currentInstalledVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this.#componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <p class=\"body-regular-m\">{caption}</p>\n </div>\n );\n };\n\n #renderModuleVersions = () => {\n const currentSelectedModule = this.#modulesMap.get(this.selectedModuleId);\n const selectedVersionValue = currentSelectedModule.currentSelectedVersion;\n const moduleSelectedVersion = this.#moduleVersionsMap.get(\n `${this.selectedModuleId}${MVS}${\n this.#modulesMap.get(this.selectedModuleId).currentSelectedVersion\n }`\n );\n const moduleSelectedVersionAction = moduleSelectedVersion.action;\n\n return (\n <div class=\"field field-block available-versions\">\n <label class=\"label\" htmlFor=\"available-versions\">\n {this.#componentLocale.availableVersions}\n </label>\n <div class=\"buttons-spacer combo-and-button\">\n <ch-combo-box-render\n id=\"available-versions\"\n class=\"combo-box versions\"\n value={selectedVersionValue}\n onInput={this.#moduleVersionsValueChangedHandler}\n disabled={this.loadingServer}\n model={this.selectedModuleVersions}\n ></ch-combo-box-render>\n <button\n class=\"button-primary button-status\"\n disabled={\n this.executeActionCallbackInProgress ||\n moduleSelectedVersionAction === \"incompatible\" ||\n moduleSelectedVersionAction === \"not-installable\"\n }\n onClick={this.#moduleActionHandler(\n currentSelectedModule.moduleData\n )}\n >\n {this.#getActionFromCurrentModuleVersion()}\n </button>\n </div>\n </div>\n );\n };\n\n #renderModulesGrid = (): Element => {\n return (\n <ch-tabular-grid\n // TODO: Evaluate if the tabular-grid is the right tool for this job.\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid scrollable\"\n onSelectionChanged={this.#handleModuleChange}\n ref={el => (this.#modulesGrid = el as HTMLChTabularGridElement)}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredModules.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredModules.map((module: ModuleData) => {\n const moduleIsInstalled = module.currentVersion;\n\n const moduleSelectedVersion = this.#moduleVersionsMap.get(\n `${module.id}${MVS}${\n this.#modulesMap.get(module.id).currentSelectedVersion\n }`\n );\n\n const moduleSelectedVersionName = moduleSelectedVersion.name;\n const moduleSelectedVersionDescription =\n moduleSelectedVersion.description;\n\n return (\n <ch-tabular-grid-row\n // TODO: Replace tabular grid with other control, since it does not makes sense to use a grid with only one column.\n class=\"tabular-grid-row\"\n rowid={module.id}\n key={module.id}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <div class=\"module-grid-item-info field-group\">\n <ch-image\n class=\"icon-md module-icon\"\n src={MODULE_ICON}\n disabled={!moduleIsInstalled}\n ></ch-image>\n <div class=\"field field-block\">\n <h6 class=\"subtitle-semi-bold-xs\">\n {hiChar(\n moduleSelectedVersionName,\n this.#searchModulesFilterValue\n )}\n </h6>\n\n <p class=\"body-regular-s\">\n {hiChar(\n moduleSelectedVersionDescription,\n this.#searchModulesFilterValue\n )}\n </p>\n </div>\n </div>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n );\n })}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {this.#renderEmptyStateModules()}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n /* module details/information renders*/\n #renderVersionName = (): HTMLElement => {\n const moduleSelectedVersion = this.#moduleVersionsMap.get(\n `${this.selectedModuleId}${MVS}${\n this.#modulesMap.get(this.selectedModuleId).currentSelectedVersion\n }`\n );\n\n const selectedModule = this.#modulesMap.get(this.selectedModuleId);\n const moduleIsInstalled = selectedModule.currentInstalledVersion;\n\n return (\n <div class=\"module-info__title\">\n <ch-image\n class=\"icon-md module-info__icon\"\n src={MODULE_ICON}\n disabled={!moduleIsInstalled}\n ></ch-image>\n <h6 class=\"subtitle-semi-bold-xs\">{moduleSelectedVersion.name}</h6>\n </div>\n );\n };\n\n #renderVersionWarningMessage = () => {\n const moduleVersionWarningMessage = this.#moduleVersionsMap.get(\n `${this.selectedModuleId}${MVS}${\n this.#modulesMap.get(this.selectedModuleId).currentSelectedVersion\n }`\n ).warningMessage;\n\n if (moduleVersionWarningMessage) {\n return (\n <p class=\"module-info__alert-message\">{moduleVersionWarningMessage}</p>\n );\n }\n };\n\n #serverSelectedCallbackHandler = async (id: any, reload: boolean) => {\n if (this.serverSelectedCallback) {\n this.selectedServerId = id;\n this.loadingServer = true;\n const resolvedObjects = await this.serverSelectedCallback(id, reload);\n this.modulesAll = [...resolvedObjects];\n this.loadingServer = false;\n }\n };\n\n #serverValueChangedHandler = (event: CustomEvent<string> | InputEvent) => {\n this.selectedModuleId = undefined; // clear selected module\n this.#searchModulesFilterValue = \"\"; // clear filter\n this.selectedModuleType = \"browse\"; // set \"browse\" as the default selected type\n const serverId = event.detail;\n this.#serverSelectedCallbackHandler(serverId, false);\n };\n\n #showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"main\">\n <div class=\"modules__container field-group\">\n <header class=\"modules__header field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"servers-list\">\n {this.#componentLocale.modules.selectServer}\n </label>\n <div class=\"modules__header-controls buttons-spacer\">\n <ch-combo-box-render\n // select server\n id=\"servers-list\"\n class=\"combo-box combo-box-servers\"\n model={this.serversComboBoxModel}\n value={this.selectedServerValue}\n disabled={this.loadingServer}\n onInput={this.#serverValueChangedHandler}\n ></ch-combo-box-render>\n\n <div\n // action buttons\n >\n {this.showServerCommands && (\n <button\n // server context menu button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#showModuleMenu}\n aria-label={this.#componentLocale.showServerMenu}\n title={this.#componentLocale.showServerMenu}\n >\n <ch-image\n src={SHOW_MORE_ICON}\n class=\"icon-md\"\n ></ch-image>\n </button>\n )}\n\n <button\n // reload server selected button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#reloadServer}\n aria-label={this.#componentLocale.reloadModules}\n title={this.#componentLocale.reloadModules}\n >\n <ch-image src={RESET_ICON} class=\"icon-md\"></ch-image>\n </button>\n </div>\n </div>\n </div>\n </header>\n\n <div\n // Modules main\n class=\"modules__main\"\n >\n <div class=\"modules__main-header\">\n <div\n // search modules\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"search-modules\">\n {this.#componentLocale.modules.searchModules}\n </label>\n <ch-edit\n class=\"input\"\n value={this.#searchModulesFilterValue}\n onInput={this.#handleFilterChangeHandler}\n disabled={this.loadingServer}\n ></ch-edit>\n </div>\n\n <div class=\"browse-modules\">\n <ch-segmented-control-render\n class=\"segmented-control-filled\"\n model={this.#segmentedControlModel}\n selectedId={this.selectedModuleType}\n onSelectedItemChange={this.#moduleTypeButtonClicked}\n ></ch-segmented-control-render>\n </div>\n </div>\n\n <div class=\"grid-or-loader-container\">\n {this.loadingServer ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.servers.loading}\n show={true}\n ></gx-ide-loader>\n ) : (\n this.#renderModulesGrid()\n )}\n </div>\n </div>\n </div>\n\n <div class=\"module-info field-group\">\n {this.selectedModuleId ? (\n [\n <header class=\"module-info__header\">\n {this.#renderVersionName()}\n {this.#renderInstalledVersion()}\n {this.#renderModuleVersions()}\n {this.#renderVersionWarningMessage()}\n </header>,\n <div class=\"module-info__properties scrollable\">\n <div class=\"module-info__properties-inner-wrapper\">\n {renderModuleDataProperties(\n this.#moduleVersionsMap.get(\n `${this.selectedModuleId}__${\n this.#modulesMap.get(this.selectedModuleId)\n .currentSelectedVersion\n }`\n ).properties\n )}\n </div>\n </div>\n ]\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={MODULE_ICON}\n stateTitle={\n this.#componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this.#componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </div>\n\n <footer class=\"footer\">\n <gx-ide-progress-bar\n class=\"border-block-start\"\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n caption={\n this.selectedModuleAction.message ||\n this.#componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={this.actionInProgress}\n closeType={this.autoCloseProgressBar ? \"auto-close\" : \"button\"}\n closedCallback={this.#progressBarCloseHandler}\n ref={el =>\n (this.#progressBarEl = el as HTMLGxIdeProgressBarElement)\n }\n ></gx-ide-progress-bar>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: TopStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: TopStateBarType;\n}\n\nexport type ModuleVersionsMap = Map<string, { value: string; caption: string }>;\nexport type ModulesMap = Map<string, ModuleMapValue>;\nexport type ModuleMapValue = {\n moduleData: ModuleData;\n currentInstalledVersion: string;\n currentSelectedVersion: string;\n comboBoxVersionsModel: ComboBoxModel;\n};\nexport type ModulesVersionsMap = Map<string, ModuleVersionData>;\n"]}
|
|
@@ -355,7 +355,7 @@ export class GxIdeTeamDevPreview {
|
|
|
355
355
|
isConfirmationInProcess = this.updatingChanges;
|
|
356
356
|
model = this.remoteChangesTreeViewModel;
|
|
357
357
|
}
|
|
358
|
-
return (h(Fragment, null, __classPrivateFieldGet(this, _GxIdeTeamDevPreview_renderReloadChangesButton, "f").call(this, type), !isLoading && !isConfirmationInProcess && (h("ch-tree-view-render", { checkbox: true, checked: true, class: "tree-view", model: model, toggleCheckboxes: true, onCheckedItemsChange: event => __classPrivateFieldGet(this, _GxIdeTeamDevPreview_checkedItemsChangeHandler, "f").call(this, event, type) }))));
|
|
358
|
+
return (h(Fragment, null, __classPrivateFieldGet(this, _GxIdeTeamDevPreview_renderReloadChangesButton, "f").call(this, type), !isLoading && !isConfirmationInProcess && (h("ch-tree-view-render", { checkbox: true, checked: true, class: "tree-view", model: model, toggleCheckboxes: true, onCheckedItemsChange: event => __classPrivateFieldGet(this, _GxIdeTeamDevPreview_checkedItemsChangeHandler, "f").call(this, event, type), expandableButton: "no" }))));
|
|
359
359
|
});
|
|
360
360
|
_GxIdeTeamDevPreview_renderConfirmButton.set(this, (type) => {
|
|
361
361
|
const isLocal = type === "local";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-dev-preview.js","sourceRoot":"","sources":["../../../../src/components/team-dev/preview/team-dev-preview.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ChEditCustomEvent,\n TabModel,\n TabSelectedItemInfo,\n TreeViewItemModelExtended,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n Component,\n Element,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\nimport { Locale } from \"../../../common/locale\";\nimport {\n Action,\n CommitCallback,\n CommitData,\n LoadLocalChangesCallback,\n LoadRemoteChangesCallback,\n ModifiedObject,\n ModifiedObjectData,\n ObjectState,\n UpdateCallback,\n UpdateData\n} from \"../version-control/common/types\";\n\nenum TeamDevEmptyState {\n NoKBOpen,\n NoConnectedKB,\n NoConnectedGXServer,\n NoLinkedVersion,\n FrozenVersion,\n None\n}\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\",\n \"components/tree-view\",\n \"components/tab\"\n];\n\nconst VERSION_ICON = getIconPath({\n category: \"system\",\n name: \"version\",\n colorType: \"on-surface\"\n});\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"success\"\n});\n\nconst EDITED_ICON = getIconPath({\n category: \"system\",\n name: \"edit\",\n colorType: \"warning\"\n});\n\nconst SUBTRACT_ICON = getIconPath({\n category: \"system\",\n name: \"substract\",\n colorType: \"error\"\n});\n\nconst REFRESH_ICON = getIconPath({\n category: \"system\",\n name: \"refresh\",\n colorType: \"primary\"\n});\n\nconst WARNING_ICON = getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n});\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"on-surface\"\n});\n\nconst LOADER_ICON = getIconPath({\n category: \"system\",\n name: \"loading\",\n colorType: \"primary\"\n});\n\nconst ERROR_ICON = getIconPath({\n category: \"system\",\n name: \"error\",\n colorType: \"on-surface\"\n});\n\nconst REMOTE_CHANGES_TAB = \"remote-changes-tab\";\nconst LOCAL_CHANGES_TAB = \"local-changes-tab\";\n\n@Component({\n tag: \"gx-ide-team-dev-preview\",\n styleUrl: \"team-dev-preview.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-preview\"]\n})\nexport class GxIdeTeamDevPreview {\n #componentLocale: any;\n #isPendingReloadLocalChanges: boolean = false;\n #isPendingReloadRemoteChanges: boolean = false;\n #commitData: CommitData;\n #updateData: UpdateData;\n #prevVersionName: string;\n #isTeamDevOptionsEnabled: boolean = false;\n #emptyStateConfig: { [key: string]: any } = {};\n\n @Element() el: HTMLGxIdeTeamDevPreviewElement;\n\n @State() loadingRemoteChanges: boolean = false;\n @State() loadingLocalChanges: boolean = true;\n @State() tabModel: TabModel = [];\n\n /**\n * Currently selected tab ID\n */\n @State() selectedTabId: string = LOCAL_CHANGES_TAB;\n\n /**\n * Number of pending commit changes\n */\n @State() pendingCommitChangesCount: number = 0;\n /**\n * Number of pending remote changes\n */\n @State() pendingRemoteChangesCount: number = 0;\n\n /**\n * Represents the tree view model for remote changes\n */\n @State() remoteChangesTreeViewModel: TreeViewModel = [];\n\n /**\n * Represents the tree view model for local changes\n */\n @State() localChangesTreeViewModel: TreeViewModel = [];\n\n /**\n * Represents the selected nodes ids from remote changes tree\n */\n @State() remoteChangesCheckedNodesIds: string[] = [];\n\n /**\n * Represents the selected nodes ids from local changes tree\n */\n @State() localChangesCheckedNodesIds: string[] = [];\n\n /**\n * Commit message entered by the user\n */\n @State() commitMessage: string = \"\";\n\n /**\n * Indicates if the commit process is ongoing\n */\n @State() committingChanges: boolean = false;\n\n /**\n * Indicates if the update process is ongoing\n */\n @State() updatingChanges: boolean = false;\n\n /**\n * Data required to render the Team Dev Preview\n */\n @Prop() readonly teamDevPreviewData: TeamDevPreviewData;\n @Watch(\"teamDevPreviewData\")\n async onTeamDevPreviewDataChanged() {\n const { versionName } = this.teamDevPreviewData;\n let versionChanged = false;\n\n this.#setTeamDevOptionsStatus();\n if (this.#prevVersionName !== versionName) {\n this.#prevVersionName = versionName;\n versionChanged = true;\n }\n\n if (this.#isTeamDevOptionsEnabled && versionChanged) {\n await this.reloadChanges(\"local\");\n await this.reloadChanges(\"remote\");\n }\n }\n\n /**\n * Invoked to return the list of remote changes\n */\n @Prop() readonly loadRemoteChangesCallback!: LoadRemoteChangesCallback;\n\n /**\n * Invoked to return the list of local changes\n */\n @Prop() readonly loadLocalChangesCallback!: LoadLocalChangesCallback;\n\n /**\n * Invoked when user starts the commit process\n */\n @Prop() readonly commitCallback!: CommitCallback;\n\n /**\n * Invoked when user starts the update process\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Invoked to open the full Team Dev dialog\n */\n @Prop() readonly openFullDialogCallback!: () => Promise<void>;\n\n /**\n * Invoked to share the knowledge base to the server\n */\n @Prop() readonly shareKBToServerCallback!: () => Promise<void>;\n\n /**\n * Invoked to create a knowledge base from the server\n */\n @Prop() readonly createKBFromServerCallback!: () => Promise<void>;\n\n /**\n * Invoked to open the Team Development information\n */\n @Prop() readonly openTeamDevInfoCallback!: () => Promise<void>;\n\n /**\n * Invoked to reconnect to GeneXus Server\n */\n @Prop() readonly reconnectCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#setTeamDevOptionsStatus();\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.tabModel = [\n {\n id: LOCAL_CHANGES_TAB,\n name: `${this.#componentLocale.captions.localChanges}`\n },\n {\n id: REMOTE_CHANGES_TAB,\n name: `${this.#componentLocale.captions.remoteChanges}`\n }\n ];\n this.#setEmptyStateConfig();\n }\n\n async componentDidLoad() {\n if (this.#isTeamDevOptionsEnabled) {\n await this.#loadChanges(\"local\");\n this.#isPendingReloadRemoteChanges = true;\n }\n this.loadingLocalChanges = false;\n }\n\n /**\n * Used by the host to reload remote or local changes\n */\n @Method()\n async reloadChanges(type: TeamDevPreviewMode) {\n const isLocal = type === \"local\";\n const isActiveTab = isLocal\n ? this.selectedTabId === LOCAL_CHANGES_TAB\n : this.selectedTabId === REMOTE_CHANGES_TAB;\n\n if (!isActiveTab) {\n if (isLocal) {\n this.#isPendingReloadLocalChanges = true;\n } else {\n this.#isPendingReloadRemoteChanges = true;\n }\n return;\n }\n\n isLocal\n ? await this.#loadChanges(\"local\")\n : await this.#loadChanges(\"remote\");\n }\n\n #setEmptyStateConfig = () => {\n this.#emptyStateConfig = {\n [TeamDevEmptyState.NoKBOpen]: {\n title: this.#componentLocale.emptyState.noConnectedKBTitle,\n description: this.#componentLocale.emptyState.noOpenKBDescription,\n buttonText: this.#componentLocale.buttons.createKBFromServer,\n buttonHandler: this.#createKBFromServerHandler,\n showButton: true\n },\n [TeamDevEmptyState.NoConnectedKB]: {\n title: this.#componentLocale.emptyState.noConnectedKBTitle,\n description: this.#componentLocale.emptyState.noConnectedKBDescription,\n buttonText: this.#componentLocale.buttons.shareKBToServer,\n buttonHandler: this.#shareKBToServerHandler,\n showButton: true\n },\n [TeamDevEmptyState.NoConnectedGXServer]: {\n title: this.#componentLocale.emptyState.noConnectedGXServerTitle,\n description:\n this.#componentLocale.emptyState.noConnectedGXServerDescription,\n buttonText: this.#componentLocale.buttons.reconnect,\n buttonHandler: this.#reconnectHandler,\n showButton: true\n },\n [TeamDevEmptyState.NoLinkedVersion]: {\n title: this.#componentLocale.emptyState.noLinkedVersionTitle,\n description:\n this.#componentLocale.emptyState.noLinkedVersionDescription,\n buttonText: \"\",\n buttonHandler: undefined,\n showButton: false\n },\n [TeamDevEmptyState.FrozenVersion]: {\n title: this.#componentLocale.emptyState.frozenVersionTitle,\n description: this.#componentLocale.emptyState.frozenVersionDescription,\n buttonText: \"\",\n buttonHandler: undefined,\n showButton: false\n },\n [TeamDevEmptyState.None]: {\n title: \"\",\n description: \"\",\n buttonText: \"\",\n buttonHandler: undefined,\n showButton: false\n }\n };\n };\n\n #setTeamDevOptionsStatus = () => {\n if (\n this.teamDevPreviewData.isKBOpen &&\n this.teamDevPreviewData.isLinkedKB &&\n this.teamDevPreviewData.isLinkedVersion &&\n !this.teamDevPreviewData.isFrozenVersion &&\n this.teamDevPreviewData.existsGXServerSession\n ) {\n this.#isTeamDevOptionsEnabled = true;\n return;\n }\n this.#isTeamDevOptionsEnabled = false;\n };\n\n #loadChanges = async (type: TeamDevPreviewMode) => {\n if (type === \"local\") {\n this.loadingLocalChanges = true;\n this.#commitData = await this.loadLocalChangesCallback();\n this.#convertDataToTreeView(\"local\");\n this.loadingLocalChanges = false;\n this.#isPendingReloadLocalChanges = false;\n } else {\n this.loadingRemoteChanges = true;\n this.#updateData = await this.loadRemoteChangesCallback();\n this.#convertDataToTreeView(\"remote\");\n this.loadingRemoteChanges = false;\n this.#isPendingReloadRemoteChanges = false;\n }\n };\n\n #convertDataToTreeView = (type: TeamDevPreviewMode) => {\n let rootItemName = \"\";\n let data: ModifiedObjectData[] | ModifiedObject[];\n const isLocal = type === \"local\";\n if (isLocal) {\n this.pendingCommitChangesCount =\n this.#commitData?.pendingForCommit?.length || 0;\n rootItemName = `${this.#componentLocale.captions.localChanges} (${this.pendingCommitChangesCount})`;\n data = this.#commitData.pendingForCommit;\n } else {\n this.pendingRemoteChangesCount =\n this.#updateData?.pendingForUpdate?.length || 0;\n rootItemName = `${this.#componentLocale.captions.remoteChanges} (${this.pendingRemoteChangesCount})`;\n data = this.#updateData.pendingForUpdate;\n }\n\n const treeViewModel: TreeViewModel = [\n {\n id: \"root\",\n caption: rootItemName,\n expanded: true,\n parts: \"root-item\",\n items: data?.map(item => ({\n id: item.id,\n startImgSrc: isLocal\n ? (item as ModifiedObjectData).type.icon\n : (item as ModifiedObject).typeIcon,\n endImgSrc: isLocal\n ? this.#renderIcon((item as ModifiedObjectData).state)\n : this.#renderIcon((item as ModifiedObject).action),\n caption: item.name,\n leaf: true,\n parts: \"change-item\"\n }))\n }\n ];\n\n if (isLocal) {\n this.localChangesTreeViewModel = treeViewModel;\n this.#updateTabModel(LOCAL_CHANGES_TAB);\n } else {\n this.remoteChangesTreeViewModel = treeViewModel;\n this.#updateTabModel(REMOTE_CHANGES_TAB);\n }\n };\n\n #checkedItemsChangeHandler = async (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>,\n type: TeamDevPreviewMode\n ) => {\n const checkedNodesIds = Array.from(event.detail.values())\n .filter(node => node.item.checked && node.item.id !== \"root\")\n .map(node => node.item.id);\n\n if (type === \"local\") {\n this.localChangesCheckedNodesIds = checkedNodesIds;\n } else {\n this.remoteChangesCheckedNodesIds = checkedNodesIds;\n }\n };\n\n #shareKBToServerHandler = async () => {\n await this.shareKBToServerCallback();\n };\n\n #createKBFromServerHandler = async () => {\n await this.createKBFromServerCallback();\n };\n\n #openFullDialogHandler = async () => {\n await this.openFullDialogCallback();\n };\n\n #commitChangesHandler = async () => {\n this.committingChanges = true;\n await this.commitCallback(\n this.localChangesCheckedNodesIds,\n this.commitMessage\n );\n this.commitMessage = \"\";\n this.committingChanges = false;\n await this.#loadChanges(\"local\");\n };\n\n #commitMessageInputHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.commitMessage = (event.detail as string) || \"\";\n };\n\n #updateRemoteChangesHandler = async () => {\n this.updatingChanges = true;\n await this.updateCallback(this.remoteChangesCheckedNodesIds);\n this.updatingChanges = false;\n this.remoteChangesCheckedNodesIds = [];\n await this.#loadChanges(\"remote\");\n };\n\n #tabSelectionChangedHandler = async (\n event: CustomEvent<TabSelectedItemInfo>\n ): Promise<void> => {\n this.selectedTabId = event.detail.newSelectedId;\n if (\n this.selectedTabId === LOCAL_CHANGES_TAB &&\n this.#isPendingReloadLocalChanges\n ) {\n await this.#loadChanges(\"local\");\n }\n if (\n this.selectedTabId === REMOTE_CHANGES_TAB &&\n this.#isPendingReloadRemoteChanges\n ) {\n await this.#loadChanges(\"remote\");\n }\n };\n\n #openTeamDevInfoHandler = async () => {\n await this.openTeamDevInfoCallback();\n };\n\n #reconnectHandler = async () => {\n await this.reconnectCallback();\n };\n\n #renderIcon = (value: ObjectState | Action) => {\n const iconMap = {\n \"inserted\": ADD_ICON,\n \"modified\": EDITED_ICON,\n \"deleted\": SUBTRACT_ICON,\n \"conflicted\": WARNING_ICON,\n \"modified-with-conflicts\": WARNING_ICON\n };\n return iconMap[value] || null;\n };\n\n #disableConfirmButton = (type: TeamDevPreviewMode): boolean => {\n const isLocal = type === \"local\";\n if (isLocal) {\n return (\n this.loadingLocalChanges ||\n !this.commitMessage.trim().length ||\n this.localChangesCheckedNodesIds.length === 0 ||\n this.committingChanges\n );\n } else {\n return (\n this.loadingRemoteChanges ||\n this.remoteChangesCheckedNodesIds.length === 0 ||\n this.updatingChanges\n );\n }\n };\n\n #updateTabModel = (tabId: string) => {\n this.tabModel = this.tabModel.map(tab =>\n tab.id === tabId\n ? {\n ...tab,\n name:\n tabId === LOCAL_CHANGES_TAB\n ? `${this.#componentLocale.captions.localChanges} (${this.pendingCommitChangesCount})`\n : `${this.#componentLocale.captions.remoteChanges} (${this.pendingRemoteChangesCount})`\n }\n : tab\n );\n };\n\n private getEmptyStateType(): TeamDevEmptyState {\n const {\n isFrozenVersion,\n existsGXServerSession,\n isKBOpen,\n isLinkedVersion,\n isLinkedKB\n } = this.teamDevPreviewData;\n if (!isKBOpen) {\n return TeamDevEmptyState.NoKBOpen;\n }\n if (isKBOpen && !isLinkedKB) {\n return TeamDevEmptyState.NoConnectedKB;\n }\n if (isKBOpen && isLinkedKB && !isLinkedVersion && !existsGXServerSession) {\n return TeamDevEmptyState.NoConnectedGXServer;\n }\n if (isKBOpen && isLinkedKB && !isLinkedVersion) {\n return TeamDevEmptyState.NoLinkedVersion;\n }\n if (isKBOpen && isLinkedKB && existsGXServerSession && isFrozenVersion) {\n return TeamDevEmptyState.FrozenVersion;\n }\n if (isKBOpen && isLinkedKB && !existsGXServerSession) {\n return TeamDevEmptyState.NoConnectedGXServer;\n }\n return TeamDevEmptyState.None;\n }\n\n #getEmptyStateTitle = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].title;\n\n #getEmptyStateDescription = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].description;\n\n #getEmptyStateButtonText = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].buttonText;\n\n #getEmptyStateButtonHandler = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].buttonHandler;\n\n #renderEmptyStateButton = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].showButton;\n\n #renderReloadChangesButton = (type: TeamDevPreviewMode) => {\n let isLoading = false;\n let isConfirmationInProcess = false;\n let reloadCaption;\n let reloadingCaption;\n const isLocal = type === \"local\";\n\n if (isLocal) {\n isLoading = this.loadingLocalChanges;\n isConfirmationInProcess = this.committingChanges;\n reloadCaption = this.#componentLocale.buttons.reloadLocal;\n reloadingCaption = this.#componentLocale.buttons.reloadingLocal;\n } else {\n isLoading = this.loadingRemoteChanges;\n isConfirmationInProcess = this.updatingChanges;\n reloadCaption = this.#componentLocale.buttons.reloadRemote;\n reloadingCaption = this.#componentLocale.buttons.reloadingRemote;\n }\n return (\n <button\n class=\"button-tertiary button-icon-and-text body-regular-s refresh-button\"\n type=\"button\"\n onClick={\n isLocal\n ? () => this.#loadChanges(\"local\")\n : () => this.#loadChanges(\"remote\")\n }\n disabled={isLoading || isConfirmationInProcess}\n >\n <ch-image\n class={{\n \"icon-md\": true,\n \"loader-icon\": isLoading\n }}\n src={isLoading ? LOADER_ICON : REFRESH_ICON}\n type=\"mask\"\n />\n\n {isLoading ? reloadingCaption : reloadCaption}\n </button>\n );\n };\n\n #renderEmptyState = (type: TeamDevPreviewMode) => {\n let show = false;\n let message = \"\";\n\n if (type === \"local\" && this.pendingCommitChangesCount === 0) {\n show = true;\n message = this.#componentLocale.emptyState.noLocalChanges;\n } else if (type === \"remote\" && this.pendingRemoteChangesCount === 0) {\n show = true;\n message = this.#componentLocale.emptyState.noRemoteChanges;\n }\n\n return show ? (\n <div class=\"empty-state-container\">\n <p class=\"body-regular-s\">{message}</p>\n {this.#renderReloadChangesButton(type)}\n </div>\n ) : null;\n };\n\n #renderTreeChanges = (type: TeamDevPreviewMode) => {\n const isLocal = type === \"local\";\n let isLoading = false;\n let isConfirmationInProcess = false;\n let model: TreeViewModel;\n\n if (isLocal) {\n isLoading = this.loadingLocalChanges;\n isConfirmationInProcess = this.committingChanges;\n model = this.localChangesTreeViewModel;\n } else {\n isLoading = this.loadingRemoteChanges;\n isConfirmationInProcess = this.updatingChanges;\n model = this.remoteChangesTreeViewModel;\n }\n return (\n <Fragment>\n {this.#renderReloadChangesButton(type)}\n {!isLoading && !isConfirmationInProcess && (\n <ch-tree-view-render\n checkbox\n checked\n class=\"tree-view\"\n model={model}\n toggleCheckboxes\n onCheckedItemsChange={event =>\n this.#checkedItemsChangeHandler(event, type)\n }\n />\n )}\n </Fragment>\n );\n };\n\n #renderConfirmButton = (type: TeamDevPreviewMode) => {\n const isLocal = type === \"local\";\n let isConfirmationInProcess = false;\n let id = \"\";\n if (isLocal) {\n isConfirmationInProcess = this.committingChanges;\n id = \"commit-changes-button\";\n } else {\n isConfirmationInProcess = this.updatingChanges;\n id = \"update-remote-changes-button\";\n }\n return (\n <button\n id={id}\n class={{\n \"button-primary\": true,\n \"button-icon-and-text\": isConfirmationInProcess\n }}\n type=\"button\"\n disabled={this.#disableConfirmButton(type)}\n onClick={\n isLocal\n ? this.#commitChangesHandler\n : this.#updateRemoteChangesHandler\n }\n >\n {isConfirmationInProcess && (\n <ch-image class=\"icon-md loader-icon\" src={LOADER_ICON} type=\"mask\" />\n )}\n {isConfirmationInProcess\n ? isLocal\n ? this.#componentLocale.buttons.committing\n : this.#componentLocale.buttons.updating\n : isLocal\n ? this.#componentLocale.buttons.commit\n : this.#componentLocale.buttons.update}\n </button>\n );\n };\n\n #renderLocalChanges = () => {\n if (this.pendingCommitChangesCount > 0) {\n return (\n <Fragment>\n <ch-edit\n id=\"commit-message-input\"\n class=\"input commit-message-textarea\"\n value={this.commitMessage}\n accessibleName={this.#componentLocale.accessibleNames.commitMessage}\n placeholder={this.#componentLocale.placeholders.commitMessage}\n disabled={this.loadingLocalChanges}\n onInput={this.#commitMessageInputHandler}\n multiline\n />\n {this.#renderConfirmButton(\"local\")}\n {this.#renderTreeChanges(\"local\")}\n </Fragment>\n );\n }\n };\n\n #renderRemoteChanges = () => {\n if (this.pendingRemoteChangesCount > 0) {\n return (\n <Fragment>\n {this.#renderConfirmButton(\"remote\")}\n {this.#renderTreeChanges(\"remote\")}\n </Fragment>\n );\n }\n };\n\n render() {\n const { existsGXServerSession } = this.teamDevPreviewData;\n return (\n <Host\n class={{\n \"widget\": true,\n \"empty-state\": !this.#isTeamDevOptionsEnabled\n }}\n >\n <ch-theme model={CSS_BUNDLES} />\n {!this.#isTeamDevOptionsEnabled || !existsGXServerSession ? (\n <gx-ide-empty-state\n isAnimated={true}\n stateIconSrc={ERROR_ICON}\n stateTitle={this.#getEmptyStateTitle()}\n stateDescription={this.#getEmptyStateDescription()}\n >\n {this.#renderEmptyStateButton() && (\n <button\n class=\"button-primary empty-state-button\"\n onClick={this.#getEmptyStateButtonHandler()}\n >\n {this.#getEmptyStateButtonText()}\n </button>\n )}\n <div>\n <p class=\"body-regular-s\">\n {this.#componentLocale.emptyState.about}\n </p>\n <button\n class=\"button-tertiary button-icon-and-text team-dev-button body-semi-bold-s\"\n type=\"button\"\n onClick={this.#openTeamDevInfoHandler}\n >\n {this.#componentLocale.buttons.teamDev}\n <ch-image class=\"icon-md\" src={OPEN_WINDOW_ICON} type=\"mask\" />\n </button>\n </div>\n </gx-ide-empty-state>\n ) : (\n <div class=\"main-container\">\n <div>\n <p class=\"giu-static-pill-icon-and-text giu-static-pill-icon-and-text--version elevation-02\">\n <ch-image\n class=\"icon-md\"\n type=\"mask\"\n src={VERSION_ICON}\n ></ch-image>\n {this.teamDevPreviewData.versionName}\n </p>\n </div>\n <ch-tab-render\n class=\"tab tab-full-width-buttons scrollable border-style-none\"\n model={this.tabModel}\n selectedId={this.selectedTabId}\n tabListPosition=\"block-start\"\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n >\n <div class=\"local-changes-container\" slot={LOCAL_CHANGES_TAB}>\n {this.#renderEmptyState(\"local\")}\n {this.#renderLocalChanges()}\n </div>\n\n <div class=\"remote-changes-container\" slot={REMOTE_CHANGES_TAB}>\n {this.#renderEmptyState(\"remote\")}\n {this.#renderRemoteChanges()}\n </div>\n </ch-tab-render>\n\n <footer class=\"control-footer-with-border open-window-container\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-tertiary button-icon-and-text open-full-dialog-button\"\n onClick={this.#openFullDialogHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={OPEN_WINDOW_ICON}\n type=\"mask\"\n />\n {this.#componentLocale.footer.openFullDialog}\n </button>\n </div>\n </footer>\n </div>\n )}\n </Host>\n );\n }\n}\n\nexport type TeamDevPreviewData = {\n versionName: string;\n isFrozenVersion: boolean;\n existsGXServerSession: boolean;\n isKBOpen: boolean;\n isLinkedVersion: boolean;\n isLinkedKB: boolean;\n};\n\nexport type TeamDevPreviewMode = \"local\" | \"remote\";\n"]}
|
|
1
|
+
{"version":3,"file":"team-dev-preview.js","sourceRoot":"","sources":["../../../../src/components/team-dev/preview/team-dev-preview.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ChEditCustomEvent,\n TabModel,\n TabSelectedItemInfo,\n TreeViewItemModelExtended,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n Component,\n Element,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\nimport { Locale } from \"../../../common/locale\";\nimport {\n Action,\n CommitCallback,\n CommitData,\n LoadLocalChangesCallback,\n LoadRemoteChangesCallback,\n ModifiedObject,\n ModifiedObjectData,\n ObjectState,\n UpdateCallback,\n UpdateData\n} from \"../version-control/common/types\";\n\nenum TeamDevEmptyState {\n NoKBOpen,\n NoConnectedKB,\n NoConnectedGXServer,\n NoLinkedVersion,\n FrozenVersion,\n None\n}\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\",\n \"components/tree-view\",\n \"components/tab\"\n];\n\nconst VERSION_ICON = getIconPath({\n category: \"system\",\n name: \"version\",\n colorType: \"on-surface\"\n});\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"success\"\n});\n\nconst EDITED_ICON = getIconPath({\n category: \"system\",\n name: \"edit\",\n colorType: \"warning\"\n});\n\nconst SUBTRACT_ICON = getIconPath({\n category: \"system\",\n name: \"substract\",\n colorType: \"error\"\n});\n\nconst REFRESH_ICON = getIconPath({\n category: \"system\",\n name: \"refresh\",\n colorType: \"primary\"\n});\n\nconst WARNING_ICON = getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n});\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"on-surface\"\n});\n\nconst LOADER_ICON = getIconPath({\n category: \"system\",\n name: \"loading\",\n colorType: \"primary\"\n});\n\nconst ERROR_ICON = getIconPath({\n category: \"system\",\n name: \"error\",\n colorType: \"on-surface\"\n});\n\nconst REMOTE_CHANGES_TAB = \"remote-changes-tab\";\nconst LOCAL_CHANGES_TAB = \"local-changes-tab\";\n\n@Component({\n tag: \"gx-ide-team-dev-preview\",\n styleUrl: \"team-dev-preview.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-preview\"]\n})\nexport class GxIdeTeamDevPreview {\n #componentLocale: any;\n #isPendingReloadLocalChanges: boolean = false;\n #isPendingReloadRemoteChanges: boolean = false;\n #commitData: CommitData;\n #updateData: UpdateData;\n #prevVersionName: string;\n #isTeamDevOptionsEnabled: boolean = false;\n #emptyStateConfig: { [key: string]: any } = {};\n\n @Element() el: HTMLGxIdeTeamDevPreviewElement;\n\n @State() loadingRemoteChanges: boolean = false;\n @State() loadingLocalChanges: boolean = true;\n @State() tabModel: TabModel = [];\n\n /**\n * Currently selected tab ID\n */\n @State() selectedTabId: string = LOCAL_CHANGES_TAB;\n\n /**\n * Number of pending commit changes\n */\n @State() pendingCommitChangesCount: number = 0;\n /**\n * Number of pending remote changes\n */\n @State() pendingRemoteChangesCount: number = 0;\n\n /**\n * Represents the tree view model for remote changes\n */\n @State() remoteChangesTreeViewModel: TreeViewModel = [];\n\n /**\n * Represents the tree view model for local changes\n */\n @State() localChangesTreeViewModel: TreeViewModel = [];\n\n /**\n * Represents the selected nodes ids from remote changes tree\n */\n @State() remoteChangesCheckedNodesIds: string[] = [];\n\n /**\n * Represents the selected nodes ids from local changes tree\n */\n @State() localChangesCheckedNodesIds: string[] = [];\n\n /**\n * Commit message entered by the user\n */\n @State() commitMessage: string = \"\";\n\n /**\n * Indicates if the commit process is ongoing\n */\n @State() committingChanges: boolean = false;\n\n /**\n * Indicates if the update process is ongoing\n */\n @State() updatingChanges: boolean = false;\n\n /**\n * Data required to render the Team Dev Preview\n */\n @Prop() readonly teamDevPreviewData: TeamDevPreviewData;\n @Watch(\"teamDevPreviewData\")\n async onTeamDevPreviewDataChanged() {\n const { versionName } = this.teamDevPreviewData;\n let versionChanged = false;\n\n this.#setTeamDevOptionsStatus();\n if (this.#prevVersionName !== versionName) {\n this.#prevVersionName = versionName;\n versionChanged = true;\n }\n\n if (this.#isTeamDevOptionsEnabled && versionChanged) {\n await this.reloadChanges(\"local\");\n await this.reloadChanges(\"remote\");\n }\n }\n\n /**\n * Invoked to return the list of remote changes\n */\n @Prop() readonly loadRemoteChangesCallback!: LoadRemoteChangesCallback;\n\n /**\n * Invoked to return the list of local changes\n */\n @Prop() readonly loadLocalChangesCallback!: LoadLocalChangesCallback;\n\n /**\n * Invoked when user starts the commit process\n */\n @Prop() readonly commitCallback!: CommitCallback;\n\n /**\n * Invoked when user starts the update process\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Invoked to open the full Team Dev dialog\n */\n @Prop() readonly openFullDialogCallback!: () => Promise<void>;\n\n /**\n * Invoked to share the knowledge base to the server\n */\n @Prop() readonly shareKBToServerCallback!: () => Promise<void>;\n\n /**\n * Invoked to create a knowledge base from the server\n */\n @Prop() readonly createKBFromServerCallback!: () => Promise<void>;\n\n /**\n * Invoked to open the Team Development information\n */\n @Prop() readonly openTeamDevInfoCallback!: () => Promise<void>;\n\n /**\n * Invoked to reconnect to GeneXus Server\n */\n @Prop() readonly reconnectCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#setTeamDevOptionsStatus();\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.tabModel = [\n {\n id: LOCAL_CHANGES_TAB,\n name: `${this.#componentLocale.captions.localChanges}`\n },\n {\n id: REMOTE_CHANGES_TAB,\n name: `${this.#componentLocale.captions.remoteChanges}`\n }\n ];\n this.#setEmptyStateConfig();\n }\n\n async componentDidLoad() {\n if (this.#isTeamDevOptionsEnabled) {\n await this.#loadChanges(\"local\");\n this.#isPendingReloadRemoteChanges = true;\n }\n this.loadingLocalChanges = false;\n }\n\n /**\n * Used by the host to reload remote or local changes\n */\n @Method()\n async reloadChanges(type: TeamDevPreviewMode) {\n const isLocal = type === \"local\";\n const isActiveTab = isLocal\n ? this.selectedTabId === LOCAL_CHANGES_TAB\n : this.selectedTabId === REMOTE_CHANGES_TAB;\n\n if (!isActiveTab) {\n if (isLocal) {\n this.#isPendingReloadLocalChanges = true;\n } else {\n this.#isPendingReloadRemoteChanges = true;\n }\n return;\n }\n\n isLocal\n ? await this.#loadChanges(\"local\")\n : await this.#loadChanges(\"remote\");\n }\n\n #setEmptyStateConfig = () => {\n this.#emptyStateConfig = {\n [TeamDevEmptyState.NoKBOpen]: {\n title: this.#componentLocale.emptyState.noConnectedKBTitle,\n description: this.#componentLocale.emptyState.noOpenKBDescription,\n buttonText: this.#componentLocale.buttons.createKBFromServer,\n buttonHandler: this.#createKBFromServerHandler,\n showButton: true\n },\n [TeamDevEmptyState.NoConnectedKB]: {\n title: this.#componentLocale.emptyState.noConnectedKBTitle,\n description: this.#componentLocale.emptyState.noConnectedKBDescription,\n buttonText: this.#componentLocale.buttons.shareKBToServer,\n buttonHandler: this.#shareKBToServerHandler,\n showButton: true\n },\n [TeamDevEmptyState.NoConnectedGXServer]: {\n title: this.#componentLocale.emptyState.noConnectedGXServerTitle,\n description:\n this.#componentLocale.emptyState.noConnectedGXServerDescription,\n buttonText: this.#componentLocale.buttons.reconnect,\n buttonHandler: this.#reconnectHandler,\n showButton: true\n },\n [TeamDevEmptyState.NoLinkedVersion]: {\n title: this.#componentLocale.emptyState.noLinkedVersionTitle,\n description:\n this.#componentLocale.emptyState.noLinkedVersionDescription,\n buttonText: \"\",\n buttonHandler: undefined,\n showButton: false\n },\n [TeamDevEmptyState.FrozenVersion]: {\n title: this.#componentLocale.emptyState.frozenVersionTitle,\n description: this.#componentLocale.emptyState.frozenVersionDescription,\n buttonText: \"\",\n buttonHandler: undefined,\n showButton: false\n },\n [TeamDevEmptyState.None]: {\n title: \"\",\n description: \"\",\n buttonText: \"\",\n buttonHandler: undefined,\n showButton: false\n }\n };\n };\n\n #setTeamDevOptionsStatus = () => {\n if (\n this.teamDevPreviewData.isKBOpen &&\n this.teamDevPreviewData.isLinkedKB &&\n this.teamDevPreviewData.isLinkedVersion &&\n !this.teamDevPreviewData.isFrozenVersion &&\n this.teamDevPreviewData.existsGXServerSession\n ) {\n this.#isTeamDevOptionsEnabled = true;\n return;\n }\n this.#isTeamDevOptionsEnabled = false;\n };\n\n #loadChanges = async (type: TeamDevPreviewMode) => {\n if (type === \"local\") {\n this.loadingLocalChanges = true;\n this.#commitData = await this.loadLocalChangesCallback();\n this.#convertDataToTreeView(\"local\");\n this.loadingLocalChanges = false;\n this.#isPendingReloadLocalChanges = false;\n } else {\n this.loadingRemoteChanges = true;\n this.#updateData = await this.loadRemoteChangesCallback();\n this.#convertDataToTreeView(\"remote\");\n this.loadingRemoteChanges = false;\n this.#isPendingReloadRemoteChanges = false;\n }\n };\n\n #convertDataToTreeView = (type: TeamDevPreviewMode) => {\n let rootItemName = \"\";\n let data: ModifiedObjectData[] | ModifiedObject[];\n const isLocal = type === \"local\";\n if (isLocal) {\n this.pendingCommitChangesCount =\n this.#commitData?.pendingForCommit?.length || 0;\n rootItemName = `${this.#componentLocale.captions.localChanges} (${this.pendingCommitChangesCount})`;\n data = this.#commitData.pendingForCommit;\n } else {\n this.pendingRemoteChangesCount =\n this.#updateData?.pendingForUpdate?.length || 0;\n rootItemName = `${this.#componentLocale.captions.remoteChanges} (${this.pendingRemoteChangesCount})`;\n data = this.#updateData.pendingForUpdate;\n }\n\n const treeViewModel: TreeViewModel = [\n {\n id: \"root\",\n caption: rootItemName,\n expanded: true,\n parts: \"root-item\",\n items: data?.map(item => ({\n id: item.id,\n startImgSrc: isLocal\n ? (item as ModifiedObjectData).type.icon\n : (item as ModifiedObject).typeIcon,\n endImgSrc: isLocal\n ? this.#renderIcon((item as ModifiedObjectData).state)\n : this.#renderIcon((item as ModifiedObject).action),\n caption: item.name,\n leaf: true,\n parts: \"change-item\"\n }))\n }\n ];\n\n if (isLocal) {\n this.localChangesTreeViewModel = treeViewModel;\n this.#updateTabModel(LOCAL_CHANGES_TAB);\n } else {\n this.remoteChangesTreeViewModel = treeViewModel;\n this.#updateTabModel(REMOTE_CHANGES_TAB);\n }\n };\n\n #checkedItemsChangeHandler = async (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>,\n type: TeamDevPreviewMode\n ) => {\n const checkedNodesIds = Array.from(event.detail.values())\n .filter(node => node.item.checked && node.item.id !== \"root\")\n .map(node => node.item.id);\n\n if (type === \"local\") {\n this.localChangesCheckedNodesIds = checkedNodesIds;\n } else {\n this.remoteChangesCheckedNodesIds = checkedNodesIds;\n }\n };\n\n #shareKBToServerHandler = async () => {\n await this.shareKBToServerCallback();\n };\n\n #createKBFromServerHandler = async () => {\n await this.createKBFromServerCallback();\n };\n\n #openFullDialogHandler = async () => {\n await this.openFullDialogCallback();\n };\n\n #commitChangesHandler = async () => {\n this.committingChanges = true;\n await this.commitCallback(\n this.localChangesCheckedNodesIds,\n this.commitMessage\n );\n this.commitMessage = \"\";\n this.committingChanges = false;\n await this.#loadChanges(\"local\");\n };\n\n #commitMessageInputHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.commitMessage = (event.detail as string) || \"\";\n };\n\n #updateRemoteChangesHandler = async () => {\n this.updatingChanges = true;\n await this.updateCallback(this.remoteChangesCheckedNodesIds);\n this.updatingChanges = false;\n this.remoteChangesCheckedNodesIds = [];\n await this.#loadChanges(\"remote\");\n };\n\n #tabSelectionChangedHandler = async (\n event: CustomEvent<TabSelectedItemInfo>\n ): Promise<void> => {\n this.selectedTabId = event.detail.newSelectedId;\n if (\n this.selectedTabId === LOCAL_CHANGES_TAB &&\n this.#isPendingReloadLocalChanges\n ) {\n await this.#loadChanges(\"local\");\n }\n if (\n this.selectedTabId === REMOTE_CHANGES_TAB &&\n this.#isPendingReloadRemoteChanges\n ) {\n await this.#loadChanges(\"remote\");\n }\n };\n\n #openTeamDevInfoHandler = async () => {\n await this.openTeamDevInfoCallback();\n };\n\n #reconnectHandler = async () => {\n await this.reconnectCallback();\n };\n\n #renderIcon = (value: ObjectState | Action) => {\n const iconMap = {\n \"inserted\": ADD_ICON,\n \"modified\": EDITED_ICON,\n \"deleted\": SUBTRACT_ICON,\n \"conflicted\": WARNING_ICON,\n \"modified-with-conflicts\": WARNING_ICON\n };\n return iconMap[value] || null;\n };\n\n #disableConfirmButton = (type: TeamDevPreviewMode): boolean => {\n const isLocal = type === \"local\";\n if (isLocal) {\n return (\n this.loadingLocalChanges ||\n !this.commitMessage.trim().length ||\n this.localChangesCheckedNodesIds.length === 0 ||\n this.committingChanges\n );\n } else {\n return (\n this.loadingRemoteChanges ||\n this.remoteChangesCheckedNodesIds.length === 0 ||\n this.updatingChanges\n );\n }\n };\n\n #updateTabModel = (tabId: string) => {\n this.tabModel = this.tabModel.map(tab =>\n tab.id === tabId\n ? {\n ...tab,\n name:\n tabId === LOCAL_CHANGES_TAB\n ? `${this.#componentLocale.captions.localChanges} (${this.pendingCommitChangesCount})`\n : `${this.#componentLocale.captions.remoteChanges} (${this.pendingRemoteChangesCount})`\n }\n : tab\n );\n };\n\n private getEmptyStateType(): TeamDevEmptyState {\n const {\n isFrozenVersion,\n existsGXServerSession,\n isKBOpen,\n isLinkedVersion,\n isLinkedKB\n } = this.teamDevPreviewData;\n if (!isKBOpen) {\n return TeamDevEmptyState.NoKBOpen;\n }\n if (isKBOpen && !isLinkedKB) {\n return TeamDevEmptyState.NoConnectedKB;\n }\n if (isKBOpen && isLinkedKB && !isLinkedVersion && !existsGXServerSession) {\n return TeamDevEmptyState.NoConnectedGXServer;\n }\n if (isKBOpen && isLinkedKB && !isLinkedVersion) {\n return TeamDevEmptyState.NoLinkedVersion;\n }\n if (isKBOpen && isLinkedKB && existsGXServerSession && isFrozenVersion) {\n return TeamDevEmptyState.FrozenVersion;\n }\n if (isKBOpen && isLinkedKB && !existsGXServerSession) {\n return TeamDevEmptyState.NoConnectedGXServer;\n }\n return TeamDevEmptyState.None;\n }\n\n #getEmptyStateTitle = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].title;\n\n #getEmptyStateDescription = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].description;\n\n #getEmptyStateButtonText = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].buttonText;\n\n #getEmptyStateButtonHandler = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].buttonHandler;\n\n #renderEmptyStateButton = () =>\n this.#emptyStateConfig[this.getEmptyStateType()].showButton;\n\n #renderReloadChangesButton = (type: TeamDevPreviewMode) => {\n let isLoading = false;\n let isConfirmationInProcess = false;\n let reloadCaption;\n let reloadingCaption;\n const isLocal = type === \"local\";\n\n if (isLocal) {\n isLoading = this.loadingLocalChanges;\n isConfirmationInProcess = this.committingChanges;\n reloadCaption = this.#componentLocale.buttons.reloadLocal;\n reloadingCaption = this.#componentLocale.buttons.reloadingLocal;\n } else {\n isLoading = this.loadingRemoteChanges;\n isConfirmationInProcess = this.updatingChanges;\n reloadCaption = this.#componentLocale.buttons.reloadRemote;\n reloadingCaption = this.#componentLocale.buttons.reloadingRemote;\n }\n return (\n <button\n class=\"button-tertiary button-icon-and-text body-regular-s refresh-button\"\n type=\"button\"\n onClick={\n isLocal\n ? () => this.#loadChanges(\"local\")\n : () => this.#loadChanges(\"remote\")\n }\n disabled={isLoading || isConfirmationInProcess}\n >\n <ch-image\n class={{\n \"icon-md\": true,\n \"loader-icon\": isLoading\n }}\n src={isLoading ? LOADER_ICON : REFRESH_ICON}\n type=\"mask\"\n />\n\n {isLoading ? reloadingCaption : reloadCaption}\n </button>\n );\n };\n\n #renderEmptyState = (type: TeamDevPreviewMode) => {\n let show = false;\n let message = \"\";\n\n if (type === \"local\" && this.pendingCommitChangesCount === 0) {\n show = true;\n message = this.#componentLocale.emptyState.noLocalChanges;\n } else if (type === \"remote\" && this.pendingRemoteChangesCount === 0) {\n show = true;\n message = this.#componentLocale.emptyState.noRemoteChanges;\n }\n\n return show ? (\n <div class=\"empty-state-container\">\n <p class=\"body-regular-s\">{message}</p>\n {this.#renderReloadChangesButton(type)}\n </div>\n ) : null;\n };\n\n #renderTreeChanges = (type: TeamDevPreviewMode) => {\n const isLocal = type === \"local\";\n let isLoading = false;\n let isConfirmationInProcess = false;\n let model: TreeViewModel;\n\n if (isLocal) {\n isLoading = this.loadingLocalChanges;\n isConfirmationInProcess = this.committingChanges;\n model = this.localChangesTreeViewModel;\n } else {\n isLoading = this.loadingRemoteChanges;\n isConfirmationInProcess = this.updatingChanges;\n model = this.remoteChangesTreeViewModel;\n }\n return (\n <Fragment>\n {this.#renderReloadChangesButton(type)}\n {!isLoading && !isConfirmationInProcess && (\n <ch-tree-view-render\n checkbox\n checked\n class=\"tree-view\"\n model={model}\n toggleCheckboxes\n onCheckedItemsChange={event =>\n this.#checkedItemsChangeHandler(event, type)\n }\n expandableButton=\"no\"\n />\n )}\n </Fragment>\n );\n };\n\n #renderConfirmButton = (type: TeamDevPreviewMode) => {\n const isLocal = type === \"local\";\n let isConfirmationInProcess = false;\n let id = \"\";\n if (isLocal) {\n isConfirmationInProcess = this.committingChanges;\n id = \"commit-changes-button\";\n } else {\n isConfirmationInProcess = this.updatingChanges;\n id = \"update-remote-changes-button\";\n }\n return (\n <button\n id={id}\n class={{\n \"button-primary\": true,\n \"button-icon-and-text\": isConfirmationInProcess\n }}\n type=\"button\"\n disabled={this.#disableConfirmButton(type)}\n onClick={\n isLocal\n ? this.#commitChangesHandler\n : this.#updateRemoteChangesHandler\n }\n >\n {isConfirmationInProcess && (\n <ch-image class=\"icon-md loader-icon\" src={LOADER_ICON} type=\"mask\" />\n )}\n {isConfirmationInProcess\n ? isLocal\n ? this.#componentLocale.buttons.committing\n : this.#componentLocale.buttons.updating\n : isLocal\n ? this.#componentLocale.buttons.commit\n : this.#componentLocale.buttons.update}\n </button>\n );\n };\n\n #renderLocalChanges = () => {\n if (this.pendingCommitChangesCount > 0) {\n return (\n <Fragment>\n <ch-edit\n id=\"commit-message-input\"\n class=\"input commit-message-textarea\"\n value={this.commitMessage}\n accessibleName={this.#componentLocale.accessibleNames.commitMessage}\n placeholder={this.#componentLocale.placeholders.commitMessage}\n disabled={this.loadingLocalChanges}\n onInput={this.#commitMessageInputHandler}\n multiline\n />\n {this.#renderConfirmButton(\"local\")}\n {this.#renderTreeChanges(\"local\")}\n </Fragment>\n );\n }\n };\n\n #renderRemoteChanges = () => {\n if (this.pendingRemoteChangesCount > 0) {\n return (\n <Fragment>\n {this.#renderConfirmButton(\"remote\")}\n {this.#renderTreeChanges(\"remote\")}\n </Fragment>\n );\n }\n };\n\n render() {\n const { existsGXServerSession } = this.teamDevPreviewData;\n return (\n <Host\n class={{\n \"widget\": true,\n \"empty-state\": !this.#isTeamDevOptionsEnabled\n }}\n >\n <ch-theme model={CSS_BUNDLES} />\n {!this.#isTeamDevOptionsEnabled || !existsGXServerSession ? (\n <gx-ide-empty-state\n isAnimated={true}\n stateIconSrc={ERROR_ICON}\n stateTitle={this.#getEmptyStateTitle()}\n stateDescription={this.#getEmptyStateDescription()}\n >\n {this.#renderEmptyStateButton() && (\n <button\n class=\"button-primary empty-state-button\"\n onClick={this.#getEmptyStateButtonHandler()}\n >\n {this.#getEmptyStateButtonText()}\n </button>\n )}\n <div>\n <p class=\"body-regular-s\">\n {this.#componentLocale.emptyState.about}\n </p>\n <button\n class=\"button-tertiary button-icon-and-text team-dev-button body-semi-bold-s\"\n type=\"button\"\n onClick={this.#openTeamDevInfoHandler}\n >\n {this.#componentLocale.buttons.teamDev}\n <ch-image class=\"icon-md\" src={OPEN_WINDOW_ICON} type=\"mask\" />\n </button>\n </div>\n </gx-ide-empty-state>\n ) : (\n <div class=\"main-container\">\n <div>\n <p class=\"giu-static-pill-icon-and-text giu-static-pill-icon-and-text--version elevation-02\">\n <ch-image\n class=\"icon-md\"\n type=\"mask\"\n src={VERSION_ICON}\n ></ch-image>\n {this.teamDevPreviewData.versionName}\n </p>\n </div>\n <ch-tab-render\n class=\"tab tab-full-width-buttons scrollable border-style-none\"\n model={this.tabModel}\n selectedId={this.selectedTabId}\n tabListPosition=\"block-start\"\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n >\n <div class=\"local-changes-container\" slot={LOCAL_CHANGES_TAB}>\n {this.#renderEmptyState(\"local\")}\n {this.#renderLocalChanges()}\n </div>\n\n <div class=\"remote-changes-container\" slot={REMOTE_CHANGES_TAB}>\n {this.#renderEmptyState(\"remote\")}\n {this.#renderRemoteChanges()}\n </div>\n </ch-tab-render>\n\n <footer class=\"control-footer-with-border open-window-container\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-tertiary button-icon-and-text open-full-dialog-button\"\n onClick={this.#openFullDialogHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={OPEN_WINDOW_ICON}\n type=\"mask\"\n />\n {this.#componentLocale.footer.openFullDialog}\n </button>\n </div>\n </footer>\n </div>\n )}\n </Host>\n );\n }\n}\n\nexport type TeamDevPreviewData = {\n versionName: string;\n isFrozenVersion: boolean;\n existsGXServerSession: boolean;\n isKBOpen: boolean;\n isLinkedVersion: boolean;\n isLinkedKB: boolean;\n};\n\nexport type TeamDevPreviewMode = \"local\" | \"remote\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.e2e.js","sourceRoot":"","sources":["../../src/testing/locale.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport { GeneXusIdeUIControlsTagName } from \"../common/types\";\nimport { haveSameStructure } from \"./same-structure.e2e\";\n\nconst COMPONENT_PREFIX = \"gx-ide-\";\nconst languages: { name: string; attr: string }[] = [\n { name: \"chinese\", attr: \"zh\" },\n { name: \"english\", attr: \"en\" },\n { name: \"japanese\", attr: \"ja\" }\n];\n\nconst testLocale = (componentNameWithPrefix: GeneXusIdeUIControlsTagName) => {\n describe(`[locale][${componentNameWithPrefix}]`, () => {\n let page: E2EPage;\n const componentName = componentNameWithPrefix.replace(COMPONENT_PREFIX, \"\");\n\n // This implementation is a WA since we can't evaluate JS classes in the page.\n // TODO: Implement the locale utility as a function, which can be evaluated\n // in the page\n const getTranslations = () =>\n page.evaluate(component => {\n const ASSETS_FOLDER = \"gx-ide-assets/\";\n const DEFAULT_LANGUAGE = \"en\";\n const LANGS_FOLDER = \"langs/\";\n const LANG_PREFIX = \".lang.\";\n const LANG_EXTENSION = \".json\";\n const lang =\n document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf() ?? DEFAULT_LANGUAGE;\n const folder = `${component}/`;\n\n const path =\n `/build/${ASSETS_FOLDER}${folder}${LANGS_FOLDER}${component}${LANG_PREFIX}${lang}${LANG_EXTENSION}` as const;\n\n return new Promise(resolve => {\n fetch(path)\n .then(async langFile => {\n if (langFile.ok) {\n const fileObject = await langFile.json();\n resolve(fileObject);\n } else {\n resolve(undefined);\n }\n })\n .catch(() => resolve(undefined));\n });\n }, componentName);\n\n beforeEach(async () => {\n page = await newE2EPage({\n failOnConsoleError: true,\n html: \"\" // Necessary\n });\n });\n\n it(\"should work without specifying the language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n\n it(\"should default to english language when there is no language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n\n await page.evaluate(() =>\n document.documentElement.setAttribute(\"lang\", \"en\")\n );\n\n const languageEnglishFile: any | undefined = await getTranslations();\n expect(languageEnglishFile).toBeTruthy();\n expect(languageFile).toEqual(languageEnglishFile);\n });\n\n languages.forEach(language => {\n it(`should work with ${language.name} language`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language.attr\n );\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n });\n\n for (let index = 0; index < languages.length - 1; index++) {\n const language1 = languages[index];\n const language2 = languages[index + 1];\n\n // TODO: Complete all translations. At this moment, Japanese and Chinese\n // translations have missing literals\n it(`should translate the same literals (${language1.name} and ${language2.name})`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language1.attr\n );\n const language1File: any | undefined = await getTranslations();\n\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language2.attr\n );\n const language2File: any | undefined = await getTranslations();\n\n expect(language1File).toBeTruthy();\n expect(language2File).toBeTruthy();\n expect(haveSameStructure(language1File, language2File)).toBe(true);\n });\n }\n });\n};\n\n// TypeScript does not have a built-in type to exhaust a list with union types\nconst allGeneXusIdeUIComponents: { [key in GeneXusIdeUIControlsTagName]: 0 } = {\n \"gx-ide-about\": 0,\n \"gx-ide-bpm-app-declaration\": 0,\n \"gx-ide-bpm-assign-roles\": 0,\n \"gx-ide-bpm-import-files\": 0,\n \"gx-ide-bpm-import-gxpm\": 0,\n \"gx-ide-bpm-objects-selector\": 0,\n \"gx-ide-bpm-sync-gam-roles\": 0,\n \"gx-ide-bpm-task-documents\": 0,\n \"gx-ide-bpm-timer-duration\": 0,\n \"gx-ide-card\": 0,\n \"gx-ide-chat-container\": 0,\n \"gx-ide-chat-welcome\": 0,\n \"gx-ide-sc-chat-container\": 0,\n \"gx-ide-connect-gx-server\": 0,\n \"gx-ide-container\": 0,\n \"gx-ide-create-kb-from-server\": 0,\n \"gx-ide-current-user-info\": 0,\n \"gx-ide-data-selector\": 0,\n \"gx-ide-data-type-selector\": 0,\n \"gx-ide-deployment-tool\": 0,\n \"gx-ide-details-acknowledgements\": 0,\n \"gx-ide-design-import\": 0,\n \"gx-ide-directory-selector\": 0,\n \"gx-ide-edit-module-server\": 0,\n \"gx-ide-empty-state\": 0,\n \"gx-ide-entity-selector\": 0,\n \"gx-ide-file-item\": 0,\n \"gx-ide-file-uploader\": 0,\n \"gx-ide-gam-installation-settings\": 0,\n \"gx-ide-json-import\": 0,\n \"gx-ide-kb-manager-export\": 0,\n \"gx-ide-kb-manager-import\": 0,\n \"gx-ide-list-selector\": 0,\n \"gx-ide-list-selector-item\": 0,\n \"gx-ide-loader\": 0,\n \"gx-ide-manage-module-references\": 0,\n \"gx-ide-name-picker\": 0,\n \"gx-ide-new-environment\": 0,\n \"gx-ide-new-kb\": 0,\n \"gx-ide-new-object\": 0,\n \"gx-ide-new-version\": 0,\n \"gx-ide-object-selector\": 0,\n \"gx-ide-open-api-import\": 0,\n \"gx-ide-plugin-explorer\": 0,\n \"gx-ide-plugin-details\": 0,\n \"gx-ide-references\": 0,\n \"gx-ide-server-selector\": 0,\n \"gx-ide-select-kb-items\": 0,\n \"gx-ide-select-user-team\": 0,\n \"gx-ide-sign-in\": 0,\n \"gx-ide-sign-in-team\": 0,\n \"gx-ide-share-kb\": 0,\n \"gx-ide-start-page\": 0,\n \"gx-ide-sign-in-result\": 0,\n \"gx-ide-status-buttons\": 0,\n \"gx-ide-switch-panel\": 0,\n \"gx-ide-switcher\": 0,\n \"gx-ide-team-dev-bring-changes\": 0,\n \"gx-ide-team-dev-commit\": 0,\n \"gx-ide-team-dev-history\": 0,\n \"gx-ide-team-dev-preview\": 0,\n \"gx-ide-team-dev-select-recent-comment\": 0,\n \"gx-ide-team-dev-update\": 0,\n \"gx-ide-team-dev-update-partial-selection\": 0,\n \"gx-ide-team-dev-update-to-revision\": 0,\n \"gx-ide-starting-template\": 0,\n \"gx-ide-test\": 0,\n \"gx-ide-title\": 0,\n \"gx-ide-top-bar\": 0,\n \"gx-ide-wf-settings\": 0,\n \"gx-ide-ww-images\": 0,\n \"gx-ide-ww-attributes\": 0,\n \"gx-ide-ww-files\": 0,\n \"gx-ide-navigation-report\": 0,\n \"gx-ide-splash\": 0,\n \"gx-ide-welcome-page\": 0,\n \"gx-ide-bpm-export-xpdl\": 0,\n \"gx-ide-curl-inspector\": 0,\n \"gx-ide-launchpad\": 0,\n \"gx-ide-launchpad-web-apps\": 0,\n \"gx-ide-launchpad-native-apps\": 0,\n \"gx-ide-launchpad-apis\": 0,\n \"gx-ide-launchpad-api\": 0 \n};\n\nconst componentsWithoutTranslations = new Set<GeneXusIdeUIControlsTagName>([\n \"gx-ide-chat-container\",\n \"gx-ide-container\",\n \"gx-ide-sc-chat-container\",\n \"gx-ide-directory-selector\",\n \"gx-ide-empty-state\",\n \"gx-ide-list-selector\",\n \"gx-ide-list-selector-item\",\n \"gx-ide-loader\",\n \"gx-ide-switch-panel\",\n \"gx-ide-switcher\",\n \"gx-ide-test\",\n \"gx-ide-title\",\n \"gx-ide-top-bar\",\n \"gx-ide-file-item\"\n]);\n\nconst componentsWithTranslations = Object.keys(\n allGeneXusIdeUIComponents\n).filter(\n component =>\n !componentsWithoutTranslations.has(component as GeneXusIdeUIControlsTagName)\n);\n\ncomponentsWithTranslations.forEach(testLocale);\n"]}
|
|
1
|
+
{"version":3,"file":"locale.e2e.js","sourceRoot":"","sources":["../../src/testing/locale.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport { GeneXusIdeUIControlsTagName } from \"../common/types\";\nimport { haveSameStructure } from \"./same-structure.e2e\";\n\nconst COMPONENT_PREFIX = \"gx-ide-\";\nconst languages: { name: string; attr: string }[] = [\n { name: \"chinese\", attr: \"zh\" },\n { name: \"english\", attr: \"en\" },\n { name: \"japanese\", attr: \"ja\" }\n];\n\nconst testLocale = (componentNameWithPrefix: GeneXusIdeUIControlsTagName) => {\n describe(`[locale][${componentNameWithPrefix}]`, () => {\n let page: E2EPage;\n const componentName = componentNameWithPrefix.replace(COMPONENT_PREFIX, \"\");\n\n // This implementation is a WA since we can't evaluate JS classes in the page.\n // TODO: Implement the locale utility as a function, which can be evaluated\n // in the page\n const getTranslations = () =>\n page.evaluate(component => {\n const ASSETS_FOLDER = \"gx-ide-assets/\";\n const DEFAULT_LANGUAGE = \"en\";\n const LANGS_FOLDER = \"langs/\";\n const LANG_PREFIX = \".lang.\";\n const LANG_EXTENSION = \".json\";\n const lang =\n document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf() ?? DEFAULT_LANGUAGE;\n const folder = `${component}/`;\n\n const path =\n `/build/${ASSETS_FOLDER}${folder}${LANGS_FOLDER}${component}${LANG_PREFIX}${lang}${LANG_EXTENSION}` as const;\n\n return new Promise(resolve => {\n fetch(path)\n .then(async langFile => {\n if (langFile.ok) {\n const fileObject = await langFile.json();\n resolve(fileObject);\n } else {\n resolve(undefined);\n }\n })\n .catch(() => resolve(undefined));\n });\n }, componentName);\n\n beforeEach(async () => {\n page = await newE2EPage({\n failOnConsoleError: true,\n html: \"\" // Necessary\n });\n });\n\n it(\"should work without specifying the language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n\n it(\"should default to english language when there is no language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n\n await page.evaluate(() =>\n document.documentElement.setAttribute(\"lang\", \"en\")\n );\n\n const languageEnglishFile: any | undefined = await getTranslations();\n expect(languageEnglishFile).toBeTruthy();\n expect(languageFile).toEqual(languageEnglishFile);\n });\n\n languages.forEach(language => {\n it(`should work with ${language.name} language`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language.attr\n );\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n });\n\n for (let index = 0; index < languages.length - 1; index++) {\n const language1 = languages[index];\n const language2 = languages[index + 1];\n\n // TODO: Complete all translations. At this moment, Japanese and Chinese\n // translations have missing literals\n it(`should translate the same literals (${language1.name} and ${language2.name})`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language1.attr\n );\n const language1File: any | undefined = await getTranslations();\n\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language2.attr\n );\n const language2File: any | undefined = await getTranslations();\n\n expect(language1File).toBeTruthy();\n expect(language2File).toBeTruthy();\n expect(haveSameStructure(language1File, language2File)).toBe(true);\n });\n }\n });\n};\n\n// TypeScript does not have a built-in type to exhaust a list with union types\nconst allGeneXusIdeUIComponents: { [key in GeneXusIdeUIControlsTagName]: 0 } = {\n \"gx-ide-about\": 0,\n \"gx-ide-bpm-app-declaration\": 0,\n \"gx-ide-bpm-assign-roles\": 0,\n \"gx-ide-bpm-import-files\": 0,\n \"gx-ide-bpm-import-gxpm\": 0,\n \"gx-ide-bpm-objects-selector\": 0,\n \"gx-ide-bpm-sync-gam-roles\": 0,\n \"gx-ide-bpm-task-documents\": 0,\n \"gx-ide-bpm-timer-duration\": 0,\n \"gx-ide-card\": 0,\n \"gx-ide-chat-container\": 0,\n \"gx-ide-chat-welcome\": 0,\n \"gx-ide-sc-chat-container\": 0,\n \"gx-ide-connect-gx-server\": 0,\n \"gx-ide-container\": 0,\n \"gx-ide-create-kb-from-server\": 0,\n \"gx-ide-current-user-info\": 0,\n \"gx-ide-data-selector\": 0,\n \"gx-ide-data-type-selector\": 0,\n \"gx-ide-deployment-tool\": 0,\n \"gx-ide-details-acknowledgements\": 0,\n \"gx-ide-design-import\": 0,\n \"gx-ide-directory-selector\": 0,\n \"gx-ide-edit-module-server\": 0,\n \"gx-ide-empty-state\": 0,\n \"gx-ide-entity-selector\": 0,\n \"gx-ide-file-item\": 0,\n \"gx-ide-file-uploader\": 0,\n \"gx-ide-gam-installation-settings\": 0,\n \"gx-ide-json-import\": 0,\n \"gx-ide-kb-manager-export\": 0,\n \"gx-ide-kb-manager-import\": 0,\n \"gx-ide-list-selector\": 0,\n \"gx-ide-list-selector-item\": 0,\n \"gx-ide-loader\": 0,\n \"gx-ide-manage-module-references\": 0,\n \"gx-ide-name-picker\": 0,\n \"gx-ide-new-environment\": 0,\n \"gx-ide-new-kb\": 0,\n \"gx-ide-new-object\": 0,\n \"gx-ide-new-version\": 0,\n \"gx-ide-object-selector\": 0,\n \"gx-ide-open-api-import\": 0,\n \"gx-ide-progress-bar\": 0,\n \"gx-ide-plugin-explorer\": 0,\n \"gx-ide-plugin-details\": 0,\n \"gx-ide-references\": 0,\n \"gx-ide-server-selector\": 0,\n \"gx-ide-select-kb-items\": 0,\n \"gx-ide-select-user-team\": 0,\n \"gx-ide-sign-in\": 0,\n \"gx-ide-sign-in-team\": 0,\n \"gx-ide-share-kb\": 0,\n \"gx-ide-start-page\": 0,\n \"gx-ide-sign-in-result\": 0,\n \"gx-ide-status-buttons\": 0,\n \"gx-ide-switch-panel\": 0,\n \"gx-ide-switcher\": 0,\n \"gx-ide-team-dev-bring-changes\": 0,\n \"gx-ide-team-dev-commit\": 0,\n \"gx-ide-team-dev-history\": 0,\n \"gx-ide-team-dev-preview\": 0,\n \"gx-ide-team-dev-select-recent-comment\": 0,\n \"gx-ide-team-dev-update\": 0,\n \"gx-ide-team-dev-update-partial-selection\": 0,\n \"gx-ide-team-dev-update-to-revision\": 0,\n \"gx-ide-starting-template\": 0,\n \"gx-ide-test\": 0,\n \"gx-ide-title\": 0,\n \"gx-ide-top-bar\": 0,\n \"gx-ide-wf-settings\": 0,\n \"gx-ide-ww-images\": 0,\n \"gx-ide-ww-attributes\": 0,\n \"gx-ide-ww-files\": 0,\n \"gx-ide-navigation-report\": 0,\n \"gx-ide-splash\": 0,\n \"gx-ide-welcome-page\": 0,\n \"gx-ide-bpm-export-xpdl\": 0,\n \"gx-ide-curl-inspector\": 0,\n \"gx-ide-launchpad\": 0,\n \"gx-ide-launchpad-web-apps\": 0,\n \"gx-ide-launchpad-native-apps\": 0,\n \"gx-ide-launchpad-apis\": 0,\n \"gx-ide-launchpad-api\": 0 \n};\n\nconst componentsWithoutTranslations = new Set<GeneXusIdeUIControlsTagName>([\n \"gx-ide-chat-container\",\n \"gx-ide-container\",\n \"gx-ide-sc-chat-container\",\n \"gx-ide-directory-selector\",\n \"gx-ide-empty-state\",\n \"gx-ide-list-selector\",\n \"gx-ide-list-selector-item\",\n \"gx-ide-loader\",\n \"gx-ide-switch-panel\",\n \"gx-ide-switcher\",\n \"gx-ide-test\",\n \"gx-ide-title\",\n \"gx-ide-top-bar\",\n \"gx-ide-file-item\"\n]);\n\nconst componentsWithTranslations = Object.keys(\n allGeneXusIdeUIComponents\n).filter(\n component =>\n !componentsWithoutTranslations.has(component as GeneXusIdeUIControlsTagName)\n);\n\ncomponentsWithTranslations.forEach(testLocale);\n"]}
|
|
@@ -25,35 +25,6 @@ const renderFormItems = (componentType = "gxg-combo-box-item", options, group =
|
|
|
25
25
|
}
|
|
26
26
|
return null;
|
|
27
27
|
};
|
|
28
|
-
const renderModuleDataProperties = (options) => {
|
|
29
|
-
if (options.length) {
|
|
30
|
-
const items = [];
|
|
31
|
-
options.forEach(option => {
|
|
32
|
-
if (Array.isArray(option.value)) {
|
|
33
|
-
const item = (h("div", { class: "md-property__list" },
|
|
34
|
-
h("p", { class: "md-property__key" },
|
|
35
|
-
option.name,
|
|
36
|
-
" :"),
|
|
37
|
-
h("ul", null, option.value.map(subItem => {
|
|
38
|
-
return h("li", null, subItem);
|
|
39
|
-
}))));
|
|
40
|
-
items.push(item);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
const item = (h("div", { class: option.inline
|
|
44
|
-
? "md-property md-property--inline"
|
|
45
|
-
: "md-property--block" },
|
|
46
|
-
h("p", { class: "md-property__key" },
|
|
47
|
-
option.name,
|
|
48
|
-
" :"),
|
|
49
|
-
h("p", { class: "md-property__value" }, option.value)));
|
|
50
|
-
items.push(item);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
return items;
|
|
54
|
-
}
|
|
55
|
-
return null;
|
|
56
|
-
};
|
|
57
28
|
/**
|
|
58
29
|
* @param gxOptions An array of GxOptions's
|
|
59
30
|
* @returns The value of the selected item, or the first item, if no one is selected.
|
|
@@ -99,6 +70,6 @@ const ANIMATION_DOTS = (size = "regular", color = "primary", sizeType = "dynamic
|
|
|
99
70
|
sizeType === "dynamic" ? animateRadiusSize("0.66s") : null)));
|
|
100
71
|
};
|
|
101
72
|
|
|
102
|
-
export { ANIMATION_DOTS as A,
|
|
73
|
+
export { ANIMATION_DOTS as A, getSelectedItem as g, renderFormItems as r, setSelectedItem as s };
|
|
103
74
|
|
|
104
75
|
//# sourceMappingURL=common.js.map
|