@barchart/portfolio-api-common 1.2.77 → 1.2.81

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.
@@ -6,6 +6,7 @@ const array = require('@barchart/common-js/lang/array'),
6
6
  Decimal = require('@barchart/common-js/lang/Decimal'),
7
7
  DisposableStack = require('@barchart/common-js/collections/specialized/DisposableStack'),
8
8
  Event = require('@barchart/common-js/messaging/Event'),
9
+ is = require('@barchart/common-js/lang/is'),
9
10
  Rate = require('@barchart/common-js/lang/Rate'),
10
11
  Tree = require('@barchart/common-js/collections/Tree');
11
12
 
@@ -370,6 +371,12 @@ module.exports = (() => {
370
371
  return array.unique(symbols);
371
372
  }
372
373
 
374
+ /**
375
+ * Causes a position to be flagged as locked (for editing).
376
+ *
377
+ * @public
378
+ * @param {Object} position
379
+ */
373
380
  setPositionLock(position) {
374
381
  if (position) {
375
382
  assert.argumentIsRequired(position, 'position', Object);
@@ -378,9 +385,7 @@ module.exports = (() => {
378
385
  const item = this._items.find((i) => i.position.position === position.position);
379
386
 
380
387
  if (item) {
381
- const locked = is.object(position.system) && is.boolean(position.system.locked) && position.system.locked;
382
-
383
- item.setPositionLock(locked);
388
+ item.setPositionLock(PositionItem.getIsLocked(position));
384
389
  }
385
390
  }
386
391
  }
@@ -70,7 +70,7 @@ module.exports = (() => {
70
70
 
71
71
  this._data.newsExists = false;
72
72
  this._data.fundamental = { };
73
- this._data.locked = is.object(position.system) && is.boolean(position.system.locked) && position.system.locked;
73
+ this._data.locked = PositionItem.getIsLocked(position);
74
74
 
75
75
  calculateStaticData(this);
76
76
  calculatePriceData(this, null);
@@ -337,6 +337,19 @@ module.exports = (() => {
337
337
  this._positionItemDisposeEvent.clear();
338
338
  }
339
339
 
340
+ /**
341
+ * Given a position object, returns its lock (for editing) status.
342
+ *
343
+ * @public
344
+ * @param {Object{}} position
345
+ * @returns {Boolean}
346
+ */
347
+ static getIsLocked(position) {
348
+ assert.argumentIsRequired(position, 'position');
349
+
350
+ return is.object(position.system) && is.boolean(position.system.locked) && position.system.locked;
351
+ }
352
+
340
353
  toString() {
341
354
  return '[PositionItem]';
342
355
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barchart/portfolio-api-common",
3
- "version": "1.2.77",
3
+ "version": "1.2.81",
4
4
  "description": "Common classes used by the Portfolio system",
5
5
  "author": {
6
6
  "name": "Bryan Ingle",
@@ -1385,6 +1385,7 @@ const array = require('@barchart/common-js/lang/array'),
1385
1385
  Decimal = require('@barchart/common-js/lang/Decimal'),
1386
1386
  DisposableStack = require('@barchart/common-js/collections/specialized/DisposableStack'),
1387
1387
  Event = require('@barchart/common-js/messaging/Event'),
1388
+ is = require('@barchart/common-js/lang/is'),
1388
1389
  Rate = require('@barchart/common-js/lang/Rate'),
1389
1390
  Tree = require('@barchart/common-js/collections/Tree');
1390
1391
 
@@ -1749,6 +1750,12 @@ module.exports = (() => {
1749
1750
  return array.unique(symbols);
1750
1751
  }
1751
1752
 
1753
+ /**
1754
+ * Causes a position to be flagged as locked (for editing).
1755
+ *
1756
+ * @public
1757
+ * @param {Object} position
1758
+ */
1752
1759
  setPositionLock(position) {
1753
1760
  if (position) {
1754
1761
  assert.argumentIsRequired(position, 'position', Object);
@@ -1757,9 +1764,7 @@ module.exports = (() => {
1757
1764
  const item = this._items.find((i) => i.position.position === position.position);
1758
1765
 
1759
1766
  if (item) {
1760
- const locked = is.object(position.system) && is.boolean(position.system.locked) && position.system.locked;
1761
-
1762
- item.setPositionLock(locked);
1767
+ item.setPositionLock(PositionItem.getIsLocked(position));
1763
1768
  }
1764
1769
  }
1765
1770
  }
@@ -2335,7 +2340,7 @@ module.exports = (() => {
2335
2340
  return PositionContainer;
2336
2341
  })();
2337
2342
 
2338
- },{"./../data/PositionSummaryFrame":3,"./PositionGroup":7,"./PositionItem":8,"./definitions/PositionLevelDefinition":9,"./definitions/PositionLevelType":10,"./definitions/PositionTreeDefinition":11,"@barchart/common-js/collections/Tree":15,"@barchart/common-js/collections/sorting/ComparatorBuilder":16,"@barchart/common-js/collections/sorting/comparators":17,"@barchart/common-js/collections/specialized/DisposableStack":18,"@barchart/common-js/lang/Currency":20,"@barchart/common-js/lang/Decimal":22,"@barchart/common-js/lang/Rate":26,"@barchart/common-js/lang/array":28,"@barchart/common-js/lang/assert":29,"@barchart/common-js/messaging/Event":35}],7:[function(require,module,exports){
2343
+ },{"./../data/PositionSummaryFrame":3,"./PositionGroup":7,"./PositionItem":8,"./definitions/PositionLevelDefinition":9,"./definitions/PositionLevelType":10,"./definitions/PositionTreeDefinition":11,"@barchart/common-js/collections/Tree":15,"@barchart/common-js/collections/sorting/ComparatorBuilder":16,"@barchart/common-js/collections/sorting/comparators":17,"@barchart/common-js/collections/specialized/DisposableStack":18,"@barchart/common-js/lang/Currency":20,"@barchart/common-js/lang/Decimal":22,"@barchart/common-js/lang/Rate":26,"@barchart/common-js/lang/array":28,"@barchart/common-js/lang/assert":29,"@barchart/common-js/lang/is":33,"@barchart/common-js/messaging/Event":35}],7:[function(require,module,exports){
2339
2344
  const array = require('@barchart/common-js/lang/array'),
2340
2345
  assert = require('@barchart/common-js/lang/assert'),
2341
2346
  Currency = require('@barchart/common-js/lang/Currency'),
@@ -3277,7 +3282,7 @@ module.exports = (() => {
3277
3282
 
3278
3283
  this._data.newsExists = false;
3279
3284
  this._data.fundamental = { };
3280
- this._data.locked = is.object(position.system) && is.boolean(position.system.locked) && position.system.locked;
3285
+ this._data.locked = PositionItem.getIsLocked(position);
3281
3286
 
3282
3287
  calculateStaticData(this);
3283
3288
  calculatePriceData(this, null);
@@ -3544,6 +3549,19 @@ module.exports = (() => {
3544
3549
  this._positionItemDisposeEvent.clear();
3545
3550
  }
3546
3551
 
3552
+ /**
3553
+ * Given a position object, returns its lock (for editing) status.
3554
+ *
3555
+ * @public
3556
+ * @param {Object{}} position
3557
+ * @returns {Boolean}
3558
+ */
3559
+ static getIsLocked(position) {
3560
+ assert.argumentIsRequired(position, 'position');
3561
+
3562
+ return is.object(position.system) && is.boolean(position.system.locked) && position.system.locked;
3563
+ }
3564
+
3547
3565
  toString() {
3548
3566
  return '[PositionItem]';
3549
3567
  }