Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. <Panel ux:Class="MonthCalendar">
  2. <JavaScript>
  3. var Observable = require("FuseJS/Observable");
  4. var moment = require("moment.js");
  5. calendar = require("calendar.js");
  6.  
  7. var today = moment().utc().startOf('day');
  8.  
  9. var year = Observable(today.year());
  10. var month = Observable(today.month()); //0-indexed
  11. var monthValue = calendar.MONTH_NAMES[month.value];
  12. var monthName = Observable(monthValue);
  13.  
  14. var selectedDate = today;
  15.  
  16. var table = calendar.build(year.value, month.value, selectedDate);
  17.  
  18. exports.jumpToToday = () => {
  19. selectedDate = today;
  20.  
  21. year.value = today.year();
  22. month.value = today.month();
  23. var monthValue1 = calendar.MONTH_NAMES[month.value];
  24. monthName.value = monthValue1;
  25. calendar.update(table, year.value, month.value, selectedDate);
  26. }
  27.  
  28. exports.nextYear = () => {
  29. year.value = year.value +1;
  30. calendar.update(table, year.value, month.value, selectedDate);
  31. }
  32.  
  33. exports.prevYear = () => {
  34. year.value = year.value -1;
  35. calendar.update(table, year.value, month.value, selectedDate);
  36. }
  37.  
  38. exports.nextMonth = () => {
  39. var val = month.value +1;
  40. if(val > 11) {
  41. val = 0;
  42. year.value = year.value +1;
  43. }
  44. month.value = val;
  45. var monthValue1 = calendar.MONTH_NAMES[val];
  46. monthName.value = monthValue1;
  47.  
  48. calendar.update(table, year.value, month.value, selectedDate);
  49. }
  50. exports.prevMonth = () => {
  51. var val = month.value -1;
  52. if(val < 0) {
  53. val = 11;
  54. year.value = year.value -1;
  55. }
  56. month.value = val;
  57. var monthValue1 = calendar.MONTH_NAMES[val];
  58. monthName.value = monthValue1;
  59.  
  60. calendar.update(table, year.value, month.value, selectedDate);
  61. };
  62. exports.selectDate = (item) => {
  63. //there has to be at least one date selected.
  64. selectedDate = item.data.date;
  65.  
  66. console.log("Selected Date: " + JSON.stringify(selectedDate));
  67.  
  68. calendar.update(table, year.value, month.value, selectedDate);
  69. }
  70.  
  71. exports.table = table;
  72. exports.year = year;
  73. exports.monthName = monthName;
  74. </JavaScript>
  75.  
  76. <StackPanel Width="80%" Alignment="Center">
  77. <StackPanel Orientation="Horizontal" Background="#eeeeee" Padding="4" ContentAlignment="Center">
  78. <Text Value="{monthName}" Alignment="Center" Margin="4"/>
  79. <Text Value="{year}" Alignment="Center" Margin="4"/>
  80. </StackPanel>
  81. <DockPanel Background="#eeeeee">
  82. <Panel Dock="Left" Margin="4" Clicked="{prevYear}">
  83. <Text Value="<<" Alignment="Center" />
  84. </Panel>
  85. <Panel Dock="Left" Margin="4" Clicked="{prevMonth}">
  86. <Text Value="<" Alignment="Center"/>
  87. </Panel>
  88. <Panel Dock="Right" Margin="4" Clicked="{nextYear}">
  89. <Text Value=">>" Alignment="Center"/>
  90. </Panel>
  91. <Panel Dock="Right" Margin="4" Clicked="{nextMonth}">
  92. <Text Value=">" Alignment="Center"/>
  93. </Panel>
  94.  
  95. <Panel Margin="4" Clicked="{jumpToToday}">
  96. <Text Value="Today" Alignment="Center" />
  97. </Panel>
  98. </DockPanel>
  99. <Each Items="{table}">
  100. <StackPanel>
  101. <Grid ColumnCount="7" Margin="0">
  102. <Each Items="{}">
  103. <WhileTrue Value="{isHeader}">
  104. <Panel Background="#999999" Margin="0" Padding="4">
  105. <Text Value="{title}" Alignment="Center"/>
  106. </Panel>
  107. </WhileTrue>
  108. <WhileFalse Value="{isHeader}" >
  109. <Panel Margin="0" Padding="4" Clicked="{selectDate}">
  110. <WhileTrue Value="{isSelected}">
  111.  
  112. <Circle Width="24" Height="24" Color="#0f0">
  113. <Stroke Width="1">
  114. <SolidColor Color="#040" />
  115. </Stroke>
  116. <Text Value="{title}" Alignment="Center"/>
  117. </Circle>
  118.  
  119. </WhileTrue>
  120. <WhileFalse Value="{isSelected}">
  121. <Text Value="{title}" Alignment="Center"/>
  122. </WhileFalse>
  123. </Panel>
  124. </WhileFalse>
  125.  
  126. </Each>
  127. </Grid>
  128. </StackPanel>
  129. </Each>
  130. </StackPanel>
  131. </Panel>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement