Scope.d.ts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. export declare class Scope {
  2. /**
  3. * 业务模块的唯一编号
  4. */
  5. id: string;
  6. originalVjson: any;
  7. /**
  8. * 一个 ExtJS 能接受的配置对象
  9. */
  10. vjson: any;
  11. /**
  12. * 原始 vjsonModel 对象
  13. */
  14. model: any;
  15. /**
  16. * 双向绑定的模型对象
  17. */
  18. viewModel: any;
  19. /**
  20. * 构建完成之后的 Ext控件句柄
  21. */
  22. _handle: any;
  23. /**
  24. * 与 watch 装饰器配合使用.
  25. * viewModel 属性更改时触发成员方法
  26. */
  27. _watchList: any;
  28. /**
  29. * 页面显示的时候带的参数 在设计刷新的时候使用
  30. */
  31. _vjsonOption: any;
  32. _dataOption: any;
  33. /**
  34. * 最顶部的 scope 对象
  35. */
  36. topScope: any;
  37. _addWatch(tplExpress: any, fn: any): void;
  38. _applyWatchList(): void;
  39. get isScope(): boolean;
  40. /**
  41. * 产生一个当前模块有效的唯一id
  42. * @param key 唯一编号
  43. */
  44. uid(key: any): string;
  45. /**
  46. * 对话框"保存"成功.
  47. * 关闭对话框,并响应 success 方法
  48. * @param data 要傳回的數據(可以為空)
  49. */
  50. dialogSuccess(data?: any): void;
  51. /**
  52. * 设置等待状态
  53. * @param value
  54. * @param msg
  55. */
  56. setLoading(value: boolean): void;
  57. /**
  58. * 以对话框模式打开当前模块
  59. * @param sender 发送者(按钮或Scope对象)
  60. * @param vjsonOption 界面覆盖选项(可以为空)
  61. * @param dataOption 数据覆盖选项(可以为空)
  62. */
  63. showDialog(sender: any, vjsonOption: any, dataOption: any): void;
  64. /**
  65. * 以标签模式打开当前模块
  66. * @param vjsonOption 界面覆盖选项(可以为空)
  67. * @param dataOption 数据覆盖选项(可以为空)
  68. */
  69. showPage(vjsonOption: any, dataOption: any): any;
  70. /**
  71. * 直接渲染到元素
  72. * @param element 渲染目标
  73. * @param vjsonOption 界面覆盖选项(可以为空)
  74. * @param dataOption 数据覆盖选项(可以为空)
  75. */
  76. renderTo(element: any, vjsonOption: any, dataOption: any): void;
  77. /**
  78. * 关闭对话框(或标签页)
  79. */
  80. close(): void;
  81. /**
  82. * 获取 viewModel 里包含的数据(只读)
  83. */
  84. get data(): any;
  85. /**
  86. * 设置 viewModel 中的数据
  87. * 可以是 key, value 模式
  88. * 也可以是 {key:value} 模式
  89. */
  90. set(path: any, value: any): any;
  91. /**
  92. * 寻找模块内所有的 xtype 对应的对象
  93. * @param xtypeKey
  94. */
  95. down(xtypeKey: any): any;
  96. /**
  97. * 获取所有设置过 Reference 名称的组件
  98. */
  99. get refs(): any;
  100. _destroy(): void;
  101. constructor({ model, vjson }: {
  102. model: any;
  103. vjson: any;
  104. });
  105. /**
  106. * 模块载入完成之后的回调
  107. */
  108. onLoad(): void;
  109. /**
  110. * 组件卸载之后的回调
  111. */
  112. onDestroy(): void;
  113. }
  114. /**
  115. * 观察装饰器,viewModel 属性更改时触发成员方法
  116. * @param tplExpress tpl表达式,例如 "{form.f1}"
  117. */
  118. export declare function watch(tplExpress: any, deep?: boolean): (target: any, propertyKey: any, pd: any) => any;