@opendesign-plus-test/components 0.0.1-rc.129 → 0.0.1-rc.131

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 (107) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +306 -149
  3. package/dist/components/empty/OEmpty.vue.d.ts +24 -0
  4. package/dist/components/empty/index.d.ts +39 -0
  5. package/dist/components/header/components/HeaderContent.vue.d.ts +0 -3
  6. package/dist/components/icon/index.d.ts +9 -0
  7. package/dist/components/meeting/OMeetingSigCalendar.vue.d.ts +0 -1
  8. package/dist/components/meeting/index.d.ts +0 -3
  9. package/dist/components/search/internal/SearchPanel.vue.d.ts +1 -1
  10. package/dist/components/sig/OSigDetail.vue.d.ts +30 -0
  11. package/dist/components/sig/OSigList.vue.d.ts +12 -0
  12. package/dist/components/sig/components/OSigDetailInfoCard.vue.d.ts +13 -0
  13. package/dist/components/sig/components/OSigItem.vue.d.ts +14 -0
  14. package/dist/components/sig/components/OSigMember.vue.d.ts +10 -0
  15. package/dist/components/sig/components/OSigRepo.vue.d.ts +8 -0
  16. package/dist/components/sig/components/OSigUserContribute.vue.d.ts +10 -0
  17. package/dist/components/sig/components/config-sig.d.ts +1 -0
  18. package/dist/components/sig/components/utils.d.ts +6 -0
  19. package/dist/components/sig/types.d.ts +169 -0
  20. package/dist/components.cjs.js +39 -39
  21. package/dist/components.css +1 -1
  22. package/dist/components.es.js +13894 -12210
  23. package/dist/index.d.ts +3 -0
  24. package/dist/treeshaking/_virtual/icon-atomgit.mjs +25 -0
  25. package/dist/treeshaking/_virtual/icon-filter.mjs +5 -6
  26. package/dist/treeshaking/_virtual/icon-filter2.mjs +21 -0
  27. package/dist/treeshaking/_virtual/icon-gitee.mjs +20 -0
  28. package/dist/treeshaking/_virtual/icon-mail.mjs +17 -0
  29. package/dist/treeshaking/_virtual/icon-notice.mjs +20 -0
  30. package/dist/treeshaking/_virtual/icon-outlink.mjs +20 -0
  31. package/dist/treeshaking/_virtual/icon-search.mjs +5 -5
  32. package/dist/treeshaking/_virtual/icon-search2.mjs +17 -0
  33. package/dist/treeshaking/_virtual/icon-user.mjs +17 -0
  34. package/dist/treeshaking/_virtual/icon-working.mjs +17 -0
  35. package/dist/treeshaking/_virtual/sig-space.mjs +20 -0
  36. package/dist/treeshaking/components/common/ThFilter.vue.mjs +1 -1
  37. package/dist/treeshaking/components/common/WordAvatar.css +18 -0
  38. package/dist/treeshaking/components/common/WordAvatar.vue.mjs +68 -0
  39. package/dist/treeshaking/components/common/WordAvatar.vue3.mjs +5 -0
  40. package/dist/treeshaking/components/empty/404.png.mjs +4 -0
  41. package/dist/treeshaking/components/empty/404_dark.png.mjs +4 -0
  42. package/dist/treeshaking/components/empty/OEmpty.css +60 -0
  43. package/dist/treeshaking/components/empty/OEmpty.vue.d.ts +24 -0
  44. package/dist/treeshaking/components/empty/OEmpty.vue.mjs +7 -0
  45. package/dist/treeshaking/components/empty/OEmpty.vue2.mjs +40 -0
  46. package/dist/treeshaking/components/empty/index.d.ts +39 -0
  47. package/dist/treeshaking/components/empty/index.mjs +9 -0
  48. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.css +49 -21
  49. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue.mjs +1 -1
  50. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue2.mjs +15 -14
  51. package/dist/treeshaking/components/feedback-doc/OFeedbackDocDialog.vue.mjs +1 -1
  52. package/dist/treeshaking/components/header/OHeader.css +15 -15
  53. package/dist/treeshaking/components/header/OHeader.vue.mjs +1 -1
  54. package/dist/treeshaking/components/header/OHeader.vue2.mjs +5 -8
  55. package/dist/treeshaking/components/header/components/HeaderContent.css +184 -184
  56. package/dist/treeshaking/components/header/components/HeaderContent.vue.d.ts +0 -3
  57. package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +1 -1
  58. package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +9 -11
  59. package/dist/treeshaking/components/icon/index.d.ts +9 -0
  60. package/dist/treeshaking/components/icon/index.mjs +12 -0
  61. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.css +3 -0
  62. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.d.ts +0 -1
  63. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.mjs +4 -4
  64. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.mjs +1 -1
  65. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue.mjs +1 -1
  66. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue.mjs +1 -1
  67. package/dist/treeshaking/components/meeting/index.d.ts +0 -3
  68. package/dist/treeshaking/components/search/internal/SearchPanel.vue.d.ts +1 -1
  69. package/dist/treeshaking/components/sig/OSigDetail.css +176 -0
  70. package/dist/treeshaking/components/sig/OSigDetail.vue.d.ts +30 -0
  71. package/dist/treeshaking/components/sig/OSigDetail.vue.mjs +218 -0
  72. package/dist/treeshaking/components/sig/OSigDetail.vue3.mjs +5 -0
  73. package/dist/treeshaking/components/sig/OSigList.css +523 -0
  74. package/dist/treeshaking/components/sig/OSigList.vue.d.ts +12 -0
  75. package/dist/treeshaking/components/sig/OSigList.vue.mjs +595 -0
  76. package/dist/treeshaking/components/sig/OSigList.vue3.mjs +5 -0
  77. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.css +126 -0
  78. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue.d.ts +13 -0
  79. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue.mjs +61 -0
  80. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue3.mjs +5 -0
  81. package/dist/treeshaking/components/sig/components/OSigItem.css +375 -0
  82. package/dist/treeshaking/components/sig/components/OSigItem.vue.d.ts +14 -0
  83. package/dist/treeshaking/components/sig/components/OSigItem.vue.mjs +229 -0
  84. package/dist/treeshaking/components/sig/components/OSigItem.vue3.mjs +5 -0
  85. package/dist/treeshaking/components/sig/components/OSigMember.css +374 -0
  86. package/dist/treeshaking/components/sig/components/OSigMember.vue.d.ts +10 -0
  87. package/dist/treeshaking/components/sig/components/OSigMember.vue.mjs +274 -0
  88. package/dist/treeshaking/components/sig/components/OSigMember.vue3.mjs +5 -0
  89. package/dist/treeshaking/components/sig/components/OSigRepo.css +108 -0
  90. package/dist/treeshaking/components/sig/components/OSigRepo.vue.d.ts +8 -0
  91. package/dist/treeshaking/components/sig/components/OSigRepo.vue.mjs +181 -0
  92. package/dist/treeshaking/components/sig/components/OSigRepo.vue3.mjs +5 -0
  93. package/dist/treeshaking/components/sig/components/OSigUserContribute.css +510 -0
  94. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue.d.ts +10 -0
  95. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue.mjs +329 -0
  96. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue3.mjs +5 -0
  97. package/dist/treeshaking/components/sig/components/config-sig.d.ts +1 -0
  98. package/dist/treeshaking/components/sig/components/config-sig.mjs +4 -0
  99. package/dist/treeshaking/components/sig/components/utils.d.ts +6 -0
  100. package/dist/treeshaking/components/sig/components/utils.mjs +10 -0
  101. package/dist/treeshaking/components/sig/index.mjs +18 -0
  102. package/dist/treeshaking/components/sig/types.d.ts +169 -0
  103. package/dist/treeshaking/i18n/en.mjs +73 -1
  104. package/dist/treeshaking/i18n/zh.mjs +87 -2
  105. package/dist/treeshaking/index.d.ts +3 -0
  106. package/dist/treeshaking/index.mjs +8 -1
  107. package/package.json +4 -4
