Source: products/argos-saleslogix/src/Views/LanguageOptions/Edit.js

import declare from 'dojo/_base/declare';
import _EditBase from 'argos/_EditBase';
import _RelatedWidgetEditMixin from 'argos/_RelatedViewWidgetEditMixin';
import Deferred from 'dojo/Deferred';
import getResource from 'argos/I18n';

const resource = getResource('languageOptionsEdit');

/**
 * @class crm.Views.OfflineOptions.Edit
 *
 * @extends argos.Edit
 *
 */
const __class = declare('crm.Views.LanguageOptions.Edit', [_EditBase, _RelatedWidgetEditMixin], {
  // Localization
  titleText: resource.titleText,
  // View Properties
  id: 'language_options_edit',
  createLayout: function createLayout() {
    return this.layout || (this.layout = [{
      relatedView: {
        widgetType: 'languageUsageWidget',
        id: 'language_usage_widget',
      },
    }]);
  },
  requestData: function requestData() {
    return this.getLanguageOptions().then((data) => {
      this._onGetComplete(data);
    }, (err) => {
      this._onGetError(null, err);
    });
  },
  getLanguageOptions: function getLanguageOptions() {
    const def = new Deferred();
    def.resolve({ });
    return def.promise;
  },
  onRefreshUpdate: function onRefreshUpdate() {
    this.requestData();
  },
  transitionAway: function transitionAway() {
    // force soho dropdown to close since they dont close on a button click elsewhere on UI
    $(this.relatedViewManagers
      .language_usage_widget
      .relatedViews
      .language_usage_widget_undefined
      ._regionDropdown
      .dropdownSelect).data('dropdown').close();
    $(this.relatedViewManagers
      .language_usage_widget
      .relatedViews
      .language_usage_widget_undefined
      ._languageDropdown
      .dropdownSelect).data('dropdown').close();
    this.inherited(arguments);
  },
});

export default __class;