@lark-project/js-sdk 2.0.14 → 2.0.15-dev.builder.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/es/index.js CHANGED
@@ -450,6 +450,16 @@ _a25 = IMPL_KEY;
450
450
  */
451
451
  CustomField[_a25] = "customField";
452
452
 
453
+ // src/features/BuilderComponent.ts
454
+ var _a26;
455
+ var BuilderComponent = class extends BaseModel {
456
+ };
457
+ _a26 = IMPL_KEY;
458
+ /**
459
+ * @internal
460
+ */
461
+ BuilderComponent[_a26] = "builderComp";
462
+
453
463
  // src/client.ts
454
464
  function getImplClass(decl, impls) {
455
465
  return impls == null ? void 0 : impls[decl[IMPL_KEY]];
@@ -529,6 +539,9 @@ var _SDKClient = class {
529
539
  get customField() {
530
540
  return getImplValue(CustomField, this._meegoBizHub);
531
541
  }
542
+ get builderComp() {
543
+ return getImplValue(BuilderComponent, this._meegoBizHub);
544
+ }
532
545
  /**
533
546
  * 应用导航
534
547
  */
@@ -649,7 +662,7 @@ var SDKClient = _SDKClient;
649
662
  /**
650
663
  * SDK 版本号
651
664
  */
652
- SDKClient.version = "2.0.14";
665
+ SDKClient.version = "2.0.15-dev.builder.2";
653
666
 
654
667
  // src/types/biz.ts
655
668
  var AttributeType = /* @__PURE__ */ ((AttributeType2) => {
@@ -730,6 +743,21 @@ var CustomComponentType = /* @__PURE__ */ ((CustomComponentType2) => {
730
743
  CustomComponentType2["Schedule"] = "schedule";
731
744
  return CustomComponentType2;
732
745
  })(CustomComponentType || {});
746
+ var BuilderPropTemplateType = /* @__PURE__ */ ((BuilderPropTemplateType2) => {
747
+ BuilderPropTemplateType2["Text"] = "text";
748
+ BuilderPropTemplateType2["Number"] = "number";
749
+ BuilderPropTemplateType2["Select"] = "select";
750
+ BuilderPropTemplateType2["Boolean"] = "boolean";
751
+ BuilderPropTemplateType2["MultiSelect"] = "multiSelect";
752
+ BuilderPropTemplateType2["DatePrecise"] = "dateWithTime";
753
+ BuilderPropTemplateType2["DateRange"] = "dateRange";
754
+ BuilderPropTemplateType2["WorkItemInstance"] = "workItemInstance";
755
+ BuilderPropTemplateType2["WorkItemTypeSelect"] = "workItemTypeSelect";
756
+ BuilderPropTemplateType2["ViewSelect"] = "viewSelect";
757
+ BuilderPropTemplateType2["workItemInstanceWithField"] = "workItemInstanceWithField";
758
+ BuilderPropTemplateType2["workItemTypeWithField"] = "workItemTypeWithField";
759
+ return BuilderPropTemplateType2;
760
+ })(BuilderPropTemplateType || {});
733
761
 
734
762
  // src/errors/CustomError.ts
735
763
  var CustomError = class extends Error {
@@ -822,6 +850,8 @@ var src_default = SDKClient;
822
850
  export {
823
851
  ActionSheet,
824
852
  AttributeType,
853
+ BuilderComponent,
854
+ BuilderPropTemplateType,
825
855
  Button,
826
856
  ButtonScene,
827
857
  Clipboard,
package/dist/lib/index.js CHANGED
@@ -50,6 +50,8 @@ var src_exports = {};
50
50
  __export(src_exports, {
51
51
  ActionSheet: () => ActionSheet,
52
52
  AttributeType: () => AttributeType,
53
+ BuilderComponent: () => BuilderComponent,
54
+ BuilderPropTemplateType: () => BuilderPropTemplateType,
53
55
  Button: () => Button,
54
56
  ButtonScene: () => ButtonScene,
55
57
  Clipboard: () => Clipboard,
@@ -516,6 +518,16 @@ _a25 = IMPL_KEY;
516
518
  */
517
519
  CustomField[_a25] = "customField";
518
520
 
521
+ // src/features/BuilderComponent.ts
522
+ var _a26;
523
+ var BuilderComponent = class extends BaseModel {
524
+ };
525
+ _a26 = IMPL_KEY;
526
+ /**
527
+ * @internal
528
+ */
529
+ BuilderComponent[_a26] = "builderComp";
530
+
519
531
  // src/client.ts
520
532
  function getImplClass(decl, impls) {
521
533
  return impls == null ? void 0 : impls[decl[IMPL_KEY]];
@@ -595,6 +607,9 @@ var _SDKClient = class {
595
607
  get customField() {
596
608
  return getImplValue(CustomField, this._meegoBizHub);
597
609
  }
610
+ get builderComp() {
611
+ return getImplValue(BuilderComponent, this._meegoBizHub);
612
+ }
598
613
  /**
599
614
  * 应用导航
600
615
  */
@@ -715,7 +730,7 @@ var SDKClient = _SDKClient;
715
730
  /**
716
731
  * SDK 版本号
717
732
  */
718
- SDKClient.version = "2.0.14";
733
+ SDKClient.version = "2.0.15-dev.builder.2";
719
734
 
720
735
  // src/types/biz.ts
721
736
  var AttributeType = /* @__PURE__ */ ((AttributeType2) => {
@@ -796,6 +811,21 @@ var CustomComponentType = /* @__PURE__ */ ((CustomComponentType2) => {
796
811
  CustomComponentType2["Schedule"] = "schedule";
797
812
  return CustomComponentType2;
798
813
  })(CustomComponentType || {});
814
+ var BuilderPropTemplateType = /* @__PURE__ */ ((BuilderPropTemplateType2) => {
815
+ BuilderPropTemplateType2["Text"] = "text";
816
+ BuilderPropTemplateType2["Number"] = "number";
817
+ BuilderPropTemplateType2["Select"] = "select";
818
+ BuilderPropTemplateType2["Boolean"] = "boolean";
819
+ BuilderPropTemplateType2["MultiSelect"] = "multiSelect";
820
+ BuilderPropTemplateType2["DatePrecise"] = "dateWithTime";
821
+ BuilderPropTemplateType2["DateRange"] = "dateRange";
822
+ BuilderPropTemplateType2["WorkItemInstance"] = "workItemInstance";
823
+ BuilderPropTemplateType2["WorkItemTypeSelect"] = "workItemTypeSelect";
824
+ BuilderPropTemplateType2["ViewSelect"] = "viewSelect";
825
+ BuilderPropTemplateType2["workItemInstanceWithField"] = "workItemInstanceWithField";
826
+ BuilderPropTemplateType2["workItemTypeWithField"] = "workItemTypeWithField";
827
+ return BuilderPropTemplateType2;
828
+ })(BuilderPropTemplateType || {});
799
829
 
800
830
  // src/errors/CustomError.ts
801
831
  var CustomError = class extends Error {
@@ -889,6 +919,8 @@ var src_default = SDKClient;
889
919
  0 && (module.exports = {
890
920
  ActionSheet,
891
921
  AttributeType,
922
+ BuilderComponent,
923
+ BuilderPropTemplateType,
892
924
  Button,
893
925
  ButtonScene,
894
926
  Clipboard,
@@ -441,7 +441,7 @@ interface BatchButtonFeatureContext {
441
441
  selectedWorkItems: Array<{
442
442
  spaceId: string;
443
443
  workObjectId: string;
444
- workItemIds: number[];
444
+ selectedWorkItemIds: number[];
445
445
  }>;
446
446
  }
447
447
  /**
@@ -797,6 +797,131 @@ interface ContainerModalConfigureOptions {
797
797
  content: string;
798
798
  };
799
799
  }
800
+ /** ----------------------- builder 组件构成类型 ----------------------- */
801
+ interface BuilderComponentFeatureContext {
802
+ /**
803
+ * builder 组件当前所属空间标识
804
+ */
805
+ spaceId: string;
806
+ }
807
+ /**
808
+ * builder 组件属性值类型
809
+ */
810
+ type BuilderPropLayout = {
811
+ width: number;
812
+ height: number;
813
+ positionX: number;
814
+ positionY: number;
815
+ };
816
+ declare enum BuilderPropTemplateType {
817
+ Text = "text",
818
+ Number = "number",
819
+ Select = "select",
820
+ Boolean = "boolean",
821
+ MultiSelect = "multiSelect",
822
+ DatePrecise = "dateWithTime",
823
+ DateRange = "dateRange",
824
+ WorkItemInstance = "workItemInstance",
825
+ WorkItemTypeSelect = "workItemTypeSelect",
826
+ ViewSelect = "viewSelect",
827
+ workItemInstanceWithField = "workItemInstanceWithField",
828
+ workItemTypeWithField = "workItemTypeWithField"
829
+ }
830
+ type BuilderPropText = string;
831
+ type BuilderPropNumber = number;
832
+ type BuilderPropSelect = string;
833
+ type BuilderPropBoolean = boolean;
834
+ type BuilderPropMultiSelect = string[];
835
+ type BuilderPropDateWithTime = number;
836
+ type BuilderPropDateRange = {
837
+ start: number;
838
+ end: number;
839
+ };
840
+ type BuilderPropWorkItemType = {
841
+ spaceId: string;
842
+ workObjectId: string;
843
+ };
844
+ type BuilderPropWorkItemInstance = {
845
+ spaceId: string;
846
+ workObjectId: string;
847
+ workItemId: string;
848
+ };
849
+ type BuilderPropField = {
850
+ spaceId: string;
851
+ workObjectId: string;
852
+ fieldClass: 'field' | 'role';
853
+ fieldKey: string;
854
+ roleId: string;
855
+ };
856
+ type BuilderPropWorkItemTypeWithField = BuilderPropWorkItemType & {
857
+ fieldList: BuilderPropField[];
858
+ };
859
+ type BuilderPropWorkItemInsWithField = BuilderPropWorkItemInstance & {
860
+ fieldList: BuilderPropField[];
861
+ };
862
+ type BuilderPropView = {
863
+ viewId: string;
864
+ };
865
+ type BuilderPropWorkItemListAfterFilter = BuilderPropWorkItemInstance[];
866
+ type BuilderPropWorkItemListAfterSort = BuilderPropWorkItemInstance[];
867
+ type BuilderCompPropValueType = BuilderPropText | BuilderPropNumber | BuilderPropSelect | BuilderPropBoolean | BuilderPropMultiSelect | BuilderPropDateWithTime | BuilderPropDateRange | BuilderPropWorkItemType | BuilderPropWorkItemInstance | BuilderPropWorkItemTypeWithField | BuilderPropWorkItemInsWithField | BuilderPropView | BuilderPropWorkItemListAfterFilter | BuilderPropWorkItemListAfterSort;
868
+ /**
869
+ * builder 组件不同的属性类型对应的可读配置
870
+ */
871
+ type I18nTitleConfig = {
872
+ zh?: string;
873
+ en?: string;
874
+ ja?: string;
875
+ raw?: string;
876
+ };
877
+ type BuilderCompPropSelectConfig = {
878
+ title: I18nTitleConfig;
879
+ propType: BuilderPropTemplateType.Select | BuilderPropTemplateType.MultiSelect;
880
+ options: {
881
+ label: I18nTitleConfig;
882
+ value: string;
883
+ }[];
884
+ };
885
+ type BuilderCompPropBriefConfig = {
886
+ title: I18nTitleConfig;
887
+ propType: BuilderPropTemplateType;
888
+ };
889
+ type BuilderCompPropFullConfig = BuilderCompPropBriefConfig | BuilderCompPropSelectConfig;
890
+ /**
891
+ * builder 组件入参定义
892
+ */
893
+ type BuilderComponentProps = {
894
+ instanceId: string;
895
+ layout?: BuilderPropLayout;
896
+ } & {
897
+ [propName: string]: BuilderCompPropValueType;
898
+ };
899
+ type BuilderCompLayoutConfig =
900
+ /** 定高模式 */
901
+ {
902
+ mode: 0;
903
+ staticHeight: number;
904
+ }
905
+ /** 栅格模式 */
906
+ | {
907
+ mode: 1;
908
+ minWidth: number;
909
+ minHeight: number;
910
+ maxWidth: number;
911
+ maxHeight: number;
912
+ };
913
+ type BuilderComponentConfig = {
914
+ id: string;
915
+ layout: BuilderCompLayoutConfig;
916
+ } & {
917
+ [keyOfProp: string]: BuilderCompPropBriefConfig;
918
+ };
919
+ interface BuilderComponentPreset {
920
+ layout: {
921
+ width: number;
922
+ height: number;
923
+ };
924
+ }
800
925
 
801
926
  /**
802
927
  * @internal
@@ -1429,6 +1554,10 @@ interface ModalOpenOptions<Context> {
1429
1554
  * @param params 弹窗内调用的 sdk.containerModal.submit 的方法时传入的自定义参数
1430
1555
  */
1431
1556
  onSubmit?: (params: unknown) => void;
1557
+ /**
1558
+ * 弹窗被关闭后触发的回调
1559
+ */
1560
+ afterClose?: () => void;
1432
1561
  }
1433
1562
  /**
1434
1563
  * @public
@@ -2005,6 +2134,59 @@ declare abstract class CustomField extends BaseModel {
2005
2134
  abstract openFullScreenPlugin(): void;
2006
2135
  }
2007
2136
 
2137
+ /**
2138
+ * @public
2139
+ * 自定义组件构成
2140
+ */
2141
+ declare abstract class BuilderComponent extends BaseModel {
2142
+ /**
2143
+ * @internal
2144
+ */
2145
+ protected static [IMPL_KEY]: string;
2146
+ /**
2147
+ * 获取 builder 组件上下文信息
2148
+ */
2149
+ abstract getContext: () => Promise<BuilderComponentFeatureContext>;
2150
+ /**
2151
+ * 获取 builder 组件入参
2152
+ * 每个 builder 组件一共有 3种数据:
2153
+ * * 组件实例数据(流入的属性值、组件当前的系统属性值)
2154
+ * * 组件配置数据(属于开发者后台的配置,用于描述组件所具有的属性)
2155
+ * * 组件预设值/默认值(属于开发者后台配置,只不过用于给组件提供默认值)
2156
+ * getProps 获取的即第一种数据 - 组件实例数据:
2157
+ * * 系统内置的所有组件通用属性值
2158
+ * * 开发者后台申明的组件入参特化属性值
2159
+ * 不同类型属性的数据结构可参考 JSSDK 包中的类型定义或开发者手册
2160
+ */
2161
+ abstract getProps: () => Promise<BuilderComponentProps>;
2162
+ /**
2163
+ * 用于监听 props 变更
2164
+ * @param callback 返回组件新的 props
2165
+ * @param watchKeys 监听的 key,只能监听属性的 key(不能监听 api key),不传默认监听所有 key。监听的 key 对应的值变更会触发回调
2166
+ * @returns
2167
+ */
2168
+ abstract watch: (callback: (next: BuilderComponentProps | Record<string, never>) => void, watchKeys?: keyof BuilderComponentProps | (keyof BuilderComponentProps)[]) => Promise<Off>;
2169
+ /**
2170
+ * 获取 builder 组件配置:
2171
+ * - 名称
2172
+ * - icon 地址
2173
+ * - layout
2174
+ * - 属性对应的配置
2175
+ */
2176
+ abstract getConfig: (propKeys?: string | string[]) => Promise<BuilderComponentConfig>;
2177
+ /**
2178
+ * 根据属性 key 点查属性的完整配置
2179
+ * - 单选多选类型的选项列表
2180
+ */
2181
+ abstract getPropsFullConfig: (propKey: string) => Promise<BuilderCompPropFullConfig>;
2182
+ /**
2183
+ * 获取 builder 组件预设值:
2184
+ * - layout
2185
+ * 暂时不支持指定多组预设值/指定预设id(统一走 default),未来视诉求开放
2186
+ */
2187
+ abstract getPreset: (propKeys?: string[]) => Promise<BuilderComponentPreset>;
2188
+ }
2189
+
2008
2190
  /**
2009
2191
  * @public
2010
2192
  * SDKClient 的配置项
@@ -2073,6 +2255,7 @@ declare class SDKClient {
2073
2255
  * only 2.0
2074
2256
  */
2075
2257
  get customField(): CustomField;
2258
+ get builderComp(): BuilderComponent;
2076
2259
  /**
2077
2260
  * 应用导航
2078
2261
  */
@@ -2232,4 +2415,4 @@ declare class NotSupportedError extends CustomError {
2232
2415
  * @packageDocumentation
2233
2416
  */
2234
2417
 
2235
- export { ActionSheet, ActionSheetOptions, AttributeType, BatchButtonFeatureContext, BizLine, BriefField, BriefNode, BriefSpace, BriefTemplate, BriefView, BriefWorkItem, BriefWorkObject, Button, ButtonFeatureContext, ButtonScene, Clipboard, ColorScheme, ComponentScheduleIdentity, ComponentScheduleScene, Configuration, ConfigurationFeatureContext, ContainerModal, ContainerModalConfigureOptions, Context, Control, ControlFeatureContext, CreateButtonFeatureContext, CustomComponent, CustomComponentFeatureContext, CustomComponentProps, CustomComponentType, CustomField, CustomFieldConfig, CustomFieldFeatureContext, CustomFieldProps, CustomFieldValidateMsg, CustomFieldValueType, ExCompoundFieldValueType, Field, FieldType, FieldValue, FlowMode, IMPL_KEY, IPluginCustomBuildConfig, IRichTextEditorImageUploadComplete, IntegrationFeatureContext, Intercept, InterceptEvent, InterceptFeatureContext, InternalError, InvalidParamsError, Language, MEEGO_BIZ_HUB, Modal, ModalConfirmOptions, ModalOpenOptions, Navigation, NoAuthError, NodeStatus, NotFoundError, NotSupportedError, Off, OutOfLimitError, Page, PageFeatureContext, RichTextEditor, RichTextEditorContent, RichTextEditorOptions, Role, RoleOwners, SDKClient, SDKClientOptions, ScheduleCompValidateMsg, ScheduleCompValueType, ScheduleUnitButtonFeatureContext, Shared, Space, Storage, SubFieldType, Tab, TabFeatureContext, Toast, ToastOptions, User, UserInfo, Utils, View, ViewFeatureContext, WbsStatus, WorkItem, WorkItemButtonFeatureContext, WorkItemCreateFormPreset, WorkItemFinder, WorkItemFinderOptions, WorkObject, SDKClient as default, unwatch };
2418
+ export { ActionSheet, ActionSheetOptions, AttributeType, BatchButtonFeatureContext, BizLine, BriefField, BriefNode, BriefSpace, BriefTemplate, BriefView, BriefWorkItem, BriefWorkObject, BuilderCompLayoutConfig, BuilderCompPropBriefConfig, BuilderCompPropFullConfig, BuilderCompPropSelectConfig, BuilderCompPropValueType, BuilderComponent, BuilderComponentConfig, BuilderComponentFeatureContext, BuilderComponentPreset, BuilderComponentProps, BuilderPropBoolean, BuilderPropDateRange, BuilderPropDateWithTime, BuilderPropField, BuilderPropLayout, BuilderPropMultiSelect, BuilderPropNumber, BuilderPropSelect, BuilderPropTemplateType, BuilderPropText, BuilderPropView, BuilderPropWorkItemInsWithField, BuilderPropWorkItemInstance, BuilderPropWorkItemListAfterFilter, BuilderPropWorkItemListAfterSort, BuilderPropWorkItemType, BuilderPropWorkItemTypeWithField, Button, ButtonFeatureContext, ButtonScene, Clipboard, ColorScheme, ComponentScheduleIdentity, ComponentScheduleScene, Configuration, ConfigurationFeatureContext, ContainerModal, ContainerModalConfigureOptions, Context, Control, ControlFeatureContext, CreateButtonFeatureContext, CustomComponent, CustomComponentFeatureContext, CustomComponentProps, CustomComponentType, CustomField, CustomFieldConfig, CustomFieldFeatureContext, CustomFieldProps, CustomFieldValidateMsg, CustomFieldValueType, ExCompoundFieldValueType, Field, FieldType, FieldValue, FlowMode, I18nTitleConfig, IMPL_KEY, IPluginCustomBuildConfig, IRichTextEditorImageUploadComplete, IntegrationFeatureContext, Intercept, InterceptEvent, InterceptFeatureContext, InternalError, InvalidParamsError, Language, MEEGO_BIZ_HUB, Modal, ModalConfirmOptions, ModalOpenOptions, Navigation, NoAuthError, NodeStatus, NotFoundError, NotSupportedError, Off, OutOfLimitError, Page, PageFeatureContext, RichTextEditor, RichTextEditorContent, RichTextEditorOptions, Role, RoleOwners, SDKClient, SDKClientOptions, ScheduleCompValidateMsg, ScheduleCompValueType, ScheduleUnitButtonFeatureContext, Shared, Space, Storage, SubFieldType, Tab, TabFeatureContext, Toast, ToastOptions, User, UserInfo, Utils, View, ViewFeatureContext, WbsStatus, 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.14",
3
+ "version": "2.0.15-dev.builder.2",
4
4
  "runtimeMinVersions": {
5
5
  "web": "2.1.0",
6
6
  "mobile": "1.1.0"