@lark-project/js-sdk 2.0.14 → 2.0.15-dev.builder.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.
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.1";
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.1";
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,128 @@ 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
+ from: number;
838
+ to: 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 BuilderPropWorkItemTypeWithField = BuilderPropWorkItemType & {
850
+ fieldList: {
851
+ fieldKey: string;
852
+ }[];
853
+ };
854
+ type BuilderPropWorkItemInsWithField = BuilderPropWorkItemInstance & {
855
+ fieldList: {
856
+ fieldKey: string;
857
+ }[];
858
+ };
859
+ type BuilderPropView = {
860
+ viewId: string;
861
+ };
862
+ type BuilderPropWorkItemListAfterFilter = BuilderPropWorkItemInstance[];
863
+ type BuilderPropWorkItemListAfterSort = BuilderPropWorkItemInstance[];
864
+ type BuilderCompPropValueType = BuilderPropText | BuilderPropNumber | BuilderPropSelect | BuilderPropBoolean | BuilderPropMultiSelect | BuilderPropDateWithTime | BuilderPropDateRange | BuilderPropWorkItemType | BuilderPropWorkItemInstance | BuilderPropWorkItemTypeWithField | BuilderPropWorkItemInsWithField | BuilderPropView | BuilderPropWorkItemListAfterFilter | BuilderPropWorkItemListAfterSort;
865
+ /**
866
+ * builder 组件不同的属性类型对应的可读配置
867
+ */
868
+ type I18nTitleConfig = {
869
+ zh?: string;
870
+ en?: string;
871
+ ja?: string;
872
+ raw?: string;
873
+ };
874
+ type BuilderCompPropSelectConfig = {
875
+ title: I18nTitleConfig;
876
+ propType: BuilderPropTemplateType.Select | BuilderPropTemplateType.MultiSelect;
877
+ options: {
878
+ label: I18nTitleConfig;
879
+ value: string;
880
+ }[];
881
+ };
882
+ type BuilderCompPropBriefConfig = {
883
+ title: I18nTitleConfig;
884
+ propType: BuilderPropTemplateType;
885
+ };
886
+ type BuilderCompPropFullConfig = BuilderCompPropBriefConfig | BuilderCompPropSelectConfig;
887
+ /**
888
+ * builder 组件入参定义
889
+ */
890
+ type BuilderComponentProps = {
891
+ instanceId: string;
892
+ layout?: BuilderPropLayout;
893
+ } & {
894
+ [propName: string]: BuilderCompPropValueType;
895
+ };
896
+ type BuilderCompLayoutConfig =
897
+ /** 定高模式 */
898
+ {
899
+ mode: 0;
900
+ staticHeight: number;
901
+ }
902
+ /** 栅格模式 */
903
+ | {
904
+ mode: 1;
905
+ minWidth: number;
906
+ minHeight: number;
907
+ maxWidth: number;
908
+ maxHeight: number;
909
+ };
910
+ type BuilderComponentConfig = {
911
+ id: string;
912
+ layout: BuilderCompLayoutConfig;
913
+ } & {
914
+ [keyOfProp: string]: BuilderCompPropBriefConfig;
915
+ };
916
+ interface BuilderComponentPreset {
917
+ layout: {
918
+ width: number;
919
+ height: number;
920
+ };
921
+ }
800
922
 
801
923
  /**
802
924
  * @internal
@@ -1429,6 +1551,10 @@ interface ModalOpenOptions<Context> {
1429
1551
  * @param params 弹窗内调用的 sdk.containerModal.submit 的方法时传入的自定义参数
1430
1552
  */
1431
1553
  onSubmit?: (params: unknown) => void;
1554
+ /**
1555
+ * 弹窗被关闭后触发的回调
1556
+ */
1557
+ afterClose?: () => void;
1432
1558
  }
