snail.vue 2.0.19 → 2.0.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.
@@ -1,7 +1,7 @@
1
1
  import * as snail_core from 'snail.core';
2
2
  import { DateFormat, DateValue, TimeValue, IScope, RunResult, IAsyncScope } from 'snail.core';
3
3
  import * as snail_view from 'snail.view';
4
- import { ScrollbarOptions, BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
4
+ import { ScrollbarOptions, ScrollStatus, BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
5
5
  import * as vue from 'vue';
6
6
  import { Component, ShallowRef, Ref, WatchSource, App } from 'vue';
7
7
 
@@ -381,6 +381,29 @@ type FooterEvents = {
381
381
  * 滚动视图配置选项
382
382
  */
383
383
  type ScrollOptions = ScrollbarOptions & {};
384
+ /**
385
+ * 滚动视图对外暴露方法
386
+ */
387
+ type ScrollExpose = {
388
+ /**
389
+ * 获取滚动状态信息
390
+ * @returns
391
+ */
392
+ getStatus(): ScrollStatus;
393
+ /**
394
+ * 进行滚动操作
395
+ * - 在当前的滚动条位置基础上,滚动指定单位
396
+ * @param left 水平滚动单位;null、undefined 表示水平不滚动;小于0向左滚动;大于0向右滚动
397
+ * @param top 垂直滚动单位;null、undefined 表示垂直不滚动;小于0向上滚动;大于0向下滚动
398
+ */
399
+ scroll(left?: number, top?: number): void;
400
+ /**
401
+ * 滚动到指定位置
402
+ * @param left 水平滚动条位置;null、undefined 表示水平不滚动
403
+ * @param top 垂直滚动条位置;null、undefined 表示垂直不滚动
404
+ */
405
+ scrollTo(left?: number, top?: number): void;
406
+ };
384
407
  /**
385
408
  * 滚动视图事件
386
409
  */
@@ -412,44 +435,6 @@ type ScrollEvents = {
412
435
  */
413
436
  bottom: [];
414
437
  };
415
- /**
416
- * 滚动视图状态
417
- * - 缓存起来 和下次滚动做比对,触发对应事件
418
- */
419
- type ScrollStatus = {
420
- /**
421
- * 水平滚动条是否显示
422
- */
423
- xbar: boolean;
424
- /**
425
- * 垂直滚动条是否显示
426
- */
427
- ybar: boolean;
428
- /**
429
- * 滚动到【左侧】了
430
- */
431
- left: boolean;
432
- /**
433
- * 滚动到【右侧】了
434
- */
435
- right: boolean;
436
- /**
437
- * 滚动到【顶部】了
438
- */
439
- top: boolean;
440
- /**
441
- * 滚动到【底部】了
442
- */
443
- bottom: boolean;
444
- /**
445
- * 滚动视图宽度
446
- */
447
- scrollwidth: number;
448
- /**
449
- * 滚动视图高度
450
- */
451
- scrollheight: number;
452
- };
453
438
 
454
439
  /**
455
440
  * 包裹组件 相关实体
@@ -1305,7 +1290,7 @@ type ElasticOptions = ScrollOptions & {
1305
1290
  /**
1306
1291
  * 弹性容器组件 事件监听
1307
1292
  */
1308
- type ElasticEvents = {
1293
+ type ElasticEvents = ScrollEvents & {
1309
1294
  /**
1310
1295
  * 刷新数据
1311
1296
  * - 配合 `downRefresh`实现下拉刷新功能
@@ -1320,42 +1305,21 @@ type ElasticEvents = {
1320
1305
  more: [resolve: () => void];
1321
1306
  };
1322
1307
  /**
1323
- * 弹性组件的滚动状态信息
1324
- * - 缓存滚动状态 和下次做比对,触发对应事件
1308
+ * 弹性组件 对外暴露属性接口
1325
1309
  */
1326
- type ElasticScrollStatus = {
1327
- /**
1328
- * 水平滚动条是否显示
1329
- */
1330
- xbar: boolean;
1331
- /**
1332
- * 垂直滚动条是否显示
1333
- */
1334
- ybar: boolean;
1335
- /**
1336
- * 滚动到【左侧】了
1337
- */
1338
- left: boolean;
1339
- /**
1340
- * 滚动到【右侧】了
1341
- */
1342
- right: boolean;
1343
- /**
1344
- * 滚动到【顶部】了
1345
- */
1346
- top: boolean;
1347
- /**
1348
- * 滚动到【底部】了
1349
- */
1350
- bottom: boolean;
1310
+ type ElasticExpose = {
1351
1311
  /**
1352
- * 滚动视图宽度
1312
+ * 加载刷新数据
1313
+ * - 触发下拉刷新数据
1314
+ * @returns 异步任务对象,外部感知任务执行完成
1353
1315
  */
1354
- scrollwidth: number;
1316
+ loadRefresh(): Promise<void>;
1355
1317
  /**
1356
- * 滚动视图高度
1318
+ * 加载更多数据
1319
+ * - 触发上拉加载更多数据
1320
+ * @returns 异步任务对象,外部感知任务执行完成
1357
1321
  */
1358
- scrollheight: number;
1322
+ loadMore(): Promise<void>;
1359
1323
  };
1360
1324
  /**
1361
1325
  * 弹性组件的弹簧状态信息
@@ -2999,9 +2963,24 @@ declare const components: {
2999
2963
  });
3000
2964
  Elastic: {
3001
2965
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ElasticOptions> & Readonly<{
2966
+ onLeft?: () => any;
2967
+ onRight?: () => any;
2968
+ onTop?: () => any;
2969
+ onBottom?: () => any;
2970
+ onXbar?: (show: boolean) => any;
2971
+ onYbar?: (show: boolean) => any;
3002
2972
  onRefresh?: (resolve: () => void) => any;
3003
2973
  onMore?: (resolve: () => void) => any;
3004
- }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2974
+ }>, {
2975
+ loadRefresh(): Promise<void>;
2976
+ loadMore(): Promise<void>;
2977
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2978
+ left: () => any;
2979
+ right: () => any;
2980
+ top: () => any;
2981
+ bottom: () => any;
2982
+ xbar: (show: boolean) => any;
2983
+ ybar: (show: boolean) => any;
3005
2984
  refresh: (resolve: () => void) => any;
3006
2985
  more: (resolve: () => void) => any;
3007
2986
  }, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
@@ -3012,16 +2991,40 @@ declare const components: {
3012
2991
  M: {};
3013
2992
  Defaults: {};
3014
2993
  }, Readonly<ElasticOptions> & Readonly<{
2994
+ onLeft?: () => any;
2995
+ onRight?: () => any;
2996
+ onTop?: () => any;
2997
+ onBottom?: () => any;
2998
+ onXbar?: (show: boolean) => any;
2999
+ onYbar?: (show: boolean) => any;
3015
3000
  onRefresh?: (resolve: () => void) => any;
3016
3001
  onMore?: (resolve: () => void) => any;
3017
- }>, {}, {}, {}, {}, {}>;
3002
+ }>, {
3003
+ loadRefresh(): Promise<void>;
3004
+ loadMore(): Promise<void>;
3005
+ }, {}, {}, {}, {}>;
3018
3006
  __isFragment?: never;
3019
3007
  __isTeleport?: never;
3020
3008
  __isSuspense?: never;
3021
3009
  } & vue.ComponentOptionsBase<Readonly<ElasticOptions> & Readonly<{
3010
+ onLeft?: () => any;
3011
+ onRight?: () => any;
3012
+ onTop?: () => any;
3013
+ onBottom?: () => any;
3014
+ onXbar?: (show: boolean) => any;
3015
+ onYbar?: (show: boolean) => any;
3022
3016
  onRefresh?: (resolve: () => void) => any;
3023
3017
  onMore?: (resolve: () => void) => any;
3024
- }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3018
+ }>, {
3019
+ loadRefresh(): Promise<void>;
3020
+ loadMore(): Promise<void>;
3021
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3022
+ left: () => any;
3023
+ right: () => any;
3024
+ top: () => any;
3025
+ bottom: () => any;
3026
+ xbar: (show: boolean) => any;
3027
+ ybar: (show: boolean) => any;
3025
3028
  refresh: (resolve: () => void) => any;
3026
3029
  more: (resolve: () => void) => any;
3027
3030
  }, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
@@ -3137,8 +3140,9 @@ declare const components: {
3137
3140
  onXbar?: (show: boolean) => any;
3138
3141
  onYbar?: (show: boolean) => any;
3139
3142
  }>, {
3140
- scroll: (left?: number, top?: number) => void;
3141
- scrollTo: (left?: number, top?: number) => void;
3143
+ getStatus(): snail_view.ScrollStatus;
3144
+ scroll(left?: number, top?: number): void;
3145
+ scrollTo(left?: number, top?: number): void;
3142
3146
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3143
3147
  left: () => any;
3144
3148
  right: () => any;
@@ -3161,8 +3165,9 @@ declare const components: {
3161
3165
  onXbar?: (show: boolean) => any;
3162
3166
  onYbar?: (show: boolean) => any;
3163
3167
  }>, {
3164
- scroll: (left?: number, top?: number) => void;
3165
- scrollTo: (left?: number, top?: number) => void;
3168
+ getStatus(): snail_view.ScrollStatus;
3169
+ scroll(left?: number, top?: number): void;
3170
+ scrollTo(left?: number, top?: number): void;
3166
3171
  }, {}, {}, {}, {}>;
3167
3172
  __isFragment?: never;
3168
3173
  __isTeleport?: never;
@@ -3175,8 +3180,9 @@ declare const components: {
3175
3180
  onXbar?: (show: boolean) => any;
3176
3181
  onYbar?: (show: boolean) => any;
3177
3182
  }>, {
3178
- scroll: (left?: number, top?: number) => void;
3179
- scrollTo: (left?: number, top?: number) => void;
3183
+ getStatus(): snail_view.ScrollStatus;
3184
+ scroll(left?: number, top?: number): void;
3185
+ scrollTo(left?: number, top?: number): void;
3180
3186
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3181
3187
  left: () => any;
3182
3188
  right: () => any;
@@ -3501,4 +3507,4 @@ declare const components: {
3501
3507
  };
3502
3508
 
3503
3509
  export { MOTION, components, getBuiltinIcon, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
3504
- export type { ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerDayItem, DatePickerMonthItem, DatePickerOptions, DatePickerYearItem, DatetimeDisabledOptions, DatetimePickerEvents, DeleteEvents, DialogHandle, DialogOptions, DisabledOptions, DragVerifyInfo, DragVerifyOptions, ElasticEvents, ElasticOptions, ElasticScrollStatus, ElasticSpringStatus, EmitterType, EmptyOptions, EventsType, FlexOptions, FoldEvents, FoldOptions, FoldStatus, FollowElectResult, FollowExtend, FollowHandle, FollowOptions, FollowPositionOptions, FollowStrategy, FollowStrategyOptions, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, INumberFormatter, IPickerManager, IPopupManager, IReactiveManager, ISelectContext, ITreeBaseContext, IconOptions, IconType, InputEvents, InputOptions, LayoutAraeOptions, LayoutAreaItem, LayoutOptions, LoadingOptions, MessageOptions, MotionEffectOptions, MotionOptions, MoveEvents, NumberBaseOptions, NumberEvents, NumberFormatResult, NumberOptions, PickerExtend, PickerPopupOptions, PlaceholderOptions, PopupDescriptor, PopupHandle, PopupOptions, PopupStatus, PopupStatusOptions, PropsType, ReactiveVar, ReadonlyOptions, ScrollEvents, ScrollOptions, ScrollStatus, SearchEvents, SearchOptions, SelectBaseEvents, SelectBaseOptions, SelectEvents, SelectItem, SelectNodeEvents, SelectNodeOptions, SelectOptions, SelectPopupEvents, SelectPopupExtend, SelectPopupOptions, SelectSlotOptions, SlotsType, SortEvent, SortEvents, SortGroupHook, SortGroupOptions, SortOptions, SwitchEvents, SwitchOptions, TableColOptions, TableOptions, TableRowOptions, TextareaEvents, TextareaOptions, TimePickerHourItem, TimePickerMinuteItem, TimePickerOptions, TimePickerSecondItem, TitleOptions, ToastOptions, TreeEvents, TreeNode, TreeNodeEvents, TreeNodeExtend, TreeNodeModel, TreeNodeOptions, TreeNodeRenderOptions, TreeNodeSlotOptions, TreeOptions, TreeSearchResult, ValueOptions, WrapperEvents, WrapperOptions };
3510
+ export type { ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerDayItem, DatePickerMonthItem, DatePickerOptions, DatePickerYearItem, DatetimeDisabledOptions, DatetimePickerEvents, DeleteEvents, DialogHandle, DialogOptions, DisabledOptions, DragVerifyInfo, DragVerifyOptions, ElasticEvents, ElasticExpose, ElasticOptions, ElasticSpringStatus, EmitterType, EmptyOptions, EventsType, FlexOptions, FoldEvents, FoldOptions, FoldStatus, FollowElectResult, FollowExtend, FollowHandle, FollowOptions, FollowPositionOptions, FollowStrategy, FollowStrategyOptions, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, INumberFormatter, IPickerManager, IPopupManager, IReactiveManager, ISelectContext, ITreeBaseContext, IconOptions, IconType, InputEvents, InputOptions, LayoutAraeOptions, LayoutAreaItem, LayoutOptions, LoadingOptions, MessageOptions, MotionEffectOptions, MotionOptions, MoveEvents, NumberBaseOptions, NumberEvents, NumberFormatResult, NumberOptions, PickerExtend, PickerPopupOptions, PlaceholderOptions, PopupDescriptor, PopupHandle, PopupOptions, PopupStatus, PopupStatusOptions, PropsType, ReactiveVar, ReadonlyOptions, ScrollEvents, ScrollExpose, ScrollOptions, SearchEvents, SearchOptions, SelectBaseEvents, SelectBaseOptions, SelectEvents, SelectItem, SelectNodeEvents, SelectNodeOptions, SelectOptions, SelectPopupEvents, SelectPopupExtend, SelectPopupOptions, SelectSlotOptions, SlotsType, SortEvent, SortEvents, SortGroupHook, SortGroupOptions, SortOptions, SwitchEvents, SwitchOptions, TableColOptions, TableOptions, TableRowOptions, TextareaEvents, TextareaOptions, TimePickerHourItem, TimePickerMinuteItem, TimePickerOptions, TimePickerSecondItem, TitleOptions, ToastOptions, TreeEvents, TreeNode, TreeNodeEvents, TreeNodeExtend, TreeNodeModel, TreeNodeOptions, TreeNodeRenderOptions, TreeNodeSlotOptions, TreeOptions, TreeSearchResult, ValueOptions, WrapperEvents, WrapperOptions };