'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.propsForBankEntryUnauthorizedEdit = exports.propsForStimulusBankEntryEditPrompt = exports.propsForItemBankEntryEditPrompt = exports.propsForBankEntryEditPrompt = exports.propsForBankEntryVersioningWrapper = exports.propsForStimulusVersioningWrapper = exports.propsForItemVersioningWrapper = undefined;

var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _partial = require('lodash/partial');

var _partial2 = _interopRequireDefault(_partial);

var _Text = require('@instructure/ui-elements/lib/components/Text');

var _Text2 = _interopRequireDefault(_Text);

var _formatMessage = require('../format-message');

var _formatMessage2 = _interopRequireDefault(_formatMessage);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var immutableItemDescription = _react2.default.createElement(
  _Text2.default,
  null,
  _react2.default.createElement(
    'b',
    null,
    'Vissa elever har redan l\xE4mnat in svar p\xE5 detta f\xF6rem\xE5l!'
  ),
  '\xA0',
  'Du kan ange dina \xE4ndringar till en kopia av det h\xE4r f\xF6rem\xE5let, vilket endast kommer att ses av elever som inte har utsatts f\xF6r bed\xF6mningen.'
);

var itemCopyDescription = _react2.default.createElement(
  _Text2.default,
  null,
  _react2.default.createElement(
    'b',
    null,
    'Redigera en kopia'
  ),
  '\xA0',
  'F\xF6rem\xE5lsstatistik fr\xE5n den h\xE4r nya kopian visas separat fr\xE5n den tidigare versionen av den h\xE4r fr\xE5gan.'
);

var immutableStimulusDescription = _react2.default.createElement(
  _Text2.default,
  null,
  _react2.default.createElement(
    'b',
    null,
    'Vissa elever har redan l\xE4mnat in svar p\xE5 denna stimulans!'
  ),
  '\xA0',
  'Du kan ange dina \xE4ndringar till en kopia av denna stimulans som endast kommer att ses av elever som inte har utsatts f\xF6r bed\xF6mningen. Bifogade f\xF6rem\xE5l kopieras ocks\xE5.'
);

var stimulusCopyDescription = _react2.default.createElement(
  _Text2.default,
  null,
  _react2.default.createElement(
    'b',
    null,
    'Redigera en kopia'
  ),
  '\xA0',
  'Statistik f\xF6r stmulans fr\xE5n den h\xE4r nya kopian visas separat fr\xE5n den tidigare versionen.'
);

var itemBankEntryEditDescription = _react2.default.createElement(
  _Text2.default,
  null,
  _react2.default.createElement(
    'b',
    null,
    'Bankade f\xF6rem\xE5l.'
  ),
  '\xA0',
  'Vissa alternativ och po\xE4ngv\xE4rden kan \xE4ndras h\xE4r, men redigeringen m\xE5ste ske inom banken.'
);

var stimulusBankEntryEditDescription = _react2.default.createElement(
  _Text2.default,
  { 'data-automation': 'sdk-editInBanks-warning' },
  _react2.default.createElement(
    'b',
    null,
    'Bankad stimulus'
  ),
  '\xA0',
  'Redigering av denna stimulans m\xE5ste ske inom banken.'
);

var bankEntryUnauthorizedEditDescription = _react2.default.createElement(
  _Text2.default,
  null,
  _react2.default.createElement(
    'b',
    null,
    'Bankade f\xF6rem\xE5l.'
  ),
  '\xA0',
  'Du \xE4r inte beh\xF6rig att redigera det h\xE4r f\xF6rem\xE5let.'
);

var archivedBankEntryDescription = _react2.default.createElement(
  _Text2.default,
  null,
  'Det h\xE4r objektet har tagits bort fr\xE5n artikelbanken. Eleverna ser det fortfarande vid framtida f\xF6rs\xF6k. F\xF6r att redigera, g\xF6r en kopia av objektet.'
);

var propsForVersioningWrapper = function propsForVersioningWrapper(copyDescription, immutableDescription, isImmutable, shouldClone, setShouldClone, switchOffEditing, isEditing) {
  var alertType = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 'warning';

  var defaultProps = {
    disableChildren: false,
    showAlert: false
  };
  if (!isEditing) return { showAlert: false };
  if (isImmutable && shouldClone) {
    Object.assign(defaultProps, {
      description: copyDescription,
      hideActions: true,
      showAlert: true
    });
  } else if (isImmutable) {
    Object.assign(defaultProps, {
      alertType: alertType,
      cancelActionCallback: switchOffEditing,
      defaultActionCallback: (0, _partial2.default)(setShouldClone, true),
      defaultActionText: 'Redigera en kopia',
      description: immutableDescription,
      disableChildren: true,
      showAlert: true
    });
  }
  return defaultProps;
};

var propsForItemVersioningWrapper = exports.propsForItemVersioningWrapper = function propsForItemVersioningWrapper() {
  for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
    args[_key] = arguments[_key];
  }

  return propsForVersioningWrapper.apply(undefined, [itemCopyDescription, immutableItemDescription].concat(args));
};

var propsForStimulusVersioningWrapper = exports.propsForStimulusVersioningWrapper = function propsForStimulusVersioningWrapper() {
  for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
    args[_key2] = arguments[_key2];
  }

  return propsForVersioningWrapper.apply(undefined, [stimulusCopyDescription, immutableStimulusDescription].concat(args));
};

var propsForBankEntryVersioningWrapper = exports.propsForBankEntryVersioningWrapper = function propsForBankEntryVersioningWrapper() {
  for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
    args[_key3] = arguments[_key3];
  }

  return propsForVersioningWrapper.apply(undefined, [itemCopyDescription, archivedBankEntryDescription].concat(args));
};

var propsForBankEntryEditPrompt = exports.propsForBankEntryEditPrompt = function propsForBankEntryEditPrompt(isEditing, switchOffEditing, defaultActionCallback, description) {
  if (!isEditing) return { showAlert: false };
  return {
    cancelActionCallback: switchOffEditing,
    disableChildren: true,
    description: description,
    defaultActionCallback: defaultActionCallback,
    defaultActionText: 'Redigera i bank',
    showAlert: true
  };
};

var propsForItemBankEntryEditPrompt = exports.propsForItemBankEntryEditPrompt = function propsForItemBankEntryEditPrompt() {
  for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
    args[_key4] = arguments[_key4];
  }

  return propsForBankEntryEditPrompt.apply(undefined, args.concat([itemBankEntryEditDescription]));
};

var propsForStimulusBankEntryEditPrompt = exports.propsForStimulusBankEntryEditPrompt = function propsForStimulusBankEntryEditPrompt() {
  for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
    args[_key5] = arguments[_key5];
  }

  return propsForBankEntryEditPrompt.apply(undefined, args.concat([stimulusBankEntryEditDescription]));
};

var propsForBankEntryUnauthorizedEdit = exports.propsForBankEntryUnauthorizedEdit = function propsForBankEntryUnauthorizedEdit(isEditing) {
  if (!isEditing) return { showAlert: false };
  return {
    alertType: 'warning',
    disableChildren: true,
    description: bankEntryUnauthorizedEditDescription,
    hideActions: true,
    showAlert: true
  };
};