| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | 
							- import Attachments, { fileStoreStrategyFactory } from '/models/attachments';
 
- BlazeComponent.extendComponent({
 
-   subscription: null,
 
-   showMoveAttachments: new ReactiveVar(false),
 
-   sessionId: null,
 
-   onCreated() {
 
-     this.error = new ReactiveVar('');
 
-     this.loading = new ReactiveVar(false);
 
-   },
 
-   events() {
 
-     return [
 
-       {
 
-         'click a.js-move-attachments': this.switchMenu,
 
-       },
 
-     ];
 
-   },
 
-   switchMenu(event) {
 
-     const target = $(event.target);
 
-     if (!target.hasClass('active')) {
 
-       this.loading.set(true);
 
-       this.showMoveAttachments.set(false);
 
-       if (this.subscription) {
 
-         this.subscription.stop();
 
-       }
 
-       $('.side-menu li.active').removeClass('active');
 
-       target.parent().addClass('active');
 
-       const targetID = target.data('id');
 
-       if ('move-attachments' === targetID) {
 
-         this.showMoveAttachments.set(true);
 
-         this.subscription = Meteor.subscribe('attachmentsList', () => {
 
-           this.loading.set(false);
 
-         });
 
-       }
 
-     }
 
-   },
 
- }).register('attachments');
 
- BlazeComponent.extendComponent({
 
-   getBoardsWithAttachments() {
 
-     this.attachments = Attachments.find().get();
 
-     this.attachmentsByBoardId = _.chain(this.attachments)
 
-       .groupBy(fileObj => fileObj.meta.boardId)
 
-       .value();
 
-     const ret = Object.keys(this.attachmentsByBoardId)
 
-       .map(boardId => {
 
-         const boardAttachments = this.attachmentsByBoardId[boardId];
 
-         _.each(boardAttachments, _attachment => {
 
-           _attachment.flatVersion = Object.keys(_attachment.versions)
 
-             .map(_versionName => {
 
-               const _version = Object.assign(_attachment.versions[_versionName], {"versionName": _versionName});
 
-               _version.storageName = fileStoreStrategyFactory.getFileStrategy(_attachment, _versionName).getStorageName();
 
-               return _version;
 
-             });
 
-         });
 
-         const board = Boards.findOne(boardId);
 
-         board.attachments = boardAttachments;
 
-         return board;
 
-       })
 
-     return ret;
 
-   },
 
-   getBoardData(boardid) {
 
-     const ret = Boards.findOne(boardId);
 
-     return ret;
 
-   },
 
-   events() {
 
-     return [
 
-       {
 
-         'click button.js-move-all-attachments-to-fs'(event) {
 
-           this.attachments.forEach(_attachment => {
 
-             Meteor.call('moveAttachmentToStorage', _attachment._id, "fs");
 
-           });
 
-         },
 
-         'click button.js-move-all-attachments-to-gridfs'(event) {
 
-           this.attachments.forEach(_attachment => {
 
-             Meteor.call('moveAttachmentToStorage', _attachment._id, "gridfs");
 
-           });
 
-         },
 
-       }
 
-     ]
 
-   }
 
- }).register('moveAttachments');
 
- BlazeComponent.extendComponent({
 
-   events() {
 
-     return [
 
-       {
 
-         'click button.js-move-all-attachments-of-board-to-fs'(event) {
 
-           this.data().attachments.forEach(_attachment => {
 
-             Meteor.call('moveAttachmentToStorage', _attachment._id, "fs");
 
-           });
 
-         },
 
-         'click button.js-move-all-attachments-of-board-to-gridfs'(event) {
 
-           this.data().attachments.forEach(_attachment => {
 
-             Meteor.call('moveAttachmentToStorage', _attachment._id, "gridfs");
 
-           });
 
-         },
 
-       }
 
-     ]
 
-   },
 
- }).register('moveBoardAttachments');
 
- BlazeComponent.extendComponent({
 
-   events() {
 
-     return [
 
-       {
 
-         'click button.js-move-storage-fs'(event) {
 
-           Meteor.call('moveAttachmentToStorage', this.data()._id, "fs");
 
-         },
 
-         'click button.js-move-storage-gridfs'(event) {
 
-           Meteor.call('moveAttachmentToStorage', this.data()._id, "gridfs");
 
-         },
 
-       }
 
-     ]
 
-   },
 
- }).register('moveAttachment');
 
 
  |