@lark-project/js-sdk 2.0.1-alpha.2 → 2.0.1-alpha.20

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/CHANGELOG.md CHANGED
@@ -1,4 +1,24 @@
1
1
  # Change Log
2
+ ## 2.0.6 (2024/09/12)
3
+ - 「Add」新增 Fullscreen Modal
4
+
5
+ ## 2.0.5 (2024/08/13)
6
+ - 「Add」新增 Button Context
7
+
8
+ ## 2.0.4(2024/08/06)
9
+ - 「Add」新增 WorkItemFinder
10
+
11
+ ## 2.0.3(2024/07/22)
12
+ - 「Add」新增 Control Context
13
+ - 「Add」新增 NotSupportedError
14
+
15
+ ## 2.0.2(2024/07/11)
16
+ - 「Add」新增 ContainerModal
17
+ - 「Add」新增 Intercept
18
+
19
+ ## 2.0.1(2024/05/22)
20
+ - 「Add」新增 RichTextEditor
21
+
2
22
  ## 2.0.0(2024/03/27)
3
23
  - 「Add」新增 Modal / ActionSheet(mobile)/ Utils
4
24
 
package/dist/es/index.js CHANGED
@@ -260,9 +260,9 @@ _a12 = IMPL_KEY;
260
260
  */
261
261
  RichTextEditor[_a12] = "richTextEditor";
262
262
 
263
- // src/biz/Utils.ts
263
+ // src/biz/WorkItemFinder.ts
264
264
  var _a13;
