AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.116.62.101
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/js/sale/barcode/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/js/sale/barcode/dist/barcode.bundle.js
this.BX = this.BX || {};
this.BX.Sale = this.BX.Sale || {};
(function (exports,main_core) {
	'use strict';

	/**
	 * Check if barcode exist
	 */
	var Checker = /*#__PURE__*/function () {
	  function Checker() {
	    babelHelpers.classCallCheck(this, Checker);
	  }

	  babelHelpers.createClass(Checker, null, [{
	    key: "isBarcodeExist",

	    /**
	     * @param {string} barcode
	     * @param {integer} basketId
	     * @param {integer} orderId
	     * @param {integer} storeId
	     * @returns {Promise<T>}
	     */
	    value: function isBarcodeExist(barcode, basketId, orderId, storeId) {
	      return BX.ajax.runAction('sale.barcode.isBarcodeExist', {
	        data: {
	          barcode: barcode,
	          basketId: basketId,
	          orderId: orderId,
	          storeId: storeId
	        }
	      }).then( // Success
	      function (response) {
	        if (response.data && typeof response.data.RESULT !== 'undefined') {
	          return response.data.RESULT;
	        }

	        throw new Error('Result is unknown');
	      });
	    }
	  }]);
	  return Checker;
	}();

	function _templateObject2() {
	  var data = babelHelpers.taggedTemplateLiteral(["<div class=\"sale-order-shipment-barcode\">", "</div>"]);

	  _templateObject2 = function _templateObject2() {
	    return data;
	  };

	  return data;
	}

	function _templateObject() {
	  var data = babelHelpers.taggedTemplateLiteral(["<input type=\"text\" onchange=\"", "\"", ">"]);

	  _templateObject = function _templateObject() {
	    return data;
	  };

	  return data;
	}

	var Barcode = /*#__PURE__*/function () {
	  function Barcode(props) {
	    babelHelpers.classCallCheck(this, Barcode);
	    this._id = props.id || 0;
	    this._value = props.value || '';
	    this._readonly = props.readonly;
	    this._node = null;
	    this._inputNode = null;
	    this._isExist = null;
	    this._eventEmitter = new main_core.Event.EventEmitter();
	  }

	  babelHelpers.createClass(Barcode, [{
	    key: "render",
	    value: function render() {
	      var readonly = this._readonly ? ' readonly="readonly"' : '';
	      this._inputNode = main_core.Tag.render(_templateObject(), this.onChange.bind(this), readonly);
	      this._inputNode.value = this._value;
	      this._node = main_core.Tag.render(_templateObject2(), this._inputNode);
	      return this._node;
	    }
	  }, {
	    key: "onChange",
	    value: function onChange() {
	      this._value = this._inputNode.value;

	      this._eventEmitter.emit('onChange', this);
	    }
	  }, {
	    key: "onChangeSubscribe",
	    value: function onChangeSubscribe(callback) {
	      this._eventEmitter.subscribe('onChange', callback);
	    }
	  }, {
	    key: "showExistence",
	    value: function showExistence(isExist) {
	      if (isExist === false) {
	        this._node.classList.remove("exists");

	        this._node.classList.add("not-exists");
	      } else if (isExist === true) {
	        this._node.classList.remove("not-exists");

	        this._node.classList.add("exists");
	      } else if (isExist === null) {
	        this._node.classList.remove("not-exists");

	        this._node.classList.remove("exists");
	      }
	    }
	  }, {
	    key: "id",
	    get: function get() {
	      return this._id;
	    }
	  }, {
	    key: "value",
	    get: function get() {
	      return this._value;
	    },
	    set: function set(value) {
	      this._value = value;
	      this._inputNode.value = value;
	    }
	  }, {
	    key: "isExist",
	    set: function set(isExist) {
	      this._isExist = isExist;
	      this.showExistence(isExist);
	    },
	    get: function get() {
	      return this._isExist;
	    }
	  }]);
	  return Barcode;
	}();

	function _templateObject$1() {
	  var data = babelHelpers.taggedTemplateLiteral(["<input type=\"text\" ", ">"]);

	  _templateObject$1 = function _templateObject() {
	    return data;
	  };

	  return data;
	}

	var Markingcode = /*#__PURE__*/function () {
	  function Markingcode(props) {
	    babelHelpers.classCallCheck(this, Markingcode);
	    this._id = props.id || 0;
	    this._input = null;
	    this._value = props.value || '';
	    this._readonly = props.readonly;
	    this._eventEmitter = new main_core.Event.EventEmitter();
	  }

	  babelHelpers.createClass(Markingcode, [{
	    key: "render",
	    value: function render() {
	      var readonly = this._readonly ? ' readonly="readonly"' : '';
	      this._input = main_core.Tag.render(_templateObject$1(), readonly);
	      this._input.value = this._value;
	      main_core.Event.bind(this._input, 'keypress', this.onKeyPress.bind(this));
	      main_core.Event.bind(this._input, 'change', this.onChange.bind(this));
	      return this._input;
	    }
	  }, {
	    key: "onChange",
	    value: function onChange(e) {
	      this._value = e.target.value;

	      this._eventEmitter.emit('onChange', this);
	    }
	  }, {
	    key: "onKeyPress",
	    value: function onKeyPress(e) {
	      /**
	       * @see https://stackoverflow.com/questions/48296955/ascii-control-character-html-input-text
	       */
	      if (e.charCode === 29) {
	        this._input.value += String.fromCharCode(e.which);
	      }
	    }
	  }, {
	    key: "onChangeSubscribe",
	    value: function onChangeSubscribe(callback) {
	      this._eventEmitter.subscribe('onChange', callback);
	    }
	  }, {
	    key: "id",
	    get: function get() {
	      return this._id;
	    }
	  }, {
	    key: "value",
	    get: function get() {
	      return this._value;
	    }
	  }]);
	  return Markingcode;
	}();

	function _templateObject$2() {
	  var data = babelHelpers.taggedTemplateLiteral(["<table></table>"]);

	  _templateObject$2 = function _templateObject() {
	    return data;
	  };

	  return data;
	}

	var Widget = /*#__PURE__*/function () {
	  function Widget(props) {
	    babelHelpers.classCallCheck(this, Widget);
	    this._headData = props.headData;
	    this._orderId = props.orderId;
	    this._basketId = props.basketId;
	    this._storeId = props.storeId;
	    this._isBarcodeMulti = props.isBarcodeMulti;
	    this._readonly = props.readonly;
	    this._items = this.createItems(props.rowData, props.rowsCount);
	    this._eventEmitter = new main_core.Event.EventEmitter();
	  }

	  babelHelpers.createClass(Widget, [{
	    key: "createItems",
	    value: function createItems(data, count) {
	      var _this = this;

	      var items = [];
	      data.forEach(function (rowData) {
	        items.push(_this.createItemsRow(rowData));
	      });

	      if (data.length < count) {
	        for (var i = 0, l = count - data.length; i < l; i++) {
	          items.push(this.createEmptyRow());
	        }
	      }

	      return items;
	    }
	  }, {
	    key: "createEmptyRow",
	    value: function createEmptyRow() {
	      var result = {
	        id: 0
	      };

	      if (this.isBarcodeNeeded()) {
	        var barcodeItem = new Barcode({});
	        barcodeItem.onChangeSubscribe(this.onBarcodeItemChange.bind(this));
	        result[Widget.COLUMN_TYPE_BARCODE] = barcodeItem;
	      }

	      if (this.isMarkingCodeNeeded) {
	        var markingCodeItem = new Markingcode({});
	        markingCodeItem.onChangeSubscribe(this.onMarkingCodeItemChange.bind(this));
	        result[Widget.COLUMN_TYPE_MARKING_CODE] = markingCodeItem;
	      }

	      return result;
	    }
	  }, {
	    key: "onBarcodeItemChange",
	    value: function onBarcodeItemChange(event) {
	      var _this2 = this;

	      var barcodeValue;

	      if (typeof event.data.value === "string") {
	        barcodeValue = event.data.value;
	      } else {
	        barcodeValue = event.data.value.value;
	      }

	      this.isBarcodeExist(barcodeValue).then(function (result) {
	        var barcodeItem = {
	          isExist: result,
	          value: barcodeValue
	        };

	        if (!_this2._isBarcodeMulti) {
	          _this2.synchronizeBarcodes(barcodeItem.value, barcodeItem.isExist);
	        }

	        _this2.onChange();
	      }).catch(function (data) {
	        BX.debug(data);
	      });
	    }
	  }, {
	    key: "onMarkingCodeItemChange",
	    value: function onMarkingCodeItemChange() {
	      this.onChange();
	    }
	  }, {
	    key: "onChange",
	    value: function onChange() {
	      this._eventEmitter.emit('onChange', this);
	    }
	  }, {
	    key: "onChangeSubscribe",
	    value: function onChangeSubscribe(callback) {
	      this._eventEmitter.subscribe('onChange', callback);
	    }
	  }, {
	    key: "synchronizeBarcodes",
	    value: function synchronizeBarcodes(value, isExist) {
	      this._items.forEach(function (item) {
	        if (item[Widget.COLUMN_TYPE_BARCODE]) {
	          item[Widget.COLUMN_TYPE_BARCODE].value = value;
	          item[Widget.COLUMN_TYPE_BARCODE].isExist = isExist;
	        }
	      });
	    }
	  }, {
	    key: "isBarcodeExist",
	    value: function isBarcodeExist(barcode) {
	      if (barcode) {
	        var storeId = this._isBarcodeMulti ? this.storeId : 0;
	        return BX.Sale.Barcode.Checker.isBarcodeExist(barcode, this.basketId, this.orderId, storeId);
	      } else {
	        return new Promise(function (resolve) {
	          resolve(null);
	        });
	      }
	    }
	  }, {
	    key: "createItemsRow",
	    value: function createItemsRow(rowData) {
	      var result = {
	        id: rowData.id
	      };

	      if (this.isBarcodeNeeded()) {
	        var barcodeItem = new Barcode({
	          id: rowData.id,
	          value: rowData.barcode,
	          widget: this,
	          readonly: this._readonly
	        });
	        barcodeItem.onChangeSubscribe(this.onBarcodeItemChange.bind(this));
	        result[Widget.COLUMN_TYPE_BARCODE] = barcodeItem;
	      }

	      if (this.isMarkingCodeNeeded()) {
	        var markingCodeItem = new Markingcode({
	          id: rowData.id,
	          value: rowData.markingCode,
	          readonly: this._readonly
	        });
	        markingCodeItem.onChangeSubscribe(this.onMarkingCodeItemChange.bind(this));
	        result[Widget.COLUMN_TYPE_MARKING_CODE] = markingCodeItem;
	      }

	      return result;
	    }
	  }, {
	    key: "isBarcodeNeeded",
	    value: function isBarcodeNeeded() {
	      return typeof this._headData[Widget.COLUMN_TYPE_BARCODE] !== 'undefined';
	    }
	  }, {
	    key: "isMarkingCodeNeeded",
	    value: function isMarkingCodeNeeded() {
	      return typeof this._headData[Widget.COLUMN_TYPE_MARKING_CODE] !== 'undefined';
	    }
	  }, {
	    key: "createTh",
	    value: function createTh(type) {
	      var th = document.createElement('th');
	      th.innerHTML = this._headData[type].title;
	      return th;
	    }
	  }, {
	    key: "render",
	    value: function render() {
	      var _this3 = this;

	      var tableNode = main_core.Tag.render(_templateObject$2());
	      var headRow = tableNode.insertRow();

	      if (this.isBarcodeNeeded()) {
	        headRow.appendChild(this.createTh(Widget.COLUMN_TYPE_BARCODE));
	      }

	      if (this.isMarkingCodeNeeded()) {
	        headRow.appendChild(this.createTh(Widget.COLUMN_TYPE_MARKING_CODE));
	      }

	      this._items.forEach(function (row) {
	        var tableRow = tableNode.insertRow(-1);

	        if (_this3.isBarcodeNeeded()) {
	          var cell = tableRow.insertCell();
	          cell.appendChild(row[Widget.COLUMN_TYPE_BARCODE].render());
	        }

	        if (_this3.isMarkingCodeNeeded()) {
	          var _cell = tableRow.insertCell();

	          _cell.appendChild(row[Widget.COLUMN_TYPE_MARKING_CODE].render());
	        }
	      });

	      return tableNode;
	    }
	  }, {
	    key: "getItemsData",
	    value: function getItemsData() {
	      var result = [];

	      this._items.forEach(function (item) {
	        result.push({
	          id: item.id,
	          barcode: {
	            value: item[Widget.COLUMN_TYPE_BARCODE] ? item[Widget.COLUMN_TYPE_BARCODE].value : '',
	            isExist: item[Widget.COLUMN_TYPE_BARCODE] ? item[Widget.COLUMN_TYPE_BARCODE].isExist : false
	          },
	          markingCode: {
	            value: item[Widget.COLUMN_TYPE_MARKING_CODE] ? item[Widget.COLUMN_TYPE_MARKING_CODE].value : ''
	          }
	        });
	      });

	      return result;
	    }
	  }, {
	    key: "orderId",
	    get: function get() {
	      return this._orderId;
	    }
	  }, {
	    key: "basketId",
	    get: function get() {
	      return this._basketId;
	    }
	  }, {
	    key: "storeId",
	    get: function get() {
	      return this._storeId;
	    }
	  }]);
	  return Widget;
	}();

	babelHelpers.defineProperty(Widget, "COLUMN_TYPE_BARCODE", 'barcode');
	babelHelpers.defineProperty(Widget, "COLUMN_TYPE_MARKING_CODE", 'markingCode');

	exports.Checker = Checker;
	exports.Widget = Widget;

}((this.BX.Sale.Barcode = this.BX.Sale.Barcode || {}),BX));
//# sourceMappingURL=barcode.bundle.js.map

Anon7 - 2022
AnonSec Team