@genexus/genexus-ide-ui 1.1.35 → 1.1.36

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.
Files changed (133) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +1 -1
  3. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +645 -296
  4. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +8 -3
  8. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +4 -25
  10. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  11. package/dist/cjs/helpers-8fb178a2.js +30 -0
  12. package/dist/cjs/helpers-8fb178a2.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/{utilities-11683cc0.js → utilities-0e316b39.js} +6 -6
  15. package/dist/cjs/utilities-0e316b39.js.map +1 -0
  16. package/dist/collection/collection-manifest.json +1 -1
  17. package/dist/collection/components/team-dev/bring-changes/bring-changes.js +1 -1
  18. package/dist/collection/components/team-dev/common/utilities.js +5 -5
  19. package/dist/collection/components/team-dev/common/utilities.js.map +1 -1
  20. package/dist/collection/components/team-dev/history/history.js.map +1 -1
  21. package/dist/collection/components/team-dev/update/update.js +1 -1
  22. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  23. package/dist/collection/components/team-dev/version-control/commit/commit.css +344 -0
  24. package/dist/collection/components/team-dev/version-control/commit/commit.js +801 -0
  25. package/dist/collection/components/team-dev/version-control/commit/commit.js.map +1 -0
  26. package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +78 -0
  27. package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +78 -0
  28. package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +78 -0
  29. package/dist/collection/components/team-dev/version-control/commit/utilities/categories-to-combo-box.js +7 -0
  30. package/dist/collection/components/team-dev/version-control/commit/utilities/categories-to-combo-box.js.map +1 -0
  31. package/dist/collection/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.js +11 -0
  32. package/dist/collection/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.js.map +1 -0
  33. package/dist/collection/components/team-dev/version-control/commit/utilities/folders-to-combo-box.js +5 -0
  34. package/dist/collection/components/team-dev/version-control/commit/utilities/folders-to-combo-box.js.map +1 -0
  35. package/dist/collection/components/team-dev/version-control/commit/utilities/types-to-combo-box.js +6 -0
  36. package/dist/collection/components/team-dev/version-control/commit/utilities/types-to-combo-box.js.map +1 -0
  37. package/dist/collection/components/team-dev/version-control/common/clear-grid-selection.js +37 -0
  38. package/dist/collection/components/team-dev/version-control/common/clear-grid-selection.js.map +1 -0
  39. package/dist/collection/components/team-dev/version-control/common/constants.js +70 -0
  40. package/dist/collection/components/team-dev/version-control/common/constants.js.map +1 -0
  41. package/dist/collection/components/team-dev/version-control/common/header-renders.js +12 -0
  42. package/dist/collection/components/team-dev/version-control/common/header-renders.js.map +1 -0
  43. package/dist/collection/components/team-dev/version-control/common/object-type-to-combo-box.js +6 -0
  44. package/dist/collection/components/team-dev/version-control/common/object-type-to-combo-box.js.map +1 -0
  45. package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js +112 -0
  46. package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js.map +1 -0
  47. package/dist/collection/components/team-dev/version-control/common/types.js.map +1 -0
  48. package/dist/components/gx-ide-team-dev-commit.js +682 -316
  49. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  50. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  51. package/dist/components/gx-ide-team-dev-update.js +6 -1
  52. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  53. package/dist/components/gx-ide-ww-files.js +2 -23
  54. package/dist/components/gx-ide-ww-files.js.map +1 -1
  55. package/dist/components/helpers2.js +24 -10
  56. package/dist/components/helpers2.js.map +1 -1
  57. package/dist/components/utilities.js +5 -5
  58. package/dist/components/utilities.js.map +1 -1
  59. package/dist/esm/genexus-ide-ui.js +1 -1
  60. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +1 -1
  61. package/dist/esm/gx-ide-team-dev-commit.entry.js +646 -297
  62. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  63. package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
  64. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  65. package/dist/esm/gx-ide-team-dev-update.entry.js +7 -2
  66. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  67. package/dist/esm/gx-ide-ww-files.entry.js +2 -23
  68. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  69. package/dist/esm/helpers-4d080d9f.js +27 -0
  70. package/dist/esm/helpers-4d080d9f.js.map +1 -0
  71. package/dist/esm/loader.js +1 -1
  72. package/dist/esm/{utilities-482e01e6.js → utilities-6624d90e.js} +6 -6
  73. package/dist/esm/utilities-6624d90e.js.map +1 -0
  74. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  75. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  76. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +67 -28
  77. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +68 -29
  78. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +67 -28
  79. package/dist/genexus-ide-ui/{p-1f7ef8ba.entry.js → p-34447b77.entry.js} +2 -2
  80. package/dist/genexus-ide-ui/{p-d1374a00.entry.js → p-42f37527.entry.js} +155 -151
  81. package/dist/genexus-ide-ui/p-42f37527.entry.js.map +1 -0
  82. package/dist/genexus-ide-ui/{p-13f4b647.entry.js → p-585fac4a.entry.js} +2 -2
  83. package/dist/genexus-ide-ui/p-585fac4a.entry.js.map +1 -0
  84. package/dist/genexus-ide-ui/p-723d25ae.entry.js +912 -0
  85. package/dist/genexus-ide-ui/p-723d25ae.entry.js.map +1 -0
  86. package/dist/genexus-ide-ui/{p-f242ae04.entry.js → p-9b8a8487.entry.js} +251 -272
  87. package/dist/genexus-ide-ui/p-9b8a8487.entry.js.map +1 -0
  88. package/dist/genexus-ide-ui/{p-2ee77587.js → p-a24571ca.js} +6 -6
  89. package/dist/genexus-ide-ui/p-a24571ca.js.map +1 -0
  90. package/dist/genexus-ide-ui/p-edcd0022.js +27 -0
  91. package/dist/genexus-ide-ui/p-edcd0022.js.map +1 -0
  92. package/dist/types/components/team-dev/common/utilities.d.ts +1 -1
  93. package/dist/types/components/team-dev/history/history.d.ts +1 -1
  94. package/dist/types/components/team-dev/version-control/commit/commit.d.ts +192 -0
  95. package/dist/types/components/team-dev/version-control/commit/utilities/categories-to-combo-box.d.ts +3 -0
  96. package/dist/types/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.d.ts +3 -0
  97. package/dist/types/components/team-dev/version-control/commit/utilities/folders-to-combo-box.d.ts +3 -0
  98. package/dist/types/components/team-dev/version-control/commit/utilities/types-to-combo-box.d.ts +3 -0
  99. package/dist/types/components/team-dev/version-control/common/clear-grid-selection.d.ts +11 -0
  100. package/dist/types/components/team-dev/version-control/common/constants.d.ts +24 -0
  101. package/dist/types/components/team-dev/version-control/common/header-renders.d.ts +5 -0
  102. package/dist/types/components/team-dev/{commit/helpers.d.ts → version-control/common/object-type-to-combo-box.d.ts} +1 -2
  103. package/dist/types/components/team-dev/version-control/common/tabular-grid-render.d.ts +8 -0
  104. package/dist/types/components/team-dev/version-control/common/types.d.ts +52 -0
  105. package/dist/types/components.d.ts +61 -77
  106. package/package.json +1 -1
  107. package/dist/cjs/helpers-456ecc75.js +0 -16
  108. package/dist/cjs/helpers-456ecc75.js.map +0 -1
  109. package/dist/cjs/utilities-11683cc0.js.map +0 -1
  110. package/dist/collection/components/team-dev/commit/commit.css +0 -100
  111. package/dist/collection/components/team-dev/commit/commit.js +0 -708
  112. package/dist/collection/components/team-dev/commit/commit.js.map +0 -1
  113. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +0 -39
  114. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +0 -39
  115. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +0 -39
  116. package/dist/collection/components/team-dev/commit/helpers.js +0 -10
  117. package/dist/collection/components/team-dev/commit/helpers.js.map +0 -1
  118. package/dist/collection/components/team-dev/common/types.js.map +0 -1
  119. package/dist/esm/helpers-e1db579e.js +0 -13
  120. package/dist/esm/helpers-e1db579e.js.map +0 -1
  121. package/dist/esm/utilities-482e01e6.js.map +0 -1
  122. package/dist/genexus-ide-ui/p-13f4b647.entry.js.map +0 -1
  123. package/dist/genexus-ide-ui/p-2ee77587.js.map +0 -1
  124. package/dist/genexus-ide-ui/p-49f765ef.entry.js +0 -674
  125. package/dist/genexus-ide-ui/p-49f765ef.entry.js.map +0 -1
  126. package/dist/genexus-ide-ui/p-821431b4.js +0 -13
  127. package/dist/genexus-ide-ui/p-821431b4.js.map +0 -1
  128. package/dist/genexus-ide-ui/p-d1374a00.entry.js.map +0 -1
  129. package/dist/genexus-ide-ui/p-f242ae04.entry.js.map +0 -1
  130. package/dist/types/components/team-dev/commit/commit.d.ts +0 -115
  131. package/dist/types/components/team-dev/common/types.d.ts +0 -1
  132. /package/dist/collection/components/team-dev/{common → version-control/common}/types.js +0 -0
  133. /package/dist/genexus-ide-ui/{p-1f7ef8ba.entry.js.map → p-34447b77.entry.js.map} +0 -0
