|  | @@ -16,12 +16,26 @@ BlazeComponent.extendComponent({
 | 
	
		
			
				|  |  |  }).register('customFieldsSidebar');
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const CreateCustomFieldPopup = BlazeComponent.extendComponent({
 | 
	
		
			
				|  |  | -  _types: ['text', 'number', 'date', 'dropdown'],
 | 
	
		
			
				|  |  | +  _types: ['text', 'number', 'date', 'dropdown', 'currency'],
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  _defaultCurrencySymbols: [
 | 
	
		
			
				|  |  | +    { symbol: '$' },
 | 
	
		
			
				|  |  | +    { symbol: '€' },
 | 
	
		
			
				|  |  | +    { symbol: '£' },
 | 
	
		
			
				|  |  | +    { symbol: '¥' },
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    onCreated() {
 | 
	
		
			
				|  |  |      this.type = new ReactiveVar(
 | 
	
		
			
				|  |  |        this.data().type ? this.data().type : this._types[0],
 | 
	
		
			
				|  |  |      );
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    this.currencySymbol = new ReactiveVar(
 | 
	
		
			
				|  |  | +      this.data().settings && this.data().settings.currencySymbol
 | 
	
		
			
				|  |  | +        ? this.data().settings.currencySymbol
 | 
	
		
			
				|  |  | +        : this._defaultCurrencySymbols[0].symbol,
 | 
	
		
			
				|  |  | +    );
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      this.dropdownItems = new ReactiveVar(
 | 
	
		
			
				|  |  |        this.data().settings && this.data().settings.dropdownItems
 | 
	
		
			
				|  |  |          ? this.data().settings.dropdownItems
 | 
	
	
		
			
				|  | @@ -44,6 +58,18 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
 | 
	
		
			
				|  |  |      return this.type.get() !== type;
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  getCurrencySymbols() {
 | 
	
		
			
				|  |  | +    const currentSymbol = this.currencySymbol.get();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return this._defaultCurrencySymbols.map(({ symbol }) => {
 | 
	
		
			
				|  |  | +      return {
 | 
	
		
			
				|  |  | +        name: symbol,
 | 
	
		
			
				|  |  | +        value: symbol,
 | 
	
		
			
				|  |  | +        selected: symbol === currentSymbol,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    getDropdownItems() {
 | 
	
		
			
				|  |  |      const items = this.dropdownItems.get();
 | 
	
		
			
				|  |  |      Array.from(this.findAll('.js-field-settings-dropdown input')).forEach(
 | 
	
	
		
			
				|  | @@ -62,6 +88,11 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
 | 
	
		
			
				|  |  |    getSettings() {
 | 
	
		
			
				|  |  |      const settings = {};
 | 
	
		
			
				|  |  |      switch (this.type.get()) {
 | 
	
		
			
				|  |  | +      case 'currency': {
 | 
	
		
			
				|  |  | +        const currencySymbol = this.currencySymbol.get();
 | 
	
		
			
				|  |  | +        settings.currencySymbol = currencySymbol;
 | 
	
		
			
				|  |  | +        break;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        case 'dropdown': {
 | 
	
		
			
				|  |  |          const dropdownItems = this.getDropdownItems().filter(
 | 
	
		
			
				|  |  |            item => !!item.name.trim(),
 | 
	
	
		
			
				|  | @@ -80,6 +111,10 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
 | 
	
		
			
				|  |  |            const value = evt.target.value;
 | 
	
		
			
				|  |  |            this.type.set(value);
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | +        'change .js-field-currency'(evt) {
 | 
	
		
			
				|  |  | +          const value = evt.target.value;
 | 
	
		
			
				|  |  | +          this.currencySymbol.set(value);
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  |          'keydown .js-dropdown-item.last'(evt) {
 | 
	
		
			
				|  |  |            if (evt.target.value.trim() && evt.keyCode === 13) {
 | 
	
		
			
				|  |  |              const items = this.getDropdownItems();
 |