mobicloud-core 1.0.135 → 1.0.136
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/bundles/mobicloud-core-components.umd.js +101 -49
- package/bundles/mobicloud-core-components.umd.js.map +1 -1
- package/bundles/mobicloud-core-components.umd.min.js +1 -1
- package/bundles/mobicloud-core-components.umd.min.js.map +1 -1
- package/components/mobicloud-core-components.metadata.json +1 -1
- package/components/pickinglist/pickinglist-add-new-shipment/pickinglist-add-new-shipment.component.d.ts +3 -0
- package/esm2015/components/pickinglist/pickinglist-add-new-shipment/pickinglist-add-new-shipment.component.js +98 -46
- package/fesm2015/mobicloud-core-components.js +97 -45
- package/fesm2015/mobicloud-core-components.js.map +1 -1
- package/package.json +1 -1
|
@@ -4181,6 +4181,7 @@
|
|
|
4181
4181
|
this.selectedShipmentProducts = [];
|
|
4182
4182
|
this.servicePointRequired = false;
|
|
4183
4183
|
this.servicePoints = [];
|
|
4184
|
+
this.internationalShipping = false;
|
|
4184
4185
|
this.returnLabelsEnabled = false;
|
|
4185
4186
|
this.skipLinesTab = false;
|
|
4186
4187
|
this.skipSenderTab = false;
|
|
@@ -4379,6 +4380,7 @@
|
|
|
4379
4380
|
}
|
|
4380
4381
|
else {
|
|
4381
4382
|
_this.updateReceiverFields();
|
|
4383
|
+
_this.checkForInternationalShiiping();
|
|
4382
4384
|
_this.skipSteps();
|
|
4383
4385
|
}
|
|
4384
4386
|
}, function (error) {
|
|
@@ -4404,6 +4406,7 @@
|
|
|
4404
4406
|
var receiverTabValid = (this.formInstanceShipment.Receiver_Attention != undefined && this.formInstanceShipment.Receiver_Telephone != undefined && this.formInstanceShipment.Receiver_Address1 != undefined && this.formInstanceShipment.Receiver_Zipcode != undefined && this.formInstanceShipment.Receiver_City != undefined && this.formInstanceShipment.Receiver_CountryCode != undefined && this.formInstanceShipment.Receiver_Email != undefined && this.formInstanceShipment.Receiver_Mobile != undefined);
|
|
4405
4407
|
if (receiverTabValid) {
|
|
4406
4408
|
this._receiverCountryId = this.formInstanceShipment.Receiver_CountryCode;
|
|
4409
|
+
this.checkForInternationalShiiping();
|
|
4407
4410
|
this.stepper.next();
|
|
4408
4411
|
}
|
|
4409
4412
|
}
|
|
@@ -4551,9 +4554,22 @@
|
|
|
4551
4554
|
PickinglistAddNewShipment.prototype.onClick_Receiver = function () {
|
|
4552
4555
|
var validateResult = validationEngine__default['default'].validateGroup("formReceiver");
|
|
4553
4556
|
if (validateResult === null || validateResult === void 0 ? void 0 : validateResult.isValid) {
|
|
4557
|
+
this.checkForInternationalShiiping();
|
|
4554
4558
|
this.stepper.next();
|
|
4555
4559
|
}
|
|
4556
4560
|
};
|
|
4561
|
+
PickinglistAddNewShipment.prototype.checkForInternationalShiiping = function () {
|
|
4562
|
+
var _a;
|
|
4563
|
+
this.internationalShipping = false;
|
|
4564
|
+
if (this.formInstanceShipment.Receiver_CountryCode) {
|
|
4565
|
+
if ((_a = this.cloudDataService.coreService.countries) === null || _a === void 0 ? void 0 : _a.has(this.formInstanceShipment.Receiver_CountryCode.toUpperCase())) {
|
|
4566
|
+
var country = this.cloudDataService.coreService.countries.get(this.formInstanceShipment.Receiver_CountryCode.toUpperCase());
|
|
4567
|
+
if (country && country.TradeArea != "EU") {
|
|
4568
|
+
this.internationalShipping = true;
|
|
4569
|
+
}
|
|
4570
|
+
}
|
|
4571
|
+
}
|
|
4572
|
+
};
|
|
4557
4573
|
PickinglistAddNewShipment.prototype.calculateProductAndBoxesQty = function () {
|
|
4558
4574
|
var _this = this;
|
|
4559
4575
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
@@ -4626,7 +4642,12 @@
|
|
|
4626
4642
|
this.selectedBoxesList.instance.saveEditData();
|
|
4627
4643
|
this.boxesSelectionValid = this.selectedBoxes.length > 0;
|
|
4628
4644
|
if (this.boxesSelectionValid) {
|
|
4629
|
-
|
|
4645
|
+
if (this.internationalShipping) {
|
|
4646
|
+
this.productBoxesQuantityValid = this.validateProductBoxesQuantity();
|
|
4647
|
+
}
|
|
4648
|
+
else {
|
|
4649
|
+
this.productBoxesQuantityValid = true;
|
|
4650
|
+
}
|
|
4630
4651
|
if (this.productBoxesQuantityValid) {
|
|
4631
4652
|
if (this.shipmentProviderType == api.ShipmentProviderType.Webshipper) {
|
|
4632
4653
|
this.onClick_Packages_Webshipper();
|
|
@@ -4702,6 +4723,7 @@
|
|
|
4702
4723
|
return __generator(this, function (_1) {
|
|
4703
4724
|
packageBoxEntry = Object.assign(new PackagingBoxEntry(), e.data);
|
|
4704
4725
|
packageBoxEntry.Id = new Guid__default['default']().toString();
|
|
4726
|
+
packageBoxEntry.Quantity = 1;
|
|
4705
4727
|
if (this.packagingBoxInitEntity) {
|
|
4706
4728
|
packageBoxEntry.Length_InCm = this.packagingBoxInitEntity.Length_InCm;
|
|
4707
4729
|
packageBoxEntry.Width_InCm = this.packagingBoxInitEntity.Width_InCm;
|
|
@@ -4717,38 +4739,40 @@
|
|
|
4717
4739
|
}
|
|
4718
4740
|
this.packagingBoxInitEntity = undefined;
|
|
4719
4741
|
e.data = packageBoxEntry;
|
|
4720
|
-
|
|
4721
|
-
|
|
4722
|
-
|
|
4723
|
-
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
|
|
4728
|
-
|
|
4742
|
+
if (this.internationalShipping) {
|
|
4743
|
+
pickingLineIds = [];
|
|
4744
|
+
if (this.allowSelectPickingLines) {
|
|
4745
|
+
pickingLineIds = this.selectedPickingLinesKeys;
|
|
4746
|
+
}
|
|
4747
|
+
else if (this.pickingLines) {
|
|
4748
|
+
for (i = 0; i < this.pickingLines.length; i++) {
|
|
4749
|
+
pickLineId = this.pickingLines[i].Id;
|
|
4750
|
+
if (pickLineId) {
|
|
4751
|
+
pickingLineIds.push(pickLineId);
|
|
4752
|
+
}
|
|
4729
4753
|
}
|
|
4730
4754
|
}
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
|
|
4735
|
-
|
|
4736
|
-
|
|
4737
|
-
|
|
4738
|
-
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4755
|
+
pickingLinesSum = this.calculateProductAndBoxesQty();
|
|
4756
|
+
packageBoxEntry.Lines = [];
|
|
4757
|
+
if (pickingLineIds.length > 0) {
|
|
4758
|
+
_loop_1 = function (i) {
|
|
4759
|
+
pickingLine = (_a = this_1.pickingLines) === null || _a === void 0 ? void 0 : _a.filter(function (p) { return p.Id == pickingLineIds[i]; })[0];
|
|
4760
|
+
if (pickingLine && pickingLine.ProductId && pickingLine.Product) {
|
|
4761
|
+
productSum = pickingLinesSum[pickingLine.ProductId];
|
|
4762
|
+
if (productSum && (productSum.pickqty < productSum.qty)) {
|
|
4763
|
+
packageBoxEntryLine = Object.assign(new PackagingBoxEntryLine(), {});
|
|
4764
|
+
packageBoxEntryLine.PickingLine = pickingLine;
|
|
4765
|
+
packageBoxEntryLine.ParcelLine = Object.assign(new Shipping_ParcelLine(), {});
|
|
4766
|
+
packageBoxEntryLine.ParcelLine.PickingListLinesId = pickingLine.Id;
|
|
4767
|
+
packageBoxEntryLine.ParcelLine.Quantity = (productSum.qty - productSum.pickqty);
|
|
4768
|
+
packageBoxEntry.Lines.push(packageBoxEntryLine);
|
|
4769
|
+
}
|
|
4746
4770
|
}
|
|
4771
|
+
};
|
|
4772
|
+
this_1 = this;
|
|
4773
|
+
for (i = 0; i < pickingLineIds.length; i++) {
|
|
4774
|
+
_loop_1(i);
|
|
4747
4775
|
}
|
|
4748
|
-
};
|
|
4749
|
-
this_1 = this;
|
|
4750
|
-
for (i = 0; i < pickingLineIds.length; i++) {
|
|
4751
|
-
_loop_1(i);
|
|
4752
4776
|
}
|
|
4753
4777
|
}
|
|
4754
4778
|
return [2 /*return*/];
|
|
@@ -4975,7 +4999,7 @@
|
|
|
4975
4999
|
};
|
|
4976
5000
|
PickinglistAddNewShipment.prototype.createShipment = function () {
|
|
4977
5001
|
var _this = this;
|
|
4978
|
-
var _a, _b, _c, _d, _e, _f;
|
|
5002
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
4979
5003
|
var request = Object.assign(new CreateShipmentRequest(), {});
|
|
4980
5004
|
request.PickingListId = this.pickingList.Id;
|
|
4981
5005
|
request.Sender = Object.assign(new Shipment_Sender(), {});
|
|
@@ -5018,31 +5042,59 @@
|
|
|
5018
5042
|
request.Sender.mobile_phone = this.formInstanceShipment.Receiver_Mobile;
|
|
5019
5043
|
}
|
|
5020
5044
|
if (this.selectedBoxes) {
|
|
5045
|
+
var selectedPickingLines = [];
|
|
5046
|
+
if (this.pickingLines) {
|
|
5047
|
+
if (this.allowSelectPickingLines) {
|
|
5048
|
+
selectedPickingLines = (_a = this.pickingLines) === null || _a === void 0 ? void 0 : _a.filter(function (p) { return (_this.selectedPickingLinesKeys.filter(function (f) { var _a; return f == ((_a = p.Id) === null || _a === void 0 ? void 0 : _a.toString()); })).length > 0; });
|
|
5049
|
+
}
|
|
5050
|
+
else if (this.pickingLines) {
|
|
5051
|
+
selectedPickingLines = this.pickingLines;
|
|
5052
|
+
}
|
|
5053
|
+
}
|
|
5021
5054
|
request.Packages = [];
|
|
5022
5055
|
for (var i = 0; i < this.selectedBoxes.length; i++) {
|
|
5023
5056
|
var packageBoxEntry = this.selectedBoxes[i];
|
|
5024
|
-
|
|
5025
|
-
|
|
5057
|
+
if (this.internationalShipping) {
|
|
5058
|
+
var lineCount = (_c = ((_b = packageBoxEntry.Lines) === null || _b === void 0 ? void 0 : _b.length)) !== null && _c !== void 0 ? _c : 0;
|
|
5059
|
+
if (packageBoxEntry && lineCount > 0) {
|
|
5060
|
+
var parcel = Object.assign(new Shipping_Parcel(), {});
|
|
5061
|
+
parcel.boxtype = packageBoxEntry.BoxType;
|
|
5062
|
+
parcel.height = packageBoxEntry.Height_InCm;
|
|
5063
|
+
parcel.length = packageBoxEntry.Length_InCm;
|
|
5064
|
+
parcel.weight = packageBoxEntry.Weight_InKg;
|
|
5065
|
+
parcel.width = packageBoxEntry.Width_InCm;
|
|
5066
|
+
parcel.quantity = 1;
|
|
5067
|
+
if (packageBoxEntry.Lines) {
|
|
5068
|
+
parcel.Lines = [];
|
|
5069
|
+
for (var q = 0; q < lineCount; q++) {
|
|
5070
|
+
var entryLine = packageBoxEntry.Lines[q];
|
|
5071
|
+
if (entryLine.ParcelLine) {
|
|
5072
|
+
var parcelLine = Object.assign(new Shipping_ParcelLine(), {});
|
|
5073
|
+
parcelLine.PickingListLinesId = entryLine.ParcelLine.PickingListLinesId;
|
|
5074
|
+
parcelLine.Quantity = entryLine.ParcelLine.Quantity;
|
|
5075
|
+
parcel.Lines.push(parcelLine);
|
|
5076
|
+
}
|
|
5077
|
+
}
|
|
5078
|
+
}
|
|
5079
|
+
request.Packages.push(parcel);
|
|
5080
|
+
}
|
|
5081
|
+
}
|
|
5082
|
+
else {
|
|
5026
5083
|
var parcel = Object.assign(new Shipping_Parcel(), {});
|
|
5027
5084
|
parcel.boxtype = packageBoxEntry.BoxType;
|
|
5028
5085
|
parcel.height = packageBoxEntry.Height_InCm;
|
|
5029
5086
|
parcel.length = packageBoxEntry.Length_InCm;
|
|
5030
5087
|
parcel.weight = packageBoxEntry.Weight_InKg;
|
|
5031
5088
|
parcel.width = packageBoxEntry.Width_InCm;
|
|
5032
|
-
parcel.quantity =
|
|
5033
|
-
if (packageBoxEntry.Lines) {
|
|
5034
|
-
parcel.Lines = [];
|
|
5035
|
-
for (var q = 0; q < lineCount; q++) {
|
|
5036
|
-
var entryLine = packageBoxEntry.Lines[q];
|
|
5037
|
-
if (entryLine.ParcelLine) {
|
|
5038
|
-
var parcelLine = Object.assign(new Shipping_ParcelLine(), {});
|
|
5039
|
-
parcelLine.PickingListLinesId = entryLine.ParcelLine.PickingListLinesId;
|
|
5040
|
-
parcelLine.Quantity = entryLine.ParcelLine.Quantity;
|
|
5041
|
-
parcel.Lines.push(parcelLine);
|
|
5042
|
-
}
|
|
5043
|
-
}
|
|
5044
|
-
}
|
|
5089
|
+
parcel.quantity = packageBoxEntry.Quantity;
|
|
5045
5090
|
request.Packages.push(parcel);
|
|
5091
|
+
parcel.Lines = [];
|
|
5092
|
+
for (var q = 0; q < selectedPickingLines.length; q++) {
|
|
5093
|
+
var parcelLine = Object.assign(new Shipping_ParcelLine(), {});
|
|
5094
|
+
parcelLine.PickingListLinesId = selectedPickingLines[q].Id;
|
|
5095
|
+
parcelLine.Quantity = selectedPickingLines[q].QtyPick;
|
|
5096
|
+
parcel.Lines.push(parcelLine);
|
|
5097
|
+
}
|
|
5046
5098
|
}
|
|
5047
5099
|
}
|
|
5048
5100
|
}
|
|
@@ -5066,10 +5118,10 @@
|
|
|
5066
5118
|
else {
|
|
5067
5119
|
request.PrintLabels = false;
|
|
5068
5120
|
}
|
|
5069
|
-
if ((
|
|
5070
|
-
var shipment_description_requirement = (
|
|
5121
|
+
if ((_d = this.selectedShippingProduct) === null || _d === void 0 ? void 0 : _d.parameters) {
|
|
5122
|
+
var shipment_description_requirement = (_e = this.selectedShippingProduct) === null || _e === void 0 ? void 0 : _e.parameters.filter(function (f) { return f.attr_key == "shipment_description"; })[0];
|
|
5071
5123
|
if (shipment_description_requirement) {
|
|
5072
|
-
request.ShipmentDescription = (
|
|
5124
|
+
request.ShipmentDescription = (_g = (_f = this.pickingList.MetaData) === null || _f === void 0 ? void 0 : _f.ExternalId) !== null && _g !== void 0 ? _g : request.Reference;
|
|
5073
5125
|
}
|
|
5074
5126
|
}
|
|
5075
5127
|
this.isLoadingData = true;
|
|
@@ -5377,7 +5429,7 @@
|
|
|
5377
5429
|
PickinglistAddNewShipment.decorators = [
|
|
5378
5430
|
{ type: core.Component, args: [{
|
|
5379
5431
|
selector: 'mobicloud-pickinglist-add-new-shipment',
|
|
5380
|
-
template: "<div mat-dialog-container class=\"dialog-container\">\n <!-- <mat-toolbar color=\"primary\" class=\"mat-elevation-z2 dialog-caption\" cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" cdkDragHandle>\n <mat-card-header i18n=\"@@FieldCaption-CreateShipment\">Create shipment</mat-card-header>\n <span class=\"dialog-caption-spacer\"></span>\n <button mat-raised-button appMaterialElevation matTooltip=\"Close\" i18n-matTooltip=\"@@Action-Close\" aria-label=\"Close\" i18n-aria-label=\"@@Action-Close\" class=\"dialog-toolbar-button\" (click)=\"onCancel()\">\n <svg-icon name=\"mobicloud_close\" svgClass=\"dialog-toolbar-button-icon\"></svg-icon>\n </button> \n </mat-toolbar> -->\n <mat-toolbar color=\"primary\" class=\"mat-elevation-z2 dialog-caption\" cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" cdkDragHandle>\n <mat-card-header>\n <div class=\"toolbar-header-text-container\">\n <svg-icon name=\"mobicloud_shipment\" svgClass=\"dialog-caption-icon\"></svg-icon><div i18n=\"@@FieldCaption-CreateShipment\" class=\"toolbar-header-text\">Create shipment</div>\n </div> \n </mat-card-header>\n <span class=\"dialog-caption-spacer\"></span>\n <button mat-raised-button appMaterialElevation matTooltip=\"Close\" i18n-matTooltip=\"@@Action-Close\" aria-label=\"Close\" i18n-aria-label=\"@@Action-Close\" class=\"dialog-toolbar-button\" (click)=\"onCancel()\">\n <svg-icon name=\"mobicloud_close\" svgClass=\"dialog-toolbar-button-icon\"></svg-icon>\n </button> \n </mat-toolbar> \n\n <div #shipment_dialog_container id=\"shipment_dialog_container\" class=\"dialog-wizard-steps-container\">\n <mat-horizontal-stepper [linear]=\"true\" #stepper class=\"dialog-wizard-steps\" (animationDone)=\"setFocus()\" labelPosition='bottom'>\n <mat-step label=\"Lines\" i18n-label=\"@@CaptionHeader-Lines\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\"> \n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <div class=\"invalid-message-Lines\" *ngIf=\"!pickingLinesSelectionValid\" i18n=\"@@ValidationText-NoShipmentPickingLinesSelected\">No lines has been selected for shipping</div>\n <dx-data-grid keyExpr=\"Id\" #datagrid_pickinglines id=\"datagrid_pickinglines\" [(selectedRowKeys)]=\"selectedPickingLinesKeys\" class=\"devex-grid-lb\" height=\"100%\" [dataSource]=\"pickingLines\" [showBorders]=\"false\" [showColumnLines]=\"false\" [showRowLines]=\"true\" [allowColumnReordering]=\"true\" [allowColumnResizing]=\"true\" [rowAlternationEnabled]=\"true\">\n <!-- <dxo-editing mode=\"batch\" refreshMode=\"full\" [selectTextOnEditStart]=\"true\" startEditAction=\"click\" [allowAdding]=\"false\" [allowUpdating]=\"false\" [allowDeleting]=\"false\" [confirmDelete]=\"true\"></dxo-editing> -->\n <dxo-column-chooser [enabled]=\"true\" mode=\"select\" title=\"Choose columns\" i18n-title=\"@@CaptionHeader-ColumnChooser\"></dxo-column-chooser> \n <dxo-filter-row [visible]=\"true\"></dxo-filter-row> \n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-group-panel [visible]=\"false\" emptyPanelText=\"\"></dxo-group-panel> \n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection [allowSelectAll]=\"true\" showCheckBoxesMode=\"always\" [mode]=\"allowSelectPickingLines ? 'multiple' : 'none'\"></dxo-selection> \n\n <dxo-toolbar> \n <dxi-item location=\"after\">\n <div *dxTemplate class=\"gridtoolbar-item-container\">\n <dx-check-box [(value)]=\"returnLabelsEnabled\" [rtlEnabled]=\"false\" text=\"Return label\" i18n-text=\"@@FieldCaption-ReturnLabel\" (onValueChanged)=\"returnCheckBoxChanged($event)\" labelMode=\"static\" stylingMode=\"outlined\"></dx-check-box>\n </div>\n </dxi-item>\n \n <dxi-item name=\"columnChooserButton\"></dxi-item>\n </dxo-toolbar> \n\n <dxi-column dataField=\"MetaData.Index\" [width]=\"40\" [visible]=\"true\" hidingPriority=\"99\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-LineNumber\" caption=\"#\" dataType=\"number\" [fixed]=\"true\" fixedPosition=\"left\"></dxi-column>\n <dxi-column dataField=\"LineId\" [visible]=\"true\" hidingPriority=\"20\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-LineId\" caption=\"Line id\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"SalesLine.LineId\" hidingPriority=\"92\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SalesLineId\" caption=\"Sales line id\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"ProductId\" hidingPriority=\"58\" [visible]=\"false\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ProductUId\" caption=\"Product uid\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Product\" hidingPriority=\"68\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Product\" caption=\"Product\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Product.ProductId\" [fixed]=\"true\" fixedPosition=\"left\" hidingPriority=\"100\" [visible]=\"true\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ProductId\" caption=\"Product id\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Product.Name\" hidingPriority=\"94\" [visible]=\"true\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ProductName\" caption=\"Product name\" dataType=\"string\"></dxi-column> \n <dxi-column dataField=\"Product.SKU\" hidingPriority=\"54\" [visible]=\"true\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SKU\" caption=\"SKU\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Color\" hidingPriority=\"84\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Color\" caption=\"Color\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"ColorId\" hidingPriority=\"48\" [visible]=\"false\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ColorUId\" caption=\"Color uid\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Color.Code\" hidingPriority=\"82\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Color\" caption=\"Color\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Color.Name\" hidingPriority=\"46\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ColorName\" caption=\"Color name\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Size\" hidingPriority=\"78\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Size\" caption=\"Size\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"SizeId\" hidingPriority=\"44\" [visible]=\"false\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SizeUId\" caption=\"Size uid\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Size.Code\" hidingPriority=\"76\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Size\" caption=\"Size\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Size.Name\" hidingPriority=\"42\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SizeName\" caption=\"Size name\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Config\" hidingPriority=\"74\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Config\" caption=\"Config\" dataType=\"string\"></dxi-column> \n <dxi-column dataField=\"ConfigId\" hidingPriority=\"40\" [visible]=\"false\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ConfigUId\" caption=\"Config uid\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Config.Code\" hidingPriority=\"72\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Config\" caption=\"Config\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Config.Name\" hidingPriority=\"38\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ConfigName\" caption=\"Config name\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Qty\" hidingPriority=\"74\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Qty\" caption=\"Quantity\" dataType=\"number\"></dxi-column>\n <dxi-column dataField=\"QtyPick\" hidingPriority=\"96\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-QtyPick\" caption=\"Quantity pick\" dataType=\"number\"></dxi-column>\n <dxi-column dataField=\"Note\" hidingPriority=\"28\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Note\" caption=\"Note\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"SortCode\" hidingPriority=\"26\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SortCode\" caption=\"Sort code\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"WMSZone\" hidingPriority=\"24\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-WMSZone\" caption=\"WMS zone\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"MetaData.Created\" hidingPriority=\"10\" [visible]=\"false\" [allowHeaderFiltering]=\"true\" i18n-caption=\"@@GridColumn-Created\" caption=\"Created\" dataType=\"date\"></dxi-column>\n <dxo-summary>\n <dxi-total-item column=\"Qty\" summaryType=\"sum\" displayFormat=\"{0}\"></dxi-total-item>\n <dxi-total-item column=\"QtyPick\" summaryType=\"sum\" displayFormat=\"{0}\"></dxi-total-item>\n </dxo-summary> \n <dxi-column type=\"buttons\" [allowHiding]=\"false\" [fixed]=\"true\" fixedPosition=\"right\">\n </dxi-column>\n <!-- <dxi-column type=\"adaptive\" [allowHiding]=\"false\" cellTemplate=\"adaptiveCellTemplate\" [fixed]=\"true\" fixedPosition=\"right\"></dxi-column> -->\n \n <!-- Templates -->\n \n <div *dxTemplate=\"let column of 'adaptiveCellTemplate'\">\n <button aria-label=\"Collapse/Expand\" mat-icon-button (click)=\"column.component.isAdaptiveDetailRowExpanded(column.row.key) ? column.component.collapseAdaptiveDetailRow() : column.component.expandAdaptiveDetailRow(column.row.key);\">\n <mat-icon *ngIf=\"!column.component.isAdaptiveDetailRowExpanded(column.row.key)\" svgIcon=\"mobicloud_expand_arrows\" class=\"expand_gridrow\"></mat-icon>\n <mat-icon *ngIf=\"column.component.isAdaptiveDetailRowExpanded(column.row.key)\" svgIcon=\"mobicloud_collapse_arrows\" class=\"collapse_gridrow\"></mat-icon>\n </button> \n </div>\n \n <dxo-paging [enabled]=\"false\"></dxo-paging>\n </dx-data-grid> \n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\">\n <button mat-flat-button color=\"accent\" (click)=\"onCancel()\" class=\"button1\" i18n=\"@@Button-Cancel\">Cancel</button>\n <button mat-flat-button color=\"primary\" (click)=\"onClick_Lines()\" class=\"button2\" i18n=\"@@Button-Next\">Next</button>\n </div> \n </div> \n </mat-step>\n <mat-step label=\"Sender\" i18n-label=\"@@CaptionHeader-Sender\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\">\n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <dx-select-box id=\"custom-templates\" class=\"sender-selectbox\" [dataSource]=\"inventLocation_ds\" displayExpr=\"Name\" [value]=\"inventLocationId\" [showClearButton]=\"true\" (onValueChanged)=\"senderSelectbox_onValueChanged($event)\">\n <div *dxTemplate=\"let data of 'item'\">\n <div class=\"custom-item\">\n <!-- <img src=\"{{ data.ImageSrc }}\" /> -->\n <div>\n {{ data.Name }} (test)\n </div>\n </div>\n </div>\n </dx-select-box> \n <fieldset class=\"shipment-fieldset-default shipment-fieldset-address\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-Sender\">Sender</legend>\n <dx-form #form_Sender id=\"form_Sender\" [colCount]=\"2\" [formData]=\"formInstanceShipment\" validationGroup=\"formSender\" [showColonAfterLabel]=\"false\" labelMode=\"static\" labelLocation=\"top\" [showValidationSummary]=\"false\" [showRequiredMark] = \"false\">\n \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Sender_Name\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'organization'} }\"> \n <dxo-label text=\"Name\" i18n-text=\"@@FieldCaption-Name\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Name is required\" i18n-text=\"@@ValidationText-Name-Required\"></dxi-validation-rule> \n </dxi-item>\n <dxi-item dataField=\"Sender_Attention\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'given-name'} }\">\n <dxo-label text=\"Attention\" i18n-text=\"@@FieldCaption-Attention\"></dxo-label>\n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Sender_Address1\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'address-line1'} }\">\n <dxo-label text=\"Address\" i18n-text=\"@@FieldCaption-Address\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Address is required\" i18n-text=\"@@ValidationText-Address-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Sender_Zipcode\" [editorOptions]=\"{ elementAttr: {autocomplete: 'postal-code'} }\">\n <dxo-label text=\"ZipCode\" i18n-text=\"@@FieldCaption-ZipCode\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Zip code is required\" i18n-text=\"@@ValidationText-ZipCode-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Sender_City\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'address-level2'} }\">\n <dxo-label text=\"City\" i18n-text=\"@@FieldCaption-City\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"City is required\" i18n-text=\"@@ValidationText-City-Required\"></dxi-validation-rule> \n </dxi-item> \n </dxi-item>\n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"1\" [colSpan]=\"2\">\n <dxi-item dataField=\"Sender_CountryCode\">\n <dxo-label text=\"Country\" i18n-text=\"@@FieldCaption-Country\"></dxo-label> \n <div *dxTemplate=\"let data of 'content'\">\n <dx-drop-down-box [deferRendering]=\"true\" [showClearButton]=\"true\" [readOnly]=\"false\" fieldTemplate=\"fieldTemplate\"\n [dataSource]=\"sender_country_ds\" \n [(value)]=\"_senderCountryId\"\n valueExpr=\"Code2\" \n displayExpr=\"LocalName\" \n [(opened)]=\"_senderCountryOpened\"> \n <dxo-drop-down-options title=\"Countries\" i18n-title=\"@@FieldCaption-Countries\" [showTitle]=\"true\" [fullScreen]=\"false\" [showCloseButton]=\"true\">\n </dxo-drop-down-options> \n <dx-data-grid [filterRow]=\"{ visible: true }\" [scrolling]=\"{ mode: 'standard' }\" [selection]=\"{ mode: 'single' }\" height=\"100%\" [hoverStateEnabled]=\"true\"\n [dataSource]=\"sender_country_ds\"\n [(selectedRowKeys)]=\"_senderCountryId\"\n (onSelectionChanged)=\"senderCountryChanged($event)\"\n (onRowClick)=\"_senderCountryOpened = false\">\n <dxi-column dataField=\"Code2\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"imgCellTemplate\" all [width]=\"50\" caption=\"\"></dxi-column>\n <dxi-column dataField=\"LocalName\" i18n-caption=\"@@GridColumn-Name\" caption=\"Name\"></dxi-column>\n <dxo-paging [enabled]=\"false\"></dxo-paging>\n <div *dxTemplate=\"let data of 'imgCellTemplate'\">\n <img alt=\"\" [src]=\"data.value | countryCodeToFlagUrl\"/>\n </div>\n </dx-data-grid>\n <div *dxTemplate=\"let data of 'fieldTemplate'\">\n <div class=\"country-edit-item\">\n <div class=\"country-edit-image\"><img alt=\"\" [src]=\"_selectedSenderCountry?.Code2 | countryCodeToFlagUrl\" *ngIf=\"_selectedSenderCountry?.Code2\"></div>\n <div class=\"country-edit-text\">\n <dx-text-box stylingMode=\"filled\" [value]=\"_selectedSenderCountry?.Code2 | countryCodeToName\" [readOnly]=\"true\"></dx-text-box>\n </div>\n </div>\n </div>\n </dx-drop-down-box>\n </div> \n <dxi-validation-rule type=\"required\" message=\"Country is required\" i18n-text=\"@@ValidationText-Country-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Sender_Email\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'email'} }\">\n <dxo-label text=\"Email\" i18n-text=\"@@FieldCaption-Email\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Email is required\" i18n-message=\"@@ValidationText-Email-Required\"></dxi-validation-rule>\n <dxi-validation-rule type=\"email\" message=\"Email is invalid\" i18n-message=\"@@ValidationText-Email-Invalid\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Sender_Mobile\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'tel'} }\">\n <dxo-label text=\"Mobile phone\" i18n-text=\"@@FieldCaption-MobilePhone\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Phone is required\" i18n-message=\"@@ValidationText-Phone-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n </dx-form> \n </fieldset> \n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\">\n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" i18n=\"@@Button-Back\">Back</button>\n <!-- <button mat-flat-button color=\"accent\" (click)=\"onCancel()\" class=\"button1\" i18n=\"@@Button-Cancel\">Cancel</button> -->\n <button mat-flat-button color=\"primary\" (click)=\"onClick_Sender()\" class=\"button2\" i18n=\"@@Button-Next\">Next</button> \n </div> \n </div> \n </mat-step>\n <mat-step label=\"Receiver\" i18n-label=\"@@CaptionHeader-Receiver\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\">\n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <fieldset class=\"shipment-fieldset-default shipment-fieldset-address\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-Receiver\">Receiver</legend>\n <dx-form #form_Receiver id=\"form_Receiver\" [colCount]=\"2\" [formData]=\"formInstanceShipment\" validationGroup=\"formReceiver\" [showColonAfterLabel]=\"false\" labelMode=\"static\" labelLocation=\"top\" [showValidationSummary]=\"false\" [showRequiredMark] = \"false\">\n \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Receiver_Name\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'organization'} }\"> \n <dxo-label text=\"Company\" i18n-text=\"@@FieldCaption-Company\"></dxo-label>\n <!-- <dxi-validation-rule type=\"required\" message=\"Name is required\" i18n-text=\"@@ValidationText-Name-Required\"></dxi-validation-rule> -->\n </dxi-item>\n <dxi-item dataField=\"Receiver_Attention\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'given-name'} }\">\n <dxo-label text=\"First name\" i18n-text=\"@@FieldCaption-Firstname\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"First name is required\" i18n-text=\"@@ValidationText-FirstName-Required\"></dxi-validation-rule>\n </dxi-item> \n <dxi-item dataField=\"Receiver_Telephone\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'family-name'} }\">\n <dxo-label text=\"Last name\" i18n-text=\"@@FieldCaption-Lastname\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Last name is required\" i18n-text=\"@@ValidationText-LastName-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Receiver_Address1\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'address-line1'} }\">\n <dxo-label text=\"Address\" i18n-text=\"@@FieldCaption-Address\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Address is required\" i18n-text=\"@@ValidationText-Address-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Receiver_Zipcode\" [editorOptions]=\"{ elementAttr: {autocomplete: 'postal-code'} }\">\n <dxo-label text=\"ZipCode\" i18n-text=\"@@FieldCaption-ZipCode\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Zip code is required\" i18n-text=\"@@ValidationText-ZipCode-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Receiver_City\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'address-level2'} }\">\n <dxo-label text=\"City\" i18n-text=\"@@FieldCaption-City\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"City is required\" i18n-text=\"@@ValidationText-City-Required\"></dxi-validation-rule> \n </dxi-item> \n </dxi-item>\n <dxi-item itemType=\"group\" caption=\"\" [colSpan]=\"2\">\n <dxi-item dataField=\"Receiver_CountryCode\">\n <dxo-label text=\"Country\" i18n-text=\"@@FieldCaption-Country\"></dxo-label> \n <div *dxTemplate=\"let data of 'content'\">\n <dx-drop-down-box [deferRendering]=\"true\" [showClearButton]=\"true\" [readOnly]=\"false\" fieldTemplate=\"fieldTemplate\"\n [dataSource]=\"receiver_country_ds\" \n [(value)]=\"_receiverCountryId\"\n valueExpr=\"Code2\" \n displayExpr=\"LocalName\" \n [(opened)]=\"_receiverCountryOpened\"> \n <dxo-drop-down-options title=\"Countries\" i18n-title=\"@@FieldCaption-Countries\" [showTitle]=\"true\" [fullScreen]=\"false\" [showCloseButton]=\"true\">\n </dxo-drop-down-options> \n <dx-data-grid [filterRow]=\"{ visible: true }\" [scrolling]=\"{ mode: 'standard' }\" [selection]=\"{ mode: 'single' }\" height=\"100%\" [hoverStateEnabled]=\"true\"\n [dataSource]=\"receiver_country_ds\"\n [(selectedRowKeys)]=\"_receiverCountryId\"\n (onSelectionChanged)=\"receiverCountryChanged($event)\"\n (onRowClick)=\"_receiverCountryOpened = false\">\n <dxi-column dataField=\"Code2\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"imgCellTemplate\" all [width]=\"50\" caption=\"\"></dxi-column>\n <dxi-column dataField=\"LocalName\" i18n-caption=\"@@GridColumn-Name\" caption=\"Name\"></dxi-column>\n <dxo-paging [enabled]=\"false\"></dxo-paging>\n <div *dxTemplate=\"let data of 'imgCellTemplate'\">\n <img alt=\"\" [src]=\"data.value | countryCodeToFlagUrl\"/>\n </div>\n </dx-data-grid>\n <div *dxTemplate=\"let data of 'fieldTemplate'\">\n <div class=\"country-edit-item\">\n <div class=\"country-edit-image\"><img alt=\"\" [src]=\"_selectedReceiverCountry?.Code2 | countryCodeToFlagUrl\" *ngIf=\"_selectedReceiverCountry?.Code2\"></div>\n <div class=\"country-edit-text\">\n <dx-text-box stylingMode=\"filled\" [value]=\"_selectedReceiverCountry?.Code2 | countryCodeToName\" [readOnly]=\"true\"></dx-text-box>\n </div>\n </div>\n </div>\n </dx-drop-down-box>\n </div> \n <dxi-validation-rule type=\"required\" message=\"Country is required\" i18n-text=\"@@ValidationText-Country-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Receiver_Email\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'email'} }\">\n <dxo-label text=\"Email\" i18n-text=\"@@FieldCaption-Email\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Email is required\" i18n-message=\"@@ValidationText-Email-Required\"></dxi-validation-rule>\n <dxi-validation-rule type=\"email\" message=\"Email is invalid\" i18n-message=\"@@ValidationText-Email-Invalid\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Receiver_Mobile\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'tel'} }\">\n <dxo-label text=\"Mobile phone\" i18n-text=\"@@FieldCaption-MobilePhone\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Phone is required\" i18n-message=\"@@ValidationText-Phone-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n </dx-form> \n </fieldset> \n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\">\n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" i18n=\"@@Button-Back\">Back</button>\n <button mat-flat-button color=\"primary\" (click)=\"onClick_Receiver()\" class=\"button2\" i18n=\"@@Button-Next\">Next</button> \n </div> \n </div> \n </mat-step> \n <mat-step label=\"Packages\" i18n-label=\"@@CaptionHeader-Packages\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\">\n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <div class=\"invalid-message-Lines\" *ngIf=\"!boxesSelectionValid\" i18n=\"@@ValidationText-NoShipmentBoxesSelected\">No boxes has been selected for shipping</div>\n <div class=\"invalid-message-Lines\" *ngIf=\"!productBoxesQuantityValid\" i18n=\"@@ValidationText-ProductBoxesQuantityInvalid\">Product quantities in the boxes is invalid</div>\n <dx-data-grid #selectedBoxesList id=\"selectedBoxesList\" keyExpr=\"Id\" class=\"devex-grid-lb\" height=\"100%\" [dataSource]=\"selectedBoxes\" [showBorders]=\"false\" [showColumnLines]=\"false\" [showRowLines]=\"true\" [allowColumnReordering]=\"true\" [allowColumnResizing]=\"true\" [rowAlternationEnabled]=\"true\" (onInitNewRow)=\"onInitNewRow_Boxes($event)\">\n <dxo-paging [enabled]=\"false\"></dxo-paging>\n <dxo-editing mode=\"cell\" [allowUpdating]=\"true\" [allowAdding]=\"true\" [allowDeleting]=\"true\" [selectTextOnEditStart]=\"true\">\n </dxo-editing>\n <dxo-toolbar>\n <dxi-item location=\"before\">\n <dx-drop-down-button text=\"Add box\" i18n-text=\"@@Button-AddBox\" icon=\"box\" [items]=\"packagingBoxes\" displayExpr=\"Name\" (onItemClick)=\"onAddBoxButtonClick($event)\"></dx-drop-down-button> \n </dxi-item> \n <dxi-item name=\"addRowButton\" cssClass=\"action-button\"></dxi-item>\n <dxi-item name=\"revertButton\" cssClass=\"action-button\"></dxi-item>\n </dxo-toolbar>\n\n <dxo-master-detail [enabled]=\"true\" template=\"detail\" [autoExpandAll]=\"true\"></dxo-master-detail>\n <div *dxTemplate=\"let row of 'detail'\"> \n <fieldset class=\"detailsgrid-fieldset-default\"> \n <legend class=\"detailsgrid-legend-default\" i18n=\"@@FieldCaption-Products\">Products</legend>\n\n <dx-data-grid keyExpr=\"PickingLine.Id\" class=\"devex-grid-lb\" height=\"100%\" [dataSource]=\"row.data.Lines\" [showBorders]=\"false\" [showColumnLines]=\"false\" [showRowLines]=\"true\" [allowColumnReordering]=\"true\" [allowColumnResizing]=\"true\" [rowAlternationEnabled]=\"true\">\n <dxo-paging [enabled]=\"false\"></dxo-paging>\n <dxo-editing mode=\"cell\" [allowUpdating]=\"true\" [allowAdding]=\"false\" [allowDeleting]=\"true\" [selectTextOnEditStart]=\"true\">\n </dxo-editing>\n <!-- <dxo-selection selectAllMode=\"allPages\" showCheckBoxesMode=\"always\" mode=\"multiple\" [allowSelectAll]=\"true\"></dxo-selection> -->\n \n <dxi-column dataField=\"PickingLine.Product.ProductId\" caption=\"Product id\" hidingPriority=\"100\" [allowEditing]=\"false\" i18n-caption=\"@@GridColumn-ProductId\" dataType=\"string\" [fixed]=\"true\" fixedPosition=\"left\"></dxi-column>\n <dxi-column dataField=\"ParcelLine.Quantity\" caption=\"Quantity\" [allowEditing]=\"true\" hidingPriority=\"90\" i18n-caption=\"@@GridColumn-Quantity\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\" [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n\n </dx-data-grid>\n </fieldset> \n </div>\n\n <!-- <dxi-column dataField=\"Quantity\" caption=\"Quantity\" hidingPriority=\"100\" i18n-caption=\"@@GridColumn-Quantity\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\" [fixed]=\"true\" fixedPosition=\"left\"></dxi-column> -->\n <dxi-column dataField=\"BoxType\" [setCellValue]=\"setCellValue_BoxType\" caption=\"Box type\" hidingPriority=\"90\" i18n-caption=\"@@GridColumn-BoxType\" dataType=\"string\" [fixed]=\"true\" fixedPosition=\"left\">\n <dxo-lookup\n [dataSource]=\"packagingBoxType_ds\"\n displayExpr=\"text\"\n valueExpr=\"value\">\n </dxo-lookup> \n <dxo-header-filter\n [dataSource]=\"packagingBoxType_ds\">\n </dxo-header-filter> \n <dxi-validation-rule type=\"required\" message=\"Box type is required\" i18n-message=\"@@ValidationText-BoxType-Required\"></dxi-validation-rule> \n </dxi-column> \n <dxi-column dataField=\"Length_InCm\" hidingPriority=\"80\" i18n-caption=\"@@GridColumn-Length_CM\" caption=\"Length (cm)\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\">\n <dxi-validation-rule type=\"required\" message=\"Length is required\" i18n-message=\"@@ValidationText-Length-Required\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"Width_InCm\" hidingPriority=\"70\" i18n-caption=\"@@GridColumn-Width_CM\" caption=\"Width (cm)\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\">\n <dxi-validation-rule type=\"required\" message=\"Width is required\" i18n-message=\"@@ValidationText-Width-Required\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"Height_InCm\" hidingPriority=\"60\" i18n-caption=\"@@GridColumn-Height_CM\" caption=\"Height (cm)\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\"></dxi-column>\n <dxi-column dataField=\"Weight_InKg\" hidingPriority=\"50\" i18n-caption=\"@@GridColumn-Weight_KG\" caption=\"Weight (kg)\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\">\n <dxi-validation-rule type=\"required\" message=\"Weight is required\" i18n-message=\"@@ValidationText-Weight-Required\"></dxi-validation-rule>\n </dxi-column>\n \n </dx-data-grid> \n </div> \n </div>\n <div fxLayout=\"row\" class=\"dialog-button-row\">\n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" i18n=\"@@Button-Back\">Back</button>\n <button mat-flat-button color=\"primary\" (click)=\"onClick_Packages()\" class=\"button2\" i18n=\"@@Button-Next\">Next</button> \n </div> \n </mat-step> \n <mat-step label=\"Carrier\" i18n-label=\"@@CaptionHeader-Carrier\" [optional]=\"false\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\"> \n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n\n <div class=\"carrier-info\" *ngIf=\"shipmentProviderType == 'Webshipper'\">\n <div class=\"carrier\">\n <dx-select-box id=\"carrierSelectbox\" [dataSource]=\"shipmentCarriers\" label=\"Carrier\" i18n-label=\"@@FieldCaption-Carrier\" labelMode=\"static\" displayExpr=\"name\" valueExpr=\"id\" [(value)]=\"selectedCarrierId\" (onSelectionChanged)=\"onCarrierSelectionChanged($event)\">\n <div *dxTemplate=\"let data of 'item'\">\n <div class=\"carrier-item\">\n <div class=\"carrier-name\">\n {{data?.name}}\n </div>\n </div>\n </div> \n </dx-select-box> \n </div> \n </div> \n\n <div fxLayout=\"row\" class=\"shipment-products-container\">\n <fieldset [ngClass]=\"{'shipment-fieldset-default shipment-fieldset-shipment-products':!servicePointRequired, 'shipment-fieldset-default shipment-fieldset-shipment-products-withservice':servicePointRequired}\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-CarrierProducts\">Carrier products</legend>\n <dx-validation-summary validationGroup=\"ProductCode\"></dx-validation-summary>\n <dx-list #shipmentProducList keyExpr=\"product_code\" [dataSource]=\"shipmentProducts\" selectionMode=\"single\" showScrollbar=\"always\" [showSelectionControls]=\"true\" [(selectedItemKeys)]=\"selectedShipmentProducts\" (onSelectionChanged)=\"onShipmentProductSelectionChanged($event)\">\n <div *dxTemplate=\"let item of 'item'\">\n <div class=\"shipment-product-item\"> \n <div class=\"shipment-product-item-name\">{{ item.name }}</div>\n <div class=\"shipment-product-item-info\">\n <div class=\"shipment-product-item-price\">\n <!-- <span class=\"item-caption\">Price</span><span class=\"item-caption-colon\">:</span><div class=\"item-value\">{{item.price_amount | currency:item.price_currency:\"symbol\"}}</div> -->\n <span class=\"item-caption\">Price</span><span class=\"item-caption-colon\">:</span><div class=\"item-value\">{{item.price_currency}} {{item.price_amount}}</div>\n </div>\n <div class=\"shipment-product-item-transit\">\n <span class=\"item-caption\">Transit time</span><span class=\"item-caption-colon\">:</span><span class=\"item-value\">{{ item.transit_time }}</span> \n </div>\n </div>\n </div>\n </div>\n <dx-validator [adapter]=\"validationConfig_ProductCode\" validationGroup=\"ProductCode\">\n <dxi-validation-rule type=\"required\" message=\"Carrier product is required\" i18n-message=\"@@ValidationText-CarrierProduct-Required\"></dxi-validation-rule>\n </dx-validator>\n </dx-list> \n </fieldset>\n <fieldset class=\"shipment-fieldset-default shipment-fieldset-shipment-servicepoint\" *ngIf=\"selectedShippingProduct?.service_point_required\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-ParcelShop\">Parcel shop</legend>\n <dx-validation-summary validationGroup=\"ServicePoint\"></dx-validation-summary>\n <dx-select-box id=\"servicePointsSelectbox\" [dataSource]=\"servicePoints\" displayExpr=\"name\" [(value)]=\"selectedServicePoint\" (onSelectionChanged)=\"onServicePointSelectionChanged($event)\">\n <div *dxTemplate=\"let data of 'item'\">\n <div class=\"servicepoint-item\">\n <div class=\"servicepoint-name\">\n {{ data.name }} <span>{{data.id ? ('(' + data.id + ') ') : ':'}} {{(data.distance | meterToKilometer) | number : '1.0-1'}}</span><span> km</span>\n </div>\n </div>\n </div>\n <dx-validator [adapter]=\"validationConfig_ServicePoint\" validationGroup=\"ServicePoint\">\n <dxi-validation-rule type=\"required\" message=\"Parcel shop is required for this carrier product\" i18n-message=\"@@ValidationText-ParcelShop-Required\"></dxi-validation-rule>\n </dx-validator> \n </dx-select-box> \n <div class=\"dx-fieldset selected-service-point\">\n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-Name\">Name:</div> -->\n <div class=\"field-value\">\n {{selectedServicePoint?.name}} {{selectedServicePoint?.id ? ('(' + selectedServicePoint?.id + ')') : ''}}\n </div>\n </div>\n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-Address\">Address:</div> -->\n <div class=\"field-value\">\n {{selectedServicePoint?.address_line}}\n </div>\n </div> \n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-ZipCode\">Zip code:</div> -->\n <div class=\"field-value\">\n {{selectedServicePoint?.zip_code}} {{selectedServicePoint?.city}}\n </div>\n </div> \n <!-- <div class=\"field\">\n <div class=\"field-label\" i18n=\"@@FieldCaption-City\">City:</div>\n <div class=\"field-value\">\n {{selectedServicePoint?.city}}\n </div>\n </div> -->\n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-Country\">Country:</div> -->\n <div class=\"field-value\">\n {{selectedServicePoint?.country_code | countryCodeToName}}\n </div>\n </div> \n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-Distance\">Distance:</div> -->\n <div class=\"field-value\">\n <span *ngIf=\"selectedServicePoint?.distance\">{{(selectedServicePoint?.distance | meterToKilometer) | number : '1.0-1'}}</span><span *ngIf=\"selectedServicePoint?.distance\"> km</span>\n </div>\n </div> \n </div> \n </fieldset>\n </div> \n <fieldset class=\"shipment-fieldset-default shipment-fieldset-shipment-info\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-ShippingInfo\">Shipping information</legend>\n <dx-form #form_ShippingInfo id=\"form_ShippingInfo\" [colCount]=\"1\" [formData]=\"formInstanceShipment\" validationGroup=\"formShippingInfo\" [showColonAfterLabel]=\"false\" labelMode=\"static\" labelLocation=\"top\" [showValidationSummary]=\"false\" [showRequiredMark] = \"false\">\n \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\">\n <dxi-item dataField=\"ShippingDate\" editorType=\"dxDateBox\"> \n <dxo-label text=\"Shipping date\" i18n-text=\"@@FieldCaption-ShippingDate\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Shipping date is required\" i18n-text=\"@@ValidationText-ShippingDate-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Reference\">\n <dxo-label text=\"Reference\" i18n-text=\"@@FieldCaption-Reference\"></dxo-label> \n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\"> \n <dxi-item dataField=\"Remarks\" [colSpan]=\"1\">\n <dxo-label text=\"Remarks\" i18n-text=\"@@FieldCaption-Remarks\"></dxo-label> \n </dxi-item> \n <dxi-item [colSpan]=\"1\">\n <div *dxTemplate=\"let data of 'content'\">\n <dx-select-box id=\"printerSelectbox\" [dataSource]=\"printer_store\" label=\"Printer\" i18n-label=\"@@FieldCaption-Printer\" labelMode=\"static\" displayExpr=\"PrinterName\" valueExpr=\"Id\" [(value)]=\"selectedPrinterId\">\n <div *dxTemplate=\"let data of 'item'\">\n <div class=\"printer-item\">\n <div class=\"printer-name\">\n {{data?.PrinterName}} {{ data?.GatewayInstallationName ? ('(' + data.GatewayInstallationName + ')') : ('') }}\n </div>\n </div>\n </div> \n </dx-select-box> \n </div>\n </dxi-item> \n </dxi-item>\n </dx-form> \n </fieldset>\n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\">\n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" i18n=\"@@Button-Back\">Back</button>\n <button mat-flat-button color=\"primary\" (click)=\"onCreateShipmentClick()\" class=\"button2\" i18n=\"@@Button-CreateShipment\">Create shipment</button> \n </div> \n </div> \n </mat-step>\n <mat-step state=\"\">\n <div fxLayout=\"column\" class=\"dialog-form-content\">\n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <div class=\"dialog-loading-shade\" *ngIf=\"isLoadingData\">\n <mat-spinner diameter=\"50\" *ngIf=\"isLoadingData\"></mat-spinner> \n </div>\n <div class=\"dialog-loading-spinner-text\" *ngIf=\"isLoadingData\">{{loadingText}}</div>\n <div class=\"dialog-complete-text\" *ngIf=\"!isLoadingData && createCompleted && !createError\">{{createCompletedText}}</div>\n <div class=\"dialog-error-caption\" *ngIf=\"!isLoadingData && createError\" i18n=\"@@ShipmentCreateFailed-Text\">Shipment create failed</div>\n <div class=\"dialog-error-text\" *ngIf=\"!isLoadingData && createError\">{{createErrorText}}</div>\n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\"> \n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" [disabled]=\"isLoadingData || createCompleted\" i18n=\"@@Button-Back\">Back</button>\n <button mat-flat-button matStepperNext color=\"warn\" class=\"button2\" *ngIf=\"!isLoadingData && createError\" [disabled]=\"isLoadingData\" (click)=\"onCreateShipmentClick()\" i18n=\"@@Button-Retry\">Retry</button>\n <button mat-flat-button matStepperNext color=\"primary\" class=\"button2\" [disabled]=\"isLoadingData\" (click)=\"onClose()\" i18n=\"@@Button-Close\">Close</button> \n </div> \n </div> \n </mat-step> \n </mat-horizontal-stepper> \n </div> \n </div>\n\n <dx-load-panel\n #loadPanelMainContent\n container=\"#shipment_dialog_container\"\n [position]=\"{ of: '#shipment_dialog_container' }\"\n [(visible)]=\"showLoadIndicator\"\n [showIndicator]=\"true\"\n [showPane]=\"true\"\n [shading]=\"true\" \n [closeOnOutsideClick]=\"false\"></dx-load-panel>",
|
|
5432
|
+
template: "<div mat-dialog-container class=\"dialog-container\">\n <!-- <mat-toolbar color=\"primary\" class=\"mat-elevation-z2 dialog-caption\" cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" cdkDragHandle>\n <mat-card-header i18n=\"@@FieldCaption-CreateShipment\">Create shipment</mat-card-header>\n <span class=\"dialog-caption-spacer\"></span>\n <button mat-raised-button appMaterialElevation matTooltip=\"Close\" i18n-matTooltip=\"@@Action-Close\" aria-label=\"Close\" i18n-aria-label=\"@@Action-Close\" class=\"dialog-toolbar-button\" (click)=\"onCancel()\">\n <svg-icon name=\"mobicloud_close\" svgClass=\"dialog-toolbar-button-icon\"></svg-icon>\n </button> \n </mat-toolbar> -->\n <mat-toolbar color=\"primary\" class=\"mat-elevation-z2 dialog-caption\" cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" cdkDragHandle>\n <mat-card-header>\n <div class=\"toolbar-header-text-container\">\n <svg-icon name=\"mobicloud_shipment\" svgClass=\"dialog-caption-icon\"></svg-icon><div i18n=\"@@FieldCaption-CreateShipment\" class=\"toolbar-header-text\">Create shipment</div>\n </div> \n </mat-card-header>\n <span class=\"dialog-caption-spacer\"></span>\n <button mat-raised-button appMaterialElevation matTooltip=\"Close\" i18n-matTooltip=\"@@Action-Close\" aria-label=\"Close\" i18n-aria-label=\"@@Action-Close\" class=\"dialog-toolbar-button\" (click)=\"onCancel()\">\n <svg-icon name=\"mobicloud_close\" svgClass=\"dialog-toolbar-button-icon\"></svg-icon>\n </button> \n </mat-toolbar> \n\n <div #shipment_dialog_container id=\"shipment_dialog_container\" class=\"dialog-wizard-steps-container\">\n <mat-horizontal-stepper [linear]=\"true\" #stepper class=\"dialog-wizard-steps\" (animationDone)=\"setFocus()\" labelPosition='bottom'>\n <mat-step label=\"Lines\" i18n-label=\"@@CaptionHeader-Lines\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\"> \n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <div class=\"invalid-message-Lines\" *ngIf=\"!pickingLinesSelectionValid\" i18n=\"@@ValidationText-NoShipmentPickingLinesSelected\">No lines has been selected for shipping</div>\n <dx-data-grid keyExpr=\"Id\" #datagrid_pickinglines id=\"datagrid_pickinglines\" [(selectedRowKeys)]=\"selectedPickingLinesKeys\" class=\"devex-grid-lb\" height=\"100%\" [dataSource]=\"pickingLines\" [showBorders]=\"false\" [showColumnLines]=\"false\" [showRowLines]=\"true\" [allowColumnReordering]=\"true\" [allowColumnResizing]=\"true\" [rowAlternationEnabled]=\"true\">\n <!-- <dxo-editing mode=\"batch\" refreshMode=\"full\" [selectTextOnEditStart]=\"true\" startEditAction=\"click\" [allowAdding]=\"false\" [allowUpdating]=\"false\" [allowDeleting]=\"false\" [confirmDelete]=\"true\"></dxo-editing> -->\n <dxo-column-chooser [enabled]=\"true\" mode=\"select\" title=\"Choose columns\" i18n-title=\"@@CaptionHeader-ColumnChooser\"></dxo-column-chooser> \n <dxo-filter-row [visible]=\"true\"></dxo-filter-row> \n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-group-panel [visible]=\"false\" emptyPanelText=\"\"></dxo-group-panel> \n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection [allowSelectAll]=\"true\" showCheckBoxesMode=\"always\" [mode]=\"allowSelectPickingLines ? 'multiple' : 'none'\"></dxo-selection> \n\n <dxo-toolbar> \n <dxi-item location=\"after\">\n <div *dxTemplate class=\"gridtoolbar-item-container\">\n <dx-check-box [(value)]=\"returnLabelsEnabled\" [rtlEnabled]=\"false\" text=\"Return label\" i18n-text=\"@@FieldCaption-ReturnLabel\" (onValueChanged)=\"returnCheckBoxChanged($event)\" labelMode=\"static\" stylingMode=\"outlined\"></dx-check-box>\n </div>\n </dxi-item>\n \n <dxi-item name=\"columnChooserButton\"></dxi-item>\n </dxo-toolbar> \n\n <dxi-column dataField=\"MetaData.Index\" [width]=\"40\" [visible]=\"true\" hidingPriority=\"99\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-LineNumber\" caption=\"#\" dataType=\"number\" [fixed]=\"true\" fixedPosition=\"left\"></dxi-column>\n <dxi-column dataField=\"LineId\" [visible]=\"true\" hidingPriority=\"20\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-LineId\" caption=\"Line id\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"SalesLine.LineId\" hidingPriority=\"92\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SalesLineId\" caption=\"Sales line id\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"ProductId\" hidingPriority=\"58\" [visible]=\"false\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ProductUId\" caption=\"Product uid\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Product\" hidingPriority=\"68\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Product\" caption=\"Product\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Product.ProductId\" [fixed]=\"true\" fixedPosition=\"left\" hidingPriority=\"100\" [visible]=\"true\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ProductId\" caption=\"Product id\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Product.Name\" hidingPriority=\"94\" [visible]=\"true\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ProductName\" caption=\"Product name\" dataType=\"string\"></dxi-column> \n <dxi-column dataField=\"Product.SKU\" hidingPriority=\"54\" [visible]=\"true\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SKU\" caption=\"SKU\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Color\" hidingPriority=\"84\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Color\" caption=\"Color\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"ColorId\" hidingPriority=\"48\" [visible]=\"false\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ColorUId\" caption=\"Color uid\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Color.Code\" hidingPriority=\"82\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Color\" caption=\"Color\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Color.Name\" hidingPriority=\"46\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ColorName\" caption=\"Color name\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Size\" hidingPriority=\"78\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Size\" caption=\"Size\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"SizeId\" hidingPriority=\"44\" [visible]=\"false\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SizeUId\" caption=\"Size uid\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Size.Code\" hidingPriority=\"76\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Size\" caption=\"Size\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Size.Name\" hidingPriority=\"42\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SizeName\" caption=\"Size name\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Config\" hidingPriority=\"74\" [visible]=\"false\" [showInColumnChooser]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Config\" caption=\"Config\" dataType=\"string\"></dxi-column> \n <dxi-column dataField=\"ConfigId\" hidingPriority=\"40\" [visible]=\"false\" [showInColumnChooser]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ConfigUId\" caption=\"Config uid\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Config.Code\" hidingPriority=\"72\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Config\" caption=\"Config\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Config.Name\" hidingPriority=\"38\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-ConfigName\" caption=\"Config name\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"Qty\" hidingPriority=\"74\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Qty\" caption=\"Quantity\" dataType=\"number\"></dxi-column>\n <dxi-column dataField=\"QtyPick\" hidingPriority=\"96\" [visible]=\"true\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-QtyPick\" caption=\"Quantity pick\" dataType=\"number\"></dxi-column>\n <dxi-column dataField=\"Note\" hidingPriority=\"28\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-Note\" caption=\"Note\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"SortCode\" hidingPriority=\"26\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-SortCode\" caption=\"Sort code\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"WMSZone\" hidingPriority=\"24\" [visible]=\"false\" [allowHeaderFiltering]=\"false\" i18n-caption=\"@@GridColumn-WMSZone\" caption=\"WMS zone\" dataType=\"string\"></dxi-column>\n <dxi-column dataField=\"MetaData.Created\" hidingPriority=\"10\" [visible]=\"false\" [allowHeaderFiltering]=\"true\" i18n-caption=\"@@GridColumn-Created\" caption=\"Created\" dataType=\"date\"></dxi-column>\n <dxo-summary>\n <dxi-total-item column=\"Qty\" summaryType=\"sum\" displayFormat=\"{0}\"></dxi-total-item>\n <dxi-total-item column=\"QtyPick\" summaryType=\"sum\" displayFormat=\"{0}\"></dxi-total-item>\n </dxo-summary> \n <dxi-column type=\"buttons\" [allowHiding]=\"false\" [fixed]=\"true\" fixedPosition=\"right\">\n </dxi-column>\n <!-- <dxi-column type=\"adaptive\" [allowHiding]=\"false\" cellTemplate=\"adaptiveCellTemplate\" [fixed]=\"true\" fixedPosition=\"right\"></dxi-column> -->\n \n <!-- Templates -->\n \n <div *dxTemplate=\"let column of 'adaptiveCellTemplate'\">\n <button aria-label=\"Collapse/Expand\" mat-icon-button (click)=\"column.component.isAdaptiveDetailRowExpanded(column.row.key) ? column.component.collapseAdaptiveDetailRow() : column.component.expandAdaptiveDetailRow(column.row.key);\">\n <mat-icon *ngIf=\"!column.component.isAdaptiveDetailRowExpanded(column.row.key)\" svgIcon=\"mobicloud_expand_arrows\" class=\"expand_gridrow\"></mat-icon>\n <mat-icon *ngIf=\"column.component.isAdaptiveDetailRowExpanded(column.row.key)\" svgIcon=\"mobicloud_collapse_arrows\" class=\"collapse_gridrow\"></mat-icon>\n </button> \n </div>\n \n <dxo-paging [enabled]=\"false\"></dxo-paging>\n </dx-data-grid> \n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\">\n <button mat-flat-button color=\"accent\" (click)=\"onCancel()\" class=\"button1\" i18n=\"@@Button-Cancel\">Cancel</button>\n <button mat-flat-button color=\"primary\" (click)=\"onClick_Lines()\" class=\"button2\" i18n=\"@@Button-Next\">Next</button>\n </div> \n </div> \n </mat-step>\n <mat-step label=\"Sender\" i18n-label=\"@@CaptionHeader-Sender\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\">\n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <dx-select-box id=\"custom-templates\" class=\"sender-selectbox\" [dataSource]=\"inventLocation_ds\" displayExpr=\"Name\" [value]=\"inventLocationId\" [showClearButton]=\"true\" (onValueChanged)=\"senderSelectbox_onValueChanged($event)\">\n <div *dxTemplate=\"let data of 'item'\">\n <div class=\"custom-item\">\n <!-- <img src=\"{{ data.ImageSrc }}\" /> -->\n <div>\n {{ data.Name }} (test)\n </div>\n </div>\n </div>\n </dx-select-box> \n <fieldset class=\"shipment-fieldset-default shipment-fieldset-address\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-Sender\">Sender</legend>\n <dx-form #form_Sender id=\"form_Sender\" [colCount]=\"2\" [formData]=\"formInstanceShipment\" validationGroup=\"formSender\" [showColonAfterLabel]=\"false\" labelMode=\"static\" labelLocation=\"top\" [showValidationSummary]=\"false\" [showRequiredMark] = \"false\">\n \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Sender_Name\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'organization'} }\"> \n <dxo-label text=\"Name\" i18n-text=\"@@FieldCaption-Name\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Name is required\" i18n-text=\"@@ValidationText-Name-Required\"></dxi-validation-rule> \n </dxi-item>\n <dxi-item dataField=\"Sender_Attention\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'given-name'} }\">\n <dxo-label text=\"Attention\" i18n-text=\"@@FieldCaption-Attention\"></dxo-label>\n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Sender_Address1\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'address-line1'} }\">\n <dxo-label text=\"Address\" i18n-text=\"@@FieldCaption-Address\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Address is required\" i18n-text=\"@@ValidationText-Address-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Sender_Zipcode\" [editorOptions]=\"{ elementAttr: {autocomplete: 'postal-code'} }\">\n <dxo-label text=\"ZipCode\" i18n-text=\"@@FieldCaption-ZipCode\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Zip code is required\" i18n-text=\"@@ValidationText-ZipCode-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Sender_City\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'address-level2'} }\">\n <dxo-label text=\"City\" i18n-text=\"@@FieldCaption-City\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"City is required\" i18n-text=\"@@ValidationText-City-Required\"></dxi-validation-rule> \n </dxi-item> \n </dxi-item>\n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"1\" [colSpan]=\"2\">\n <dxi-item dataField=\"Sender_CountryCode\">\n <dxo-label text=\"Country\" i18n-text=\"@@FieldCaption-Country\"></dxo-label> \n <div *dxTemplate=\"let data of 'content'\">\n <dx-drop-down-box [deferRendering]=\"true\" [showClearButton]=\"true\" [readOnly]=\"false\" fieldTemplate=\"fieldTemplate\"\n [dataSource]=\"sender_country_ds\" \n [(value)]=\"_senderCountryId\"\n valueExpr=\"Code2\" \n displayExpr=\"LocalName\" \n [(opened)]=\"_senderCountryOpened\"> \n <dxo-drop-down-options title=\"Countries\" i18n-title=\"@@FieldCaption-Countries\" [showTitle]=\"true\" [fullScreen]=\"false\" [showCloseButton]=\"true\">\n </dxo-drop-down-options> \n <dx-data-grid [filterRow]=\"{ visible: true }\" [scrolling]=\"{ mode: 'standard' }\" [selection]=\"{ mode: 'single' }\" height=\"100%\" [hoverStateEnabled]=\"true\"\n [dataSource]=\"sender_country_ds\"\n [(selectedRowKeys)]=\"_senderCountryId\"\n (onSelectionChanged)=\"senderCountryChanged($event)\"\n (onRowClick)=\"_senderCountryOpened = false\">\n <dxi-column dataField=\"Code2\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"imgCellTemplate\" all [width]=\"50\" caption=\"\"></dxi-column>\n <dxi-column dataField=\"LocalName\" i18n-caption=\"@@GridColumn-Name\" caption=\"Name\"></dxi-column>\n <dxo-paging [enabled]=\"false\"></dxo-paging>\n <div *dxTemplate=\"let data of 'imgCellTemplate'\">\n <img alt=\"\" [src]=\"data.value | countryCodeToFlagUrl\"/>\n </div>\n </dx-data-grid>\n <div *dxTemplate=\"let data of 'fieldTemplate'\">\n <div class=\"country-edit-item\">\n <div class=\"country-edit-image\"><img alt=\"\" [src]=\"_selectedSenderCountry?.Code2 | countryCodeToFlagUrl\" *ngIf=\"_selectedSenderCountry?.Code2\"></div>\n <div class=\"country-edit-text\">\n <dx-text-box stylingMode=\"filled\" [value]=\"_selectedSenderCountry?.Code2 | countryCodeToName\" [readOnly]=\"true\"></dx-text-box>\n </div>\n </div>\n </div>\n </dx-drop-down-box>\n </div> \n <dxi-validation-rule type=\"required\" message=\"Country is required\" i18n-text=\"@@ValidationText-Country-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Sender_Email\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'email'} }\">\n <dxo-label text=\"Email\" i18n-text=\"@@FieldCaption-Email\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Email is required\" i18n-message=\"@@ValidationText-Email-Required\"></dxi-validation-rule>\n <dxi-validation-rule type=\"email\" message=\"Email is invalid\" i18n-message=\"@@ValidationText-Email-Invalid\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Sender_Mobile\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'tel'} }\">\n <dxo-label text=\"Mobile phone\" i18n-text=\"@@FieldCaption-MobilePhone\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Phone is required\" i18n-message=\"@@ValidationText-Phone-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n </dx-form> \n </fieldset> \n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\">\n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" i18n=\"@@Button-Back\">Back</button>\n <!-- <button mat-flat-button color=\"accent\" (click)=\"onCancel()\" class=\"button1\" i18n=\"@@Button-Cancel\">Cancel</button> -->\n <button mat-flat-button color=\"primary\" (click)=\"onClick_Sender()\" class=\"button2\" i18n=\"@@Button-Next\">Next</button> \n </div> \n </div> \n </mat-step>\n <mat-step label=\"Receiver\" i18n-label=\"@@CaptionHeader-Receiver\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\">\n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <fieldset class=\"shipment-fieldset-default shipment-fieldset-address\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-Receiver\">Receiver</legend>\n <dx-form #form_Receiver id=\"form_Receiver\" [colCount]=\"2\" [formData]=\"formInstanceShipment\" validationGroup=\"formReceiver\" [showColonAfterLabel]=\"false\" labelMode=\"static\" labelLocation=\"top\" [showValidationSummary]=\"false\" [showRequiredMark] = \"false\">\n \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Receiver_Name\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'organization'} }\"> \n <dxo-label text=\"Company\" i18n-text=\"@@FieldCaption-Company\"></dxo-label>\n <!-- <dxi-validation-rule type=\"required\" message=\"Name is required\" i18n-text=\"@@ValidationText-Name-Required\"></dxi-validation-rule> -->\n </dxi-item>\n <dxi-item dataField=\"Receiver_Attention\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'given-name'} }\">\n <dxo-label text=\"First name\" i18n-text=\"@@FieldCaption-Firstname\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"First name is required\" i18n-text=\"@@ValidationText-FirstName-Required\"></dxi-validation-rule>\n </dxi-item> \n <dxi-item dataField=\"Receiver_Telephone\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'family-name'} }\">\n <dxo-label text=\"Last name\" i18n-text=\"@@FieldCaption-Lastname\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Last name is required\" i18n-text=\"@@ValidationText-LastName-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Receiver_Address1\" [colSpan]=\"2\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'address-line1'} }\">\n <dxo-label text=\"Address\" i18n-text=\"@@FieldCaption-Address\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Address is required\" i18n-text=\"@@ValidationText-Address-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Receiver_Zipcode\" [editorOptions]=\"{ elementAttr: {autocomplete: 'postal-code'} }\">\n <dxo-label text=\"ZipCode\" i18n-text=\"@@FieldCaption-ZipCode\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Zip code is required\" i18n-text=\"@@ValidationText-ZipCode-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Receiver_City\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'address-level2'} }\">\n <dxo-label text=\"City\" i18n-text=\"@@FieldCaption-City\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"City is required\" i18n-text=\"@@ValidationText-City-Required\"></dxi-validation-rule> \n </dxi-item> \n </dxi-item>\n <dxi-item itemType=\"group\" caption=\"\" [colSpan]=\"2\">\n <dxi-item dataField=\"Receiver_CountryCode\">\n <dxo-label text=\"Country\" i18n-text=\"@@FieldCaption-Country\"></dxo-label> \n <div *dxTemplate=\"let data of 'content'\">\n <dx-drop-down-box [deferRendering]=\"true\" [showClearButton]=\"true\" [readOnly]=\"false\" fieldTemplate=\"fieldTemplate\"\n [dataSource]=\"receiver_country_ds\" \n [(value)]=\"_receiverCountryId\"\n valueExpr=\"Code2\" \n displayExpr=\"LocalName\" \n [(opened)]=\"_receiverCountryOpened\"> \n <dxo-drop-down-options title=\"Countries\" i18n-title=\"@@FieldCaption-Countries\" [showTitle]=\"true\" [fullScreen]=\"false\" [showCloseButton]=\"true\">\n </dxo-drop-down-options> \n <dx-data-grid [filterRow]=\"{ visible: true }\" [scrolling]=\"{ mode: 'standard' }\" [selection]=\"{ mode: 'single' }\" height=\"100%\" [hoverStateEnabled]=\"true\"\n [dataSource]=\"receiver_country_ds\"\n [(selectedRowKeys)]=\"_receiverCountryId\"\n (onSelectionChanged)=\"receiverCountryChanged($event)\"\n (onRowClick)=\"_receiverCountryOpened = false\">\n <dxi-column dataField=\"Code2\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"imgCellTemplate\" all [width]=\"50\" caption=\"\"></dxi-column>\n <dxi-column dataField=\"LocalName\" i18n-caption=\"@@GridColumn-Name\" caption=\"Name\"></dxi-column>\n <dxo-paging [enabled]=\"false\"></dxo-paging>\n <div *dxTemplate=\"let data of 'imgCellTemplate'\">\n <img alt=\"\" [src]=\"data.value | countryCodeToFlagUrl\"/>\n </div>\n </dx-data-grid>\n <div *dxTemplate=\"let data of 'fieldTemplate'\">\n <div class=\"country-edit-item\">\n <div class=\"country-edit-image\"><img alt=\"\" [src]=\"_selectedReceiverCountry?.Code2 | countryCodeToFlagUrl\" *ngIf=\"_selectedReceiverCountry?.Code2\"></div>\n <div class=\"country-edit-text\">\n <dx-text-box stylingMode=\"filled\" [value]=\"_selectedReceiverCountry?.Code2 | countryCodeToName\" [readOnly]=\"true\"></dx-text-box>\n </div>\n </div>\n </div>\n </dx-drop-down-box>\n </div> \n <dxi-validation-rule type=\"required\" message=\"Country is required\" i18n-text=\"@@ValidationText-Country-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\" [colSpan]=\"2\">\n <dxi-item dataField=\"Receiver_Email\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'email'} }\">\n <dxo-label text=\"Email\" i18n-text=\"@@FieldCaption-Email\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Email is required\" i18n-message=\"@@ValidationText-Email-Required\"></dxi-validation-rule>\n <dxi-validation-rule type=\"email\" message=\"Email is invalid\" i18n-message=\"@@ValidationText-Email-Invalid\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Receiver_Mobile\" [editorOptions]=\"{ inputAttr: {'autocomplete': 'tel'} }\">\n <dxo-label text=\"Mobile phone\" i18n-text=\"@@FieldCaption-MobilePhone\"></dxo-label> \n <dxi-validation-rule type=\"required\" message=\"Phone is required\" i18n-message=\"@@ValidationText-Phone-Required\"></dxi-validation-rule>\n </dxi-item> \n </dxi-item> \n </dx-form> \n </fieldset> \n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\">\n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" i18n=\"@@Button-Back\">Back</button>\n <button mat-flat-button color=\"primary\" (click)=\"onClick_Receiver()\" class=\"button2\" i18n=\"@@Button-Next\">Next</button> \n </div> \n </div> \n </mat-step> \n <mat-step label=\"Packages\" i18n-label=\"@@CaptionHeader-Packages\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\">\n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <div class=\"invalid-message-Lines\" *ngIf=\"!boxesSelectionValid\" i18n=\"@@ValidationText-NoShipmentBoxesSelected\">No boxes has been selected for shipping</div>\n <div class=\"invalid-message-Lines\" *ngIf=\"!productBoxesQuantityValid\" i18n=\"@@ValidationText-ProductBoxesQuantityInvalid\">Product quantities in the boxes is invalid</div>\n <dx-data-grid #selectedBoxesList id=\"selectedBoxesList\" keyExpr=\"Id\" class=\"devex-grid-lb\" height=\"100%\" [dataSource]=\"selectedBoxes\" [showBorders]=\"false\" [showColumnLines]=\"false\" [showRowLines]=\"true\" [allowColumnReordering]=\"true\" [allowColumnResizing]=\"true\" [rowAlternationEnabled]=\"true\" (onInitNewRow)=\"onInitNewRow_Boxes($event)\">\n <dxo-paging [enabled]=\"false\"></dxo-paging>\n <dxo-editing mode=\"cell\" [allowUpdating]=\"true\" [allowAdding]=\"true\" [allowDeleting]=\"true\" [selectTextOnEditStart]=\"true\">\n </dxo-editing>\n <dxo-toolbar>\n <dxi-item location=\"before\">\n <dx-drop-down-button text=\"Add box\" i18n-text=\"@@Button-AddBox\" icon=\"box\" [items]=\"packagingBoxes\" displayExpr=\"Name\" (onItemClick)=\"onAddBoxButtonClick($event)\"></dx-drop-down-button> \n </dxi-item> \n <dxi-item name=\"addRowButton\" cssClass=\"action-button\"></dxi-item>\n <dxi-item name=\"revertButton\" cssClass=\"action-button\"></dxi-item>\n </dxo-toolbar>\n\n <dxo-master-detail [enabled]=\"true\" template=\"detail\" [autoExpandAll]=\"true\" *ngIf=\"internationalShipping\"></dxo-master-detail>\n <div *dxTemplate=\"let row of 'detail'\"> \n <fieldset class=\"detailsgrid-fieldset-default\"> \n <legend class=\"detailsgrid-legend-default\" i18n=\"@@FieldCaption-Products\">Products</legend>\n\n <dx-data-grid keyExpr=\"PickingLine.Id\" class=\"devex-grid-lb\" height=\"100%\" [dataSource]=\"row.data.Lines\" [showBorders]=\"false\" [showColumnLines]=\"false\" [showRowLines]=\"true\" [allowColumnReordering]=\"true\" [allowColumnResizing]=\"true\" [rowAlternationEnabled]=\"true\">\n <dxo-paging [enabled]=\"false\"></dxo-paging>\n <dxo-editing mode=\"cell\" [allowUpdating]=\"true\" [allowAdding]=\"false\" [allowDeleting]=\"true\" [selectTextOnEditStart]=\"true\">\n </dxo-editing>\n <!-- <dxo-selection selectAllMode=\"allPages\" showCheckBoxesMode=\"always\" mode=\"multiple\" [allowSelectAll]=\"true\"></dxo-selection> -->\n \n <dxi-column dataField=\"PickingLine.Product.ProductId\" caption=\"Product id\" hidingPriority=\"100\" [allowEditing]=\"false\" i18n-caption=\"@@GridColumn-ProductId\" dataType=\"string\" [fixed]=\"true\" fixedPosition=\"left\"></dxi-column>\n <dxi-column dataField=\"ParcelLine.Quantity\" caption=\"Quantity\" [allowEditing]=\"true\" hidingPriority=\"90\" i18n-caption=\"@@GridColumn-Quantity\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\" [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n\n </dx-data-grid>\n </fieldset> \n </div>\n\n <dxi-column dataField=\"Quantity\" [visible]=\"!internationalShipping\" [showInColumnChooser]=\"!internationalShipping\" caption=\"Quantity\" hidingPriority=\"100\" i18n-caption=\"@@GridColumn-Quantity\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\" [fixed]=\"true\" fixedPosition=\"left\"></dxi-column>\n <dxi-column dataField=\"BoxType\" [setCellValue]=\"setCellValue_BoxType\" caption=\"Box type\" hidingPriority=\"90\" i18n-caption=\"@@GridColumn-BoxType\" dataType=\"string\" [fixed]=\"true\" fixedPosition=\"left\">\n <dxo-lookup\n [dataSource]=\"packagingBoxType_ds\"\n displayExpr=\"text\"\n valueExpr=\"value\">\n </dxo-lookup> \n <dxo-header-filter\n [dataSource]=\"packagingBoxType_ds\">\n </dxo-header-filter> \n <dxi-validation-rule type=\"required\" message=\"Box type is required\" i18n-message=\"@@ValidationText-BoxType-Required\"></dxi-validation-rule> \n </dxi-column> \n <dxi-column dataField=\"Length_InCm\" hidingPriority=\"80\" i18n-caption=\"@@GridColumn-Length_CM\" caption=\"Length (cm)\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\">\n <dxi-validation-rule type=\"required\" message=\"Length is required\" i18n-message=\"@@ValidationText-Length-Required\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"Width_InCm\" hidingPriority=\"70\" i18n-caption=\"@@GridColumn-Width_CM\" caption=\"Width (cm)\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\">\n <dxi-validation-rule type=\"required\" message=\"Width is required\" i18n-message=\"@@ValidationText-Width-Required\"></dxi-validation-rule>\n </dxi-column>\n <dxi-column dataField=\"Height_InCm\" hidingPriority=\"60\" i18n-caption=\"@@GridColumn-Height_CM\" caption=\"Height (cm)\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\"></dxi-column>\n <dxi-column dataField=\"Weight_InKg\" hidingPriority=\"50\" i18n-caption=\"@@GridColumn-Weight_KG\" caption=\"Weight (kg)\" dataType=\"number\" format=\"#\" [editorOptions]=\"{ format: '#' }\">\n <dxi-validation-rule type=\"required\" message=\"Weight is required\" i18n-message=\"@@ValidationText-Weight-Required\"></dxi-validation-rule>\n </dxi-column>\n \n </dx-data-grid> \n </div> \n </div>\n <div fxLayout=\"row\" class=\"dialog-button-row\">\n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" i18n=\"@@Button-Back\">Back</button>\n <button mat-flat-button color=\"primary\" (click)=\"onClick_Packages()\" class=\"button2\" i18n=\"@@Button-Next\">Next</button> \n </div> \n </mat-step> \n <mat-step label=\"Carrier\" i18n-label=\"@@CaptionHeader-Carrier\" [optional]=\"false\" [editable]=\"!createCompleted\">\n <div fxLayout=\"column\" class=\"dialog-form-content\"> \n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n\n <div class=\"carrier-info\" *ngIf=\"shipmentProviderType == 'Webshipper'\">\n <div class=\"carrier\">\n <dx-select-box id=\"carrierSelectbox\" [dataSource]=\"shipmentCarriers\" label=\"Carrier\" i18n-label=\"@@FieldCaption-Carrier\" labelMode=\"static\" displayExpr=\"name\" valueExpr=\"id\" [(value)]=\"selectedCarrierId\" (onSelectionChanged)=\"onCarrierSelectionChanged($event)\">\n <div *dxTemplate=\"let data of 'item'\">\n <div class=\"carrier-item\">\n <div class=\"carrier-name\">\n {{data?.name}}\n </div>\n </div>\n </div> \n </dx-select-box> \n </div> \n </div> \n\n <div fxLayout=\"row\" class=\"shipment-products-container\">\n <fieldset [ngClass]=\"{'shipment-fieldset-default shipment-fieldset-shipment-products':!servicePointRequired, 'shipment-fieldset-default shipment-fieldset-shipment-products-withservice':servicePointRequired}\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-CarrierProducts\">Carrier products</legend>\n <dx-validation-summary validationGroup=\"ProductCode\"></dx-validation-summary>\n <dx-list #shipmentProducList keyExpr=\"product_code\" [dataSource]=\"shipmentProducts\" selectionMode=\"single\" showScrollbar=\"always\" [showSelectionControls]=\"true\" [(selectedItemKeys)]=\"selectedShipmentProducts\" (onSelectionChanged)=\"onShipmentProductSelectionChanged($event)\">\n <div *dxTemplate=\"let item of 'item'\">\n <div class=\"shipment-product-item\"> \n <div class=\"shipment-product-item-name\">{{ item.name }}</div>\n <div class=\"shipment-product-item-info\">\n <div class=\"shipment-product-item-price\">\n <!-- <span class=\"item-caption\">Price</span><span class=\"item-caption-colon\">:</span><div class=\"item-value\">{{item.price_amount | currency:item.price_currency:\"symbol\"}}</div> -->\n <span class=\"item-caption\">Price</span><span class=\"item-caption-colon\">:</span><div class=\"item-value\">{{item.price_currency}} {{item.price_amount}}</div>\n </div>\n <div class=\"shipment-product-item-transit\">\n <span class=\"item-caption\">Transit time</span><span class=\"item-caption-colon\">:</span><span class=\"item-value\">{{ item.transit_time }}</span> \n </div>\n </div>\n </div>\n </div>\n <dx-validator [adapter]=\"validationConfig_ProductCode\" validationGroup=\"ProductCode\">\n <dxi-validation-rule type=\"required\" message=\"Carrier product is required\" i18n-message=\"@@ValidationText-CarrierProduct-Required\"></dxi-validation-rule>\n </dx-validator>\n </dx-list> \n </fieldset>\n <fieldset class=\"shipment-fieldset-default shipment-fieldset-shipment-servicepoint\" *ngIf=\"selectedShippingProduct?.service_point_required\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-ParcelShop\">Parcel shop</legend>\n <dx-validation-summary validationGroup=\"ServicePoint\"></dx-validation-summary>\n <dx-select-box id=\"servicePointsSelectbox\" [dataSource]=\"servicePoints\" displayExpr=\"name\" [(value)]=\"selectedServicePoint\" (onSelectionChanged)=\"onServicePointSelectionChanged($event)\">\n <div *dxTemplate=\"let data of 'item'\">\n <div class=\"servicepoint-item\">\n <div class=\"servicepoint-name\">\n {{ data.name }} <span>{{data.id ? ('(' + data.id + ') ') : ':'}} {{(data.distance | meterToKilometer) | number : '1.0-1'}}</span><span> km</span>\n </div>\n </div>\n </div>\n <dx-validator [adapter]=\"validationConfig_ServicePoint\" validationGroup=\"ServicePoint\">\n <dxi-validation-rule type=\"required\" message=\"Parcel shop is required for this carrier product\" i18n-message=\"@@ValidationText-ParcelShop-Required\"></dxi-validation-rule>\n </dx-validator> \n </dx-select-box> \n <div class=\"dx-fieldset selected-service-point\">\n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-Name\">Name:</div> -->\n <div class=\"field-value\">\n {{selectedServicePoint?.name}} {{selectedServicePoint?.id ? ('(' + selectedServicePoint?.id + ')') : ''}}\n </div>\n </div>\n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-Address\">Address:</div> -->\n <div class=\"field-value\">\n {{selectedServicePoint?.address_line}}\n </div>\n </div> \n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-ZipCode\">Zip code:</div> -->\n <div class=\"field-value\">\n {{selectedServicePoint?.zip_code}} {{selectedServicePoint?.city}}\n </div>\n </div> \n <!-- <div class=\"field\">\n <div class=\"field-label\" i18n=\"@@FieldCaption-City\">City:</div>\n <div class=\"field-value\">\n {{selectedServicePoint?.city}}\n </div>\n </div> -->\n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-Country\">Country:</div> -->\n <div class=\"field-value\">\n {{selectedServicePoint?.country_code | countryCodeToName}}\n </div>\n </div> \n <div class=\"field\">\n <!-- <div class=\"field-label\" i18n=\"@@FieldCaption-Distance\">Distance:</div> -->\n <div class=\"field-value\">\n <span *ngIf=\"selectedServicePoint?.distance\">{{(selectedServicePoint?.distance | meterToKilometer) | number : '1.0-1'}}</span><span *ngIf=\"selectedServicePoint?.distance\"> km</span>\n </div>\n </div> \n </div> \n </fieldset>\n </div> \n <fieldset class=\"shipment-fieldset-default shipment-fieldset-shipment-info\">\n <legend class=\"shipment-legend-default\" i18n=\"@@FieldCaption-ShippingInfo\">Shipping information</legend>\n <dx-form #form_ShippingInfo id=\"form_ShippingInfo\" [colCount]=\"1\" [formData]=\"formInstanceShipment\" validationGroup=\"formShippingInfo\" [showColonAfterLabel]=\"false\" labelMode=\"static\" labelLocation=\"top\" [showValidationSummary]=\"false\" [showRequiredMark] = \"false\">\n \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\">\n <dxi-item dataField=\"ShippingDate\" editorType=\"dxDateBox\"> \n <dxo-label text=\"Shipping date\" i18n-text=\"@@FieldCaption-ShippingDate\"></dxo-label>\n <dxi-validation-rule type=\"required\" message=\"Shipping date is required\" i18n-text=\"@@ValidationText-ShippingDate-Required\"></dxi-validation-rule> \n </dxi-item> \n <dxi-item dataField=\"Reference\">\n <dxo-label text=\"Reference\" i18n-text=\"@@FieldCaption-Reference\"></dxo-label> \n </dxi-item> \n </dxi-item> \n <dxi-item itemType=\"group\" caption=\"\" [colCount]=\"2\"> \n <dxi-item dataField=\"Remarks\" [colSpan]=\"1\">\n <dxo-label text=\"Remarks\" i18n-text=\"@@FieldCaption-Remarks\"></dxo-label> \n </dxi-item> \n <dxi-item [colSpan]=\"1\">\n <div *dxTemplate=\"let data of 'content'\">\n <dx-select-box id=\"printerSelectbox\" [dataSource]=\"printer_store\" label=\"Printer\" i18n-label=\"@@FieldCaption-Printer\" labelMode=\"static\" displayExpr=\"PrinterName\" valueExpr=\"Id\" [(value)]=\"selectedPrinterId\">\n <div *dxTemplate=\"let data of 'item'\">\n <div class=\"printer-item\">\n <div class=\"printer-name\">\n {{data?.PrinterName}} {{ data?.GatewayInstallationName ? ('(' + data.GatewayInstallationName + ')') : ('') }}\n </div>\n </div>\n </div> \n </dx-select-box> \n </div>\n </dxi-item> \n </dxi-item>\n </dx-form> \n </fieldset>\n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\">\n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" i18n=\"@@Button-Back\">Back</button>\n <button mat-flat-button color=\"primary\" (click)=\"onCreateShipmentClick()\" class=\"button2\" i18n=\"@@Button-CreateShipment\">Create shipment</button> \n </div> \n </div> \n </mat-step>\n <mat-step state=\"\">\n <div fxLayout=\"column\" class=\"dialog-form-content\">\n <div fxLayout=\"column\" class=\"dialog-tab-input-container\">\n <div class=\"dialog-loading-shade\" *ngIf=\"isLoadingData\">\n <mat-spinner diameter=\"50\" *ngIf=\"isLoadingData\"></mat-spinner> \n </div>\n <div class=\"dialog-loading-spinner-text\" *ngIf=\"isLoadingData\">{{loadingText}}</div>\n <div class=\"dialog-complete-text\" *ngIf=\"!isLoadingData && createCompleted && !createError\">{{createCompletedText}}</div>\n <div class=\"dialog-error-caption\" *ngIf=\"!isLoadingData && createError\" i18n=\"@@ShipmentCreateFailed-Text\">Shipment create failed</div>\n <div class=\"dialog-error-text\" *ngIf=\"!isLoadingData && createError\">{{createErrorText}}</div>\n </div> \n </div>\n <div fxLayout=\"row\" fxFlex=\"100\" fxLayoutAlign=\"stretch\" fxLayoutAlign=\"end end\">\n <div fxLayout=\"row\" class=\"dialog-button-row\" fxFlex=\"100\" fxLayoutAlign=\"end center\"> \n <button mat-flat-button matStepperPrevious color=\"accent\" class=\"button1\" [disabled]=\"isLoadingData || createCompleted\" i18n=\"@@Button-Back\">Back</button>\n <button mat-flat-button matStepperNext color=\"warn\" class=\"button2\" *ngIf=\"!isLoadingData && createError\" [disabled]=\"isLoadingData\" (click)=\"onCreateShipmentClick()\" i18n=\"@@Button-Retry\">Retry</button>\n <button mat-flat-button matStepperNext color=\"primary\" class=\"button2\" [disabled]=\"isLoadingData\" (click)=\"onClose()\" i18n=\"@@Button-Close\">Close</button> \n </div> \n </div> \n </mat-step> \n </mat-horizontal-stepper> \n </div> \n </div>\n\n <dx-load-panel\n #loadPanelMainContent\n container=\"#shipment_dialog_container\"\n [position]=\"{ of: '#shipment_dialog_container' }\"\n [(visible)]=\"showLoadIndicator\"\n [showIndicator]=\"true\"\n [showPane]=\"true\"\n [shading]=\"true\" \n [closeOnOutsideClick]=\"false\"></dx-load-panel>",
|
|
5381
5433
|
styles: ["::ng-deep .mat-card-header{margin-left:-32px!important}.toolbar-header-text-container{display:flex}.toolbar-header-text{margin-top:5px;margin-left:8px}.dialog-caption-icon{pointer-events:none;fill:var(--default-toolbar-iconcolor);width:22px;height:22px;margin-top:10px}.dialog-form-content{min-height:506px!important}.dialog-form-content-address{margin-top:0!important}.shipment-fieldset-default{border:1px solid var(--default-datagrid-border-color);border-radius:7px;height:calc(100% - 280px);background-color:var(--default-groupbox-content-background);padding-top:5px}.shipment-legend-default{padding:.2em .5em;color:var(--default-textcolor-dark);font-weight:600;font-size:90%}.invalid-message-Lines{color:var(--default-textcolor-error);font-size:.85em}.shipment-fieldset-address{margin-bottom:20px}.sender-selectbox{margin-bottom:10px}.shipment-fieldset-shipment-products{border:1px solid var(--default-datagrid-border-color);border-radius:7px;width:100%;height:212px}.shipment-fieldset-shipment-products-withservice,.shipment-fieldset-shipment-servicepoint{width:50%;height:212px}.shipment-products-container .dx-list-item-content{font-size:12px;padding-top:0!important;padding-bottom:10px!important}.shipment-product-item-info{display:flex;font-style:italic}.shipment-product-item-price{display:flex}.shipment-product-item-price .item-value{margin-left:5px}.shipment-product-item-transit .item-caption{margin-left:20px}.shipment-product-item-transit .item-value{margin-left:5px}.shipment-fieldset-shipment-info{margin-top:5px;width:auto}.selected-service-point .field{display:flex;font-weight:400;font-size:12px;margin-bottom:6px}.selected-service-point .field-label{color:var(--default-textcolor-field-label);width:56px}.selected-service-point .field-value{margin-left:5px}.printer-info{display:flex;margin-top:30px;width:100%}.printer-info .print-labels{margin-right:20px;width:180px;padding-left:20px;padding-top:3px}.printer-info .printer{width:100%}.carrier-info{display:flex;margin-bottom:5px;width:100%}.carrier-info .carrier{width:100%}"]
|
|
5382
5434
|
},] }
|
|
5383
5435
|
];
|