@@ -0,0 +1,329 @@
1
+ import { defineComponent, computed, ref, onMounted, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createVNode, withCtx, normalizeClass, Fragment, renderList, createTextVNode, createBlock, createCommentVNode, normalizeStyle } from "vue";
2
+ import { ElDatePicker, ElTable, ElTableColumn, ElProgress } from "element-plus";
3
+ import "element-plus/es/components/date-picker/style/css";
4
+ import "element-plus/es/components/table/style/css";
5
+ import "element-plus/es/components/table-column/style/css";
6
+ import "element-plus/es/components/progress/style/css";
7
+ import { OCard, OForm, OFormItem, ORadioGroup, ORadio, OToggle, OInput, OIcon, OIconSearch, OCheckboxGroup, OCheckbox, OLink, OPagination } from "@opensig/opendesign";
8
+ import { refDebounced } from "@vueuse/core";
9
+ import { useI18n } from "../../../i18n/index.mjs";
10
+ import { useScreen } from "@opendesign-plus/composables";
11
+ const _hoisted_1 = { class: "o-sig-detail-contribute" };
12
+ const _hoisted_2 = { class: "o-sig-floor-title" };
13
+ const _hoisted_3 = { class: "o-sig-detail-contribute-title" };
14
+ const _hoisted_4 = { class: "o-sig-detail-contribute-desc" };
15
+ const _hoisted_5 = { class: "o-sig-detail-contribute-input-filter" };
16
+ const _hoisted_6 = { class: "o-sig-detail-contribute-user-type" };
17
+ const _hoisted_7 = { class: "o-sig-detail-contribute-user-type-label" };
18
+ const _hoisted_8 = { class: "o-sig-detail-contribute-cell" };
19
+ const _hoisted_9 = { class: "o-sig-detail-contribute-data" };
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ __name: "OSigUserContribute",
22
+ props: {
23
+ sig: { default: "" },
24
+ getDataRequest: { type: Function, default: void 0 }
25
+ },
26
+ setup(__props) {
27
+ const props = __props;
28
+ const { t, locale } = useI18n();
29
+ const isEn = computed(() => locale.value === "en");
30
+ const { isPhone, lePadV } = useScreen();
31
+ const findOpt = (value, options, field) => {
32
+ var _a;
33
+ return (_a = options.find((o) => o.value === value)) == null ? void 0 : _a[field];
34
+ };
35
+ const userTypeOptions = [
36
+ { label: "Maintainer", value: "maintainer", color: "rgb(0, 98, 220)" },
37
+ { label: "Committer", value: "committer", color: "rgb(240, 188, 0)" },
38
+ { label: "Contributor", value: "contributor", color: "rgb(0, 167, 179)" }
39
+ ];
40
+ const userType = ref(userTypeOptions.map((d) => d.value));
41
+ const getColor = (type) => findOpt(type, userTypeOptions, "color");
42
+ const contributeType = ref("pr");
43
+ const contributionTypeOptions = [
44
+ { label: t("sig.PRS"), value: "pr", alias: "PR" },
45
+ { label: t("sig.ISSUES"), value: "issue", alias: "Issue" },
46
+ { label: t("sig.COMMENTS"), value: "comment", alias: "Comment" }
47
+ ];
48
+ const commentType = ref("");
49
+ const commentTypeOptions = [
50
+ { label: t("sig.ALL"), value: "" },
51
+ { label: t("sig.commentNormal"), value: "normal" },
52
+ { label: t("sig.commentCommand"), value: "command" }
53
+ ];
54
+ const typeLabel = computed(() => findOpt(contributeType.value, contributionTypeOptions, "alias"));
55
+ const dateRange = ref([new Date((/* @__PURE__ */ new Date()).getFullYear(), 0, 1), /* @__PURE__ */ new Date()]);
56
+ const contributionData = ref([]);
57
+ const changeContributeType = () => {
58
+ commentType.value = "";
59
+ getData();
60
+ };
61
+ const getData = async () => {
62
+ var _a;
63
+ if (!props.getDataRequest) return;
64
+ page.value = 1;
65
+ const params = {
66
+ contributeType: contributeType.value,
67
+ sig: props.sig,
68
+ community: "TODO",
69
+ comment_type: commentType.value
70
+ };
71
+ if (((_a = dateRange.value) == null ? void 0 : _a.length) === 2) {
72
+ Object.assign(params, {
73
+ start: dateRange.value[0].getTime(),
74
+ end: dateRange.value[1].getTime()
75
+ });
76
+ }
77
+ contributionData.value = await props.getDataRequest(params) || [];
78
+ };
79
+ const maxContributionNum = computed(() => {
80
+ if (contributionData.value.length === 0) return 0;
81
+ return Math.max(...contributionData.value.map((d) => d.contribute));
82
+ });
83
+ const page = ref(1);
84
+ const pageSize = ref(10);
85
+ const pageSizes = [10, 15, 30, 50];
86
+ const searchGitcodeId = ref("");
87
+ const debouncedSearchGitCodeId = refDebounced(searchGitcodeId, 400);
88
+ const changeInput = () => {
89
+ page.value = 1;
90
+ };
91
+ const filterData = computed(() => {
92
+ let res = contributionData.value;
93
+ if (userType.value.length) {
94
+ res = res.filter((d) => userType.value.includes(d.usertype));
95
+ }
96
+ if (searchGitcodeId.value) {
97
+ const lowercase = debouncedSearchGitCodeId.value;
98
+ res = res.filter((d) => d.user_login.toLowerCase().includes(lowercase));
99
+ }
100
+ return res;
101
+ });
102
+ const displayContributionData = computed(() => {
103
+ const start = (page.value - 1) * pageSize.value;
104
+ return filterData.value.slice(start, start + pageSize.value);
105
+ });
106
+ onMounted(() => {
107
+ getData();
108
+ });
109
+ return (_ctx, _cache) => {
110
+ return openBlock(), createElementBlock("div", _hoisted_1, [
111
+ createElementVNode("div", _hoisted_2, [
112
+ createElementVNode("div", _hoisted_3, toDisplayString(unref(t)("sig.contributeTitle")), 1),
113
+ createElementVNode("div", _hoisted_4, toDisplayString(unref(t)("sig.contributeSubTitle", [__props.sig])), 1)
114
+ ]),
115
+ createVNode(unref(OCard), null, {
116
+ default: withCtx(() => [
117
+ createVNode(unref(OForm), {
118
+ layout: unref(isPhone) ? "v" : "h",
119
+ class: normalizeClass(isEn.value ? "is-en" : "")
120
+ }, {
121
+ default: withCtx(() => [
122
+ createVNode(unref(OFormItem), {
123
+ label: unref(t)("sig.METRIC"),
124
+ field: "contributeType"
125
+ }, {
126
+ default: withCtx(() => [
127
+ createVNode(unref(ORadioGroup), {
128
+ modelValue: contributeType.value,
129
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => contributeType.value = $event),
130
+ onChange: changeContributeType
131
+ }, {
132
+ default: withCtx(() => [
133
+ (openBlock(), createElementBlock(Fragment, null, renderList(contributionTypeOptions, (item) => {
134
+ return createVNode(unref(ORadio), {
135
+ key: item.value,
136
+ value: item.value
137
+ }, {
138
+ radio: withCtx(({ checked }) => [
139
+ createVNode(unref(OToggle), { checked }, {
140
+ default: withCtx(() => [
141
+ createTextVNode(toDisplayString(item.label), 1)
142
+ ]),
143
+ _: 2
144
+ }, 1032, ["checked"])
145
+ ]),
146
+ _: 2
147
+ }, 1032, ["value"]);
148
+ }), 64))
149
+ ]),
150
+ _: 1
151
+ }, 8, ["modelValue"])
152
+ ]),
153
+ _: 1
154
+ }, 8, ["label"]),
155
+ contributeType.value === "comment" ? (openBlock(), createBlock(unref(OFormItem), {
156
+ key: 0,
157
+ label: "",
158
+ field: "commentType"
159
+ }, {
160
+ default: withCtx(() => [
161
+ createVNode(unref(ORadioGroup), {
162
+ modelValue: commentType.value,
163
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => commentType.value = $event),
164
+ onChange: getData
165
+ }, {
166
+ default: withCtx(() => [
167
+ (openBlock(), createElementBlock(Fragment, null, renderList(commentTypeOptions, (item) => {
168
+ return createVNode(unref(ORadio), {
169
+ key: item.value,
170
+ value: item.value
171
+ }, {
172
+ default: withCtx(() => [
173
+ createTextVNode(toDisplayString(item.label), 1)
174
+ ]),
175
+ _: 2
176
+ }, 1032, ["value"]);
177
+ }), 64))
178
+ ]),
179
+ _: 1
180
+ }, 8, ["modelValue"])
181
+ ]),
182
+ _: 1
183
+ })) : createCommentVNode("", true),
184
+ createVNode(unref(OFormItem), {
185
+ label: unref(t)("sig.TIMERANGE"),
186
+ field: "dateRange"
187
+ }, {
188
+ default: withCtx(() => [
189
+ createVNode(unref(ElDatePicker), {
190
+ modelValue: dateRange.value,
191
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dateRange.value = $event),
192
+ type: "daterange",
193
+ "range-separator": "-",
194
+ "start-placeholder": unref(t)("sig.startDate"),
195
+ "end-placeholder": unref(t)("sig.endDate"),
196
+ onChange: getData
197
+ }, null, 8, ["modelValue", "start-placeholder", "end-placeholder"])
198
+ ]),
199
+ _: 1
200
+ }, 8, ["label"])
201
+ ]),
202
+ _: 1
203
+ }, 8, ["layout", "class"])
204
+ ]),
205
+ _: 1
206
+ }),
207
+ createVNode(unref(OCard), null, {
208
+ default: withCtx(() => [
209
+ createElementVNode("div", _hoisted_5, [
210
+ createVNode(unref(OInput), {
211
+ modelValue: searchGitcodeId.value,
212
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => searchGitcodeId.value = $event),
213
+ placeholder: unref(t)("sig.contributePlaceholder"),
214
+ onInput: changeInput
215
+ }, {
216
+ prefix: withCtx(() => [
217
+ createVNode(unref(OIcon), null, {
218
+ default: withCtx(() => [
219
+ createVNode(unref(OIconSearch))
220
+ ]),
221
+ _: 1
222
+ })
223
+ ]),
224
+ _: 1
225
+ }, 8, ["modelValue", "placeholder"]),
226
+ createVNode(unref(OCheckboxGroup), {
227
+ modelValue: userType.value,
228
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => userType.value = $event)
229
+ }, {
230
+ default: withCtx(() => [
231
+ (openBlock(), createElementBlock(Fragment, null, renderList(userTypeOptions, (item) => {
232
+ return createVNode(unref(OCheckbox), {
233
+ key: item.value,
234
+ value: item.value
235
+ }, {
236
+ checkbox: withCtx(({ checked }) => [
237
+ createElementVNode("div", _hoisted_6, [
238
+ createElementVNode("div", {
239
+ class: "o-sig-detail-contribute-dot",
240
+ style: normalizeStyle({ backgroundColor: checked ? item.color : "rgb(204, 204, 204)" })
241
+ }, null, 4),
242
+ createElementVNode("p", _hoisted_7, toDisplayString(item.label), 1)
243
+ ])
244
+ ]),
245
+ _: 2
246
+ }, 1032, ["value"]);
247
+ }), 64))
248
+ ]),
249
+ _: 1
250
+ }, 8, ["modelValue"])
251
+ ]),
252
+ createVNode(unref(ElTable), {
253
+ data: displayContributionData.value,
254
+ "header-cell-style": { backgroundColor: "rgb(232, 232, 235)", color: "#000", fontWeight: "500" }
255
+ }, {
256
+ default: withCtx(() => [
257
+ createVNode(unref(ElTableColumn), {
258
+ label: unref(t)("sig.NUMBER"),
259
+ width: "60"
260
+ }, {
261
+ default: withCtx(({ $index }) => [
262
+ createElementVNode("span", null, toDisplayString($index + 1), 1)
263
+ ]),
264
+ _: 1
265
+ }, 8, ["label"]),
266
+ createVNode(unref(ElTableColumn), {
267
+ label: "GitCode ID",
268
+ width: "180"
269
+ }, {
270
+ default: withCtx(({ row }) => [
271
+ createVNode(unref(OLink), {
272
+ class: "user-id-link",
273
+ color: "primary",
274
+ target: "_blank",
275
+ rel: "noopener noreferrer",
276
+ href: row.userLink
277
+ }, {
278
+ icon: withCtx(() => [
279
+ createElementVNode("div", {
280
+ class: "o-sig-detail-contribute-dot",
281
+ style: normalizeStyle({ backgroundColor: getColor(row.usertype) })
282
+ }, null, 4)
283
+ ]),
284
+ default: withCtx(() => [
285
+ createTextVNode(" " + toDisplayString(row.user_login), 1)
286
+ ]),
287
+ _: 2
288
+ }, 1032, ["href"])
289
+ ]),
290
+ _: 1
291
+ }),
292
+ createVNode(unref(ElTableColumn), { label: typeLabel.value }, {
293
+ default: withCtx(({ row }) => [
294
+ createElementVNode("div", _hoisted_8, [
295
+ createElementVNode("span", _hoisted_9, toDisplayString(row.contribute), 1),
296
+ row.contribute > 0 ? (openBlock(), createBlock(unref(ElProgress), {
297
+ key: 0,
298
+ "show-text": false,
299
+ color: getColor(row.usertype),
300
+ percentage: Math.floor(row.contribute * 100 / maxContributionNum.value)
301
+ }, null, 8, ["color", "percentage"])) : createCommentVNode("", true)
302
+ ])
303
+ ]),
304
+ _: 1
305
+ }, 8, ["label"])
306
+ ]),
307
+ _: 1
308
+ }, 8, ["data"])
309
+ ]),
310
+ _: 1
311
+ }),
312
+ filterData.value.length ? (openBlock(), createBlock(unref(OPagination), {
313
+ key: 0,
314
+ total: filterData.value.length,
315
+ "page-sizes": pageSizes,
316
+ page: page.value,
317
+ "onUpdate:page": _cache[5] || (_cache[5] = ($event) => page.value = $event),
318
+ "page-size": pageSize.value,
319
+ "onUpdate:pageSize": _cache[6] || (_cache[6] = ($event) => pageSize.value = $event),
320
+ "show-total": "",
321
+ simple: unref(lePadV)
322
+ }, null, 8, ["total", "page", "page-size", "simple"])) : createCommentVNode("", true)
323
+ ]);
324
+ };
325
+ }
326
+ });
327
+ export {
328
+ _sfc_main as default
329
+ };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./OSigUserContribute.vue.mjs";
2
+ import './OSigUserContribute.css';
3
+ export {
4
+ _sfc_main as default
5
+ };
@@ -0,0 +1 @@
1
+ export declare const SIG_ADDRESS = "https://atomgit.com/openeuler/community/tree/master/sig/";
@@ -0,0 +1,4 @@
1
+ const SIG_ADDRESS = "https://atomgit.com/openeuler/community/tree/master/sig/";
2
+ export {
3
+ SIG_ADDRESS
4
+ };
@@ -0,0 +1,6 @@
1
+ export type Lang = 'zh' | 'en';
2
+ /**
3
+ * 判断链接来自 GITEE / ATOMGIT
4
+ */
5
+ export declare const detectGitPlatform: (url: string) => string;
6
+ export declare function foldI18n<T>(data: T, lang: Lang): T;
@@ -0,0 +1,10 @@
1
+ const detectGitPlatform = (url) => {
2
+ if (!url || typeof url !== "string") return "unknown";
3
+ const normalized = url.trim().toLowerCase();
4
+ if (/^(https?:\/\/)?(www\.)?gitee\.com\//.test(normalized)) return "gitee";
5
+ if (/^(https?:\/\/)?(www\.)?atomgit\.com\//.test(normalized)) return "atomgit";
6
+ return "unknown";
7
+ };
8
+ export {
9
+ detectGitPlatform
10
+ };
@@ -0,0 +1,18 @@
1
+ import _sfc_main$1 from "./OSigList.vue.mjs";
2
+ import './OSigList.css';
3
+ import _sfc_main from "./OSigDetail.vue.mjs";
4
+ import './OSigDetail.css';
5
+ const OSigList = Object.assign(_sfc_main$1, {
6
+ install(app) {
7
+ app.component("OSigList", _sfc_main$1);
8
+ }
9
+ });
10
+ const OSigDetail = Object.assign(_sfc_main, {
11
+ install(app) {
12
+ app.component("OSigDetail", _sfc_main);
13
+ }
14
+ });
15
+ export {
16
+ OSigDetail,
17
+ OSigList
18
+ };
@@ -0,0 +1,169 @@
1
+ export interface GroupInfoT {
2
+ sig_name: string;
3
+ feature_en: string | null;
4
+ feature_zh: string | null;
5
+ created_at?: string;
6
+ group_en: string | null;
7
+ group_zh: string | null;
8
+ rank: number;
9
+ score: number;
10
+ }
11
+ export interface SigCompleteItemT {
12
+ name?: string;
13
+ sig_name: string;
14
+ description: string;
15
+ mailing_list: string;
16
+ meeting_url?: string;
17
+ etherpadUrl?: string;
18
+ subscribeUrl?: string;
19
+ discuss_url?: string;
20
+ mature_level?: string;
21
+ maintainers: string[];
22
+ committers: string[];
23
+ repos: string[];
24
+ created_at: string;
25
+ is_sig_original: number;
26
+ maintainer_info: SigMaintainerT[];
27
+ committer_info: SigMaintainerT[];
28
+ [key: string]: unknown;
29
+ }
30
+ export interface SigMaintainerT {
31
+ gitee_id?: string;
32
+ atomgit_id?: string;
33
+ name: string;
34
+ email: string;
35
+ organization?: string;
36
+ role?: string;
37
+ user_login: string;
38
+ id_platform?: string;
39
+ user_homepage_url: string;
40
+ [key: string]: unknown;
41
+ }
42
+ export interface SigRepoMemberT {
43
+ gitee_id: string;
44
+ atomgit_id?: string;
45
+ name: string;
46
+ email: string;
47
+ organization?: string;
48
+ role?: string;
49
+ user_login: string;
50
+ id_platform?: string;
51
+ user_homepage_url: string;
52
+ [key: string]: unknown;
53
+ }
54
+ export interface SigRepoEntryT {
55
+ repo: string;
56
+ maintainers: SigRepoMemberT[];
57
+ committers: SigRepoMemberT[];
58
+ }
59
+ export interface SearchItemT {
60
+ name: string;
61
+ path: string;
62
+ socre: number;
63
+ }
64
+ export type SigSearchKeywordTypeT = 'all' | 'sig' | 'repos' | 'maintainer';
65
+ export interface SigSearchParamsT {
66
+ keyword: string;
67
+ keywordType: SigSearchKeywordTypeT;
68
+ }
69
+ export interface SigSearchResultT {
70
+ 'name.keyword'?: SearchItemT[];
71
+ repos?: SearchItemT[];
72
+ giteeIds?: SearchItemT[];
73
+ description?: SearchItemT[];
74
+ }
75
+ export interface SigSearchGroupT {
76
+ id: string;
77
+ label: string;
78
+ list: SearchItemT[];
79
+ }
80
+ export interface SigRepoBranchT {
81
+ repo: string;
82
+ branch: string;
83
+ }
84
+ export interface SigBranchT {
85
+ repo_branch: SigRepoBranchT[];
86
+ keeper: {
87
+ gitee_id: string;
88
+ }[];
89
+ }
90
+ export interface SigListItemT {
91
+ name: string;
92
+ atomgitUrl: string;
93
+ description: string;
94
+ sig_name?: string;
95
+ mailing_list?: string | null;
96
+ subscribeUrl?: string | null;
97
+ repositories?: string[];
98
+ maintainer_info?: SigMaintainerT[] | null;
99
+ committer_info?: SigMaintainerT[] | null;
100
+ mentors?: SigMaintainerT[] | null;
101
+ committers?: string[];
102
+ maintainers?: string[];
103
+ branches?: SigBranchT[] | null;
104
+ created_on?: string | null;
105
+ meeting_url?: string | null;
106
+ mature_level?: string | null;
107
+ [key: string]: unknown;
108
+ }
109
+ export interface SigListPropsT {
110
+ sigLandscape?: GroupInfoT[];
111
+ sigList?: SigListItemT[];
112
+ searchFn?: (params: SigSearchParamsT) => Promise<SigSearchResultT>;
113
+ }
114
+ export interface DayDataT {
115
+ creator?: string;
116
+ duration_time?: string;
117
+ join_url?: string;
118
+ startTime?: string;
119
+ endTime?: string;
120
+ url?: string;
121
+ data?: string;
122
+ id?: string;
123
+ etherpad?: string;
124
+ start_date?: string;
125
+ name?: string;
126
+ title?: string;
127
+ schedules?: any;
128
+ activity_category?: number;
129
+ group_name?: string;
130
+ end_date?: string;
131
+ type: string;
132
+ activity_type?: number | string;
133
+ }
134
+ export interface SigMeetingSubT {
135
+ date: string;
136
+ [key: string]: unknown;
137
+ }
138
+ export interface TableDataT {
139
+ date: string;
140
+ dates?: string[];
141
+ timeData?: DayDataT[];
142
+ cycle_sub?: SigMeetingSubT[];
143
+ [key: string]: unknown;
144
+ }
145
+ export interface CalendarValueT {
146
+ name: string;
147
+ url: string;
148
+ dates: string[];
149
+ address: string;
150
+ start_date: string;
151
+ end_date: string;
152
+ activity_type: string;
153
+ type: string;
154
+ [key: string]: unknown;
155
+ }
156
+ export interface SigContributeParamsT {
157
+ contributeType: string;
158
+ sig: string;
159
+ community: string;
160
+ comment_type?: string;
161
+ start?: number;
162
+ end?: number;
163
+ }
164
+ export interface SigContributeItemT {
165
+ user_login: string;
166
+ usertype: string;
167
+ contribute: number;
168
+ userLink: string;
169
+ }
@@ -289,7 +289,79 @@ const en = {
289
289
  "feedback.submitIssue": "Report Issue",
290
290
  "feedback.submit": "Submit",
291
291
  "feedback.cancel": "Cancel",
292
- "header.quickLink": "Quick Link"
292
+ "header.quickLink": "Quick Link",
293
+ "sig.sigCenter": "SIG",
294
+ "sig.subtitle": "The openEuler community is organized into Special Interest Groups (SIGs) to better coordinate and manage work processes. SIGs are open to everyone.",
295
+ "sig.welcomeJoin": "Welcome to SIGs",
296
+ "sig.aboutSig": "Learn About SIGs",
297
+ "sig.applicationProcess": "Set Up",
298
+ "sig.applicationProcessSubTitle": "Propose creation of a SIG to coordinate development efforts within a specific domain.",
299
+ "sig.sigTip": "Note: Repository Committers, please click on the SIG name to query the repository list.",
300
+ "sig.subscribe": "Subscribe",
301
+ "sig.contributor": "{num} maintainers",
302
+ "sig.sigCore": "Core Members ({num})",
303
+ "sig.sigMaintainer": "Maintainer ({num})",
304
+ "sig.sigCommitter": "Committer ({num})",
305
+ "sig.sigName": "Group: {sig}",
306
+ "sig.repoList": "Repositories ({count})",
307
+ "sig.viewAll": "See All",
308
+ "sig.members": "SIG Members",
309
+ "sig.maintainer": "MAINTAINER",
310
+ "sig.maintainerEn": "Maintainer",
311
+ "sig.committer": "Committer",
312
+ "sig.repositoryList": "REPOSITORIES",
313
+ "sig.repo": "Repositories",
314
+ "sig.searchSig": "Search SIG information",
315
+ "sig.searchSigName": "Search SIG names and works",
316
+ "sig.searchSigRepo": "Search repository names",
317
+ "sig.searchSigMaintainer": "Search AtomGit IDs",
318
+ "sig.all": "All",
319
+ "sig.sigGroup": "SIGs",
320
+ "sig.other": "Other",
321
+ "sig.type": "Categories",
322
+ "sig.filter": "Filter",
323
+ "sig.noResult": "No result",
324
+ "sig.loading": "Loading...",
325
+ "sig.repositoryName": "Repos name",
326
+ "sig.sigMettingActive": "Meetings and Events",
327
+ "sig.workMeeting": "Work Meeting",
328
+ "sig.sigMeetingIntro": "SIG version planning work meetings follow open and transparent principles; topic collection, technical discussions, and meeting minutes are all open to the public.",
329
+ "sig.sigMeetingTip": "The meeting system currently only retains meeting records from the last six months.",
330
+ "sig.noMeeting": "No meetings",
331
+ "sig.meetingSummary": "Etherpad Link",
332
+ "sig.forum": "Forum",
333
+ "sig.mailList": "Email",
334
+ "sig.contact": "Contact",
335
+ "sig.contributeTitle": "Contribution",
336
+ "sig.contributeSubTitle": "{0} Contribution by Individuals",
337
+ "sig.allSig": "All SIGs",
338
+ "sig.allRepo": "All repositories",
339
+ "sig.allMaintainer": "All maintainers",
340
+ "sig.contributePlaceholder": "Please enter an AtomGit ID",
341
+ "sig.sig": "SIG",
342
+ "sig.METRIC": "Metric",
343
+ "sig.TIMERANGE": "Time Range",
344
+ "sig.PRS": "PR",
345
+ "sig.ISSUES": "Issue",
346
+ "sig.COMMENTS": "Comment",
347
+ "sig.LAST_ONE_MONTH": "Last Month",
348
+ "sig.LAST_HALF_YEAR": "Last 6 Months",
349
+ "sig.LAST_YEAR": "Last Year",
350
+ "sig.ALL": "All",
351
+ "sig.ENTER_GITEE": "Please enter a AtomGit ID",
352
+ "sig.NUMBER": "Number",
353
+ "sig.roleDescription": "Role Description",
354
+ "sig.roleDescriptionIntro": "This article briefly describes the responsibilities and privilege of the contributor in the openEuler community.",
355
+ "sig.filterResultTip1": "",
356
+ "sig.filterResultTip2": "",
357
+ "sig.filterResultTip3": " records found",
358
+ "sig.filterResultTip4": "",
359
+ "sig.filterResultTip5": " records found",
360
+ "sig.giteeMore": "View More on AtomGit",
361
+ "common.empty": "No data",
362
+ "common.search": "Search",
363
+ "common.filter": "Filter",
364
+ "common.more2": "View More"
293
365
  };
294
366
  export {
295
367
  en as default