12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- Template.cardCustomFieldsPopup.helpers({
- hasCustomField() {
- const card = Cards.findOne(Session.get('currentCard'));
- const customFieldId = this._id;
- return card.customFieldIndex(customFieldId) > -1;
- },
- });
- Template.cardCustomFieldsPopup.events({
- 'click .js-select-field'(evt) {
- const card = Cards.findOne(Session.get('currentCard'));
- const customFieldId = this._id;
- card.toggleCustomField(customFieldId);
- evt.preventDefault();
- },
- 'click .js-settings'(evt) {
- EscapeActions.executeUpTo('detailsPane');
- Sidebar.setView('customFields');
- evt.preventDefault();
- }
- });
- const CardCustomField = BlazeComponent.extendComponent({
- getTemplate() {
- return 'cardCustomField-' + this.data().definition.type;
- },
- onCreated() {
- const self = this;
- },
- canModifyCard() {
- return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
- },
- });
- CardCustomField.register('cardCustomField');
- (class extends CardCustomField {
- onCreated() {
- }
- events() {
- return [{
- 'submit .js-card-customfield-text'(evt) {
- evt.preventDefault();
- const card = Cards.findOne(Session.get('currentCard'));
- const customFieldId = this.data()._id;
- const value = this.currentComponent().getValue();
- card.setCustomField(customFieldId,value);
- },
- }];
- }
- }).register('cardCustomField-text');
- (class extends CardCustomField {
- onCreated() {
- this._items = this.data().definition.settings.dropdownItems;
- this.items = this._items.slice(0);
- this.items.unshift({
- _id: "",
- name: TAPi18n.__('custom-field-dropdown-none')
- });
- }
- selectedItem() {
- const selected = this._items.find((item) => {
- return item._id == this.data().value;
- });
- return (selected) ? selected.name : TAPi18n.__('custom-field-dropdown-unknown');
- }
- events() {
- return [{
- 'submit .js-card-customfield-dropdown'(evt) {
- evt.preventDefault();
- const card = Cards.findOne(Session.get('currentCard'));
- const customFieldId = this.data()._id;
- const value = this.find('select').value;
- card.setCustomField(customFieldId,value);
- },
- }];
- }
- }).register('cardCustomField-dropdown');
|