Преглед изворни кода

Introducing third board view: calendar.
A dependency to rzymek:fullcalendar has also been added.

Nicu Tofan пре 7 година
родитељ
комит
226d25ca94

+ 1 - 0
.meteor/packages

@@ -84,3 +84,4 @@ accounts-password@1.5.0
 cfs:gridfs
 browser-policy
 eluck:accounts-lockout
+rzymek:fullcalendar

+ 2 - 0
.meteor/versions

@@ -103,6 +103,7 @@ mixmax:smart-disconnect@0.0.4
 mobile-status-bar@1.0.14
 modules@0.11.0
 modules-runtime@0.9.1
+momentjs:moment@2.8.4
 mongo@1.3.1
 mongo-dev-server@1.1.0
 mongo-id@1.0.6
@@ -139,6 +140,7 @@ reactive-var@1.0.11
 reload@1.1.11
 retry@1.0.9
 routepolicy@1.0.12
+rzymek:fullcalendar@3.8.0
 service-configuration@1.0.11
 session@1.1.7
 sha@1.0.9

+ 6 - 0
client/components/boards/boardBody.js

@@ -98,6 +98,12 @@ BlazeComponent.extendComponent({
     return (currentUser.profile.boardView === 'board-view-lists');
   },
 
+  isViewCalendar() {
+    const currentUser = Meteor.user();
+    if (!currentUser) return true;
+    return (currentUser.profile.boardView === 'board-view-cal');
+  },
+
   openNewListForm() {
     if (this.isViewSwimlanes()) {
       this.childComponents('swimlane')[0]

+ 3 - 1
client/components/boards/boardHeader.js

@@ -89,9 +89,11 @@ BlazeComponent.extendComponent({
       'click .js-toggle-board-view'() {
         const currentUser = Meteor.user();
         if (currentUser.profile.boardView === 'board-view-swimlanes') {
-          currentUser.setBoardView('board-view-lists');
+          currentUser.setBoardView('board-view-cal');
         } else if (currentUser.profile.boardView === 'board-view-lists') {
           currentUser.setBoardView('board-view-swimlanes');
+        } else if (currentUser.profile.boardView === 'board-view-cal') {
+          currentUser.setBoardView('board-view-lists');
         }
       },
       'click .js-open-filter-view'() {

+ 1 - 1
client/components/lists/listBody.js

@@ -45,7 +45,7 @@ BlazeComponent.extendComponent({
     const boardView = Meteor.user().profile.boardView;
     if (boardView === 'board-view-swimlanes')
       swimlaneId = this.parentComponent().parentComponent().data()._id;
-    else if (boardView === 'board-view-lists')
+    else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal'))
       swimlaneId = Swimlanes.findOne({boardId})._id;
 
     if (title) {

+ 2 - 0
client/components/swimlanes/swimlanes.js

@@ -7,6 +7,8 @@ function currentCardIsInThisList(listId, swimlaneId) {
     return currentCard && currentCard.listId === listId;
   else if (currentUser.profile.boardView === 'board-view-swimlanes')
     return currentCard && currentCard.listId === listId && currentCard.swimlaneId === swimlaneId;
+  else if (currentUser.profile.boardView === 'board-view-cal')
+    return currentCard;
   else
     return false;
 }

+ 1 - 0
i18n/en.i18n.json

@@ -100,6 +100,7 @@
     "boardMenuPopup-title": "Board Menu",
     "boards": "Boards",
     "board-view": "Board View",
+    "board-view-cal": "Calendar",
     "board-view-swimlanes": "Swimlanes",
     "board-view-lists": "Lists",
     "bucket-example": "Like “Bucket List” for example",

+ 5 - 0
models/users.js

@@ -100,6 +100,11 @@ Users.attachSchema(new SimpleSchema({
   'profile.boardView': {
     type: String,
     optional: true,
+    allowedValues: [
+      'board-view-lists',
+      'board-view-swimlanes',
+      'board-view-cal',
+    ],
   },
   services: {
     type: Object,