@titaui/pc 1.15.43 → 1.15.44-beta.1

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.
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = _default;
9
+ exports.visibilityMapText = void 0;
9
10
 
10
11
  var _react = _interopRequireWildcard(require("react"));
11
12
 
@@ -52,6 +53,8 @@ var visibilityMapText = function visibilityMapText() {
52
53
  };
53
54
  };
54
55
 
56
+ exports.visibilityMapText = visibilityMapText;
57
+
55
58
  function _default(_ref) {
56
59
  var visibility = _ref.visibility,
57
60
  setVisibility = _ref.setVisibility,
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useOkrColumns = exports.dic = exports["default"] = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _setting = require("./setting");
11
+
12
+ var _getLocale = require("../../utils/getLocale");
13
+
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+
16
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+
18
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
19
+
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+
22
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
23
+
24
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
29
+
30
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
31
+
32
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
33
+
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
+
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
+
38
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
+
40
+ // 当需要强制更新客户端缓存的列配置时可以更改此版本号
41
+ var columnOptionVersion = '1.0.0';
42
+
43
+ var dic = function dic() {
44
+ return {
45
+ '目标': (0, _getLocale.getLocale)('Mod_Objective'),
46
+ '关键成果': (0, _getLocale.getLocale)('Mod_KeyResults'),
47
+ '目标(O)': "".concat((0, _getLocale.getLocale)('Mod_Objective'), "\uFF08O\uFF09"),
48
+ '类型': (0, _getLocale.getLocale)('OKR_MyO_Pop_Type'),
49
+ '负责人': (0, _getLocale.getLocale)('OKR_MyO_Pop_Owner'),
50
+ '对齐目标': (0, _getLocale.getLocale)('OKR_MyO_Pop_SetAlignment'),
51
+ '可见范围': (0, _getLocale.getLocale)('OKR_MyO_Pop_Title_Perm'),
52
+ '目标完成度': "".concat((0, _getLocale.getLocale)('Mod_Objective')).concat((0, _getLocale.getLocale)('OKR_MyO_Pop_Upd_Progresss1')),
53
+ '目标最新进展': "".concat((0, _getLocale.getLocale)('Mod_Objective')).concat((0, _getLocale.getLocale)('Pro_page_Plan_Latestpro')),
54
+ '关键成果(KR)': "".concat((0, _getLocale.getLocale)('Mod_KeyResults'), "\uFF08KR\uFF09"),
55
+ 'KR 负责人': "KR ".concat((0, _getLocale.getLocale)('OKR_MyO_Pop_Owner')),
56
+ '权重': (0, _getLocale.getLocale)('OKR_MyO_Text_Weights'),
57
+ '信心指数': (0, _getLocale.getLocale)('OKR_MyO_KRP_Confidence'),
58
+ 'KR 完成度': "KR ".concat((0, _getLocale.getLocale)('OKR_MyO_Pop_Upd_Progresss1')),
59
+ 'KR 最新进展': "KR ".concat((0, _getLocale.getLocale)('Pro_page_Plan_Latestpro'))
60
+ };
61
+ };
62
+
63
+ exports.dic = dic;
64
+
65
+ // 判断是否需要重置缓存,避免出现客户端缓存无法失效问题
66
+ function needCoverCache(optionDic, columns) {
67
+ var cacheVersion = localStorage.getItem('columnOptionVersion'); // 如果版本号不一致
68
+
69
+ if (cacheVersion !== columnOptionVersion) {
70
+ localStorage.setItem('columnOptionVersion', columnOptionVersion);
71
+ return true;
72
+ } // 如果 columns 有新增的列时
73
+
74
+
75
+ var newColumn = columns.find(function (item) {
76
+ return !optionDic[item.field];
77
+ }); // 这里这么写方便后续扩展
78
+
79
+ if (newColumn) return true;
80
+ return false;
81
+ }
82
+
83
+ function createDefaultOptions(cacheOptionDic, columns) {
84
+ var optionDic = {};
85
+ columns.forEach(function (item, idx) {
86
+ optionDic[item.field] = {
87
+ key: item.field,
88
+ hide: item.hide || false,
89
+ width: item.width,
90
+ idx: idx
91
+ }; // 如果存在缓存,则复用现有的显示状态,避免在重置缓存后让用户以为是BUG
92
+
93
+ if (cacheOptionDic[item.field]) {
94
+ optionDic[item.field].hide = cacheOptionDic[item.field].hide;
95
+ }
96
+ });
97
+ return optionDic;
98
+ }
99
+
100
+ function getCacheColumnOptions(columns) {
101
+ var optionStr = localStorage.getItem('cacheOkrColumnOptions') || '{}';
102
+ var optionDic = JSON.parse(optionStr);
103
+ if (optionStr === '{}' || needCoverCache(optionDic, columns)) optionDic = createDefaultOptions(optionDic, columns);
104
+ return optionDic;
105
+ }
106
+
107
+ function setCacheColumnOptions(option) {
108
+ localStorage.setItem('cacheOkrColumnOptions', JSON.stringify(option));
109
+ }
110
+ /** 判断是否开启了高级功能,如果没有开启,则将 hide 设置为 false */
111
+
112
+
113
+ function getHide(field, currentHide) {
114
+ var dicData = dic();
115
+
116
+ switch (field) {
117
+ case dicData['类型']:
118
+ if (!_setting.showKrClassify) return true;
119
+ return currentHide;
120
+
121
+ case dicData['信心指数']:
122
+ if (!_setting.showKrConfidence) return true;
123
+ return currentHide;
124
+
125
+ case dicData['权重']:
126
+ if (!_setting.showKrWeight) return true;
127
+ return currentHide;
128
+
129
+ case dicData['KR 最新进展']:
130
+ if (!_setting.showKrProgress) return true;
131
+ return currentHide;
132
+
133
+ default:
134
+ return currentHide;
135
+ }
136
+ }
137
+
138
+ function formatColumnsByOption(optionDic, columns) {
139
+ var formatColumn = new Array(columns.length);
140
+
141
+ try {
142
+ columns.forEach(function (item) {
143
+ var option = optionDic[item.field];
144
+ formatColumn[option.idx] = _objectSpread(_objectSpread({}, item), {}, {
145
+ hide: getHide(item.field, option.hide),
146
+ width: option.width
147
+ });
148
+ });
149
+ } catch (error) {
150
+ // 避免解析过程中发生错误导致列无法展示
151
+ setCacheColumnOptions(createDefaultOptions(optionDic, columns));
152
+ return columns;
153
+ }
154
+
155
+ return formatColumn;
156
+ }
157
+
158
+ var defaultColumnCtlData = function defaultColumnCtlData() {
159
+ var dicData = dic();
160
+ return [{
161
+ label: dicData['目标'],
162
+ value: 'O',
163
+ type: 'group',
164
+ children: [{
165
+ label: dicData['目标(O)'],
166
+ value: '0,0',
167
+ disable: true
168
+ }, {
169
+ label: dicData['类型'],
170
+ value: '0,1',
171
+ visible: _setting.showKrClassify
172
+ }, {
173
+ label: dicData['负责人'],
174
+ value: '0,2'
175
+ }, {
176
+ label: dicData['对齐目标'],
177
+ value: '0,3'
178
+ }, {
179
+ label: dicData['可见范围'],
180
+ value: '0,4'
181
+ }, {
182
+ label: dicData['目标完成度'],
183
+ value: '0,5'
184
+ }, {
185
+ label: dicData['目标最新进展'],
186
+ value: '0,6'
187
+ }]
188
+ }, {
189
+ label: dicData['关键成果'],
190
+ value: 'KR',
191
+ type: 'group',
192
+ children: [{
193
+ label: dicData['关键成果(KR)'],
194
+ value: '1,0'
195
+ }, {
196
+ label: dicData['KR 负责人'],
197
+ value: '1,1'
198
+ }, {
199
+ label: dicData['信心指数'],
200
+ value: '1,2',
201
+ visible: _setting.showKrConfidence
202
+ }, {
203
+ label: dicData['权重'],
204
+ value: '1,3',
205
+ visible: _setting.showKrWeight
206
+ }, {
207
+ label: dicData['KR 完成度'],
208
+ value: '1,4'
209
+ }, {
210
+ label: dicData['KR 最新进展'],
211
+ value: '1,5',
212
+ visible: _setting.showKrProgress
213
+ }]
214
+ }];
215
+ }; // 标记展示的列
216
+
217
+
218
+ function formatColumnCtlData(optionDic, columnCtlData) {
219
+ columnCtlData.map(function (item) {
220
+ return item.children || [];
221
+ }).reduce(function (pre, cur) {
222
+ return [].concat(_toConsumableArray(pre), _toConsumableArray(cur));
223
+ }).forEach(function (item) {
224
+ if (optionDic[item.label]) {
225
+ item.checked = !optionDic[item.label].hide;
226
+ } else {
227
+ item.checked = false;
228
+ }
229
+ });
230
+ return columnCtlData;
231
+ }
232
+
233
+ var useOkrColumns = function useOkrColumns(columns) {
234
+ var _useState = (0, _react.useState)(getCacheColumnOptions(columns)),
235
+ _useState2 = _slicedToArray(_useState, 2),
236
+ optionDic = _useState2[0],
237
+ setOptionDic = _useState2[1];
238
+
239
+ var _useState3 = (0, _react.useState)(formatColumnsByOption(optionDic, columns)),
240
+ _useState4 = _slicedToArray(_useState3, 2),
241
+ columnDefs = _useState4[0],
242
+ setColumnDefs = _useState4[1]; // 右上角控制列是否展示的数据
243
+
244
+
245
+ var _useState5 = (0, _react.useState)(formatColumnCtlData(optionDic, defaultColumnCtlData())),
246
+ _useState6 = _slicedToArray(_useState5, 2),
247
+ columnCtlData = _useState6[0],
248
+ setColumnCtlData = _useState6[1]; // 用于处理列的移动事件,在用户下次访问时保持该顺序
249
+
250
+
251
+ var onColumnMoved = (0, _react.useCallback)(function (moveField, toIndex) {
252
+ var oldIdx = optionDic[moveField].idx;
253
+ var success = 0;
254
+ Object.values(optionDic).find(function (option) {
255
+ if (success === 2) return true;
256
+
257
+ if (option.idx === toIndex) {
258
+ option.idx = oldIdx;
259
+ success++;
260
+ return success === 2;
261
+ }
262
+
263
+ if (option.idx === oldIdx) {
264
+ option.idx = toIndex;
265
+ success++;
266
+ return success === 2;
267
+ }
268
+ });
269
+ setOptionDic(_objectSpread({}, optionDic));
270
+ setCacheColumnOptions(optionDic);
271
+ }, [optionDic]);
272
+ var onColumnResized = (0, _react.useCallback)(function (moveField, width) {
273
+ optionDic[moveField].width = width;
274
+ setOptionDic(_objectSpread({}, optionDic));
275
+ setCacheColumnOptions(optionDic);
276
+ }, [optionDic]);
277
+ var onColumnsHideOrShow = (0, _react.useCallback)(function (value, item) {
278
+ var _columnCtlData$level;
279
+
280
+ var _ref = value.split(','),
281
+ _ref2 = _slicedToArray(_ref, 2),
282
+ level1Idx = _ref2[0],
283
+ level2Idx = _ref2[1];
284
+
285
+ var fieldName = item.label; // @ts-ignore
286
+
287
+ var itemChecked = (_columnCtlData$level = columnCtlData[level1Idx]) === null || _columnCtlData$level === void 0 ? void 0 : _columnCtlData$level.children[level2Idx].checked;
288
+ var checked = !itemChecked; // @ts-ignore
289
+
290
+ columnCtlData[level1Idx].children[level2Idx].checked = checked;
291
+ setColumnCtlData(_toConsumableArray(columnCtlData));
292
+
293
+ if (optionDic[fieldName]) {
294
+ optionDic[fieldName].hide = !checked;
295
+ setOptionDic(_objectSpread({}, optionDic));
296
+ setColumnDefs(formatColumnsByOption(optionDic, columns));
297
+ setCacheColumnOptions(optionDic);
298
+ }
299
+ }, [columnCtlData, columns]);
300
+ return {
301
+ columnDefs: columnDefs,
302
+ onColumnMoved: onColumnMoved,
303
+ onColumnResized: onColumnResized,
304
+ columnCtlData: columnCtlData,
305
+ onColumnsHideOrShow: onColumnsHideOrShow
306
+ };
307
+ };
308
+
309
+ exports.useOkrColumns = useOkrColumns;
310
+ var _default = useOkrColumns;
311
+ exports["default"] = _default;
@@ -0,0 +1,127 @@
1
+ .tita-okr-excel {
2
+ position: relative;
3
+ }
4
+
5
+ .tita-okr-excel__tooltip {
6
+ text-overflow: ellipsis;
7
+ white-space: nowrap;
8
+ overflow: hidden;
9
+ }
10
+
11
+ .tita-okr-excel__column-ctl {
12
+ position: absolute;
13
+ background-color: #F0F4FA;
14
+ right: 4px;
15
+ top: 4px;
16
+ width: 32px;
17
+ height: 32px;
18
+ border-radius: 8px;
19
+ z-index: 3;
20
+ display: flex;
21
+ justify-content: center;
22
+ align-items: center;
23
+ font-size: 16px;
24
+ cursor: pointer;
25
+ transition: background-color .3s;
26
+ }
27
+
28
+ .tita-okr-excel__column-ctl span {
29
+ color: #939aa6;
30
+ }
31
+
32
+ .tita-okr-excel__column-ctl:hover {
33
+ background-color: #e2e7ec;
34
+ }
35
+
36
+ .tita-okr-excel .tita-ui-new-confidence {
37
+ width: 100%;
38
+ display: flex;
39
+ align-items: center;
40
+ }
41
+
42
+ .tita-okr-excel__kr-weight {
43
+ width: 100%;
44
+ text-align: right;
45
+ }
46
+
47
+ .tita-okr-excel__okr-type {
48
+ display: flex;
49
+ align-items: center;
50
+ color: #89919f;
51
+ font-size: 13px;
52
+ }
53
+
54
+ .tita-okr-excel__okr-type span {
55
+ margin-right: 4px;
56
+ }
57
+
58
+ .tita-okr-excel__okr-name {
59
+ color: #141C28;
60
+ font-size: 14;
61
+ display: flex;
62
+ align-items: center;
63
+ font-weight: 600;
64
+ cursor: pointer;
65
+ transition: color .3s;
66
+ flex-wrap: wrap;
67
+ height: 100%;
68
+ overflow-x: auto;
69
+ }
70
+
71
+ .tita-okr-excel__okr-name span {
72
+ line-height: 18px;
73
+ }
74
+
75
+ .tita-okr-excel__okr-name:hover {
76
+ color: #2879ff;
77
+ }
78
+
79
+ .tita-okr-excel__okr-icon {
80
+ color: #2879ff;
81
+ font-size: 16px;
82
+ font-weight: 400;
83
+ margin-right: 8px;
84
+ }
85
+
86
+ .tita-okr-excel__kr-name {
87
+ white-space: wrap;
88
+ cursor: pointer;
89
+ transition: color .3s;
90
+ display: flex;
91
+ width: 100%;
92
+ }
93
+
94
+ .tita-okr-excel__kr-name__title {
95
+ text-overflow: ellipsis;
96
+ white-space: nowrap;
97
+ overflow: hidden;
98
+ }
99
+
100
+ .tita-okr-excel__kr-name:hover {
101
+ color: #2879ff;
102
+ }
103
+
104
+ .tita-okr-excel__kr-user {
105
+ display: flex;
106
+ align-items: center;
107
+ }
108
+
109
+ .tita-okr-excel__kr-user .titaui-pc-avator-container {
110
+ height: 24px;
111
+ margin-right: 7px;
112
+ }
113
+
114
+ .tita-okr-excel__kr-name__index {
115
+ color: #2879ff;
116
+ font-size: 12px;
117
+ margin-right: 4px;
118
+ }
119
+
120
+ .tita-okr-excel__okr-progress {
121
+ position: absolute;
122
+ left: 0;
123
+ width: 100%;
124
+ height: 100%;
125
+ display: flex;
126
+ align-items: center;
127
+ }
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _renders = require("./renders");
13
+
14
+ var _hooks = require("./hooks");
15
+
16
+ var _tableExcel = _interopRequireDefault(require("../table-excel"));
17
+
18
+ var _hooks2 = require("../../utils/hooks");
19
+
20
+ var _popupSelect = _interopRequireDefault(require("../popup-select"));
21
+
22
+ require("ag-grid-community/styles/ag-grid.css");
23
+
24
+ require("ag-grid-community/styles/ag-theme-material.css");
25
+
26
+ require("./index.css");
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
+
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
+
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
+
38
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
+
40
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
41
+
42
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
43
+
44
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
45
+
46
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
47
+
48
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
49
+
50
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
51
+
52
+ var defaultColumnOption = {
53
+ resizable: true,
54
+ editable: false
55
+ };
56
+ var defaultSpanOption = {
57
+ rowSpan: function rowSpan(_ref) {
58
+ var _ref$data$rowSpan = _ref.data.rowSpan,
59
+ _rowSpan = _ref$data$rowSpan === void 0 ? 0 : _ref$data$rowSpan;
60
+
61
+ return _rowSpan;
62
+ },
63
+ cellClassRules: {
64
+ 'cell-span': 'data.rowSpan > 1'
65
+ }
66
+ };
67
+ var preCls = 'tita-okr-excel';
68
+
69
+ var App = function App(_ref2) {
70
+ var showCycle = _ref2.showCycle,
71
+ data = _ref2.data,
72
+ onRefresh = _ref2.onRefresh;
73
+
74
+ var _useState = (0, _react.useState)(data),
75
+ _useState2 = _slicedToArray(_useState, 2),
76
+ selfData = _useState2[0],
77
+ setSelfData = _useState2[1];
78
+
79
+ (0, _react.useEffect)(function () {
80
+ setSelfData(data);
81
+ }, [data]);
82
+ var dicData = (0, _hooks.dic)();
83
+
84
+ var _useOkrColumns = (0, _hooks.useOkrColumns)([_objectSpread(_objectSpread(_objectSpread({}, defaultColumnOption), defaultSpanOption), {}, {
85
+ field: dicData['目标(O)'],
86
+ width: 400,
87
+ valueGetter: 'data.workName',
88
+ pinned: 'left',
89
+ // autoHeight: true,
90
+ wrapText: true,
91
+ cellRenderer: (0, _renders.OkrNameRenderer)(showCycle, onRefresh)
92
+ }), _objectSpread(_objectSpread(_objectSpread({}, defaultColumnOption), defaultSpanOption), {}, {
93
+ field: dicData['类型'],
94
+ valueGetter: 'data.okrType',
95
+ hide: true,
96
+ width: 100,
97
+ cellRenderer: _renders.okrTypeRenderer
98
+ }), _objectSpread(_objectSpread(_objectSpread({}, defaultColumnOption), defaultSpanOption), {}, {
99
+ field: dicData['负责人'],
100
+ valueGetter: 'data.principalUser.name',
101
+ hide: true,
102
+ width: 100,
103
+ cellRenderer: _renders.userRenderer
104
+ }), _objectSpread(_objectSpread(_objectSpread({}, defaultColumnOption), defaultSpanOption), {}, {
105
+ field: dicData['对齐目标'],
106
+ valueGetter: 'data.parentPrincipal.principalName',
107
+ width: 100,
108
+ hide: true
109
+ }), _objectSpread(_objectSpread(_objectSpread({}, defaultColumnOption), defaultSpanOption), {}, {
110
+ field: dicData['可见范围'],
111
+ valueGetter: 'data.visibility',
112
+ width: 100,
113
+ hide: true,
114
+ cellRenderer: _renders.visibilityRenderer
115
+ }), _objectSpread(_objectSpread(_objectSpread({}, defaultColumnOption), defaultSpanOption), {}, {
116
+ field: dicData['目标完成度'],
117
+ valueGetter: 'data.progress',
118
+ width: 120,
119
+ cellRenderer: _renders.TaskProgressRenderer
120
+ }), _objectSpread(_objectSpread(_objectSpread({}, defaultColumnOption), defaultSpanOption), {}, {
121
+ field: dicData['目标最新进展'],
122
+ valueGetter: 'data.progressDescription',
123
+ cellRenderer: _renders.tooltipRenderer,
124
+ width: 200,
125
+ hide: true
126
+ }), _objectSpread(_objectSpread({}, defaultColumnOption), {}, {
127
+ field: dicData['关键成果(KR)'],
128
+ valueGetter: 'data.Kr.mileStoneName',
129
+ width: 400,
130
+ cellRenderer: (0, _renders.krNameRenderer)(onRefresh)
131
+ }), _objectSpread(_objectSpread({}, defaultColumnOption), {}, {
132
+ field: dicData['KR 负责人'],
133
+ valueGetter: 'data.Kr.user.name',
134
+ width: 100,
135
+ hide: true,
136
+ cellRenderer: _renders.krUserRenderer
137
+ }), _objectSpread(_objectSpread({}, defaultColumnOption), {}, {
138
+ field: dicData['权重'],
139
+ valueGetter: 'data.Kr.krWeight',
140
+ width: 80,
141
+ hide: true,
142
+ cellRenderer: _renders.krWeightRenderer
143
+ }), _objectSpread(_objectSpread({}, defaultColumnOption), {}, {
144
+ field: dicData['信心指数'],
145
+ valueGetter: 'data.Kr.confidenceIndex',
146
+ width: 80,
147
+ cellRenderer: _renders.ConfidenceRenderer
148
+ }), _objectSpread(_objectSpread({}, defaultColumnOption), {}, {
149
+ field: dicData['KR 完成度'],
150
+ valueGetter: 'data.Kr.progress',
151
+ width: 120,
152
+ cellRenderer: _renders.KrProgressRenderer
153
+ }), _objectSpread(_objectSpread({}, defaultColumnOption), {}, {
154
+ field: dicData['KR 最新进展'],
155
+ valueGetter: 'data.Kr.progressDescription',
156
+ cellRenderer: _renders.tooltipRenderer,
157
+ width: 200
158
+ })]),
159
+ columnDefs = _useOkrColumns.columnDefs,
160
+ onColumnMoved = _useOkrColumns.onColumnMoved,
161
+ onColumnResized = _useOkrColumns.onColumnResized,
162
+ columnCtlData = _useOkrColumns.columnCtlData,
163
+ onColumnsHideOrShow = _useOkrColumns.onColumnsHideOrShow;
164
+
165
+ var getRowId = (0, _react.useMemo)(function () {
166
+ return function (params) {
167
+ return params.data.workId || params.data.feedId + params.data.Kr.mileStoneId;
168
+ };
169
+ }, []);
170
+ var onColumnMovedHandler = (0, _react.useCallback)(function (event) {
171
+ var moveField = event.column.colId;
172
+ var toIndex = event.toIndex;
173
+ onColumnMoved(moveField, toIndex);
174
+ }, [onColumnMoved]);
175
+ var onColumnResizedHandler = (0, _hooks2.useDebounceFn)(function (event) {
176
+ var _event$column = event.column,
177
+ actualWidth = _event$column.actualWidth,
178
+ colId = _event$column.colId;
179
+ onColumnResized(colId, actualWidth);
180
+ }, {
181
+ wait: 200
182
+ });
183
+ return /*#__PURE__*/_react["default"].createElement("div", {
184
+ className: "ag-theme-material ".concat(preCls)
185
+ }, /*#__PURE__*/_react["default"].createElement(_popupSelect["default"], {
186
+ menuData: columnCtlData,
187
+ popupPlacement: "bottomLeft",
188
+ action: "click",
189
+ mode: "checkbox",
190
+ height: 292,
191
+ onChange: onColumnsHideOrShow,
192
+ autoClose: false
193
+ }, /*#__PURE__*/_react["default"].createElement("div", {
194
+ className: "".concat(preCls, "__column-ctl")
195
+ }, /*#__PURE__*/_react["default"].createElement("span", {
196
+ className: "tu-icon-APP-shezhi"
197
+ }))), /*#__PURE__*/_react["default"].createElement(_tableExcel["default"], {
198
+ headerHeight: 40,
199
+ rowHeight: 38,
200
+ suppressRowTransform: true,
201
+ enableRangeSelection: true,
202
+ domLayout: "autoHeight",
203
+ getRowId: getRowId,
204
+ rowData: selfData,
205
+ columnDefs: columnDefs,
206
+ detailRowAutoHeight: true,
207
+ onColumnMoved: onColumnMovedHandler,
208
+ onColumnResized: onColumnResizedHandler.run
209
+ }));
210
+ };
211
+
212
+ var _default = App;
213
+ exports["default"] = _default;