@opendesign-plus-test/components 0.0.1-rc.130 → 0.0.1-rc.132

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 (106) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +310 -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/icon/index.d.ts +9 -0
  6. package/dist/components/meeting/OMeetingCalendar.vue.d.ts +1 -0
  7. package/dist/components/meeting/OMeetingSigCalendar.vue.d.ts +8 -2
  8. package/dist/components/meeting/components/OMeetingCalendarList.vue.d.ts +1 -0
  9. package/dist/components/meeting/index.d.ts +25 -6
  10. package/dist/components/meeting/types.d.ts +1 -0
  11. package/dist/components/search/internal/SearchPanel.vue.d.ts +1 -1
  12. package/dist/components/sig/OSigDetail.vue.d.ts +30 -0
  13. package/dist/components/sig/OSigList.vue.d.ts +12 -0
  14. package/dist/components/sig/components/OSigDetailInfoCard.vue.d.ts +13 -0
  15. package/dist/components/sig/components/OSigItem.vue.d.ts +14 -0
  16. package/dist/components/sig/components/OSigMember.vue.d.ts +10 -0
  17. package/dist/components/sig/components/OSigRepo.vue.d.ts +8 -0
  18. package/dist/components/sig/components/OSigUserContribute.vue.d.ts +10 -0
  19. package/dist/components/sig/components/config-sig.d.ts +1 -0
  20. package/dist/components/sig/components/utils.d.ts +6 -0
  21. package/dist/components/sig/types.d.ts +170 -0
  22. package/dist/components.cjs.js +39 -39
  23. package/dist/components.css +1 -1
  24. package/dist/components.es.js +13895 -12193
  25. package/dist/index.d.ts +3 -0
  26. package/dist/treeshaking/_virtual/icon-atomgit.mjs +25 -0
  27. package/dist/treeshaking/_virtual/icon-filter.mjs +5 -6
  28. package/dist/treeshaking/_virtual/icon-filter2.mjs +21 -0
  29. package/dist/treeshaking/_virtual/icon-forum.mjs +21 -0
  30. package/dist/treeshaking/_virtual/icon-gitee.mjs +20 -0
  31. package/dist/treeshaking/_virtual/icon-mail.mjs +17 -0
  32. package/dist/treeshaking/_virtual/icon-notice.mjs +20 -0
  33. package/dist/treeshaking/_virtual/icon-outlink.mjs +20 -0
  34. package/dist/treeshaking/_virtual/icon-search.mjs +5 -5
  35. package/dist/treeshaking/_virtual/icon-search2.mjs +17 -0
  36. package/dist/treeshaking/_virtual/icon-user.mjs +17 -0
  37. package/dist/treeshaking/_virtual/icon-working.mjs +17 -0
  38. package/dist/treeshaking/_virtual/sig-space.mjs +20 -0
  39. package/dist/treeshaking/components/common/ThFilter.vue.mjs +1 -1
  40. package/dist/treeshaking/components/common/WordAvatar.css +18 -0
  41. package/dist/treeshaking/components/common/WordAvatar.vue.mjs +68 -0
  42. package/dist/treeshaking/components/common/WordAvatar.vue3.mjs +5 -0
  43. package/dist/treeshaking/components/empty/404.png.mjs +4 -0
  44. package/dist/treeshaking/components/empty/404_dark.png.mjs +4 -0
  45. package/dist/treeshaking/components/empty/OEmpty.css +60 -0
  46. package/dist/treeshaking/components/empty/OEmpty.vue.d.ts +24 -0
  47. package/dist/treeshaking/components/empty/OEmpty.vue.mjs +7 -0
  48. package/dist/treeshaking/components/empty/OEmpty.vue2.mjs +40 -0
  49. package/dist/treeshaking/components/empty/index.d.ts +39 -0
  50. package/dist/treeshaking/components/empty/index.mjs +9 -0
  51. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.css +49 -21
  52. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue.mjs +1 -1
  53. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue2.mjs +15 -14
  54. package/dist/treeshaking/components/feedback-doc/OFeedbackDocDialog.vue.mjs +1 -1
  55. package/dist/treeshaking/components/icon/index.d.ts +9 -0
  56. package/dist/treeshaking/components/icon/index.mjs +12 -0
  57. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.d.ts +1 -0
  58. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.mjs +5 -3
  59. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.d.ts +8 -2
  60. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.mjs +8 -4
  61. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.d.ts +1 -0
  62. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.mjs +5 -4
  63. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue.mjs +1 -1
  64. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue.mjs +1 -1
  65. package/dist/treeshaking/components/meeting/index.d.ts +25 -6
  66. package/dist/treeshaking/components/meeting/types.d.ts +1 -0
  67. package/dist/treeshaking/components/search/internal/SearchPanel.vue.d.ts +1 -1
  68. package/dist/treeshaking/components/sig/OSigDetail.css +179 -0
  69. package/dist/treeshaking/components/sig/OSigDetail.vue.d.ts +30 -0
  70. package/dist/treeshaking/components/sig/OSigDetail.vue.mjs +219 -0
  71. package/dist/treeshaking/components/sig/OSigDetail.vue3.mjs +5 -0
  72. package/dist/treeshaking/components/sig/OSigList.css +523 -0
  73. package/dist/treeshaking/components/sig/OSigList.vue.d.ts +12 -0
  74. package/dist/treeshaking/components/sig/OSigList.vue.mjs +595 -0
  75. package/dist/treeshaking/components/sig/OSigList.vue3.mjs +5 -0
  76. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.css +126 -0
  77. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue.d.ts +13 -0
  78. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue.mjs +61 -0
  79. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue3.mjs +5 -0
  80. package/dist/treeshaking/components/sig/components/OSigItem.css +375 -0
  81. package/dist/treeshaking/components/sig/components/OSigItem.vue.d.ts +14 -0
  82. package/dist/treeshaking/components/sig/components/OSigItem.vue.mjs +229 -0
  83. package/dist/treeshaking/components/sig/components/OSigItem.vue3.mjs +5 -0
  84. package/dist/treeshaking/components/sig/components/OSigMember.css +377 -0
  85. package/dist/treeshaking/components/sig/components/OSigMember.vue.d.ts +10 -0
  86. package/dist/treeshaking/components/sig/components/OSigMember.vue.mjs +274 -0
  87. package/dist/treeshaking/components/sig/components/OSigMember.vue3.mjs +5 -0
  88. package/dist/treeshaking/components/sig/components/OSigRepo.css +108 -0
  89. package/dist/treeshaking/components/sig/components/OSigRepo.vue.d.ts +8 -0
  90. package/dist/treeshaking/components/sig/components/OSigRepo.vue.mjs +181 -0
  91. package/dist/treeshaking/components/sig/components/OSigRepo.vue3.mjs +5 -0
  92. package/dist/treeshaking/components/sig/components/OSigUserContribute.css +242 -0
  93. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue.d.ts +10 -0
  94. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue.mjs +326 -0
  95. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue3.mjs +5 -0
  96. package/dist/treeshaking/components/sig/components/config-sig.d.ts +1 -0
  97. package/dist/treeshaking/components/sig/components/config-sig.mjs +4 -0
  98. package/dist/treeshaking/components/sig/components/utils.d.ts +6 -0
  99. package/dist/treeshaking/components/sig/components/utils.mjs +10 -0
  100. package/dist/treeshaking/components/sig/index.mjs +18 -0
  101. package/dist/treeshaking/components/sig/types.d.ts +170 -0
  102. package/dist/treeshaking/i18n/en.mjs +75 -1
  103. package/dist/treeshaking/i18n/zh.mjs +89 -2
  104. package/dist/treeshaking/index.d.ts +3 -0
  105. package/dist/treeshaking/index.mjs +8 -1
  106. package/package.json +4 -4