@@ -0,0 +1,112 @@
1
+ // stencil
2
+ import { h } from "@stencil/core";
3
+ import ICONS from "./constants";
4
+ import { renderObjectTypeWithIcon } from "../../common/utilities";
5
+ import { formatDate } from "../../../../common/helpers";
6
+ import { CSS_SELECTORS as CLASSES } from "./constants";
7
+ import { hiChar } from "../../../ww-files/helpers";
8
+ import { config } from "../../../../common/config";
9
+ const BUTTON_ACTION_SELECTOR = "button-action-custom-selector";
10
+ const renderStateCellContent = (action, componentLocale) => {
11
+ let icon;
12
+ let caption;
13
+ let iconColor;
14
+ if (action === "deleted") {
15
+ icon = ICONS.substract;
16
+ caption = componentLocale.states.deleted;
17
+ iconColor = "--mer-icon__error";
18
+ }
19
+ else if (action === "inserted") {
20
+ icon = ICONS.add;
21
+ caption = componentLocale.states.inserted;
22
+ iconColor = "--mer-icon__success";
23
+ }
24
+ else if (action === "modified") {
25
+ icon = ICONS.edit;
26
+ caption = componentLocale.states.modified;
27
+ iconColor = "--mer-icon__warning";
28
+ }
29
+ else if (action === "conflicted") {
30
+ icon = ICONS.warning;
31
+ caption = componentLocale.states.conflicted;
32
+ iconColor = "--mer-icon__warning";
33
+ }
34
+ else if (!action) {
35
+ // proably is "ignored"
36
+ return null;
37
+ }
38
+ return (h("span", { class: "custom-icon-text-wrapper" }, h("ch-image", { type: "mask", class: "icon-md", src: icon, style: { backgroundColor: `var(${iconColor})` } }), `${caption}`));
39
+ };
40
+ const renderObjectStatus = (objectId, objectsStatusMap, updatePillAsButton, commitSingleObject, componentLocale) => {
41
+ const status = objectsStatusMap.get(objectId);
42
+ const caption = status === "pending" && updatePillAsButton
43
+ ? componentLocale.status.commit
44
+ : componentLocale.status[status];
45
+ if (status === "commiting") {
46
+ return h("span", { class: "spinner-caption" }, caption);
47
+ }
48
+ const classes = `pill pill--${status}`;
49
+ if (updatePillAsButton && status === "pending") {
50
+ return (h("button", { class: {
51
+ "button-secondary": true,
52
+ "button-icon-and-text": true,
53
+ "pill": true,
54
+ "pill--update": true,
55
+ [BUTTON_ACTION_SELECTOR]: true
56
+ }, onClick: commitSingleObject(objectId) }, caption));
57
+ }
58
+ else {
59
+ return h("span", { class: classes }, caption);
60
+ }
61
+ };
62
+ const renderTabularGridRows = (type, pendingObjectsAfterFilter, ignoredObjectsAfterFilter, alreadyUpdatedObjectsIdsSet, markedObjectsSet, objectsMessagesDataMap, updatePillAsButton, commitSingleObject, objectsStatusMap, searchValue, componentLocale) => {
63
+ let objects;
64
+ if (type === "pending") {
65
+ objects = pendingObjectsAfterFilter;
66
+ }
67
+ else if (type === "ignored") {
68
+ objects = ignoredObjectsAfterFilter;
69
+ }
70
+ searchValue = searchValue.toLowerCase();
71
+ const filteredRows = objects.map(object => {
72
+ const alreadyUpdated = alreadyUpdatedObjectsIdsSet.has(object.id);
73
+ const hideCheckbox = alreadyUpdated || type === "ignored";
74
+ const marked = markedObjectsSet.has(object.id);
75
+ const messages = objectsMessagesDataMap.get(object.id);
76
+ return (h("ch-tabular-grid-row", { class: "tabular-grid-row", key: object.id, rowid: object.id, ref: (el) => marked && (el === null || el === void 0 ? void 0 : el.setAttribute("marked", "true")) }, h("ch-tabular-grid-cell", { "cell-type": "rich", "row-selector": "true", class: {
77
+ "tabular-grid-cell": true,
78
+ "no-checkbox-custom-selector": hideCheckbox
79
+ }, size: "max-content" }, h("div", null, hiChar(object.name, searchValue))), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, renderObjectTypeWithIcon(object.type)), h("ch-tabular-grid-cell", { class: {
80
+ "tabular-grid-cell": true,
81
+ [CLASSES.GRID_CELL_DESCRIPTION]: true
82
+ } }, h("div", null, hiChar(object.description, searchValue))), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, formatDate(object.modifiedOn)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, object.module), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, renderStateCellContent(object.state, componentLocale)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, formatDate(object.lastSynchronized)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell tabular-grid-cell--for-pill" }, renderObjectStatus(object.id, objectsStatusMap, updatePillAsButton, commitSingleObject, componentLocale)), (messages === null || messages === void 0 ? void 0 : messages.length) && (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", { class: {
83
+ "tabular-grid-rowset-empty": true
84
+ } }, h("ul", { class: "messages-list" }, messages.map(message => {
85
+ let MESSAGE_ICON;
86
+ if (message.type === "error") {
87
+ MESSAGE_ICON = ICONS.error;
88
+ }
89
+ else if (message.type === "warning") {
90
+ MESSAGE_ICON = ICONS.warning;
91
+ }
92
+ else if (message.type === "success") {
93
+ MESSAGE_ICON = ICONS.success;
94
+ }
95
+ else {
96
+ // info
97
+ MESSAGE_ICON = ICONS.info;
98
+ }
99
+ return (h("li", { class: "message-description" }, h("ch-image", { class: "icon-md message-icon", src: MESSAGE_ICON }), message.text));
100
+ })))))));
101
+ });
102
+ // this.objectsRenderedAlready = true;
103
+ return filteredRows;
104
+ };
105
+ export default renderTabularGridRows;
106
+ export const renderTabularGridColumns = (ignoredGridColumns, gridIsEmpty = false, componentLocale) => {
107
+ const colSize = gridIsEmpty
108
+ ? config.tabularGrid.colSize.auto
109
+ : config.tabularGrid.colSize.maxContent;
110
+ return (h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, !ignoredGridColumns.includes("name") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "name", columnName: componentLocale.objects.name, columnType: "rich", richRowSelector: true, richRowSelectorMode: "mark", settingable: false, size: colSize })), !ignoredGridColumns.includes("type") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "type", columnName: componentLocale.objects.type, settingable: false, size: colSize })), !ignoredGridColumns.includes("description") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "description", columnName: componentLocale.objects.description, settingable: false, size: config.tabularGrid.colSize.description })), !ignoredGridColumns.includes("modifiedOn") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "modifiedOn", columnName: componentLocale.objects.modifiedOn, settingable: false, size: colSize })), !ignoredGridColumns.includes("module") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "module", columnName: componentLocale.objects.module, settingable: false, size: colSize })), !ignoredGridColumns.includes("localState") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "localState", columnName: componentLocale.objects.localState, settingable: false, size: colSize })), !ignoredGridColumns.includes("lastSynchronized") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "lastSynchronized", columnName: componentLocale.objects.lastSynchronized, settingable: false, size: colSize })), !ignoredGridColumns.includes("action") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "action", columnName: componentLocale.objects.action, settingable: false, size: colSize })), !ignoredGridColumns.includes("status") && (h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "status", columnName: componentLocale.objects.status, settingable: false, size: gridIsEmpty ? "auto" : "100px" }))));
111
+ };
112
+ //# sourceMappingURL=tabular-grid-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabular-grid-render.js","sourceRoot":"","sources":["../../../../../src/components/team-dev/version-control/common/tabular-grid-render.tsx"],"names":[],"mappings":"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","sourcesContent":["// stencil\nimport { h, JSX } from \"@stencil/core\";\n\n// external libraries\nimport HTMLChTabularGridRowElement from \"@genexus/chameleon-controls-library/dist/types/components/tabular-grid/row/tabular-grid-row\";\n\n// local\nimport {\n MessageData,\n ModifiedObjectData,\n SourceType,\n StatusInternal\n} from \"./types\";\nimport { ObjectState } from \"../common/types\";\nimport ICONS from \"./constants\";\nimport { renderObjectTypeWithIcon } from \"../../common/utilities\";\nimport { formatDate } from \"../../../../common/helpers\";\nimport { CSS_SELECTORS as CLASSES } from \"./constants\";\nimport { hiChar } from \"../../../ww-files/helpers\";\nimport { config } from \"../../../../common/config\";\n\nconst BUTTON_ACTION_SELECTOR = \"button-action-custom-selector\";\n\nconst renderStateCellContent = (\n action: ObjectState,\n componentLocale: any\n): JSX.Element[] | null | string => {\n let icon: string;\n let caption: string;\n let iconColor: string;\n\n if (action === \"deleted\") {\n icon = ICONS.substract;\n caption = componentLocale.states.deleted;\n iconColor = \"--mer-icon__error\";\n } else if (action === \"inserted\") {\n icon = ICONS.add;\n caption = componentLocale.states.inserted;\n iconColor = \"--mer-icon__success\";\n } else if (action === \"modified\") {\n icon = ICONS.edit;\n caption = componentLocale.states.modified;\n iconColor = \"--mer-icon__warning\";\n } else if (action === \"conflicted\") {\n icon = ICONS.warning;\n caption = componentLocale.states.conflicted;\n iconColor = \"--mer-icon__warning\";\n } else if (!action) {\n // proably is \"ignored\"\n return null;\n }\n\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image\n type=\"mask\"\n class=\"icon-md\"\n src={icon}\n style={{ backgroundColor: `var(${iconColor})` }}\n ></ch-image>\n {`${caption}`}\n </span>\n );\n};\n\nconst renderObjectStatus = (\n objectId: string,\n objectsStatusMap: Map<string, StatusInternal>,\n updatePillAsButton: boolean,\n commitSingleObject: (objectId: string) => () => void,\n componentLocale: any\n): JSX.Element[] => {\n const status = objectsStatusMap.get(objectId);\n const caption =\n status === \"pending\" && updatePillAsButton\n ? componentLocale.status.commit\n : componentLocale.status[status];\n\n if (status === \"commiting\") {\n return <span class=\"spinner-caption\">{caption}</span>;\n }\n\n const classes = `pill pill--${status}`;\n if (updatePillAsButton && status === \"pending\") {\n return (\n <button\n class={{\n \"button-secondary\": true,\n \"button-icon-and-text\": true,\n \"pill\": true,\n \"pill--update\": true,\n [BUTTON_ACTION_SELECTOR]: true\n }}\n onClick={commitSingleObject(objectId)}\n >\n {caption}\n </button>\n );\n } else {\n return <span class={classes}>{caption}</span>;\n }\n};\n\nconst renderTabularGridRows = (\n type: SourceType,\n pendingObjectsAfterFilter: ModifiedObjectData[],\n ignoredObjectsAfterFilter: ModifiedObjectData[],\n alreadyUpdatedObjectsIdsSet: Set<string>,\n markedObjectsSet: Set<string>,\n objectsMessagesDataMap: Map<string, MessageData[]>,\n updatePillAsButton: boolean,\n commitSingleObject: (objectId: string) => () => void,\n objectsStatusMap: Map<string, StatusInternal>,\n searchValue: string,\n componentLocale: any\n): HTMLChTabularGridRowElement[] => {\n let objects: ModifiedObjectData[];\n if (type === \"pending\") {\n objects = pendingObjectsAfterFilter;\n } else if (type === \"ignored\") {\n objects = ignoredObjectsAfterFilter;\n }\n\n searchValue = searchValue.toLowerCase();\n\n const filteredRows = objects.map(object => {\n const alreadyUpdated = alreadyUpdatedObjectsIdsSet.has(object.id);\n const hideCheckbox = alreadyUpdated || type === \"ignored\";\n const marked = markedObjectsSet.has(object.id);\n const messages = objectsMessagesDataMap.get(object.id);\n\n return (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n key={object.id}\n rowid={object.id}\n ref={(el: HTMLElement) => marked && el?.setAttribute(\"marked\", \"true\")}\n >\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector=\"true\"\n class={{\n \"tabular-grid-cell\": true,\n \"no-checkbox-custom-selector\": hideCheckbox\n }}\n size=\"max-content\"\n >\n <div\n // This div is a WA to prevent the cell display:flex to\n // apply columns when hiChar is applied. hiChar creates\n // a span for every match.\n >\n {hiChar(object.name, searchValue)}\n </div>\n {/* {object.name} */}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(object.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell\n class={{\n \"tabular-grid-cell\": true,\n [CLASSES.GRID_CELL_DESCRIPTION]: true\n }}\n >\n <div\n // This div is a WA to prevent the cell display:flex to\n // apply columns when hiChar is applied. hiChar creates\n // a span for every match.\n >\n {hiChar(object.description, searchValue)}\n </div>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {formatDate(object.modifiedOn)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {object.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderStateCellContent(object.state, componentLocale)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {formatDate(object.lastSynchronized)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell--for-pill\">\n {renderObjectStatus(\n object.id,\n objectsStatusMap,\n updatePillAsButton,\n commitSingleObject,\n componentLocale\n )}\n </ch-tabular-grid-cell>\n\n {messages?.length && (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty\n class={{\n \"tabular-grid-rowset-empty\": true\n }}\n >\n <ul class=\"messages-list\">\n {messages.map(message => {\n let MESSAGE_ICON;\n if (message.type === \"error\") {\n MESSAGE_ICON = ICONS.error;\n } else if (message.type === \"warning\") {\n MESSAGE_ICON = ICONS.warning;\n } else if (message.type === \"success\") {\n MESSAGE_ICON = ICONS.success;\n } else {\n // info\n MESSAGE_ICON = ICONS.info;\n }\n\n return (\n <li class=\"message-description\">\n <ch-image\n class=\"icon-md message-icon\"\n src={MESSAGE_ICON}\n ></ch-image>\n {message.text}\n </li>\n );\n })}\n </ul>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid-row>\n );\n });\n\n // this.objectsRenderedAlready = true;\n\n return filteredRows;\n};\n\nexport default renderTabularGridRows;\n\nexport type GridColumnType =\n | \"action\"\n | \"description\"\n | \"lastSynchronized\"\n | \"localState\"\n | \"modifiedOn\"\n | \"module\"\n | \"name\"\n | \"status\"\n | \"type\";\n\nexport type GridColumnSet = Partial<Record<GridColumnType, true>>;\n\nexport const renderTabularGridColumns = (\n ignoredGridColumns: GridColumnType[],\n gridIsEmpty: boolean = false,\n componentLocale: any\n): JSX.Element => {\n const colSize = gridIsEmpty\n ? config.tabularGrid.colSize.auto\n : config.tabularGrid.colSize.maxContent;\n\n return (\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n {!ignoredGridColumns.includes(\"name\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"name\"\n columnName={componentLocale.objects.name}\n columnType=\"rich\"\n richRowSelector={true}\n richRowSelectorMode=\"mark\"\n settingable={false}\n size={colSize}\n />\n )}\n\n {!ignoredGridColumns.includes(\"type\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"type\"\n columnName={componentLocale.objects.type}\n settingable={false}\n size={colSize}\n />\n )}\n\n {!ignoredGridColumns.includes(\"description\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"description\"\n columnName={componentLocale.objects.description}\n settingable={false}\n size={config.tabularGrid.colSize.description}\n />\n )}\n\n {!ignoredGridColumns.includes(\"modifiedOn\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"modifiedOn\"\n columnName={componentLocale.objects.modifiedOn}\n settingable={false}\n size={colSize}\n />\n )}\n\n {!ignoredGridColumns.includes(\"module\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"module\"\n columnName={componentLocale.objects.module}\n settingable={false}\n size={colSize}\n />\n )}\n\n {!ignoredGridColumns.includes(\"localState\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"localState\"\n columnName={componentLocale.objects.localState}\n settingable={false}\n size={colSize}\n />\n )}\n\n {!ignoredGridColumns.includes(\"lastSynchronized\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"lastSynchronized\"\n columnName={componentLocale.objects.lastSynchronized}\n settingable={false}\n size={colSize}\n />\n )}\n\n {!ignoredGridColumns.includes(\"action\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"action\"\n columnName={componentLocale.objects.action}\n settingable={false}\n size={colSize}\n />\n )}\n\n {!ignoredGridColumns.includes(\"status\") && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"status\"\n columnName={componentLocale.objects.status}\n settingable={false}\n size={gridIsEmpty ? \"auto\" : \"100px\"}\n />\n )}\n </ch-tabular-grid-columnset>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/components/team-dev/version-control/common/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ContextMenuInfo,\n ItemsCheckedResult,\n ItemsCheckedState,\n ObjectType\n} from \"../../../../common/types\";\n\nimport { ALL_VALUE } from \"./constants\";\n\nexport type CommitSelectCallback = (\n grid: SourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type ObjectState = \"inserted\" | \"modified\" | \"deleted\" | \"conflicted\";\n\nexport type SourceType = \"pending\" | \"ignored\";\n\nexport type Status = \"pending\" | \"commited\" | \"ignored\";\n\nexport type StatusInternal = Status | \"commiting\" | \"ignored\";\n\nexport type StateForFilter = ObjectState | typeof ALL_VALUE;\n\nexport type ContextMenuCallback = (\n source: SourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\n// callbacks\n\nexport type SelectCallback = (source: SourceType, selectionIds: string[]) => {};\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type LoadCallback = (filters: FiltersData) => Promise<CommitData>;\n\nexport interface CommitData {\n pendingForCommit: ModifiedObjectData[];\n ignoredObjects: ModifiedObjectData[];\n}\n\nexport type ModifiedObjectData = {\n id: string;\n name: string;\n iconType: string;\n state: ObjectState;\n type: ObjectType;\n description: string;\n modifiedOn: Date;\n module: string;\n localState: ObjectState;\n lastSynchronized: Date;\n user: string;\n};\n\nexport interface FiltersData {\n search: string;\n type: string;\n changeset: string;\n folder: string;\n category: string;\n}\n\nexport interface ServerDetails {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate?: Date;\n}\n\nexport type CommitCallback = (\n selection: string[],\n commitComment: string\n) => Promise<CommitResultData[]>;\n\nexport interface CommitResultData {\n id: string;\n result: Status;\n messages: MessageData[];\n}\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"]}