modDefine.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. /**
  2. * [ONEMAP.M.mod]
  3. * @return {[object]}
  4. */
  5. define(['html!templates/mod',
  6. 'css!styles/mod'],
  7. function(tplLayout){
  8. /**
  9. * 模块数据 用于数据存储和外部调用
  10. * @type {Object}
  11. * 数据存放
  12. */
  13. var modValue = {};
  14. /**
  15. * 模块界面样式 例如:宽,高
  16. * @type {Object}
  17. */
  18. var styles = {};
  19. /**
  20. * 模块状态,用于存储模块的状态 例如:收起,关闭
  21. * @type {Object}
  22. */
  23. var status = {};
  24. /**
  25. * 查询参数
  26. * @type {Object}
  27. */
  28. var options = {};
  29. /**
  30. * 初始化并订阅事件
  31. * @return {[type]} [description]
  32. */
  33. function init(){
  34. $('body').append(tplLayout);
  35. subscribe();
  36. }
  37. /**
  38. * 设置界面
  39. */
  40. function setLayout(){
  41. }
  42. /**
  43. * 界面事件绑定
  44. * @return {[type]} [description]
  45. */
  46. function bindEvent(){
  47. }
  48. /**
  49. * 界面重置
  50. * @return {[type]} [description]
  51. */
  52. function layoutResize(){
  53. }
  54. /**
  55. * 注册订阅
  56. * @type {Function}
  57. * 推送:ONEMAP.C.publisher.publish(options,'moduleName::type');
  58. * 订阅:ONEMAP.C.publisher.subscribe(layoutResize,'sideBarLayoutChange');
  59. */
  60. function subscribe(){}
  61. /**
  62. * 取消订阅
  63. * @type {Function}
  64. * 取消订阅:ONEMAP.C.publisher.unSubscribe(layoutResize,'sideBarLayoutChange');
  65. */
  66. function unSubscribe(){}
  67. /**
  68. * 模块移除
  69. * @return {[type]} [description]
  70. */
  71. function remove(){
  72. //取消订阅
  73. unSubscribe();
  74. }
  75. /**
  76. * 获取数据
  77. * @return {[type]} [description]
  78. */
  79. function getValue(name){
  80. if(modValue.hasOwnProperty(name)){
  81. return modValue[name]
  82. }else {
  83. return null;
  84. }
  85. }
  86. /**
  87. * 设置数据 默认合并
  88. */
  89. function setValue(name,value,rewrite){
  90. if(rewrite){
  91. modValue = value;
  92. return modValue;
  93. }else {
  94. _.merge(modValue, value);
  95. return modValue;
  96. }
  97. }
  98. return ONEMAP.M.mod = {
  99. init:init,
  100. layoutResize:layoutResize,
  101. getValue:getValue,
  102. setValue:setValue,
  103. remove:remove
  104. }
  105. });