265
- var Utils = class extends BaseModel {
265
+ var WorkItemFinder = class extends BaseModel {
266
266
  /**
267
267
  * @internal
268
268
  */
@@ -274,7 +274,87 @@ _a13 = IMPL_KEY;
274
274
  /**
275
275
  * @internal
276
276
  */
277
- Utils[_a13] = "utils";
277
+ WorkItemFinder[_a13] = "workItemFinder";
278
+
279
+ // src/biz/Utils.ts
280
+ var _a14;
281
+ var Utils = class extends BaseModel {
282
+ /**
283
+ * @internal
284
+ */
285
+ static load() {
286
+ throw new Error("not implemented");
287
+ }
288
+ };
289
+ _a14 = IMPL_KEY;
290
+ /**
291
+ * @internal
292
+ */
293
+ Utils[_a14] = "utils";
294
+
295
+ // src/features/ContainerModal.ts
296
+ var _a15;
297
+ var ContainerModal = class extends BaseModel {
298
+ /**
299
+ * 加载数据
300
+ */
301
+ static load() {
302
+ throw new Error("not implemented");
303
+ }
304
+ };
305
+ _a15 = IMPL_KEY;
306
+ /**
307
+ * @internal
308
+ */
309
+ ContainerModal[_a15] = "ContainerModal";
310
+
311
+ // src/features/Intercept.ts
312
+ var _a16;
313
+ var Intercept = class extends BaseModel {
314
+ /**
315
+ * 加载数据
316
+ */
317
+ static load() {
318
+ throw new Error("not implemented");
319
+ }
320
+ };
321
+ _a16 = IMPL_KEY;
322
+ /**
323
+ * @internal
324
+ */
325
+ Intercept[_a16] = "Intercept";
326
+
327
+ // src/features/Control.ts
328
+ var _a17;
329
+ var Control = class extends BaseModel {
330
+ /**
331
+ * 加载数据
332
+ */
333
+ static load() {
334
+ throw new Error("not implemented");
335
+ }
336
+ };
337
+ _a17 = IMPL_KEY;
338
+ /**
339
+ * @internal
340
+ */
341
+ Control[_a17] = "Control";
342
+
343
+ // src/features/Button.ts
344
+ var _a18;
345
+ var Button = class extends BaseModel {
346
+ /**
347
+ * 加载数据
348
+ */
349
+ static load() {
350
+ throw new Error("not implemented");
351
+ }
352
+ };
353
+ _a18 = IMPL_KEY;
354
+ /**
355
+ * @internal
356
+ */
357
+ Button[_a18] = "Button";
278
358
 
279
359
  // src/client.ts
280
360
  function getImplClass(decl, impls) {
@@ -284,6 +364,34 @@ function getImplValue(decl, impls) {
284
364
  return impls == null ? void 0 : impls[decl[IMPL_KEY]];
285
365
  }
286
366
  var _SDKClient = class {
367
+ /**
368
+ * 插件容器模态框
369
+ * only 2.0
370
+ */
371
+ get containerModal() {
372
+ return getImplValue(ContainerModal, this._meegoBizHub);
373
+ }
374
+ /**
375
+ * 拦截事件点位容器特有能力
376
+ * only 2.0
377
+ */
378
+ get intercept() {
379
+ return getImplValue(Intercept, this._meegoBizHub);
380
+ }
381
+ /**
382
+ * 控件点位容器特有能力
383
+ * only 2.0
384
+ */
385
+ get control() {
386
+ return getImplValue(Control, this._meegoBizHub);
387
+ }
388
+ /**
389
+ * 按钮点位容器特有能力
390
+ * only 2.0
391
+ */
392
+ get button() {
393
+ return getImplValue(Button, this._meegoBizHub);
394
+ }
287
395
  /**
288
396
  * 应用导航
289
397
  */
@@ -310,10 +418,18 @@ var _SDKClient = class {
310
418
  }
311
419
  /**
312
420
  * 富文本编辑器
421
+ * only 2.0
313
422
  */
314
423
  get richTextEditor() {
315
424
  return getImplValue(RichTextEditor, this._meegoBizHub);
316
425
  }
426
+ /**
427
+ * 工作项实例筛选器
428
+ * only web 2.0
429
+ */
430
+ get workItemFinder() {
431
+ return getImplValue(WorkItemFinder, this._meegoBizHub);
432
+ }
317
433
  /**
318
434
  * 模态框
319
435
  */
@@ -322,6 +438,7 @@ var _SDKClient = class {
322
438
  }
323
439
  /**
324
440
  * 操作菜单
441
+ * only mobile 2.0
325
442
  */
326
443
  get actionSheet() {
327
444
  return getImplValue(ActionSheet, this._meegoBizHub);
@@ -388,7 +505,7 @@ var SDKClient = _SDKClient;
388
505
  /**
389
506
  * SDK 版本号
390
507
  */
391
- SDKClient.version = "2.0.1-alpha.2";
508
+ SDKClient.version = "2.0.1-alpha.20";
392
509
 
393
510
  // src/types/biz.ts
394
511
  var AttributeType = /* @__PURE__ */ ((AttributeType2) => {
@@ -441,23 +558,23 @@ var ButtonScene = /* @__PURE__ */ ((ButtonScene2) => {
441
558
  ButtonScene2[ButtonScene2["workItemNode"] = 4] = "workItemNode";
442
559
  return ButtonScene2;
443
560
  })(ButtonScene || {});
444
- var InterceptionEvent = /* @__PURE__ */ ((InterceptionEvent2) => {
445
- InterceptionEvent2[InterceptionEvent2["CreateWorkItem"] = 1001] = "CreateWorkItem";
446
- InterceptionEvent2[InterceptionEvent2["DeleteWorkItem"] = 1002] = "DeleteWorkItem";
447
- InterceptionEvent2[InterceptionEvent2["BatchDeleteWorkItem"] = 1003] = "BatchDeleteWorkItem";
448
- InterceptionEvent2[InterceptionEvent2["RecoveryWorkItem"] = 1004] = "RecoveryWorkItem";
449
- InterceptionEvent2[InterceptionEvent2["AbortWorkItem"] = 1005] = "AbortWorkItem";
450
- InterceptionEvent2[InterceptionEvent2["UpgradeTemplate"] = 1006] = "UpgradeTemplate";
451
- InterceptionEvent2[InterceptionEvent2["BatchUpgradeTemplate"] = 1007] = "BatchUpgradeTemplate";
452
- InterceptionEvent2[InterceptionEvent2["ExportWorkItem"] = 1008] = "ExportWorkItem";
453
- InterceptionEvent2[InterceptionEvent2["FinishNode"] = 2001] = "FinishNode";
454
- InterceptionEvent2[InterceptionEvent2["DeleteNode"] = 2002] = "DeleteNode";
455
- InterceptionEvent2[InterceptionEvent2["RecoveryNode"] = 2003] = "RecoveryNode";
456
- InterceptionEvent2[InterceptionEvent2["RollBackNode"] = 2004] = "RollBackNode";
457
- InterceptionEvent2[InterceptionEvent2["EditSchedule"] = 2005] = "EditSchedule";
458
- InterceptionEvent2[InterceptionEvent2["UpdateState"] = 3001] = "UpdateState";
459
- return InterceptionEvent2;
460
- })(InterceptionEvent || {});
561
+ var InterceptEvent = /* @__PURE__ */ ((InterceptEvent2) => {
562
+ InterceptEvent2[InterceptEvent2["CreateWorkItem"] = 1001] = "CreateWorkItem";
563
+ InterceptEvent2[InterceptEvent2["DeleteWorkItem"] = 1002] = "DeleteWorkItem";
564
+ InterceptEvent2[InterceptEvent2["BatchDeleteWorkItem"] = 1003] = "BatchDeleteWorkItem";
565
+ InterceptEvent2[InterceptEvent2["RecoveryWorkItem"] = 1004] = "RecoveryWorkItem";
566
+ InterceptEvent2[InterceptEvent2["AbortWorkItem"] = 1005] = "AbortWorkItem";
567
+ InterceptEvent2[InterceptEvent2["UpgradeTemplate"] = 1006] = "UpgradeTemplate";
568
+ InterceptEvent2[InterceptEvent2["BatchUpgradeTemplate"] = 1007] = "BatchUpgradeTemplate";
569
+ InterceptEvent2[InterceptEvent2["ExportWorkItem"] = 1008] = "ExportWorkItem";
570
+ InterceptEvent2[InterceptEvent2["FinishNode"] = 2001] = "FinishNode";
571
+ InterceptEvent2[InterceptEvent2["DeleteNode"] = 2002] = "DeleteNode";
572
+ InterceptEvent2[InterceptEvent2["RecoveryNode"] = 2003] = "RecoveryNode";
573
+ InterceptEvent2[InterceptEvent2["RollBackNode"] = 2004] = "RollBackNode";
574
+ InterceptEvent2[InterceptEvent2["EditSchedule"] = 2005] = "EditSchedule";
575
+ InterceptEvent2[InterceptEvent2["UpdateState"] = 3001] = "UpdateState";
576
+ return InterceptEvent2;
577
+ })(InterceptEvent || {});
461
578
 
462
579
  // src/errors/CustomError.ts
463
580
  var CustomError = class extends Error {
@@ -522,19 +639,34 @@ var InvalidParamsError = class extends CustomError {
522
639
  }
523
640
  };
524
641
 
642
+ // src/errors/NotSupportedError.ts
643
+ var NotSupportedError = class extends CustomError {
644
+ constructor(options) {
645
+ super({
646
+ message: "the api is not supported",
647
+ originMessage: options.originMessage
648
+ });
649
+ this.name = "NotSupportedError";
650
+ }
651
+ };
652
+
525
653
  // src/index.ts
526
654
  var src_default = SDKClient;
527
655
  export {
528
656
  ActionSheet,
529
657
  AttributeType,
658
+ Button,
530
659
  ButtonScene,
531
660
  Clipboard,
661
+ ContainerModal,
532
662
  Context,
663
+ Control,
533
664
  Field,
534
665
  FieldType,
535
666
  FlowMode,
536
667
  IMPL_KEY,
537
- InterceptionEvent,
668
+ Intercept,
669
+ InterceptEvent,
538
670
  InternalError,
539
671
  InvalidParamsError,
540
672
  MEEGO_BIZ_HUB,
@@ -543,6 +675,7 @@ export {
543
675
  NoAuthError,
544
676
  NodeStatus,
545
677
  NotFoundError,
678
+ NotSupportedError,
546
679
  OutOfLimitError,
547
680
  RichTextEditor,
548
681
  SDKClient,
@@ -551,6 +684,7 @@ export {
551
684
  Toast,
552
685
  Utils,
553
686
  WorkItem,
687
+ WorkItemFinder,
554
688
  WorkObject,
555
689
  src_default as default
556
690
  };
package/dist/lib/index.js CHANGED
@@ -50,14 +50,18 @@ var src_exports = {};
50
50
  __export(src_exports, {
51
51
  ActionSheet: () => ActionSheet,
52
52
  AttributeType: () => AttributeType,
53
+ Button: () => Button,
53
54
  ButtonScene: () => ButtonScene,
54
55
  Clipboard: () => Clipboard,
56
+ ContainerModal: () => ContainerModal,
55
57
  Context: () => Context,
58
+ Control: () => Control,
56
59
  Field: () => Field,
57
60
  FieldType: () => FieldType,
58
61
  FlowMode: () => FlowMode,
59
62
  IMPL_KEY: () => IMPL_KEY,
60
- InterceptionEvent: () => InterceptionEvent,
63
+ Intercept: () => Intercept,
64
+ InterceptEvent: () => InterceptEvent,
61
65
  InternalError: () => InternalError,
62
66
  InvalidParamsError: () => InvalidParamsError,
63
67
  MEEGO_BIZ_HUB: () => MEEGO_BIZ_HUB,
@@ -66,6 +70,7 @@ __export(src_exports, {
66
70
  NoAuthError: () => NoAuthError,
67
71
  NodeStatus: () => NodeStatus,
68
72
  NotFoundError: () => NotFoundError,
73
+ NotSupportedError: () => NotSupportedError,
69
74
  OutOfLimitError: () => OutOfLimitError,
70
75
  RichTextEditor: () => RichTextEditor,
71
76
  SDKClient: () => SDKClient,
@@ -74,6 +79,7 @@ __export(src_exports, {
74
79
  Toast: () => Toast,
75
80
  Utils: () => Utils,
76
81
  WorkItem: () => WorkItem,
82
+ WorkItemFinder: () => WorkItemFinder,
77
83
  WorkObject: () => WorkObject,
78
84
  default: () => src_default
79
85
  });
@@ -311,9 +317,9 @@ _a12 = IMPL_KEY;
311
317
  */
312
318
  RichTextEditor[_a12] = "richTextEditor";
313
319
 
314
- // src/biz/Utils.ts
320
+ // src/biz/WorkItemFinder.ts
315
321
  var _a13;
316
- var Utils = class extends BaseModel {
322
+ var WorkItemFinder = class extends BaseModel {
317
323
  /**
318
324
  * @internal
319
325
  */
@@ -325,7 +331,87 @@ _a13 = IMPL_KEY;
325
331
  /**
326
332
  * @internal
327
333
  */
328
- Utils[_a13] = "utils";
334
+ WorkItemFinder[_a13] = "workItemFinder";
335
+
336
+ // src/biz/Utils.ts
337
+ var _a14;
338
+ var Utils = class extends BaseModel {
339
+ /**
340
+ * @internal
341
+ */
342
+ static load() {
343
+ throw new Error("not implemented");
344
+ }
345
+ };
346
+ _a14 = IMPL_KEY;
347
+ /**
348
+ * @internal
349
+ */
350
+ Utils[_a14] = "utils";
351
+
352
+ // src/features/ContainerModal.ts
353
+ var _a15;
354
+ var ContainerModal = class extends BaseModel {
355
+ /**
356
+ * 加载数据
357
+ */
358
+ static load() {
359
+ throw new Error("not implemented");
360
+ }
361
+ };
362
+ _a15 = IMPL_KEY;
363
+ /**
364
+ * @internal
365
+ */
366
+ ContainerModal[_a15] = "ContainerModal";
367
+
368
+ // src/features/Intercept.ts
369
+ var _a16;
370
+ var Intercept = class extends BaseModel {
371
+ /**
372
+ * 加载数据
373
+ */
374
+ static load() {
375
+ throw new Error("not implemented");
376
+ }
377
+ };
378
+ _a16 = IMPL_KEY;
379
+ /**
380
+ * @internal
381
+ */
382
+ Intercept[_a16] = "Intercept";
383
+
384
+ // src/features/Control.ts
385
+ var _a17;
386
+ var Control = class extends BaseModel {
387
+ /**
388
+ * 加载数据
389
+ */
390
+ static load() {
391
+ throw new Error("not implemented");
392
+ }
393
+ };
394
+ _a17 = IMPL_KEY;
395
+ /**
396
+ * @internal
397
+ */
398
+ Control[_a17] = "Control";
399
+
400
+ // src/features/Button.ts
401
+ var _a18;
402
+ var Button = class extends BaseModel {
403
+ /**
404
+ * 加载数据
405
+ */
406
+ static load() {
407
+ throw new Error("not implemented");
408
+ }
409
+ };
410
+ _a18 = IMPL_KEY;
411
+ /**
412
+ * @internal
413
+ */
414
+ Button[_a18] = "Button";
329
415
 
330
416
  // src/client.ts
331
417
  function getImplClass(decl, impls) {
@@ -335,6 +421,34 @@ function getImplValue(decl, impls) {
335
421
  return impls == null ? void 0 : impls[decl[IMPL_KEY]];
336
422
  }
337
423
  var _SDKClient = class {
424
+ /**
425
+ * 插件容器模态框
426
+ * only 2.0
427
+ */
428
+ get containerModal() {
429
+ return getImplValue(ContainerModal, this._meegoBizHub);
430
+ }
431
+ /**
432
+ * 拦截事件点位容器特有能力
433
+ * only 2.0
434
+ */
435
+ get intercept() {
436
+ return getImplValue(Intercept, this._meegoBizHub);
437
+ }
438
+ /**
439
+ * 控件点位容器特有能力
440
+ * only 2.0
441
+ */
442
+ get control() {
443
+ return getImplValue(Control, this._meegoBizHub);
444
+ }
445
+ /**
446
+ * 按钮点位容器特有能力
447
+ * only 2.0
448
+ */
449
+ get button() {
450
+ return getImplValue(Button, this._meegoBizHub);
451
+ }
338
452
  /**
339
453
  * 应用导航
340
454
  */
@@ -361,10 +475,18 @@ var _SDKClient = class {
361
475
  }
362
476
  /**
363
477
  * 富文本编辑器
478
+ * only 2.0
364
479
  */
365
480
  get richTextEditor() {
366
481
  return getImplValue(RichTextEditor, this._meegoBizHub);
367
482
  }
483
+ /**
484
+ * 工作项实例筛选器
485
+ * only web 2.0
486
+ */
487
+ get workItemFinder() {
488
+ return getImplValue(WorkItemFinder, this._meegoBizHub);
489
+ }
368
490
  /**
369
491
  * 模态框
370
492
  */
@@ -373,6 +495,7 @@ var _SDKClient = class {
373
495
  }
374
496
  /**
375
497
  * 操作菜单
498
+ * only mobile 2.0
376
499
  */
377
500
  get actionSheet() {
378
501
  return getImplValue(ActionSheet, this._meegoBizHub);
@@ -439,7 +562,7 @@ var SDKClient = _SDKClient;
439
562
  /**
440
563
  * SDK 版本号
441
564
  */
442
- SDKClient.version = "2.0.1-alpha.2";
565
+ SDKClient.version = "2.0.1-alpha.20";
443
566
 
444
567
  // src/types/biz.ts
445
568
  var AttributeType = /* @__PURE__ */ ((AttributeType2) => {
@@ -492,23 +615,23 @@ var ButtonScene = /* @__PURE__ */ ((ButtonScene2) => {
492
615
  ButtonScene2[ButtonScene2["workItemNode"] = 4] = "workItemNode";
493
616
  return ButtonScene2;
494
617
  })(ButtonScene || {});
495
- var InterceptionEvent = /* @__PURE__ */ ((InterceptionEvent2) => {
496
- InterceptionEvent2[InterceptionEvent2["CreateWorkItem"] = 1001] = "CreateWorkItem";
497
- InterceptionEvent2[InterceptionEvent2["DeleteWorkItem"] = 1002] = "DeleteWorkItem";
498
- InterceptionEvent2[InterceptionEvent2["BatchDeleteWorkItem"] = 1003] = "BatchDeleteWorkItem";
499
- InterceptionEvent2[InterceptionEvent2["RecoveryWorkItem"] = 1004] = "RecoveryWorkItem";
500
- InterceptionEvent2[InterceptionEvent2["AbortWorkItem"] = 1005] = "AbortWorkItem";
501
- InterceptionEvent2[InterceptionEvent2["UpgradeTemplate"] = 1006] = "UpgradeTemplate";
502
- InterceptionEvent2[InterceptionEvent2["BatchUpgradeTemplate"] = 1007] = "BatchUpgradeTemplate";
503
- InterceptionEvent2[InterceptionEvent2["ExportWorkItem"] = 1008] = "ExportWorkItem";
504
- InterceptionEvent2[InterceptionEvent2["FinishNode"] = 2001] = "FinishNode";
505
- InterceptionEvent2[InterceptionEvent2["DeleteNode"] = 2002] = "DeleteNode";
506
- InterceptionEvent2[InterceptionEvent2["RecoveryNode"] = 2003] = "RecoveryNode";
507
- InterceptionEvent2[InterceptionEvent2["RollBackNode"] = 2004] = "RollBackNode";
508
- InterceptionEvent2[InterceptionEvent2["EditSchedule"] = 2005] = "EditSchedule";
509
- InterceptionEvent2[InterceptionEvent2["UpdateState"] = 3001] = "UpdateState";
510
- return InterceptionEvent2;
511
- })(InterceptionEvent || {});
618
+ var InterceptEvent = /* @__PURE__ */ ((InterceptEvent2) => {
619
+ InterceptEvent2[InterceptEvent2["CreateWorkItem"] = 1001] = "CreateWorkItem";
620
+ InterceptEvent2[InterceptEvent2["DeleteWorkItem"] = 1002] = "DeleteWorkItem";
621
+ InterceptEvent2[InterceptEvent2["BatchDeleteWorkItem"] = 1003] = "BatchDeleteWorkItem";
622
+ InterceptEvent2[InterceptEvent2["RecoveryWorkItem"] = 1004] = "RecoveryWorkItem";
623
+ InterceptEvent2[InterceptEvent2["AbortWorkItem"] = 1005] = "AbortWorkItem";
624
+ InterceptEvent2[InterceptEvent2["UpgradeTemplate"] = 1006] = "UpgradeTemplate";
625
+ InterceptEvent2[InterceptEvent2["BatchUpgradeTemplate"] = 1007] = "BatchUpgradeTemplate";
626
+ InterceptEvent2[InterceptEvent2["ExportWorkItem"] = 1008] = "ExportWorkItem";
627
+ InterceptEvent2[InterceptEvent2["FinishNode"] = 2001] = "FinishNode";
628
+ InterceptEvent2[InterceptEvent2["DeleteNode"] = 2002] = "DeleteNode";
629
+ InterceptEvent2[InterceptEvent2["RecoveryNode"] = 2003] = "RecoveryNode";
630
+ InterceptEvent2[InterceptEvent2["RollBackNode"] = 2004] = "RollBackNode";
631
+ InterceptEvent2[InterceptEvent2["EditSchedule"] = 2005] = "EditSchedule";
632
+ InterceptEvent2[InterceptEvent2["UpdateState"] = 3001] = "UpdateState";
633
+ return InterceptEvent2;
634
+ })(InterceptEvent || {});
512
635
 
513
636
  // src/errors/CustomError.ts
514
637
  var CustomError = class extends Error {
@@ -573,20 +696,35 @@ var InvalidParamsError = class extends CustomError {
573
696
  }
574
697
  };
575
698
 
699
+ // src/errors/NotSupportedError.ts
700
+ var NotSupportedError = class extends CustomError {
701
+ constructor(options) {
702
+ super({
703
+ message: "the api is not supported",
704
+ originMessage: options.originMessage
705
+ });
706
+ this.name = "NotSupportedError";
707
+ }
708
+ };
709
+
576
710
  // src/index.ts
577
711
  var src_default = SDKClient;
578
712
  // Annotate the CommonJS export names for ESM import in node:
579
713
  0 && (module.exports = {
580
714
  ActionSheet,
581
715
  AttributeType,
716
+ Button,
582
717
  ButtonScene,
583
718
  Clipboard,
719
+ ContainerModal,
584
720
  Context,
721
+ Control,
585
722
  Field,
586
723
  FieldType,
587
724
  FlowMode,
588
725
  IMPL_KEY,
589
- InterceptionEvent,
726
+ Intercept,
727
+ InterceptEvent,
590
728
  InternalError,
591
729
  InvalidParamsError,
592
730
  MEEGO_BIZ_HUB,
@@ -595,6 +733,7 @@ var src_default = SDKClient;
595
733
  NoAuthError,
596
734
  NodeStatus,
597
735
  NotFoundError,
736
+ NotSupportedError,
598
737
  OutOfLimitError,
599
738
  RichTextEditor,
600
739
  SDKClient,
@@ -603,5 +742,6 @@ var src_default = SDKClient;
603
742
  Toast,
604
743
  Utils,
605
744
  WorkItem,
745
+ WorkItemFinder,
606
746
  WorkObject
607
747
  });
@@ -328,10 +328,10 @@ declare enum ButtonScene {
328
328
  workItemNode = 4
329
329
  }
330
330
  /**
331
- * 按钮构成
332
- * 可被配置于详情页工具栏,视图页、视图工具栏、用于操作单个或多个工作项
331
+ * 工作项实例按钮上下文
332
+ * 适用场景:工作项-更多 / 节点-更多 / 节点流转
333
333
  */
334
- interface ButtonFeatureContext {
334
+ interface WorkItemButtonFeatureContext {
335
335
  /**
336
336
  * 空间标识
337
337
  */
@@ -345,10 +345,24 @@ interface ButtonFeatureContext {
345
345
  */
346
346
  workItemId: number;
347
347
  /**
348
- * 按钮位置
348
+ * 按钮所属节点标识
349
+ * 适用场景:节点-更多 / 节点流转
349
350
  */
350
- buttonScene: ButtonScene;
351
+ nodeId?: string;
351
352
  }
353
+ /**
354
+ * 新建按钮上下文
355
+ */
356
+ interface CreateButtonFeatureContext {
357
+ /**
358
+ * 空间标识
359
+ */
360
+ spaceId: string;
361
+ }
362
+ /**
363
+ * 按钮构成
364
+ */
365
+ type ButtonFeatureContext = WorkItemButtonFeatureContext | CreateButtonFeatureContext;
352
366
  /**
353
367
  * 内嵌页面构成
354
368
  * 一个单独的导航入口+内嵌页面
@@ -397,15 +411,32 @@ interface ViewFeatureContext {
397
411
  }
398
412
  /**
399
413
  * 控件构成
400
- * 可被配置于详情页、节点流转、状态流转表单、表格页并可用于筛选和分组
401
414
  */
402
415
  interface ControlFeatureContext {
403
- [key: string]: any;
416
+ /**
417
+ * 控件当前所属空间标识
418
+ */
419
+ spaceId: string;
420
+ /**
421
+ * 控件当前所属工作项类型标识
422
+ */
423
+ workObjectId: string;
424
+ /**
425
+ * 控件当前所属工作项实例标识
426
+ * 新建页表单内该值为空
427
+ */
428
+ workItemId?: number;
429
+ /**
430
+ * 控件唯一标识
431
+ * 新建场景结合 webhook 用于关联自有数据
432
+ * 详情页可能为空,不推荐强依赖 UUID 读取自有数据
433
+ */
434
+ UUID?: string;
404
435
  }
405
436
  /**
406
437
  * 拦截事件类型
407
438
  */
408
- declare enum InterceptionEvent {
439
+ declare enum InterceptEvent {
409
440
  /** 创建工作项 */
410
441
  CreateWorkItem = 1001,
411
442
  /** 删除工作项 */
@@ -439,10 +470,27 @@ declare enum InterceptionEvent {
439
470
  * 拦截构成
440
471
  * 用于拦截用户行为,包括拦截位置、触发规则和提示等相关配置
441
472
  */
442
- interface InterceptionFeatureContext {
443
- eventType: InterceptionEvent;
444
- spaceId: string;
445
- workItems: Array<BriefWorkItem>;
473
+ interface InterceptFeatureContext<T> {
474
+ message: string;
475
+ eventType: InterceptEvent;
476
+ workItems: Array<BriefWorkItem & {
477
+ /**
478
+ * 当前触发事件,不同事件类型对应不同的 changedValue
479
+ */
480
+ changedValue?: {
481
+ fieldInfo?: Array<{
482
+ fieldKey: string;
483
+ fieldType?: string;
484
+ alias?: string;
485
+ beforeFieldValue?: unknown;
486
+ afterFieldValue?: unknown;
487
+ }>;
488
+ nodeInfo?: any;
489
+ subTaskInfo?: any;
490
+ transitionInfo?: any;
491
+ };
492
+ }>;
493
+ customData: T;
446
494
  }
447
495
 
448
496
  /**
@@ -522,6 +570,12 @@ declare abstract class Context extends BaseModel {
522
570
  * @param callback
523
571
  */
524
572
  abstract watch(callback: (nextValue: Context) => void): unwatch;
573
+ /**
574
+ * only web 2.0
575
+ * 用于获取插件内设置的上下文数据
576
+ * 例如:在 sdk.modal.open 时传入的 context,可以通过该方法来获取
577
+ */
578
+ abstract getCustomContext<Context>(): Promise<Context>;
525
579
  }
526
580
 
527
581
  /**
@@ -959,9 +1013,9 @@ declare abstract class ActionSheet extends BaseModel {
959
1013
  }
960
1014
 
961
1015
  /**
962
- * Modal 展示配置
1016
+ * Modal confirm 展示配置
963
1017
  */
964
- interface ModalOptions {
1018
+ interface ModalConfirmOptions {
965
1019
  /**
966
1020
  * 标题
967
1021
  * title 和 content 不可同时为空
@@ -988,6 +1042,40 @@ interface ModalOptions {
988
1042
  */
989
1043
  cancelText?: string;
990
1044
  }
1045
+ /**
1046
+ * Modal 展示配置
1047
+ */
1048
+ interface ModalOptions<Context> {
1049
+ /**
1050
+ * 宽度
1051
+ * 默认: 448
1052
+ */
1053
+ width?: number;
1054
+ /**
1055
+ * 高度
1056
+ */
1057
+ height?: number;
1058
+ /**
1059
+ * 是否全屏
1060
+ * 全屏时 width / height 无效
1061
+ */
1062
+ fullScreen?: boolean;
1063
+ /**
1064
+ * 是否允许通过点击遮罩来关闭对话框
1065
+ */
1066
+ maskClosable?: boolean;
1067
+ /**
1068
+ * 传入 Modal 内的上下文数据
1069
+ * 注:传入的数据在 Modal 内是通过 sdk.containerModal.getContext() 来获取的
1070
+ */
1071
+ context?: Context;
1072
+ /**
1073
+ * 响应弹窗内调用的 sdk.containerModal.submit 方法
1074
+ * @param params 弹窗内调用的 sdk.containerModal.submit 的方法时传入的自定义参数
1075
+ * @returns 调用 sdk.containerModal.submit 返回的自定义值
1076
+ */
1077
+ onSubmit?: (params: unknown) => Promise<unknown>;
1078
+ }
991
1079
  /**
992
1080
  * @public
993
1081
  * Modal 用于等待用户响应、告知用户重要信息或在不丢失上下文的情况下展示更多信息
@@ -1002,16 +1090,25 @@ declare abstract class Modal extends BaseModel {
1002
1090
  */
1003
1091
  private static load;
1004
1092
  /**
1005
- * 打开模态框
1093
+ * 使用模态框 confirm
1006
1094
  * @param options
1007
1095
  * @param callback
1008
1096
  * confirmed 点击了确认
1009
1097
  * canceled 点击了取消
1010
1098
  */
1011
- abstract show(options: string | ModalOptions, callback: (result: {
1099
+ abstract confirm(options: string | ModalConfirmOptions, callback: (result: {
1012
1100
  confirmed: boolean;
1013
1101
  canceled: boolean;
1014
1102
  }) => void): Promise<void>;
1103
+ /**
1104
+ * only web 2.0
1105
+ * 打开自定义内容的模态框
1106
+ * @param options
1107
+ * @returns 当前打开 Modal 的关闭方法
1108
+ */
1109
+ abstract open<Context>(options: ModalOptions<Context>): Promise<{
1110
+ close: () => void;
1111
+ }>;
1015
1112
  }
1016
1113
 
1017
1114
  /**
@@ -1023,7 +1120,7 @@ interface RichTextEditorOptions {
1023
1120
  */
1024
1121
  title?: string;
1025
1122
  /**
1026
- * 富文本内容
1123
+ * 富文本默认内容,对应 RichTextEditorContent.doc
1027
1124
  */
1028
1125
  defaultValue?: string;
1029
1126
  /**
@@ -1038,6 +1135,27 @@ interface RichTextEditorOptions {
1038
1135
  spaceId: string;
1039
1136
  };
1040
1137
  }
1138
+ /**
1139
+ * 富文本完整内容
1140
+ */
1141
+ interface RichTextEditorContent {
1142
+ /**
1143
+ * 富文本结构化数据
1144
+ */
1145
+ doc?: string;
1146
+ /**
1147
+ * 富文本 HTML 版本
1148
+ */
1149
+ doc_html?: string;
1150
+ /**
1151
+ * 富文本的纯文本概要
1152
+ */
1153
+ doc_text?: string;
1154
+ /**
1155
+ * 是否为空
1156
+ */
1157
+ is_empty: boolean;
1158
+ }
1041
1159
  /**
1042
1160
  * @public
1043
1161
  * RichTextEditor 用于富文本的编辑
@@ -1062,7 +1180,62 @@ declare abstract class RichTextEditor extends BaseModel {
1062
1180
  abstract show(options: RichTextEditorOptions, callback: (result: {
1063
1181
  confirmed: boolean;
1064
1182
  canceled: boolean;
1065
- nextValue?: string;
1183
+ nextValue?: RichTextEditorContent;
1184
+ }) => void): Promise<void>;
1185
+ }
1186
+
1187
+ /**
1188
+ * WorkItemFinder 配置
1189
+ */
1190
+ interface WorkItemFinderOptions {
1191
+ /**
1192
+ * 空间标识
1193
+ */
1194
+ spaceId: string;
1195
+ /**
1196
+ * 工作项类型标识
1197
+ */
1198
+ workObjectId: string;
1199
+ /**
1200
+ * 筛选器标题,仅用于展示
1201
+ */
1202
+ title?: string;
1203
+ /**
1204
+ * 搜索条件标识
1205
+ * 如为空则生成新 key,不为空则会覆写
1206
+ * searchId 与 workObjectId | spaceId 不匹配则会异常
1207
+ */
1208
+ searchId?: string;
1209
+ /**
1210
+ * 默认 true,控制 searchId 的筛选条件是否回填到筛选器
1211
+ */
1212
+ backfill?: boolean;
1213
+ }
1214
+ /**
1215
+ * @public
1216
+ * WorkItemFinder 用于生成工作项实例筛选条件的面板
1217
+ */
1218
+ declare abstract class WorkItemFinder extends BaseModel {
1219
+ /**
1220
+ * @internal
1221
+ */
1222
+ protected static [IMPL_KEY]: string;
1223
+ /**
1224
+ * @internal
1225
+ */
1226
+ private static load;
1227
+ /**
1228
+ * 打开工作项实例筛选条件面板
1229
+ * @param options
1230
+ * @param callback
1231
+ * confirmed 点击了确认
1232
+ * canceled 点击了取消
1233
+ * searchId 当点击确认时,返回筛选条件标识 searchId
1234
+ */
1235
+ abstract open(options: WorkItemFinderOptions, callback: (result: {
1236
+ confirmed: boolean;
1237
+ canceled: boolean;
1238
+ searchId?: string;
1066
1239
  }) => void): Promise<void>;
1067
1240
  }
1068
1241
 
@@ -1099,6 +1272,88 @@ declare abstract class Utils extends BaseModel {
1099
1272
  }>;
1100
1273
  }
1101
1274
 
1275
+ /**
1276
+ * @public
1277
+ * 插件容器模态框
1278
+ */
1279
+ declare abstract class ContainerModal extends BaseModel {
1280
+ /**
1281
+ * @internal
1282
+ */
1283
+ protected static [IMPL_KEY]: string;
1284
+ /**
1285
+ * 加载数据
1286
+ */
1287
+ static load(): Promise<ContainerModal>;
1288
+ /**
1289
+ * only web 2.0
1290
+ * 只存在于 modal.open 打开的容器内
1291
+ * submit 调用的是 sdk.modal.open 传入的 onSubmit 方法
1292
+ */
1293
+ abstract submit?: <Params, Result>(params: Params) => Promise<Result>;
1294
+ /**
1295
+ * 关闭插件当前激活的容器模态框
1296
+ */
1297
+ abstract close(): Promise<void>;
1298
+ }
1299
+
1300
+ /**
1301
+ * @public
1302
+ * 拦截事件模态框
1303
+ */
1304
+ declare abstract class Intercept extends BaseModel {
1305
+ /**
1306
+ * @internal
1307
+ */
1308
+ protected static [IMPL_KEY]: string;
1309
+ /**
1310
+ * 加载数据
1311
+ */
1312
+ static load(): Promise<Intercept>;
1313
+ /**
1314
+ * 获取当前触发的拦截事件上下文
1315
+ */
1316
+ abstract getContext<T = any>(): Promise<InterceptFeatureContext<T>>;
1317
+ }
1318
+
1319
+ /**
1320
+ * @public
1321
+ * 控件
1322
+ */
1323
+ declare abstract class Control extends BaseModel {
1324
+ /**
1325
+ * @internal
1326
+ */
1327
+ protected static [IMPL_KEY]: string;
1328
+ /**
1329
+ * 加载数据
1330
+ */
1331
+ static load(): Promise<Control>;
1332
+ /**
1333
+ * 获取当前控件的上下文
1334
+ */
1335
+ abstract getContext(): Promise<ControlFeatureContext>;
1336
+ }
1337
+
1338
+ /**
1339
+ * @public
1340
+ * 按钮
1341
+ */
1342
+ declare abstract class Button extends BaseModel {
1343
+ /**
1344
+ * @internal
1345
+ */
1346
+ protected static [IMPL_KEY]: string;
1347
+ /**
1348
+ * 加载数据
1349
+ */
1350
+ static load(): Promise<Button>;
1351
+ /**
1352
+ * 获取当前按钮的上下文
1353
+ */
1354
+ abstract getContext(): Promise<ButtonFeatureContext>;
1355
+ }
1356
+
1102
1357
  /**
1103
1358
  * @public
1104
1359
  * SDKClient 的配置项
@@ -1116,6 +1371,26 @@ declare class SDKClient {
1116
1371
  * SDK 版本号
1117
1372
  */
1118
1373
  static version: string;
1374
+ /**
1375
+ * 插件容器模态框
1376
+ * only 2.0
1377
+ */
1378
+ get containerModal(): ContainerModal;
1379
+ /**
1380
+ * 拦截事件点位容器特有能力
1381
+ * only 2.0
1382
+ */
1383
+ get intercept(): Intercept;
1384
+ /**
1385
+ * 控件点位容器特有能力
1386
+ * only 2.0
1387
+ */
1388
+ get control(): Control;
1389
+ /**
1390
+ * 按钮点位容器特有能力
1391
+ * only 2.0
1392
+ */
1393
+ get button(): Button;
1119
1394
  /**
1120
1395
  * 应用导航
1121
1396
  */
@@ -1134,14 +1409,21 @@ declare class SDKClient {
1134
1409
  get toast(): Toast;
1135
1410
  /**
1136
1411
  * 富文本编辑器
1412
+ * only 2.0
1137
1413
  */
1138
1414
  get richTextEditor(): RichTextEditor;
1415
+ /**
1416
+ * 工作项实例筛选器
1417
+ * only web 2.0
1418
+ */
1419
+ get workItemFinder(): WorkItemFinder;
1139
1420
  /**
1140
1421
  * 模态框
1141
1422
  */
1142
1423
  get modal(): Modal;
1143
1424
  /**
1144
1425
  * 操作菜单
1426
+ * only mobile 2.0
1145
1427
  */
1146
1428
  get actionSheet(): ActionSheet;
1147
1429
  /**
@@ -1241,6 +1523,16 @@ declare class InvalidParamsError extends CustomError {
1241
1523
  });
1242
1524
  }
1243
1525
 
1526
+ /**
1527
+ * @public
1528
+ * API 在当前环境不支持
1529
+ */
1530
+ declare class NotSupportedError extends CustomError {
1531
+ constructor(options: {
1532
+ originMessage: string;
1533
+ });
1534
+ }
1535
+
1244
1536
  /**
1245
1537
  * 用于飞书项目插件读取系统数据的 JSSDK
1246
1538
  *
@@ -1250,4 +1542,4 @@ declare class InvalidParamsError extends CustomError {
1250
1542
  * @packageDocumentation
1251
1543
  */
1252
1544
 
1253
- export { ActionSheet, ActionSheetOptions, AttributeType, BizLine, BriefField, BriefNode, BriefSpace, BriefTemplate, BriefView, BriefWorkItem, BriefWorkObject, ButtonFeatureContext, ButtonScene, Clipboard, ColorScheme, Context, ControlFeatureContext, Field, FieldType, FlowMode, IMPL_KEY, IPluginCustomBuildConfig, IntegrationFeatureContext, InterceptionEvent, InterceptionFeatureContext, InternalError, InvalidParamsError, Language, MEEGO_BIZ_HUB, Modal, ModalOptions, Navigation, NoAuthError, NodeStatus, NotFoundError, OutOfLimitError, PageFeatureContext, RichTextEditor, RichTextEditorOptions, Role, RoleOwners, SDKClient, SDKClientOptions, Space, Storage, TabFeatureContext, Toast, ToastOptions, User, Utils, ViewFeatureContext, WorkItem, WorkItemCreateFormPreset, WorkObject, SDKClient as default, unwatch };
1545
+ export { ActionSheet, ActionSheetOptions, AttributeType, BizLine, BriefField, BriefNode, BriefSpace, BriefTemplate, BriefView, BriefWorkItem, BriefWorkObject, Button, ButtonFeatureContext, ButtonScene, Clipboard, ColorScheme, ContainerModal, Context, Control, ControlFeatureContext, CreateButtonFeatureContext, Field, FieldType, FlowMode, IMPL_KEY, IPluginCustomBuildConfig, IntegrationFeatureContext, Intercept, InterceptEvent, InterceptFeatureContext, InternalError, InvalidParamsError, Language, MEEGO_BIZ_HUB, Modal, ModalConfirmOptions, Navigation, NoAuthError, NodeStatus, NotFoundError, NotSupportedError, OutOfLimitError, PageFeatureContext, RichTextEditor, RichTextEditorContent, RichTextEditorOptions, Role, RoleOwners, SDKClient, SDKClientOptions, Space, Storage, TabFeatureContext, Toast, ToastOptions, User, Utils, ViewFeatureContext, WorkItem, WorkItemButtonFeatureContext, WorkItemCreateFormPreset, WorkItemFinder, WorkItemFinderOptions, WorkObject, SDKClient as default, unwatch };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-project/js-sdk",
3
- "version": "2.0.1-alpha.2",
3
+ "version": "2.0.1-alpha.20",
4
4
  "runtimeMinVersions": {
5
5
  "web": "2.1.0",
6
6
  "mobile": "1.1.0"