| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- let labelColors;
 
- Meteor.startup(() => {
 
-   labelColors = Boards.simpleSchema()._schema['labels.$.color'].allowedValues;
 
- });
 
- BlazeComponent.extendComponent({
 
-   onCreated() {
 
-     this.currentColor = new ReactiveVar(this.data().color);
 
-   },
 
-   labels() {
 
-     return labelColors.map((color) => {
 
-       return { color, name: '' };
 
-     });
 
-   },
 
-   isSelected(color) {
 
-     return this.currentColor.get() === color;
 
-   },
 
-   events() {
 
-     return [{
 
-       'click .js-palette-color'() {
 
-         this.currentColor.set(this.currentData().color);
 
-       },
 
-     }];
 
-   },
 
- }).register('formLabel');
 
- Template.createLabelPopup.helpers({
 
-   // This is the default color for a new label. We search the first color that
 
-   // is not already used in the board (although it's not a problem if two
 
-   // labels have the same color).
 
-   defaultColor() {
 
-     const labels = Boards.findOne(Session.get('currentBoard')).labels;
 
-     const usedColors = _.pluck(labels, 'color');
 
-     const availableColors = _.difference(labelColors, usedColors);
 
-     return availableColors.length > 1 ? availableColors[0] : labelColors[0];
 
-   },
 
- });
 
- Template.cardLabelsPopup.events({
 
-   'click .js-select-label'(evt) {
 
-     const card = Cards.findOne(Session.get('currentCard'));
 
-     const labelId = this._id;
 
-     card.toggleLabel(labelId);
 
-     evt.preventDefault();
 
-   },
 
-   'click .js-edit-label': Popup.open('editLabel'),
 
-   'click .js-add-label': Popup.open('createLabel'),
 
- });
 
- Template.formLabel.events({
 
-   'click .js-palette-color'(evt) {
 
-     const $this = $(evt.currentTarget);
 
-     // hide selected ll colors
 
-     $('.js-palette-select').addClass('hide');
 
-     // show select color
 
-     $this.find('.js-palette-select').removeClass('hide');
 
-   },
 
- });
 
- Template.createLabelPopup.events({
 
-   // Create the new label
 
-   'submit .create-label'(evt, tpl) {
 
-     evt.preventDefault();
 
-     const board = Boards.findOne(Session.get('currentBoard'));
 
-     const name = tpl.$('#labelName').val().trim();
 
-     const color = Blaze.getData(tpl.find('.fa-check')).color;
 
-     board.addLabel(name, color);
 
-     Popup.back();
 
-   },
 
- });
 
- Template.editLabelPopup.events({
 
-   'click .js-delete-label': Popup.afterConfirm('deleteLabel', function() {
 
-     const board = Boards.findOne(Session.get('currentBoard'));
 
-     board.removeLabel(this._id);
 
-     Popup.back(2);
 
-   }),
 
-   'submit .edit-label'(evt, tpl) {
 
-     evt.preventDefault();
 
-     const board = Boards.findOne(Session.get('currentBoard'));
 
-     const name = tpl.$('#labelName').val().trim();
 
-     const color = Blaze.getData(tpl.find('.fa-check')).color;
 
-     board.editLabel(this._id, name, color);
 
-     Popup.back();
 
-   },
 
- });
 
- Template.cardLabelsPopup.helpers({
 
-   isLabelSelected(cardId) {
 
-     return _.contains(Cards.findOne(cardId).labelIds, this._id);
 
-   },
 
- });
 
 
  |