@mjhls/mjh-framework 1.0.127 → 1.0.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -31,6 +31,8 @@ var NavDropdown = _interopDefault(require('react-bootstrap/NavDropdown'));
31
31
  var Pagination = _interopDefault(require('react-bootstrap/Pagination'));
32
32
  var Carousel = _interopDefault(require('react-bootstrap/Carousel'));
33
33
  var Breadcrumb = _interopDefault(require('react-bootstrap/Breadcrumb'));
34
+ var DropdownButton = _interopDefault(require('react-bootstrap/DropdownButton'));
35
+ var Dropdown = _interopDefault(require('react-bootstrap/Dropdown'));
34
36
 
35
37
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
36
38
 
@@ -9165,35 +9167,6 @@ var main_47 = main.osName;
9165
9167
  var main_48 = main.osVersion;
9166
9168
  var main_49 = main.withOrientationChange;
9167
9169
 
9168
- var asyncToGenerator = function (fn) {
9169
- return function () {
9170
- var gen = fn.apply(this, arguments);
9171
- return new Promise(function (resolve, reject) {
9172
- function step(key, arg) {
9173
- try {
9174
- var info = gen[key](arg);
9175
- var value = info.value;
9176
- } catch (error) {
9177
- reject(error);
9178
- return;
9179
- }
9180
-
9181
- if (info.done) {
9182
- resolve(value);
9183
- } else {
9184
- return Promise.resolve(value).then(function (value) {
9185
- step("next", value);
9186
- }, function (err) {
9187
- step("throw", err);
9188
- });
9189
- }
9190
- }
9191
-
9192
- return step("next");
9193
- });
9194
- };
9195
- };
9196
-
9197
9170
  var classCallCheck = function (instance, Constructor) {
9198
9171
  if (!(instance instanceof Constructor)) {
9199
9172
  throw new TypeError("Cannot call a class as a function");
@@ -12721,35 +12694,38 @@ var MasterDeck = function (_React$Component) {
12721
12694
  to: to + per
12722
12695
  };
12723
12696
  }, _this.loadData);
