"use strict";

var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));

var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));

var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));

var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));

var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));

var _propTypes = _interopRequireDefault(require("prop-types"));

var _react = _interopRequireWildcard(require("react"));

var _LinkSet = _interopRequireDefault(require("./LinkSet"));

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

/*
 * Copyright (C) 2018 - present Instructure, Inc.
 *
 * This file is part of Canvas.
 *
 * Canvas is free software: you can redistribute it and/or modify it under
 * the terms of the GNU Affero General Public License as published by the Free
 * Software Foundation, version 3 of the License.
 *
 * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Affero General Public License along
 * with this program. If not, see <http://www.gnu.org/licenses/>.
 */
var NavigationPanel =
/*#__PURE__*/
function (_Component) {
  (0, _inherits2.default)(NavigationPanel, _Component);

  function NavigationPanel() {
    (0, _classCallCheck2.default)(this, NavigationPanel);
    return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(NavigationPanel).apply(this, arguments));
  }

  (0, _createClass2.default)(NavigationPanel, [{
    key: "collection",
    value: function collection() {
      var contextId = this.props.contextId;

      switch (this.props.contextType) {
        case "course":
          return {
            links: [{
              href: "/courses/".concat(contextId, "/assignments"),
              title: "Assignments"
            }, {
              href: "/courses/".concat(contextId, "/pages"),
              title: "Pages"
            }, {
              href: "/courses/".concat(contextId, "/discussion_topics"),
              title: "Discussions"
            }, {
              href: "/courses/".concat(contextId, "/assignments/syllabus"),
              title: "Syllabus"
            }, {
              href: "/courses/".concat(contextId, "/announcements"),
              title: "Announcements"
            }, {
              href: "/courses/".concat(contextId, "/quizzes"),
              title: "Quizzes"
            }, {
              href: "/courses/".concat(contextId, "/files"),
              title: "Files"
            }, {
              href: "/courses/".concat(contextId, "/collaborations"),
              title: "Collaborations"
            }, {
              href: "/courses/".concat(contextId, "/grades"),
              title: "Grades"
            }, {
              href: "/courses/".concat(contextId, "/users"),
              title: "People"
            }, {
              href: "/courses/".concat(contextId, "/modules"),
              title: "Modules"
            }]
          };

        case "group":
          return {
            links: [{
              href: "/groups/".concat(contextId, "/pages"),
              title: "Wiki Home"
            }, {
              href: "/groups/".concat(contextId, "/discussion_topics"),
              title: "Discussions Index"
            }, {
              href: "/groups/".concat(contextId, "/announcements"),
              title: "Announcement List"
            }, {
              href: "/groups/".concat(contextId, "/files"),
              title: "Files Index"
            }, {
              href: "/groups/".concat(contextId, "/collaborations"),
              title: "Collaborations"
            }, {
              href: "/groups/".concat(contextId, "/users"),
              title: "People"
            }]
          };

        default:
          // user, TODO
          return {
            links: [{
              href: "/users/".concat(contextId, "/files"),
              title: "Files Index"
            }]
          };
      }
    }
  }, {
    key: "render",
    value: function render() {
      return _react.default.createElement(_LinkSet.default, {
        collection: this.collection(),
        onLinkClick: this.props.onLinkClick
      });
    }
  }]);
  NavigationPanel.displayName = "NavigationPanel";
  return NavigationPanel;
}(_react.Component);

NavigationPanel.propTypes = {
  contextType: _propTypes.default.string.isRequired,
  contextId: _propTypes.default.string.isRequired,
  onLinkClick: _propTypes.default.func
};
var _default = NavigationPanel;
exports.default = _default;