@@ -0,0 +1,242 @@
1
+ .hover-icon-rotate .o-icon {
2
+ transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
+ }
4
+ @media (hover: hover) {
5
+ .hover-icon-rotate:hover .o-icon {
6
+ transform: rotate(-180deg);
7
+ }
8
+ }
9
+ .o-sig-detail-contribute .o-sig-detail-contribute-title {
10
+ font-weight: 600;
11
+ font-size: 20px;
12
+ line-height: 28px;
13
+ }
14
+ @media (min-width: 1201px) and (max-width: 1680px) {
15
+ .o-sig-detail-contribute .o-sig-detail-contribute-title {
16
+ font-size: 18px;
17
+ line-height: 26px;
18
+ }
19
+ }
20
+ @media (min-width: 841px) and (max-width: 1200px) {
21
+ .o-sig-detail-contribute .o-sig-detail-contribute-title {
22
+ font-size: 16px;
23
+ line-height: 24px;
24
+ }
25
+ }
26
+ @media (min-width: 601px) and (max-width: 840px) {
27
+ .o-sig-detail-contribute .o-sig-detail-contribute-title {
28
+ font-size: 16px;
29
+ line-height: 24px;
30
+ }
31
+ }
32
+ @media (max-width: 600px) {
33
+ .o-sig-detail-contribute .o-sig-detail-contribute-title {
34
+ font-size: 14px;
35
+ line-height: 22px;
36
+ }
37
+ }
38
+ .o-sig-detail-contribute .o-sig-detail-contribute-desc {
39
+ color: var(--o-color-info2);
40
+ font-weight: 400;
41
+ margin-top: var(--o-gap-2);
42
+ font-size: 16px;
43
+ line-height: 24px;
44
+ }
45
+ @media (min-width: 1201px) and (max-width: 1680px) {
46
+ .o-sig-detail-contribute .o-sig-detail-contribute-desc {
47
+ font-size: 14px;
48
+ line-height: 22px;
49
+ }
50
+ }
51
+ @media (min-width: 841px) and (max-width: 1200px) {
52
+ .o-sig-detail-contribute .o-sig-detail-contribute-desc {
53
+ font-size: 14px;
54
+ line-height: 22px;
55
+ }
56
+ }
57
+ @media (min-width: 601px) and (max-width: 840px) {
58
+ .o-sig-detail-contribute .o-sig-detail-contribute-desc {
59
+ font-size: 14px;
60
+ line-height: 22px;
61
+ }
62
+ }
63
+ @media (max-width: 600px) {
64
+ .o-sig-detail-contribute .o-sig-detail-contribute-desc {
65
+ font-size: 12px;
66
+ line-height: 18px;
67
+ }
68
+ }
69
+ .o-sig-detail-contribute .o-card + .o-card {
70
+ margin-top: var(--o-gap-4);
71
+ }
72
+ @media (min-width: 1201px) and (max-width: 1680px) {
73
+ .o-sig-detail-contribute .o-card + .o-card {
74
+ margin-top: var(--o-gap-3);
75
+ }
76
+ }
77
+ @media (max-width: 1200px) {
78
+ .o-sig-detail-contribute .o-card + .o-card {
79
+ margin-top: var(--o-gap-2);
80
+ }
81
+ }
82
+ .o-sig-detail-contribute .o-form {
83
+ --form-item-gap: var(--o-gap-4);
84
+ --form-label-main-gap: var(--o-gap-6);
85
+ }
86
+ @media (max-width: 1200px) {
87
+ .o-sig-detail-contribute .o-form {
88
+ --form-item-gap: var(--o-gap-2);
89
+ }
90
+ }
91
+ .o-sig-detail-contribute .o-form .o-form-item-label {
92
+ --form-label-width: 4em;
93
+ margin-bottom: 0;
94
+ margin-top: 0;
95
+ line-height: 32px;
96
+ }
97
+ @media (max-width: 600px) {
98
+ .o-sig-detail-contribute .o-form .o-form-item-label {
99
+ line-height: 1.5;
100
+ }
101
+ }
102
+ .o-sig-detail-contribute .o-form .contribute-type-item {
103
+ margin-bottom: calc(var(--form-item-gap) - var(--o-gap-2));
104
+ }
105
+ @media (max-width: 600px) {
106
+ .o-sig-detail-contribute .o-form .comment-type-item .o-form-item-label {
107
+ display: none;
108
+ }
109
+ }
110
+ @media (max-width: 600px) {
111
+ .o-sig-detail-contribute .o-form .o-form-item-main {
112
+ margin-top: var(--o-gap-2);
113
+ }
114
+ }
115
+ .o-sig-detail-contribute .o-form .o-toggle {
116
+ --toggle-size: 32px;
117
+ }
118
+ .o-sig-detail-contribute .o-form.is-en .o-form-item-label {
119
+ --form-label-width: 9em;
120
+ }
121
+ .o-sig-detail-contribute .o-form .o-radio-group-h {
122
+ --radio-group-gap: 0;
123
+ }
124
+ .o-sig-detail-contribute .o-form .o-radio-group-h .o-radio {
125
+ margin-right: var(--o-gap-2);
126
+ margin-bottom: var(--o-gap-2);
127
+ }
128
+ .o-sig-detail-contribute .o-form .o-date-range-picker {
129
+ width: 100%;
130
+ max-width: 280px;
131
+ }
132
+ .o-sig-detail-contribute .o-form-layout-v .o-form-item-main {
133
+ margin-top: var(--o-gap-3);
134
+ }
135
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter {
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: space-between;
139
+ flex-direction: row-reverse;
140
+ gap: var(--grid-column-gutter);
141
+ }
142
+ @media (max-width: 600px) {
143
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter {
144
+ gap: var(--o-gap-2);
145
+ flex-direction: column;
146
+ align-items: flex-start;
147
+ }
148
+ }
149
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter .o-input {
150
+ flex: 1;
151
+ max-width: 320px;
152
+ width: 100%;
153
+ --_box-height: 32px;
154
+ }
155
+ @media (max-width: 600px) {
156
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter .o-input {
157
+ max-width: 100%;
158
+ }
159
+ }
160
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter .o-input .o_input-prefix .o-icon {
161
+ font-size: 16px;
162
+ }
163
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter .o-checkbox-group {
164
+ --checkbox-group-gap: var(--o-gap-4);
165
+ flex-shrink: 0;
166
+ flex-wrap: nowrap;
167
+ }
168
+ @media (max-width: 840px) {
169
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter .o-checkbox-group {
170
+ column-gap: var(--checkbox-group-gap);
171
+ }
172
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter .o-checkbox-group .o-checkbox {
173
+ margin-left: 0;
174
+ }
175
+ }
176
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter .o-sig-detail-contribute-user-type {
177
+ display: flex;
178
+ align-items: center;
179
+ }
180
+ .o-sig-detail-contribute .o-sig-detail-contribute-input-filter .o-sig-detail-contribute-user-type .o-sig-detail-contribute-user-type-label {
181
+ color: var(--o-color-info3);
182
+ font-size: 12px;
183
+ line-height: 18px;
184
+ margin-bottom: 0;
185
+ margin-top: 0;
186
+ }
187
+ .o-sig-detail-contribute .o-sig-detail-contribute-dot {
188
+ display: inline-block;
189
+ height: 3px;
190
+ width: 16px;
191
+ border-radius: 2px;
192
+ margin-right: var(--o-gap-2);
193
+ }
194
+ .o-sig-detail-contribute .o-table {
195
+ margin-top: var(--o-gap-3);
196
+ }
197
+ .o-sig-detail-contribute .o-table table {
198
+ display: table;
199
+ width: 100%;
200
+ }
201
+ .o-sig-detail-contribute .o-table thead::after {
202
+ display: none;
203
+ }
204
+ .o-sig-detail-contribute .user-id-link {
205
+ display: flex;
206
+ flex-wrap: nowrap;
207
+ width: 180px;
208
+ }
209
+ @media (max-width: 840px) {
210
+ .o-sig-detail-contribute .user-id-link {
211
+ width: 120px;
212
+ }
213
+ }
214
+ .o-sig-detail-contribute .user-id-link .o-sig-detail-contribute-dot {
215
+ border-radius: 50%;
216
+ height: 8px;
217
+ width: 8px;
218
+ }
219
+ .o-sig-detail-contribute .user-id-link .o-link-main {
220
+ margin-top: 0;
221
+ flex: 1;
222
+ min-width: 0;
223
+ }
224
+ .o-sig-detail-contribute .o-sig-detail-contribute-cell {
225
+ display: flex;
226
+ align-items: center;
227
+ flex-wrap: nowrap;
228
+ align-content: center;
229
+ }
230
+ .o-sig-detail-contribute .o-sig-detail-contribute-cell .o-sig-detail-contribute-data {
231
+ flex-shrink: 0;
232
+ }
233
+ .o-sig-detail-contribute .o-sig-detail-contribute-cell .o-progress {
234
+ flex-grow: 1;
235
+ margin-left: var(--o-gap-2);
236
+ --progress-track-bg-color: transparent;
237
+ }
238
+ .o-sig-detail-contribute .o-pagination {
239
+ margin-top: var(--grid-column-gutter);
240
+ display: flex;
241
+ justify-content: flex-end;
242
+ }
@@ -0,0 +1,10 @@
1
+ import { SigContributeParamsT, SigContributeItemT } from '../types.ts';
2
+ type __VLS_Props = {
3
+ sig?: string;
4
+ getDataRequest?: (params: SigContributeParamsT) => Promise<SigContributeItemT[]>;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
7
+ sig: string;
8
+ getDataRequest: (params: SigContributeParamsT) => Promise<SigContributeItemT[]>;
9
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
10
+ export default _default;
@@ -0,0 +1,326 @@
1
+ import { defineComponent, computed, ref, onMounted, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createVNode, withCtx, normalizeClass, Fragment, renderList, createTextVNode, createBlock, createCommentVNode, normalizeStyle } from "vue";
2
+ import { OCard, OForm, OFormItem, ORadioGroup, ORadio, OToggle, ODateRangePicker, OInput, OIcon, OIconSearch, OCheckboxGroup, OCheckbox, OTable, OProgress, OLink, OPagination } from "@opensig/opendesign";
3
+ import { refDebounced } from "@vueuse/core";
4
+ import { useI18n } from "../../../i18n/index.mjs";
5
+ import { useScreen } from "@opendesign-plus/composables";
6
+ import _sfc_main$1 from "../../common/TooltipText.vue.mjs";
7
+ import '../../common/TooltipText.css';
8
+ const _hoisted_1 = { class: "o-sig-detail-contribute" };
9
+ const _hoisted_2 = { class: "o-sig-floor-title" };
10
+ const _hoisted_3 = { class: "o-sig-detail-contribute-title" };
11
+ const _hoisted_4 = { class: "o-sig-detail-contribute-desc" };
12
+ const _hoisted_5 = { class: "o-sig-detail-contribute-input-filter" };
13
+ const _hoisted_6 = { class: "o-sig-detail-contribute-user-type" };
14
+ const _hoisted_7 = { class: "o-sig-detail-contribute-user-type-label" };
15
+ const _hoisted_8 = { class: "o-sig-detail-contribute-cell" };
16
+ const _hoisted_9 = { class: "o-sig-detail-contribute-data" };
17
+ const _sfc_main = /* @__PURE__ */ defineComponent({
18
+ __name: "OSigUserContribute",
19
+ props: {
20
+ sig: { default: "" },
21
+ getDataRequest: { type: Function, default: void 0 }
22
+ },
23
+ setup(__props) {
24
+ const props = __props;
25
+ const { t, locale } = useI18n();
26
+ const isEn = computed(() => locale.value === "en");
27
+ const { isPhone, lePadV } = useScreen();
28
+ const findOpt = (value, options, field) => {
29
+ var _a;
30
+ return (_a = options.find((o) => o.value === value)) == null ? void 0 : _a[field];
31
+ };
32
+ const userTypeOptions = [
33
+ { label: "Maintainer", value: "maintainer", color: "rgb(0, 98, 220)" },
34
+ { label: "Committer", value: "committer", color: "rgb(240, 188, 0)" },
35
+ { label: "Contributor", value: "contributor", color: "rgb(0, 167, 179)" }
36
+ ];
37
+ const userType = ref(userTypeOptions.map((d) => d.value));
38
+ const getColor = (type) => findOpt(type, userTypeOptions, "color");
39
+ const contributeType = ref("pr");
40
+ const contributionTypeOptions = [
41
+ { label: t("sig.PRS"), value: "pr", alias: "PR" },
42
+ { label: t("sig.ISSUES"), value: "issue", alias: "Issue" },
43
+ { label: t("sig.COMMENTS"), value: "comment", alias: "Comment" }
44
+ ];
45
+ const commentType = ref("");
46
+ const commentTypeOptions = [
47
+ { label: t("sig.ALL"), value: "" },
48
+ { label: t("sig.commentNormal"), value: "normal" },
49
+ { label: t("sig.commentCommand"), value: "command" }
50
+ ];
51
+ const typeLabel = computed(() => findOpt(contributeType.value, contributionTypeOptions, "alias"));
52
+ const startDate = ref((/* @__PURE__ */ new Date("2024-11-01")).getTime());
53
+ const endDate = ref(Date.now());
54
+ const contributionData = ref([]);
55
+ const changeContributeType = () => {
56
+ commentType.value = "";
57
+ getData();
58
+ };
59
+ const getData = async () => {
60
+ if (!props.getDataRequest) return;
61
+ page.value = 1;
62
+ const params = {
63
+ contributeType: contributeType.value,
64
+ sig: props.sig,
65
+ community: "TODO",
66
+ comment_type: commentType.value
67
+ };
68
+ if (startDate.value && endDate.value) {
69
+ Object.assign(params, {
70
+ start: Number(startDate.value),
71
+ end: Number(endDate.value)
72
+ });
73
+ }
74
+ contributionData.value = await props.getDataRequest(params) || [];
75
+ };
76
+ const maxContributionNum = computed(() => {
77
+ if (contributionData.value.length === 0) return 0;
78
+ return Math.max(...contributionData.value.map((d) => d.contribute));
79
+ });
80
+ const columns = computed(() => {
81
+ return [
82
+ { key: "number", label: t("sig.NUMBER"), style: { width: "60px" } },
83
+ { key: "user_login", label: "GitCode ID", style: { width: isPhone.value ? "100px" : "180px" } },
84
+ { key: "contribute", label: typeLabel.value }
85
+ ];
86
+ });
87
+ const page = ref(1);
88
+ const pageSize = ref(10);
89
+ const pageSizes = [10, 15, 30, 50];
90
+ const searchGitcodeId = ref("");
91
+ const debouncedSearchGitCodeId = refDebounced(searchGitcodeId, 400);
92
+ const changeInput = () => {
93
+ page.value = 1;
94
+ };
95
+ const filterData = computed(() => {
96
+ let res = contributionData.value;
97
+ if (userType.value.length) {
98
+ res = res.filter((d) => userType.value.includes(d.usertype));
99
+ }
100
+ if (searchGitcodeId.value) {
101
+ const lowercase = debouncedSearchGitCodeId.value;
102
+ res = res.filter((d) => d.user_login.toLowerCase().includes(lowercase));
103
+ }
104
+ return res;
105
+ });
106
+ const displayContributionData = computed(() => {
107
+ const start = (page.value - 1) * pageSize.value;
108
+ return filterData.value.slice(start, start + pageSize.value);
109
+ });
110
+ onMounted(() => {
111
+ getData();
112
+ });
113
+ return (_ctx, _cache) => {
114
+ return openBlock(), createElementBlock("div", _hoisted_1, [
115
+ createElementVNode("div", _hoisted_2, [
116
+ createElementVNode("div", _hoisted_3, toDisplayString(unref(t)("sig.contributeTitle")), 1),
117
+ createElementVNode("div", _hoisted_4, toDisplayString(unref(t)("sig.contributeSubTitle", [__props.sig])), 1)
118
+ ]),
119
+ createVNode(unref(OCard), null, {
120
+ default: withCtx(() => [
121
+ createVNode(unref(OForm), {
122
+ layout: unref(isPhone) ? "v" : "h",
123
+ class: normalizeClass(isEn.value ? "is-en" : "")
124
+ }, {
125
+ default: withCtx(() => [
126
+ createVNode(unref(OFormItem), {
127
+ label: unref(t)("sig.METRIC"),
128
+ field: "contributeType",
129
+ class: "contribute-type-item"
130
+ }, {
131
+ default: withCtx(() => [
132
+ createVNode(unref(ORadioGroup), {
133
+ modelValue: contributeType.value,
134
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => contributeType.value = $event),
135
+ onChange: changeContributeType
136
+ }, {
137
+ default: withCtx(() => [
138
+ (openBlock(), createElementBlock(Fragment, null, renderList(contributionTypeOptions, (item) => {
139
+ return createVNode(unref(ORadio), {
140
+ key: item.value,
141
+ value: item.value
142
+ }, {
143
+ radio: withCtx(({ checked }) => [
144
+ createVNode(unref(OToggle), { checked }, {
145
+ default: withCtx(() => [
146
+ createTextVNode(toDisplayString(item.label), 1)
147
+ ]),
148
+ _: 2
149
+ }, 1032, ["checked"])
150
+ ]),
151
+ _: 2
152
+ }, 1032, ["value"]);
153
+ }), 64))
154
+ ]),
155
+ _: 1
156
+ }, 8, ["modelValue"])
157
+ ]),
158
+ _: 1
159
+ }, 8, ["label"]),
160
+ contributeType.value === "comment" ? (openBlock(), createBlock(unref(OFormItem), {
161
+ key: 0,
162
+ label: "",
163
+ field: "commentType",
164
+ class: "comment-type-item"
165
+ }, {
166
+ default: withCtx(() => [
167
+ createVNode(unref(ORadioGroup), {
168
+ modelValue: commentType.value,
169
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => commentType.value = $event),
170
+ onChange: getData
171
+ }, {
172
+ default: withCtx(() => [
173
+ (openBlock(), createElementBlock(Fragment, null, renderList(commentTypeOptions, (item) => {
174
+ return createVNode(unref(ORadio), {
175
+ key: item.value,
176
+ value: item.value
177
+ }, {
178
+ default: withCtx(() => [
179
+ createTextVNode(toDisplayString(item.label), 1)
180
+ ]),
181
+ _: 2
182
+ }, 1032, ["value"]);
183
+ }), 64))
184
+ ]),
185
+ _: 1
186
+ }, 8, ["modelValue"])
187
+ ]),
188
+ _: 1
189
+ })) : createCommentVNode("", true),
190
+ createVNode(unref(OFormItem), {
191
+ label: unref(t)("sig.TIMERANGE"),
192
+ field: "dateRange"
193
+ }, {
194
+ default: withCtx(() => [
195
+ createVNode(unref(ODateRangePicker), {
196
+ start: startDate.value,
197
+ "onUpdate:start": _cache[2] || (_cache[2] = ($event) => startDate.value = $event),
198
+ end: endDate.value,
199
+ "onUpdate:end": _cache[3] || (_cache[3] = ($event) => endDate.value = $event),
200
+ clearable: "",
201
+ "placeholder-start": unref(t)("sig.startDate"),
202
+ "placeholder-end": unref(t)("sig.endDate"),
203
+ onChange: getData
204
+ }, null, 8, ["start", "end", "placeholder-start", "placeholder-end"])
205
+ ]),
206
+ _: 1
207
+ }, 8, ["label"])
208
+ ]),
209
+ _: 1
210
+ }, 8, ["layout", "class"])
211
+ ]),
212
+ _: 1
213
+ }),
214
+ createVNode(unref(OCard), null, {
215
+ default: withCtx(() => [
216
+ createElementVNode("div", _hoisted_5, [
217
+ createVNode(unref(OInput), {
218
+ modelValue: searchGitcodeId.value,
219
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => searchGitcodeId.value = $event),
220
+ placeholder: unref(t)("sig.contributePlaceholder"),
221
+ onInput: changeInput
222
+ }, {
223
+ prefix: withCtx(() => [
224
+ createVNode(unref(OIcon), null, {
225
+ default: withCtx(() => [
226
+ createVNode(unref(OIconSearch))
227
+ ]),
228
+ _: 1
229
+ })
230
+ ]),
231
+ _: 1
232
+ }, 8, ["modelValue", "placeholder"]),
233
+ createVNode(unref(OCheckboxGroup), {
234
+ modelValue: userType.value,
235
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => userType.value = $event)
236
+ }, {
237
+ default: withCtx(() => [
238
+ (openBlock(), createElementBlock(Fragment, null, renderList(userTypeOptions, (item) => {
239
+ return createVNode(unref(OCheckbox), {
240
+ key: item.value,
241
+ value: item.value
242
+ }, {
243
+ checkbox: withCtx(({ checked }) => [
244
+ createElementVNode("div", _hoisted_6, [
245
+ createElementVNode("div", {
246
+ class: "o-sig-detail-contribute-dot",
247
+ style: normalizeStyle({ backgroundColor: checked ? item.color : "rgb(204, 204, 204)" })
248
+ }, null, 4),
249
+ createElementVNode("p", _hoisted_7, toDisplayString(item.label), 1)
250
+ ])
251
+ ]),
252
+ _: 2
253
+ }, 1032, ["value"]);
254
+ }), 64))
255
+ ]),
256
+ _: 1
257
+ }, 8, ["modelValue"])
258
+ ]),
259
+ createVNode(unref(OTable), {
260
+ data: displayContributionData.value,
261
+ columns: columns.value,
262
+ border: "row-frame",
263
+ small: ""
264
+ }, {
265
+ td_number: withCtx(({ rowIndex }) => [
266
+ createElementVNode("span", null, toDisplayString(rowIndex + 1), 1)
267
+ ]),
268
+ td_user_login: withCtx(({ row }) => [
269
+ createVNode(unref(OLink), {
270
+ class: "user-id-link",
271
+ color: "primary",
272
+ target: "_blank",
273
+ rel: "noopener noreferrer",
274
+ href: row.userLink
275
+ }, {
276
+ icon: withCtx(() => [
277
+ createElementVNode("div", {
278
+ class: "o-sig-detail-contribute-dot",
279
+ style: normalizeStyle({ backgroundColor: getColor(row.usertype) })
280
+ }, null, 4)
281
+ ]),
282
+ default: withCtx(() => [
283
+ createVNode(_sfc_main$1, null, {
284
+ default: withCtx(() => [
285
+ createTextVNode(toDisplayString(row.user_login), 1)
286
+ ]),
287
+ _: 2
288
+ }, 1024)
289
+ ]),
290
+ _: 2
291
+ }, 1032, ["href"])
292
+ ]),
293
+ td_contribute: withCtx(({ row }) => [
294
+ createElementVNode("div", _hoisted_8, [
295
+ createElementVNode("span", _hoisted_9, toDisplayString(row.contribute), 1),
296
+ row.contribute > 0 ? (openBlock(), createBlock(unref(OProgress), {
297
+ key: 0,
298
+ "show-label": false,
299
+ percentage: Math.floor(row.contribute * 100 / maxContributionNum.value),
300
+ style: normalizeStyle({ "--progress-bar-bg-color": getColor(row.usertype) })
301
+ }, null, 8, ["percentage", "style"])) : createCommentVNode("", true)
302
+ ])
303
+ ]),
304
+ _: 1
305
+ }, 8, ["data", "columns"])
306
+ ]),
307
+ _: 1
308
+ }),
309
+ filterData.value.length ? (openBlock(), createBlock(unref(OPagination), {
310
+ key: 0,
311
+ total: filterData.value.length,
312
+ "page-sizes": pageSizes,
313
+ page: page.value,
314
+ "onUpdate:page": _cache[6] || (_cache[6] = ($event) => page.value = $event),
315
+ "page-size": pageSize.value,
316
+ "onUpdate:pageSize": _cache[7] || (_cache[7] = ($event) => pageSize.value = $event),
317
+ "show-total": "",
318
+ simple: unref(lePadV)
319
+ }, null, 8, ["total", "page", "page-size", "simple"])) : createCommentVNode("", true)
320
+ ]);
321
+ };
322
+ }
323
+ });
324
+ export {
325
+ _sfc_main as default
326
+ };
@@ -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
+ };