1433
1559
  /**
1434
1560
  * @public
@@ -2005,6 +2131,59 @@ declare abstract class CustomField extends BaseModel {
2005
2131
  abstract openFullScreenPlugin(): void;
2006
2132
  }
2007
2133
 
2134
+ /**
2135
+ * @public
2136
+ * 自定义组件构成
2137
+ */
2138
+ declare abstract class BuilderComponent extends BaseModel {
2139
+ /**
2140
+ * @internal
2141
+ */
2142
+ protected static [IMPL_KEY]: string;
2143
+ /**
2144
+ * 获取 builder 组件上下文信息
2145
+ */
2146
+ abstract getContext: () => Promise<BuilderComponentFeatureContext>;
2147
+ /**
2148
+ * 获取 builder 组件入参
2149
+ * 每个 builder 组件一共有 3种数据:
2150
+ * * 组件实例数据(流入的属性值、组件当前的系统属性值)
2151
+ * * 组件配置数据(属于开发者后台的配置,用于描述组件所具有的属性)
2152
+ * * 组件预设值/默认值(属于开发者后台配置,只不过用于给组件提供默认值)
2153
+ * getProps 获取的即第一种数据 - 组件实例数据:
2154
+ * * 系统内置的所有组件通用属性值
2155
+ * * 开发者后台申明的组件入参特化属性值
2156
+ * 不同类型属性的数据结构可参考 JSSDK 包中的类型定义或开发者手册
2157
+ */
2158
+ abstract getProps: () => Promise<BuilderComponentProps>;
2159
+ /**
2160
+ * 用于监听 props 变更
2161
+ * @param callback 返回组件新的 props
2162
+ * @param watchKeys 监听的 key,只能监听属性的 key(不能监听 api key),不传默认监听所有 key。监听的 key 对应的值变更会触发回调
2163
+ * @returns
2164
+ */
2165
+ abstract watch: (callback: (next: BuilderComponentProps | Record<string, never>) => void, watchKeys?: keyof BuilderComponentProps | (keyof BuilderComponentProps)[]) => Promise<Off>;
2166
+ /**
2167
+ * 获取 builder 组件配置:
2168
+ * - 名称
2169
+ * - icon 地址
2170
+ * - layout
2171
+ * - 属性对应的配置
2172
+ */
2173
+ abstract getConfig: (propKeys?: string | string[]) => Promise<BuilderComponentConfig>;
2174
+ /**
2175
+ * 根据属性 key 点查属性的完整配置
2176
+ * - 单选多选类型的选项列表
2177
+ */
2178
+ abstract getPropsFullConfig: (propKey: string) => Promise<BuilderCompPropFullConfig>;
2179
+ /**
2180
+ * 获取 builder 组件预设值:
2181
+ * - layout
2182
+ * 暂时不支持指定多组预设值/指定预设id(统一走 default),未来视诉求开放
2183
+ */
2184
+ abstract getPreset: (propKeys?: string[]) => Promise<BuilderComponentPreset>;
2185
+ }
2186
+
2008
2187
  /**
2009
2188
  * @public
2010
2189
  * SDKClient 的配置项
@@ -2073,6 +2252,7 @@ declare class SDKClient {
2073
2252
  * only 2.0
2074
2253
  */
2075
2254
  get customField(): CustomField;
2255
+ get builderComp(): BuilderComponent;
2076
2256
  /**
2077
2257
  * 应用导航
2078
2258
  */
@@ -2232,4 +2412,4 @@ declare class NotSupportedError extends CustomError {
2232
2412
  * @packageDocumentation
2233
2413
  */
2234
2414
 
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 };
2415
+ export { ActionSheet, ActionSheetOptions, AttributeType, BatchButtonFeatureContext, BizLine, BriefField, BriefNode, BriefSpace, BriefTemplate, BriefView, BriefWorkItem, BriefWorkObject, BuilderCompLayoutConfig, BuilderCompPropBriefConfig, BuilderCompPropFullConfig, BuilderCompPropSelectConfig, BuilderComponent, BuilderComponentConfig, BuilderComponentFeatureContext, BuilderComponentPreset, BuilderComponentProps, BuilderPropTemplateType, 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.1",
4
4
  "runtimeMinVersions": {
5
5
  "web": "2.1.0",
6
6
  "mobile": "1.1.0"