|
@@ -313,6 +313,8 @@ Template.membersWidget.events({
|
|
|
'click .js-member': Popup.open('member'),
|
|
|
'click .js-open-board-menu': Popup.open('boardMenu'),
|
|
|
'click .js-manage-board-members': Popup.open('addMember'),
|
|
|
+ 'click .js-manage-board-addOrg': Popup.open('addBoardOrg'),
|
|
|
+ 'click .js-manage-board-addTeam': Popup.open('addBoardTeam'),
|
|
|
'click .js-import': Popup.open('boardImportBoard'),
|
|
|
submit: this.onSubmit,
|
|
|
'click .js-import-board': Popup.open('chooseBoardSource'),
|
|
@@ -1168,6 +1170,283 @@ BlazeComponent.extendComponent({
|
|
|
},
|
|
|
}).register('addMemberPopup');
|
|
|
|
|
|
+BlazeComponent.extendComponent({
|
|
|
+ onCreated() {
|
|
|
+ this.error = new ReactiveVar('');
|
|
|
+ this.loading = new ReactiveVar(false);
|
|
|
+ this.findOrgsOptions = new ReactiveVar({});
|
|
|
+
|
|
|
+ this.page = new ReactiveVar(1);
|
|
|
+ this.autorun(() => {
|
|
|
+ const limitOrgs = this.page.get() * Number.MAX_SAFE_INTEGER;
|
|
|
+ this.subscribe('org', this.findOrgsOptions.get(), limitOrgs, () => {});
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ onRendered() {
|
|
|
+ this.setLoading(false);
|
|
|
+ },
|
|
|
+
|
|
|
+ setError(error) {
|
|
|
+ this.error.set(error);
|
|
|
+ },
|
|
|
+
|
|
|
+ setLoading(w) {
|
|
|
+ this.loading.set(w);
|
|
|
+ },
|
|
|
+
|
|
|
+ isLoading() {
|
|
|
+ return this.loading.get();
|
|
|
+ },
|
|
|
+
|
|
|
+ events() {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ 'keyup input'() {
|
|
|
+ this.setError('');
|
|
|
+ },
|
|
|
+ 'change #jsBoardOrgs'() {
|
|
|
+ let currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
|
+ let selectElt = document.getElementById("jsBoardOrgs");
|
|
|
+ let selectedOrgId = selectElt.options[selectElt.selectedIndex].value;
|
|
|
+ let selectedOrgDisplayName = selectElt.options[selectElt.selectedIndex].text;
|
|
|
+ let boardOrganizations = [];
|
|
|
+ if(currentBoard.orgs !== undefined){
|
|
|
+ for(let i = 0; i < currentBoard.orgs.length; i++){
|
|
|
+ boardOrganizations.push(currentBoard.orgs[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!boardOrganizations.some((org) => org.orgDisplayName == selectedOrgDisplayName)){
|
|
|
+ boardOrganizations.push({
|
|
|
+ "orgId": selectedOrgId,
|
|
|
+ "orgDisplayName": selectedOrgDisplayName,
|
|
|
+ "isActive" : true,
|
|
|
+ })
|
|
|
+
|
|
|
+ if (selectedOrgId != "-1") {
|
|
|
+ Meteor.call('setBoardOrgs', boardOrganizations, currentBoard._id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Popup.close();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ },
|
|
|
+}).register('addBoardOrgPopup');
|
|
|
+
|
|
|
+Template.addBoardOrgPopup.helpers({
|
|
|
+ orgsDatas() {
|
|
|
+ // return Org.find({}, {sort: { createdAt: -1 }});
|
|
|
+ let orgs = Org.find({}, {sort: { createdAt: -1 }});
|
|
|
+ return orgs;
|
|
|
+ },
|
|
|
+});
|
|
|
+
|
|
|
+BlazeComponent.extendComponent({
|
|
|
+ onCreated() {
|
|
|
+ this.error = new ReactiveVar('');
|
|
|
+ this.loading = new ReactiveVar(false);
|
|
|
+ this.findOrgsOptions = new ReactiveVar({});
|
|
|
+
|
|
|
+ this.page = new ReactiveVar(1);
|
|
|
+ this.autorun(() => {
|
|
|
+ const limitOrgs = this.page.get() * Number.MAX_SAFE_INTEGER;
|
|
|
+ this.subscribe('org', this.findOrgsOptions.get(), limitOrgs, () => {});
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ onRendered() {
|
|
|
+ this.setLoading(false);
|
|
|
+ },
|
|
|
+
|
|
|
+ setError(error) {
|
|
|
+ this.error.set(error);
|
|
|
+ },
|
|
|
+
|
|
|
+ setLoading(w) {
|
|
|
+ this.loading.set(w);
|
|
|
+ },
|
|
|
+
|
|
|
+ isLoading() {
|
|
|
+ return this.loading.get();
|
|
|
+ },
|
|
|
+
|
|
|
+ events() {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ 'keyup input'() {
|
|
|
+ this.setError('');
|
|
|
+ },
|
|
|
+ 'click #leaveBoardBtn'(){
|
|
|
+ let stringOrgId = document.getElementById('hideOrgId').value;
|
|
|
+ let currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
|
+ let boardOrganizations = [];
|
|
|
+ if(currentBoard.orgs !== undefined){
|
|
|
+ for(let i = 0; i < currentBoard.orgs.length; i++){
|
|
|
+ if(currentBoard.orgs[i].orgId != stringOrgId){
|
|
|
+ boardOrganizations.push(currentBoard.orgs[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Meteor.call('setBoardOrgs', boardOrganizations, currentBoard._id);
|
|
|
+
|
|
|
+ Popup.close();
|
|
|
+ },
|
|
|
+ 'click #cancelLeaveBoardBtn'(){
|
|
|
+ Popup.close();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ },
|
|
|
+}).register('removeBoardOrgPopup');
|
|
|
+
|
|
|
+Template.removeBoardOrgPopup.helpers({
|
|
|
+ org() {
|
|
|
+ return Org.findOne(this.orgId);
|
|
|
+ },
|
|
|
+});
|
|
|
+
|
|
|
+BlazeComponent.extendComponent({
|
|
|
+ onCreated() {
|
|
|
+ this.error = new ReactiveVar('');
|
|
|
+ this.loading = new ReactiveVar(false);
|
|
|
+ this.findOrgsOptions = new ReactiveVar({});
|
|
|
+
|
|
|
+ this.page = new ReactiveVar(1);
|
|
|
+ this.autorun(() => {
|
|
|
+ const limitTeams = this.page.get() * Number.MAX_SAFE_INTEGER;
|
|
|
+ this.subscribe('team', this.findOrgsOptions.get(), limitTeams, () => {});
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ onRendered() {
|
|
|
+ this.setLoading(false);
|
|
|
+ },
|
|
|
+
|
|
|
+ setError(error) {
|
|
|
+ this.error.set(error);
|
|
|
+ },
|
|
|
+
|
|
|
+ setLoading(w) {
|
|
|
+ this.loading.set(w);
|
|
|
+ },
|
|
|
+
|
|
|
+ isLoading() {
|
|
|
+ return this.loading.get();
|
|
|
+ },
|
|
|
+
|
|
|
+ events() {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ 'keyup input'() {
|
|
|
+ this.setError('');
|
|
|
+ },
|
|
|
+ 'change #jsBoardTeams'() {
|
|
|
+ let currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
|
+ let selectElt = document.getElementById("jsBoardTeams");
|
|
|
+ let selectedTeamId = selectElt.options[selectElt.selectedIndex].value;
|
|
|
+ let selectedTeamDisplayName = selectElt.options[selectElt.selectedIndex].text;
|
|
|
+ let boardTeams = [];
|
|
|
+ if(currentBoard.teams !== undefined){
|
|
|
+ for(let i = 0; i < currentBoard.teams.length; i++){
|
|
|
+ boardTeams.push(currentBoard.teams[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!boardTeams.some((team) => team.teamDisplayName == selectedTeamDisplayName)){
|
|
|
+ boardTeams.push({
|
|
|
+ "teamId": selectedTeamId,
|
|
|
+ "teamDisplayName": selectedTeamDisplayName,
|
|
|
+ "isActive" : true,
|
|
|
+ })
|
|
|
+
|
|
|
+ if (selectedTeamId != "-1") {
|
|
|
+ Meteor.call('setBoardTeams', boardTeams, currentBoard._id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Popup.close();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ },
|
|
|
+}).register('addBoardTeamPopup');
|
|
|
+
|
|
|
+Template.addBoardTeamPopup.helpers({
|
|
|
+ teamsDatas() {
|
|
|
+ let teams = Team.find({}, {sort: { createdAt: -1 }});
|
|
|
+ return teams;
|
|
|
+ },
|
|
|
+});
|
|
|
+
|
|
|
+BlazeComponent.extendComponent({
|
|
|
+ onCreated() {
|
|
|
+ this.error = new ReactiveVar('');
|
|
|
+ this.loading = new ReactiveVar(false);
|
|
|
+ this.findOrgsOptions = new ReactiveVar({});
|
|
|
+
|
|
|
+ this.page = new ReactiveVar(1);
|
|
|
+ this.autorun(() => {
|
|
|
+ const limitTeams = this.page.get() * Number.MAX_SAFE_INTEGER;
|
|
|
+ this.subscribe('team', this.findOrgsOptions.get(), limitTeams, () => {});
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ onRendered() {
|
|
|
+ this.setLoading(false);
|
|
|
+ },
|
|
|
+
|
|
|
+ setError(error) {
|
|
|
+ this.error.set(error);
|
|
|
+ },
|
|
|
+
|
|
|
+ setLoading(w) {
|
|
|
+ this.loading.set(w);
|
|
|
+ },
|
|
|
+
|
|
|
+ isLoading() {
|
|
|
+ return this.loading.get();
|
|
|
+ },
|
|
|
+
|
|
|
+ events() {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ 'keyup input'() {
|
|
|
+ this.setError('');
|
|
|
+ },
|
|
|
+ 'click #leaveBoardTeamBtn'(){
|
|
|
+ let stringTeamId = document.getElementById('hideTeamId').value;
|
|
|
+ let currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
|
+ let boardTeams = [];
|
|
|
+ if(currentBoard.teams !== undefined){
|
|
|
+ for(let i = 0; i < currentBoard.teams.length; i++){
|
|
|
+ if(currentBoard.teams[i].teamId != stringTeamId){
|
|
|
+ boardTeams.push(currentBoard.teams[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Meteor.call('setBoardTeams', boardTeams, currentBoard._id);
|
|
|
+
|
|
|
+ Popup.close();
|
|
|
+ },
|
|
|
+ 'click #cancelLeaveBoardTeamBtn'(){
|
|
|
+ Popup.close();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ },
|
|
|
+}).register('removeBoardTeamPopup');
|
|
|
+
|
|
|
+Template.removeBoardTeamPopup.helpers({
|
|
|
+ team() {
|
|
|
+ return Team.findOne(this.teamId);
|
|
|
+ },
|
|
|
+});
|
|
|
+
|
|
|
Template.changePermissionsPopup.events({
|
|
|
'click .js-set-admin, click .js-set-normal, click .js-set-no-comments, click .js-set-comment-only, click .js-set-worker'(
|
|
|
event,
|