@genexus/genexus-ide-ui 1.1.65 → 1.1.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js +66 -0
- package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js +210 -0
- package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +29 -28
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +10 -2
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js +34 -20
- package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +9 -2
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/_helpers/comments-viewer/comments-viewer.css +41 -0
- package/dist/collection/components/_helpers/comments-viewer/comments-viewer.js +112 -0
- package/dist/collection/components/_helpers/comments-viewer/comments-viewer.js.map +1 -0
- package/dist/collection/components/_helpers/comments-viewer/gx-ide-assets/comments-viewer/langs/comments-viewer.lang.en.json +5 -0
- package/dist/collection/components/_helpers/comments-viewer/gx-ide-assets/comments-viewer/langs/comments-viewer.lang.ja.json +5 -0
- package/dist/collection/components/_helpers/comments-viewer/gx-ide-assets/comments-viewer/langs/comments-viewer.lang.zh.json +5 -0
- package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.css +27 -0
- package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.js +273 -0
- package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.js.map +1 -0
- package/dist/collection/components/team-dev/bring-all-changes-selector/gx-ide-assets/team-dev-bring-all-changes-selector/langs/team-dev-bring-all-changes-selector.lang.en.json +22 -0
- package/dist/collection/components/team-dev/bring-all-changes-selector/gx-ide-assets/team-dev-bring-all-changes-selector/langs/team-dev-bring-all-changes-selector.lang.ja.json +22 -0
- package/dist/collection/components/team-dev/bring-all-changes-selector/gx-ide-assets/team-dev-bring-all-changes-selector/langs/team-dev-bring-all-changes-selector.lang.zh.json +22 -0
- package/dist/collection/components/team-dev/bring-changes/bring-changes.css +22 -8
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js +69 -28
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
- package/dist/collection/components/team-dev/bring-changes/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.en.json +6 -0
- package/dist/collection/components/team-dev/bring-changes/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.ja.json +6 -0
- package/dist/collection/components/team-dev/bring-changes/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.zh.json +6 -0
- package/dist/collection/components/team-dev/preview/team-dev-preview.css +15 -0
- package/dist/collection/components/team-dev/preview/team-dev-preview.js +56 -20
- package/dist/collection/components/team-dev/preview/team-dev-preview.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.js +31 -2
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/commit/commit.js +33 -3
- package/dist/collection/components/team-dev/version-control/commit/commit.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/common/types.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +3 -1
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/gx-ide-comments-viewer.d.ts +11 -0
- package/dist/components/gx-ide-comments-viewer.js +83 -0
- package/dist/components/gx-ide-comments-viewer.js.map +1 -0
- package/dist/components/gx-ide-team-dev-bring-all-changes-selector.d.ts +11 -0
- package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js +232 -0
- package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js.map +1 -0
- package/dist/components/gx-ide-team-dev-bring-changes.js +31 -28
- package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +13 -3
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-preview.js +37 -21
- package/dist/components/gx-ide-team-dev-preview.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +12 -3
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-comments-viewer.entry.js +62 -0
- package/dist/esm/gx-ide-comments-viewer.entry.js.map +1 -0
- package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js +206 -0
- package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js.map +1 -0
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +29 -28
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +10 -2
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-preview.entry.js +34 -20
- package/dist/esm/gx-ide-team-dev-preview.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +9 -2
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +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/comments-viewer/langs/comments-viewer.lang.en.json +5 -0
- package/dist/genexus-ide-ui/gx-ide-assets/comments-viewer/langs/comments-viewer.lang.ja.json +5 -0
- package/dist/genexus-ide-ui/gx-ide-assets/comments-viewer/langs/comments-viewer.lang.zh.json +5 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-all-changes-selector/langs/team-dev-bring-all-changes-selector.lang.en.json +22 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-all-changes-selector/langs/team-dev-bring-all-changes-selector.lang.ja.json +22 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-all-changes-selector/langs/team-dev-bring-all-changes-selector.lang.zh.json +22 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.en.json +6 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.ja.json +6 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.zh.json +6 -0
- package/dist/genexus-ide-ui/p-0488759f.entry.js +82 -0
- package/dist/genexus-ide-ui/p-0488759f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-09693b80.entry.js +274 -0
- package/dist/genexus-ide-ui/p-09693b80.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ab8aee7d.entry.js → p-1890d374.entry.js} +209 -181
- package/dist/genexus-ide-ui/p-1890d374.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3d71b287.entry.js → p-9285b6db.entry.js} +34 -28
- package/dist/genexus-ide-ui/p-9285b6db.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-73c3f9ec.entry.js → p-c8b0004e.entry.js} +15 -9
- package/dist/genexus-ide-ui/p-c8b0004e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-eeae4b37.entry.js → p-e2fd2c24.entry.js} +135 -128
- package/dist/genexus-ide-ui/p-e2fd2c24.entry.js.map +1 -0
- package/dist/types/components/_helpers/comments-viewer/comments-viewer.d.ts +19 -0
- package/dist/types/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.d.ts +45 -0
- package/dist/types/components/team-dev/bring-changes/bring-changes.d.ts +9 -1
- package/dist/types/components/team-dev/preview/team-dev-preview.d.ts +8 -0
- package/dist/types/components/team-dev/update/update.d.ts +8 -0
- package/dist/types/components/team-dev/version-control/commit/commit.d.ts +8 -0
- package/dist/types/components/team-dev/version-control/common/types.d.ts +1 -0
- package/dist/types/components.d.ts +94 -0
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-3d71b287.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-73c3f9ec.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ab8aee7d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-eeae4b37.entry.js.map +0 -1
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { r as t, h as i, H as e, a as s } from "./p-9b9ccd0c.js";
|
|
2
|
+
|
|
3
|
+
import { L as o } from "./p-311eedf3.js";
|
|
4
|
+
|
|
5
|
+
import { v as a, c as n } from "./p-b32b6b1f.js";
|
|
6
|
+
|
|
7
|
+
import { c as r } from "./p-c5196b3b.js";
|
|
8
|
+
|
|
9
|
+
const m = ":host{display:grid;block-size:100%;grid-template-rows:1fr max-content}.commit-date-container,.commit-number-container{display:grid;gap:15px}.commit-date-container{grid-template-rows:max-content max-content max-content max-content}.commit-number-container{grid-template-rows:max-content max-content max-content}.heading{margin-block:0}.tooltip{position:absolute}";
|
|
10
|
+
|
|
11
|
+
var h = undefined && undefined.__classPrivateFieldGet || function(t, i, e, s) {
|
|
12
|
+
if (e === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof i === "function" ? t !== i || !s : !i.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return e === "m" ? s : e === "a" ? s.call(t) : s ? s.value : i.get(t);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
var l = undefined && undefined.__classPrivateFieldSet || function(t, i, e, s, o) {
|
|
18
|
+
if (s === "m") throw new TypeError("Private method is not writable");
|
|
19
|
+
if (s === "a" && !o) throw new TypeError("Private accessor was defined without a setter");
|
|
20
|
+
if (typeof i === "function" ? t !== i || !o : !i.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
21
|
+
return s === "a" ? o.call(t, e) : o ? o.value = e : i.set(t, e), e;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var c, d, f, u, p, b, v, w, y, g, k, C, D, _, M;
|
|
25
|
+
|
|
26
|
+
const W = [ "resets/box-sizing", "utils/form", "utils/spacing", "utils/layout", "components/checkbox", "components/button", "components/edit", "components/radio-group", "components/tooltip" ];
|
|
27
|
+
|
|
28
|
+
const x = {
|
|
29
|
+
fromCommitDate: {
|
|
30
|
+
value: "fromCommitDate"
|
|
31
|
+
},
|
|
32
|
+
fromCommitNumber: {
|
|
33
|
+
value: "fromCommitNumber"
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const N = class {
|
|
38
|
+
constructor(e) {
|
|
39
|
+
t(this, e);
|
|
40
|
+
c.set(this, void 0);
|
|
41
|
+
d.set(this, void 0);
|
|
42
|
+
f.set(this, void 0);
|
|
43
|
+
// TODO: evaluate if this should be a global helper function.
|
|
44
|
+
// It is used on other dialogs as well.
|
|
45
|
+
u.set(this, (t => {
|
|
46
|
+
var e, s, o;
|
|
47
|
+
return ((s = (e = this.validatableControls) === null || e === void 0 ? void 0 : e.get(t === null || t === void 0 ? void 0 : t.id)) === null || s === void 0 ? void 0 : s.hasError) && ((o = this.validatableControls.get(t.id)) === null || o === void 0 ? void 0 : o.message) && i("ch-tooltip", {
|
|
48
|
+
class: "tooltip",
|
|
49
|
+
actionElement: t,
|
|
50
|
+
blockAlign: r.tooltipSettings.blockAlign,
|
|
51
|
+
inlineAlign: r.tooltipSettings.inlineAlign,
|
|
52
|
+
delay: r.tooltipSettings.delay
|
|
53
|
+
}, this.validatableControls.get(t.id).message);
|
|
54
|
+
}));
|
|
55
|
+
p.set(this, (t => {
|
|
56
|
+
t.forEach((t => {
|
|
57
|
+
if (t.id && !this.validatableControls.has(t.id)) {
|
|
58
|
+
this.validatableControls.set(t.id, {
|
|
59
|
+
reference: t,
|
|
60
|
+
hasError: false,
|
|
61
|
+
message: undefined
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}));
|
|
65
|
+
}));
|
|
66
|
+
b.set(this, (async () => {
|
|
67
|
+
await this.cancelCallback();
|
|
68
|
+
}));
|
|
69
|
+
v.set(this, (async () => {
|
|
70
|
+
let t;
|
|
71
|
+
const i = {
|
|
72
|
+
operationType: this.selectedOption,
|
|
73
|
+
fromDate: this.selectedOption === "fromCommitDate" ? this.sinceCommitDate : undefined,
|
|
74
|
+
fromRevision: this.selectedOption === "fromCommitNumber" ? this.sinceCommitNumber : undefined
|
|
75
|
+
};
|
|
76
|
+
t = await this.confirmCallback(i);
|
|
77
|
+
this.validatableControls = a(t, this.validatableControls);
|
|
78
|
+
}));
|
|
79
|
+
w.set(this, (t => {
|
|
80
|
+
const i = new Date;
|
|
81
|
+
let e = new Date;
|
|
82
|
+
switch (t) {
|
|
83
|
+
case "lastSevenDays":
|
|
84
|
+
e.setDate(i.getDate() - 7);
|
|
85
|
+
break;
|
|
86
|
+
|
|
87
|
+
case "lastThirtyDays":
|
|
88
|
+
e.setDate(i.getDate() - 30);
|
|
89
|
+
break;
|
|
90
|
+
|
|
91
|
+
case "lastNinetyDays":
|
|
92
|
+
e.setDate(i.getDate() - 90);
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
this.sinceCommitDate = e;
|
|
96
|
+
}));
|
|
97
|
+
y.set(this, (t => {
|
|
98
|
+
this.sinceCommitDate = t.detail && t.detail !== "" ? new Date(t.detail) : undefined;
|
|
99
|
+
n(this.validatableControls, "commit-date");
|
|
100
|
+
}));
|
|
101
|
+
g.set(this, (t => {
|
|
102
|
+
this.sinceCommitNumber = Number(t.detail);
|
|
103
|
+
n(this.validatableControls, "commit-number");
|
|
104
|
+
}));
|
|
105
|
+
k.set(this, (t => {
|
|
106
|
+
this.selectedOption = t.detail;
|
|
107
|
+
if (this.selectedOption === "fromCommitDate") {
|
|
108
|
+
this.sinceCommitNumber = undefined;
|
|
109
|
+
n(this.validatableControls, "commit-number");
|
|
110
|
+
} else if (this.selectedOption === "fromCommitNumber") {
|
|
111
|
+
this.sinceCommitDate = undefined;
|
|
112
|
+
n(this.validatableControls, "commit-date");
|
|
113
|
+
}
|
|
114
|
+
}));
|
|
115
|
+
C.set(this, (() => {
|
|
116
|
+
if (this.selectedOption === "fromCommitDate") {
|
|
117
|
+
// Validate that sinceCommitDate is a valid date
|
|
118
|
+
return !(this.sinceCommitDate instanceof Date && !isNaN(this.sinceCommitDate.getTime()));
|
|
119
|
+
} else if (this.selectedOption === "fromCommitNumber") {
|
|
120
|
+
// Validate that sinceCommitNumber is a valid number
|
|
121
|
+
return !(this.sinceCommitNumber > 0);
|
|
122
|
+
}
|
|
123
|
+
return true;
|
|
124
|
+
}));
|
|
125
|
+
D.set(this, (() => {
|
|
126
|
+
var t;
|
|
127
|
+
if (this.selectedOption !== "fromCommitDate") {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return i("div", {
|
|
131
|
+
class: "layout layout--cols-2-1"
|
|
132
|
+
}, i("div", {
|
|
133
|
+
class: "layout__panel"
|
|
134
|
+
}, i("div", {
|
|
135
|
+
class: "field field-block"
|
|
136
|
+
}, i("label", {
|
|
137
|
+
class: "label",
|
|
138
|
+
htmlFor: "commit-date"
|
|
139
|
+
}, h(this, c, "f").labels.commitDate), i("ch-edit", {
|
|
140
|
+
class: {
|
|
141
|
+
input: true,
|
|
142
|
+
"input-error": (t = this.validatableControls.get("commit-date")) === null || t === void 0 ? void 0 : t.hasError
|
|
143
|
+
},
|
|
144
|
+
id: "commit-date",
|
|
145
|
+
type: "date",
|
|
146
|
+
value: this.sinceCommitDate && this.sinceCommitDate.toISOString().split("T")[0],
|
|
147
|
+
onInput: h(this, y, "f"),
|
|
148
|
+
ref: t => l(this, f, t, "f")
|
|
149
|
+
}), h(this, u, "f").call(this, h(this, f, "f")))));
|
|
150
|
+
}));
|
|
151
|
+
_.set(this, (() => {
|
|
152
|
+
var t;
|
|
153
|
+
if (this.selectedOption !== "fromCommitNumber") {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return i("div", {
|
|
157
|
+
class: "layout layout--cols-2-1"
|
|
158
|
+
}, i("div", {
|
|
159
|
+
class: "layout__panel"
|
|
160
|
+
}, i("div", {
|
|
161
|
+
class: "field field-block"
|
|
162
|
+
}, i("label", {
|
|
163
|
+
class: "label",
|
|
164
|
+
htmlFor: "commit-number"
|
|
165
|
+
}, h(this, c, "f").labels.commitNumber), i("ch-edit", {
|
|
166
|
+
class: {
|
|
167
|
+
input: true,
|
|
168
|
+
"input-error": (t = this.validatableControls.get("commit-number")) === null || t === void 0 ? void 0 : t.hasError
|
|
169
|
+
},
|
|
170
|
+
id: "commit-number",
|
|
171
|
+
type: "number",
|
|
172
|
+
placeholder: h(this, c, "f").placeholders.commitNumber,
|
|
173
|
+
onInput: h(this, g, "f"),
|
|
174
|
+
mode: "numeric",
|
|
175
|
+
ref: t => l(this, d, t, "f")
|
|
176
|
+
}), h(this, u, "f").call(this, h(this, d, "f")))));
|
|
177
|
+
}));
|
|
178
|
+
M.set(this, (() => {
|
|
179
|
+
if (this.selectedOption !== "fromCommitDate") {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
return i("div", {
|
|
183
|
+
class: "layout layout--cols-3"
|
|
184
|
+
}, i("div", {
|
|
185
|
+
class: "layout__panel"
|
|
186
|
+
}, i("button", {
|
|
187
|
+
class: "button-secondary",
|
|
188
|
+
onClick: () => h(this, w, "f").call(this, "lastSevenDays")
|
|
189
|
+
}, h(this, c, "f").captions.lastSevenDays)), i("div", {
|
|
190
|
+
class: "layout__panel"
|
|
191
|
+
}, i("button", {
|
|
192
|
+
class: "button-secondary",
|
|
193
|
+
onClick: () => h(this, w, "f").call(this, "lastThirtyDays")
|
|
194
|
+
}, h(this, c, "f").captions.lastThirtyDays)), i("div", {
|
|
195
|
+
class: "layout__panel"
|
|
196
|
+
}, i("button", {
|
|
197
|
+
class: "button-secondary",
|
|
198
|
+
onClick: () => h(this, w, "f").call(this, "lastNinetyDays")
|
|
199
|
+
}, h(this, c, "f").captions.lastNinetyDays)));
|
|
200
|
+
}));
|
|
201
|
+
this.sinceCommitDate = undefined;
|
|
202
|
+
this.sinceCommitNumber = undefined;
|
|
203
|
+
this.selectedOption = x.fromCommitDate.value;
|
|
204
|
+
this.radioGroupModel = [];
|
|
205
|
+
this.validatableControls = new Map;
|
|
206
|
+
this.cancelCallback = undefined;
|
|
207
|
+
this.confirmCallback = undefined;
|
|
208
|
+
}
|
|
209
|
+
async componentWillLoad() {
|
|
210
|
+
l(this, c, await o.getComponentStrings(this.el), "f");
|
|
211
|
+
this.radioGroupModel = [ {
|
|
212
|
+
value: x.fromCommitDate.value,
|
|
213
|
+
caption: h(this, c, "f").captions.commitDate
|
|
214
|
+
}, {
|
|
215
|
+
value: x.fromCommitNumber.value,
|
|
216
|
+
caption: h(this, c, "f").captions.commitNumber
|
|
217
|
+
} ];
|
|
218
|
+
}
|
|
219
|
+
componentDidRender() {
|
|
220
|
+
if (this.selectedOption === "fromCommitDate" && h(this, f, "f")) {
|
|
221
|
+
h(this, p, "f").call(this, [ h(this, f, "f") ]);
|
|
222
|
+
}
|
|
223
|
+
if (this.selectedOption === "fromCommitNumber" && h(this, d, "f")) {
|
|
224
|
+
h(this, p, "f").call(this, [ h(this, d, "f") ]);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
render() {
|
|
228
|
+
return i(e, {
|
|
229
|
+
class: "widget"
|
|
230
|
+
}, i("ch-theme", {
|
|
231
|
+
model: W
|
|
232
|
+
}), i("div", {
|
|
233
|
+
class: {
|
|
234
|
+
"spacing-body": true,
|
|
235
|
+
"commit-date-container": this.selectedOption === "fromCommitDate",
|
|
236
|
+
"commit-number-container": this.selectedOption === "fromCommitNumber"
|
|
237
|
+
}
|
|
238
|
+
}, i("p", {
|
|
239
|
+
class: "body-regular-m heading"
|
|
240
|
+
}, h(this, c, "f").labels.selectRange), i("ch-radio-group-render", {
|
|
241
|
+
class: "radio-group",
|
|
242
|
+
direction: "horizontal",
|
|
243
|
+
model: this.radioGroupModel,
|
|
244
|
+
onChange: h(this, k, "f"),
|
|
245
|
+
value: x.fromCommitDate.value
|
|
246
|
+
}), h(this, M, "f").call(this), h(this, D, "f").call(this), h(this, _, "f").call(this)), i("footer", {
|
|
247
|
+
class: "control-footer-with-border spacing-body"
|
|
248
|
+
}, i("div", {
|
|
249
|
+
class: "buttons-spacer"
|
|
250
|
+
}, i("button", {
|
|
251
|
+
class: "button-secondary",
|
|
252
|
+
onClick: h(this, b, "f")
|
|
253
|
+
}, h(this, c, "f").buttons.cancel), i("button", {
|
|
254
|
+
class: "button-primary",
|
|
255
|
+
onClick: h(this, v, "f"),
|
|
256
|
+
disabled: h(this, C, "f").call(this)
|
|
257
|
+
}, h(this, c, "f").buttons.confirm))));
|
|
258
|
+
}
|
|
259
|
+
static get assetsDirs() {
|
|
260
|
+
return [ "gx-ide-assets/team-dev-bring-all-changes-selector" ];
|
|
261
|
+
}
|
|
262
|
+
get el() {
|
|
263
|
+
return s(this);
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
c = new WeakMap, d = new WeakMap, f = new WeakMap, u = new WeakMap, p = new WeakMap,
|
|
268
|
+
b = new WeakMap, v = new WeakMap, w = new WeakMap, y = new WeakMap, g = new WeakMap,
|
|
269
|
+
k = new WeakMap, C = new WeakMap, D = new WeakMap, _ = new WeakMap, M = new WeakMap;
|
|
270
|
+
|
|
271
|
+
N.style = m;
|
|
272
|
+
|
|
273
|
+
export { N as gx_ide_team_dev_bring_all_changes_selector };
|
|
274
|
+
//# sourceMappingURL=p-09693b80.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["bringAllChangesSelectorCss","CSS_BUNDLES","MERGE_ACTION_OPTIONS","fromCommitDate","value","fromCommitNumber","GxIdeBringAllChangesSelector","_GxIdeBringAllChangesSelector_componentLocale","set","this","_GxIdeBringAllChangesSelector_revisionNumberRef","_GxIdeBringAllChangesSelector_revisionDateRef","_GxIdeBringAllChangesSelector_evaluateTooltipRender","controlReference","_b","_a","validatableControls","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeBringAllChangesSelector_initializeValidatableControls","forEach","validatableControl","has","reference","undefined","_GxIdeBringAllChangesSelector_cancelClickHandler","async","cancelCallback","_GxIdeBringAllChangesSelector_confirmClickHandler","formSubmitResult","selectedMergeActionData","operationType","selectedOption","fromDate","sinceCommitDate","fromRevision","sinceCommitNumber","confirmCallback","validateControls","_GxIdeBringAllChangesSelector_handleLastDates","lastDates","currentDate","Date","sinceDate","setDate","getDate","_GxIdeBringAllChangesSelector_handleCommitDateValueChanged","event","detail","clearControlError","_GxIdeBringAllChangesSelector_handleCommitNumberValueChanged","Number","_GxIdeBringAllChangesSelector_handleRadioGroupValueChange","_GxIdeBringAllChangesSelector_confirmButtonDisabled","isNaN","getTime","_GxIdeBringAllChangesSelector_renderCommitDateInput","htmlFor","__classPrivateFieldGet","labels","commitDate","input","type","toISOString","split","onInput","ref","el","__classPrivateFieldSet","call","_GxIdeBringAllChangesSelector_renderCommitNumberInput","commitNumber","placeholder","placeholders","mode","_GxIdeBringAllChangesSelector_renderLastDatesButtons","onClick","captions","lastSevenDays","lastThirtyDays","lastNinetyDays","Map","componentWillLoad","Locale","getComponentStrings","radioGroupModel","caption","componentDidRender","render","Host","model","selectRange","direction","onChange","buttons","cancel","disabled","confirm"],"sources":["src/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.scss?tag=gx-ide-team-dev-bring-all-changes-selector&encapsulation=shadow","src/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: 1fr max-content;\n}\n\n.commit-date-container,\n.commit-number-container {\n display: grid;\n gap: 15px;\n}\n\n.commit-date-container {\n grid-template-rows: max-content max-content max-content max-content;\n}\n\n.commit-number-container {\n grid-template-rows: max-content max-content max-content;\n}\n\n.heading {\n margin-block: 0;\n}\n\n.tooltip {\n position: absolute;\n}\n","import { Component, Element, h, Host, Prop, State } from \"@stencil/core\";\n\nimport {\n ChRadioGroupRenderCustomEvent,\n RadioGroupModel\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../components\";\nimport {\n clearControlError,\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { config } from \"../../../common/config\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/spacing\",\n \"utils/layout\",\n \"components/checkbox\",\n \"components/button\",\n \"components/edit\",\n \"components/radio-group\",\n \"components/tooltip\"\n];\n\nconst MERGE_ACTION_OPTIONS = {\n fromCommitDate: {\n value: \"fromCommitDate\"\n },\n fromCommitNumber: {\n value: \"fromCommitNumber\"\n }\n};\n\n@Component({\n tag: \"gx-ide-team-dev-bring-all-changes-selector\",\n styleUrl: \"bring-all-changes-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-bring-all-changes-selector\"]\n})\nexport class GxIdeBringAllChangesSelector {\n #componentLocale: any;\n #revisionNumberRef: HTMLChEditElement;\n #revisionDateRef: HTMLChEditElement;\n @Element() el: HTMLGxIdeTeamDevBringAllChangesSelectorElement;\n /**\n * Date from which the commits will be merged\n */\n @State() sinceCommitDate: Date | undefined = undefined;\n\n /**\n * Number from which the commits will be merged\n */\n @State() sinceCommitNumber: number | undefined = undefined;\n\n /**\n * The selected option from the radio group.\n */\n @State() selectedOption: MergeActionTaken = MERGE_ACTION_OPTIONS\n .fromCommitDate.value as MergeActionTaken;\n\n /**\n * Model for the radio group.\n */\n @State() radioGroupModel: RadioGroupModel = [];\n\n /**\n * Map of validatable controls in the form.\n */\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Confirm' button is pressed.\n */\n @Prop() readonly confirmCallback!: (\n selectedMergeActionData: SelectedMergeActionData\n ) => Promise<FormSubmitResult>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.radioGroupModel = [\n {\n value: MERGE_ACTION_OPTIONS.fromCommitDate.value,\n caption: this.#componentLocale.captions.commitDate\n },\n {\n value: MERGE_ACTION_OPTIONS.fromCommitNumber.value,\n caption: this.#componentLocale.captions.commitNumber\n }\n ];\n }\n\n componentDidRender() {\n if (this.selectedOption === \"fromCommitDate\" && this.#revisionDateRef) {\n this.#initializeValidatableControls([this.#revisionDateRef]);\n }\n\n if (this.selectedOption === \"fromCommitNumber\" && this.#revisionNumberRef) {\n this.#initializeValidatableControls([this.#revisionNumberRef]);\n }\n }\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #initializeValidatableControls = (validatableControls: HTMLElement[]) => {\n validatableControls.forEach(validatableControl => {\n if (\n validatableControl.id &&\n !this.validatableControls.has(validatableControl.id)\n ) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #cancelClickHandler = async () => {\n await this.cancelCallback();\n };\n\n #confirmClickHandler = async () => {\n let formSubmitResult: FormSubmitResult;\n const selectedMergeActionData: SelectedMergeActionData = {\n operationType: this.selectedOption,\n fromDate:\n this.selectedOption === \"fromCommitDate\"\n ? this.sinceCommitDate\n : undefined,\n fromRevision:\n this.selectedOption === \"fromCommitNumber\"\n ? this.sinceCommitNumber\n : undefined\n };\n formSubmitResult = await this.confirmCallback(selectedMergeActionData);\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n };\n\n #handleLastDates = (lastDates: LastDates) => {\n const currentDate = new Date();\n let sinceDate = new Date();\n switch (lastDates) {\n case \"lastSevenDays\":\n sinceDate.setDate(currentDate.getDate() - 7);\n break;\n case \"lastThirtyDays\":\n sinceDate.setDate(currentDate.getDate() - 30);\n break;\n case \"lastNinetyDays\":\n sinceDate.setDate(currentDate.getDate() - 90);\n break;\n }\n this.sinceCommitDate = sinceDate;\n };\n\n #handleCommitDateValueChanged = (event: CustomEvent<string> | InputEvent) => {\n this.sinceCommitDate =\n event.detail && event.detail !== \"\" ? new Date(event.detail) : undefined;\n clearControlError(this.validatableControls, \"commit-date\");\n };\n\n #handleCommitNumberValueChanged = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.sinceCommitNumber = Number(event.detail);\n clearControlError(this.validatableControls, \"commit-number\");\n };\n\n #handleRadioGroupValueChange = (\n event: ChRadioGroupRenderCustomEvent<string>\n ) => {\n this.selectedOption = event.detail as MergeActionTaken;\n if (this.selectedOption === \"fromCommitDate\") {\n this.sinceCommitNumber = undefined;\n clearControlError(this.validatableControls, \"commit-number\");\n } else if (this.selectedOption === \"fromCommitNumber\") {\n this.sinceCommitDate = undefined;\n clearControlError(this.validatableControls, \"commit-date\");\n }\n };\n\n #confirmButtonDisabled = (): boolean => {\n if (this.selectedOption === \"fromCommitDate\") {\n // Validate that sinceCommitDate is a valid date\n return !(\n this.sinceCommitDate instanceof Date &&\n !isNaN(this.sinceCommitDate.getTime())\n );\n } else if (this.selectedOption === \"fromCommitNumber\") {\n // Validate that sinceCommitNumber is a valid number\n return !(this.sinceCommitNumber > 0);\n }\n return true;\n };\n\n #renderCommitDateInput = () => {\n if (this.selectedOption !== \"fromCommitDate\") {\n return null;\n }\n return (\n <div class=\"layout layout--cols-2-1\">\n <div class=\"layout__panel\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"commit-date\">\n {this.#componentLocale.labels.commitDate}\n </label>\n <ch-edit\n class={{\n \"input\": true,\n \"input-error\":\n this.validatableControls.get(\"commit-date\")?.hasError\n }}\n id=\"commit-date\"\n type=\"date\"\n value={\n this.sinceCommitDate &&\n this.sinceCommitDate.toISOString().split(\"T\")[0]\n }\n onInput={this.#handleCommitDateValueChanged}\n ref={(el: HTMLChEditElement) =>\n (this.#revisionDateRef = el as HTMLChEditElement)\n }\n />\n {this.#evaluateTooltipRender(this.#revisionDateRef)}\n </div>\n </div>\n </div>\n );\n };\n\n #renderCommitNumberInput = () => {\n if (this.selectedOption !== \"fromCommitNumber\") {\n return null;\n }\n return (\n <div class=\"layout layout--cols-2-1\">\n <div class=\"layout__panel\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"commit-number\">\n {this.#componentLocale.labels.commitNumber}\n </label>\n <ch-edit\n class={{\n \"input\": true,\n \"input-error\":\n this.validatableControls.get(\"commit-number\")?.hasError\n }}\n id=\"commit-number\"\n type=\"number\"\n placeholder={this.#componentLocale.placeholders.commitNumber}\n onInput={this.#handleCommitNumberValueChanged}\n mode=\"numeric\"\n ref={(el: HTMLChEditElement) =>\n (this.#revisionNumberRef = el as HTMLChEditElement)\n }\n />\n {this.#evaluateTooltipRender(this.#revisionNumberRef)}\n </div>\n </div>\n </div>\n );\n };\n\n #renderLastDatesButtons = () => {\n if (this.selectedOption !== \"fromCommitDate\") {\n return null;\n }\n\n return (\n <div class=\"layout layout--cols-3\">\n <div class=\"layout__panel\">\n <button\n class=\"button-secondary\"\n onClick={() => this.#handleLastDates(\"lastSevenDays\")}\n >\n {this.#componentLocale.captions.lastSevenDays}\n </button>\n </div>\n <div class=\"layout__panel\">\n <button\n class=\"button-secondary\"\n onClick={() => this.#handleLastDates(\"lastThirtyDays\")}\n >\n {this.#componentLocale.captions.lastThirtyDays}\n </button>\n </div>\n <div class=\"layout__panel\">\n <button\n class=\"button-secondary\"\n onClick={() => this.#handleLastDates(\"lastNinetyDays\")}\n >\n {this.#componentLocale.captions.lastNinetyDays}\n </button>\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div\n class={{\n \"spacing-body\": true,\n \"commit-date-container\": this.selectedOption === \"fromCommitDate\",\n \"commit-number-container\":\n this.selectedOption === \"fromCommitNumber\"\n }}\n >\n <p class=\"body-regular-m heading\">\n {this.#componentLocale.labels.selectRange}\n </p>\n <ch-radio-group-render\n class=\"radio-group\"\n direction=\"horizontal\"\n model={this.radioGroupModel}\n onChange={this.#handleRadioGroupValueChange}\n value={MERGE_ACTION_OPTIONS.fromCommitDate.value}\n />\n\n {this.#renderLastDatesButtons()}\n {this.#renderCommitDateInput()}\n {this.#renderCommitNumberInput()}\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button class=\"button-secondary\" onClick={this.#cancelClickHandler}>\n {this.#componentLocale.buttons.cancel}\n </button>\n\n <button\n class=\"button-primary\"\n onClick={this.#confirmClickHandler}\n disabled={this.#confirmButtonDisabled()}\n >\n {this.#componentLocale.buttons.confirm}\n </button>\n </div>\n </footer>\n </Host>\n );\n }\n}\n\nexport type SelectedMergeActionData = {\n operationType: MergeActionTaken;\n fromDate?: Date;\n fromRevision?: number;\n};\n\nexport type MergeActionTaken = \"fromCommitDate\" | \"fromCommitNumber\";\n\nexport type LastDates = \"lastSevenDays\" | \"lastThirtyDays\" | \"lastNinetyDays\";\n"],"mappings":"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"}
|