12724
- }, 0), _this.loadData = asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
12725
- var _this$state, from, to, data, query, page, _this$props, client, dataHandler, params;
12726
-
12727
- return regeneratorRuntime.wrap(function _callee$(_context) {
12728
- while (1) {
12729
- switch (_context.prev = _context.next) {
12730
- case 0:
12731
- _this$state = _this.state, from = _this$state.from, to = _this$state.to, data = _this$state.data, query = _this$state.query, page = _this$state.page;
12732
- _this$props = _this.props, client = _this$props.client, dataHandler = _this$props.dataHandler;
12733
- params = _extends({}, _this.params, { from: from, to: to });
12697
+ }, 0), _this.loadData = function () {
12698
+ var _this$state = _this.state,
12699
+ from = _this$state.from,
12700
+ to = _this$state.to,
12701
+ data = _this$state.data,
12702
+ query = _this$state.query,
12703
+ page = _this$state.page;
12704
+ var _this$props = _this.props,
12705
+ client = _this$props.client,
12706
+ dataHandler = _this$props.dataHandler;
12734
12707
 
12735
12708
 
12736
- if (dataHandler) {
12737
- dataHandler.then(function (dataArr) {
12738
- loadDataFinished(data, dataArr, page);
12739
- });
12740
- } else {
12741
- client.fetch(query, params).then(function (dataArr) {
12742
- loadDataFinished(data, dataArr, page);
12743
- });
12744
- }
12709
+ var params = _extends({}, _this.params, { from: from, to: to });
12745
12710
 
12746
- case 4:
12747
- case 'end':
12748
- return _context.stop();
12711
+ if (dataHandler) {
12712
+ var dataHandlerPromise = new Promise(function (resolve, reject) {
12713
+ try {
12714
+ var result = dataHandler(params);
12715
+ resolve(result);
12716
+ } catch (e) {
12717
+ reject(e);
12749
12718
  }
12750
- }
12751
- }, _callee, _this2);
12752
- })), _this.loadDataFinished = function (data, dataArr, page) {
12719
+ });
12720
+ dataHandlerPromise.then(function (dataArr) {
12721
+ _this.loadDataFinished(data, dataArr, page);
12722
+ });
12723
+ } else {
12724
+ client.fetch(query, params).then(function (dataArr) {
12725
+ _this.loadDataFinished(data, dataArr, page);
12726
+ });
12727
+ }
12728
+ }, _this.loadDataFinished = function (data, dataArr, page) {
12753
12729
  if (_this.pointer && _this.pointerArray) {
12754
12730
  var pointer = _this.pointer;
12755
12731
  dataArr = dataArr[_this.pointerArray][pointer];
@@ -26593,6 +26569,65 @@ var PdfDownload = function PdfDownload(props) {
26593
26569
  );
26594
26570
  };
26595
26571
 
26572
+ var RelatedTopicsDropdown = function RelatedTopicsDropdown(_ref) {
26573
+ var parentTaxonomy = _ref.parentTaxonomy,
26574
+ subTaxonomies = _ref.subTaxonomies,
26575
+ _ref$page = _ref.page,
26576
+ page = _ref$page === undefined ? '/' : _ref$page,
26577
+ _ref$exclude = _ref.exclude,
26578
+ exclude = _ref$exclude === undefined ? 'clinical' : _ref$exclude,
26579
+ _ref$variant = _ref.variant,
26580
+ variant = _ref$variant === undefined ? 'primary' : _ref$variant,
26581
+ _ref$className = _ref.className,
26582
+ className = _ref$className === undefined ? '' : _ref$className;
26583
+
26584
+ /*
26585
+ Props accepted - parentTaxonomy(required, object), subTaxonomy(required, array), page(optional), exclude(optional), variant(optional), className(optional)
26586
+ example:
26587
+ <RelatedTopicDropdown
26588
+ page='/clinical'
26589
+ exclude="clinical"
26590
+ className='mb-3'
26591
+ parentTaxonomy={props.parentTaxonomy}
26592
+ subTaxonomies={props.subTaxonomies}
26593
+ />
26594
+ */
26595
+ if (subTaxonomies.length === 0) {
26596
+ if (parentTaxonomy.identifier == exclude) {
26597
+ return '';
26598
+ }
26599
+ return React__default.createElement(
26600
+ 'div',
26601
+ { id: 'related_dropdown', className: className },
26602
+ React__default.createElement(
26603
+ DropdownButton,
26604
+ { id: 'related_button', variant: variant, title: 'Related Topics' },
26605
+ React__default.createElement(
26606
+ Dropdown.Item,
26607
+ { href: parentTaxonomy.identifier },
26608
+ parentTaxonomy.name
26609
+ )
26610
+ )
26611
+ );
26612
+ } else {
26613
+ return React__default.createElement(
26614
+ 'div',
26615
+ { id: 'related_dropdown', className: className },
26616
+ React__default.createElement(
26617
+ DropdownButton,
26618
+ { id: 'related_button', variant: variant, title: 'Related Topics' },
26619
+ subTaxonomies.length > 0 && subTaxonomies.map(function (taxonomy, index) {
26620
+ return React__default.createElement(
26621
+ Dropdown.Item,
26622
+ { key: index, href: page + '/' + taxonomy.identifier },
26623
+ taxonomy.name
26624
+ );
26625
+ })
26626
+ )
26627
+ );
26628
+ }
26629
+ };
26630
+
26596
26631
  exports.DeckContent = ContentCard;
26597
26632
  exports.GridContent = GridContent$1;
26598
26633
  exports.DeckQueue = Queue;
@@ -26632,4 +26667,5 @@ exports.SetCookie = SetCookie;
26632
26667
  exports.Hero = Hero;
26633
26668
  exports.AlphabeticList = AlphabeticList;
26634
26669
  exports.PdfDownload = PdfDownload;
26670
+ exports.RelatedTopicsDropdown = RelatedTopicsDropdown;
26635
26671
  //# sourceMappingURL=index.js.map