Your IP : 216.73.216.26


Current Path : /home2/wtmwscom/public_html/post/scripts/
Upload File :
Current File : /home2/wtmwscom/public_html/post/scripts/Portal_049.js

define("Portal.Tracking.TrackAndTraceDetail.mvc$model", ["OutSystems/ClientRuntime/Main", "Portal.model", "MultiLingual.controller", "MultiLingual.controller$GetTranslation", "Portal.referencesHealth", "Portal.referencesHealth$MultiLingual", "Portal.model$PostVerifyRequestRec", "Portal.model$PostVerifyResponseRec"], function (OutSystems, PortalModel, MultiLingualController) {
var OS = OutSystems.Internal;

var CaptchaConfigDataActRec = (function (_super) {
__extends(CaptchaConfigDataActRec, _super);
function CaptchaConfigDataActRec(defaults) {
_super.apply(this, arguments);
}
CaptchaConfigDataActRec.attributesToDeclare = function () {
return [
this.attr("Result", "resultOut", "Result", true, false, OS.Types.Boolean, function () {
return false;
}, true), 
this.attr("ScoreThreshold", "scoreThresholdOut", "ScoreThreshold", true, false, OS.Types.Decimal, function () {
return OS.DataTypes.Decimal.defaultValue;
}, true)
].concat(_super.attributesToDeclare.call(this));
};
CaptchaConfigDataActRec.init();
return CaptchaConfigDataActRec;
})(OS.Model.DataSourceRecord);
var ParseTrackingNumbersDataActRec = (function (_super) {
__extends(ParseTrackingNumbersDataActRec, _super);
function ParseTrackingNumbersDataActRec(defaults) {
_super.apply(this, arguments);
}
ParseTrackingNumbersDataActRec.attributesToDeclare = function () {
return [
this.attr("TrackingNumbers", "trackingNumbersOut", "TrackingNumbers", true, false, OS.Types.RecordList, function () {
return OS.DataTypes.ImmutableBase.getData(new OS.DataTypes.TextList());
}, true, OS.DataTypes.TextList)
].concat(_super.attributesToDeclare.call(this));
};
ParseTrackingNumbersDataActRec.fromStructure = function (str) {
return new ParseTrackingNumbersDataActRec(new ParseTrackingNumbersDataActRec.RecordClass({
trackingNumbersOut: OS.DataTypes.ImmutableBase.getData(str)
}));
};
ParseTrackingNumbersDataActRec.init();
return ParseTrackingNumbersDataActRec;
})(OS.Model.DataSourceRecord);

var VariablesRecord = (function (_super) {
__extends(VariablesRecord, _super);
function VariablesRecord(defaults) {
_super.apply(this, arguments);
}
VariablesRecord.attributesToDeclare = function () {
return [
this.attr("ShowLoader", "showLoaderVar", "ShowLoader", true, false, OS.Types.Boolean, function () {
return false;
}, false), 
this.attr("ShowExcelExport", "showExcelExportVar", "ShowExcelExport", true, false, OS.Types.Boolean, function () {
return false;
}, false), 
this.attr("CompletedTrackingNumbers", "completedTrackingNumbersVar", "CompletedTrackingNumbers", true, false, OS.Types.RecordList, function () {
return OS.DataTypes.ImmutableBase.getData(new OS.DataTypes.TextList());
}, false, OS.DataTypes.TextList), 
this.attr("CaptchaToken", "captchaTokenVar", "CaptchaToken", true, false, OS.Types.Text, function () {
return "";
}, false), 
this.attr("TrackingNumberUserInput", "trackingNumberUserInputIn", "TrackingNumberUserInput", true, false, OS.Types.Text, function () {
return "";
}, false), 
this.attr("_trackingNumberUserInputInDataFetchStatus", "_trackingNumberUserInputInDataFetchStatus", "_trackingNumberUserInputInDataFetchStatus", true, false, OS.Types.Integer, function () {
return /*Fetched*/ 1;
}, false), 
this.attr("locale", "localeIn", "locale", true, false, OS.Types.Text, function () {
return "";
}, false), 
this.attr("_localeInDataFetchStatus", "_localeInDataFetchStatus", "_localeInDataFetchStatus", true, false, OS.Types.Integer, function () {
return /*Fetched*/ 1;
}, false), 
this.attr("CaptchaConfig", "captchaConfigDataAct", "captchaConfigDataAct", true, true, OS.Types.Record, function () {
return OS.DataTypes.ImmutableBase.getData(new CaptchaConfigDataActRec());
}, true, CaptchaConfigDataActRec), 
this.attr("ParseTrackingNumbers", "parseTrackingNumbersDataAct", "parseTrackingNumbersDataAct", true, true, OS.Types.Record, function () {
return OS.DataTypes.ImmutableBase.getData(new ParseTrackingNumbersDataActRec());
}, true, ParseTrackingNumbersDataActRec)
].concat(_super.attributesToDeclare.call(this));
};
VariablesRecord.init();
return VariablesRecord;
})(OS.DataTypes.GenericRecord);
var WidgetsRecord = (function (_super) {
__extends(WidgetsRecord, _super);
function WidgetsRecord() {
_super.apply(this, arguments);
}
WidgetsRecord.getWidgetsType = function () {
return {
txtTrackingNumber: OS.Model.ValidationWidgetRecord
};
};

return WidgetsRecord;
})(OS.Model.BaseWidgetRecordMap);
var Model = (function (_super) {
__extends(Model, _super);
function Model() {
_super.apply(this, arguments);
}
Model.getVariablesRecordConstructor = function () {
return VariablesRecord;
};
Model.getWidgetsRecordConstructor = function () {
return WidgetsRecord;
};
Object.defineProperty(Model, "hasValidationWidgets", {
enumerable: true,
configurable: true,
get: function () {
return true;
}
});

Model.prototype.setInputs = function (inputs) {
if("TrackingNumberUserInput" in inputs) {
this.variables.trackingNumberUserInputIn = inputs.TrackingNumberUserInput;
if("_trackingNumberUserInputInDataFetchStatus" in inputs) {
this.variables._trackingNumberUserInputInDataFetchStatus = inputs._trackingNumberUserInputInDataFetchStatus;
}

}

if("locale" in inputs) {
this.variables.localeIn = inputs.locale;
if("_localeInDataFetchStatus" in inputs) {
this.variables._localeInDataFetchStatus = inputs._localeInDataFetchStatus;
}

}

};
return Model;
})(OS.Model.BaseViewModel);
return new OS.Model.ModelFactory(Model);
});
define("Portal.Tracking.TrackAndTraceDetail.mvc$view", ["OutSystems/ClientRuntime/Main", "Portal.model", "Portal.controller", "MultiLingual.controller", "react", "OutSystems/ReactView/Main", "Portal.Tracking.TrackAndTraceDetail.mvc$model", "Portal.Tracking.TrackAndTraceDetail.mvc$controller", "Portal.clientVariables", "Portal.Tracking.TrackingContentHeader.mvc$view", "OutSystems/ReactWidgets/Main", "Portal.EP_Common.Title.mvc$view", "Portal.EP_Inputs.Input.mvc$view", "Portal.EP_Common.Tagline.mvc$view", "Portal.EP_Common.CaptchaBrandingMessage.mvc$view", "Portal.EP_Buttons.ButtonPrimary.mvc$view", "OutSystemsUI.Adaptive.Columns2.mvc$view", "Portal.Tracking.TrackBlock.mvc$view", "Portal.EP_Common.Content.mvc$view", "Portal.EP_Common.Loader.mvc$view", "MultiLingual.controller$GetTranslation", "Portal.referencesHealth", "Portal.referencesHealth$MultiLingual", "Portal.model$PostVerifyRequestRec", "Portal.model$PostVerifyResponseRec"], function (OutSystems, PortalModel, PortalController, MultiLingualController, React, OSView, Portal_Tracking_TrackAndTraceDetail_mvc_model, Portal_Tracking_TrackAndTraceDetail_mvc_controller, PortalClientVariables, Portal_Tracking_TrackingContentHeader_mvc_view, OSWidgets, Portal_EP_Common_Title_mvc_view, Portal_EP_Inputs_Input_mvc_view, Portal_EP_Common_Tagline_mvc_view, Portal_EP_Common_CaptchaBrandingMessage_mvc_view, Portal_EP_Buttons_ButtonPrimary_mvc_view, OutSystemsUI_Adaptive_Columns2_mvc_view, Portal_Tracking_TrackBlock_mvc_view, Portal_EP_Common_Content_mvc_view, Portal_EP_Common_Loader_mvc_view) {
    var OS = OutSystems.Internal;
var PlaceholderContent = OSView.Widget.PlaceholderContent;
var IteratorPlaceholderContent = OSView.Widget.IteratorPlaceholderContent;


    var View = (function (_super) {
        __extends(View,_super);
        function View() {
            try {
                this.initialize.apply(this, arguments);
            } catch (error) {
                View.handleError(error);
                throw error;
            }
        }
        View.prototype.initialize = function() {
            _super.apply(this, arguments);
        };
        View.displayName = "Tracking.TrackAndTraceDetail";
        View.getCssDependencies = function() {
            return ["css/OutSystemsReactWidgets.css", "css/Portal.Tracking.TrackAndTraceDetail.css"];
        };
        View.getJsDependencies = function() {
            return [];
        };
        View.getBlocks = function() {
            return [Portal_Tracking_TrackingContentHeader_mvc_view, Portal_EP_Common_Title_mvc_view, Portal_EP_Inputs_Input_mvc_view, Portal_EP_Common_Tagline_mvc_view, Portal_EP_Common_CaptchaBrandingMessage_mvc_view, Portal_EP_Buttons_ButtonPrimary_mvc_view, OutSystemsUI_Adaptive_Columns2_mvc_view, Portal_Tracking_TrackBlock_mvc_view, Portal_EP_Common_Content_mvc_view, Portal_EP_Common_Loader_mvc_view];
        };
        Object.defineProperty(View.prototype, "modelFactory", {
            get: function () {
                return Portal_Tracking_TrackAndTraceDetail_mvc_model;
            },
            enumerable: true,
            configurable: true
        });
        Object.defineProperty(View.prototype, "controllerFactory", {
            get: function () {
                return Portal_Tracking_TrackAndTraceDetail_mvc_controller;
            },
            enumerable: true,
            configurable: true
        });
        Object.defineProperty(View.prototype, "title", {
            get: function () {
                return "";
            },
            enumerable: true,
            configurable: true
        });
        View.prototype.internalRender = function() {
            var model = this.model;
            var controller = this.controller;
            var idService = this.idService;
            var validationService = controller.validationService;
            var widgetsRecordProvider = this.widgetsRecordProvider;
            var callContext = controller.callContext();
            var $if = View.ifWidget;
            var asPrimitiveValue = View.asPrimitiveValue;
            var _this = this;

            return React.createElement("div", this.getRootNodeProperties(), React.createElement(Portal_Tracking_TrackingContentHeader_mvc_view, {
inputs: {
HasBottomMargin: true,
HasSpecialLeftBorder: false,
HasSpecialTopBorder: true
},
events: {
_handleError: function (ex) {
controller.handleError(ex);
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
name: "ContentTop",
alias: "1"
},
_widgetRecordProvider: widgetsRecordProvider,
placeholders: {
mainContent: new PlaceholderContent(function () {
return [React.createElement(Portal_EP_Common_Title_mvc_view, {
inputs: {
TitleColor: "black",
HasBottomMargin: false
},
events: {
_handleError: function (ex) {
controller.handleError(ex);
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
uuid: "1",
alias: "2"
},
_widgetRecordProvider: widgetsRecordProvider,
placeholders: {
icon: new PlaceholderContent(function () {
return [React.createElement(OSWidgets.Image, {
gridProperties: {
width: "40px"
},
image: OS.Navigation.VersionedURL.getVersionedUrl("img/UIComponents_UC.Services_TracknTrace_title_2x.png"),
type: /*Static*/ 0,
_idProps: {
service: idService,
uuid: "2"
},
_widgetRecordProvider: widgetsRecordProvider
})];
}),
text: new PlaceholderContent(function () {
return [React.createElement(OSWidgets.Text, {
extendedProperties: {
"data-trans": "track-and-trace-track-title",
style: "padding-left: 5px;"
},
text: ["Track a Package"],
_idProps: {
service: idService,
uuid: "3"
},
_widgetRecordProvider: widgetsRecordProvider
})];
})
},
_dependencies: []
}), React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
style: "Tracking",
visible: true,
_idProps: {
service: idService,
name: "Tracking"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
gridProperties: {
classes: "ThemeGrid_Width10"
},
visible: true,
_idProps: {
service: idService,
name: "Input"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(Portal_EP_Inputs_Input_mvc_view, {
inputs: {},
events: {
_handleError: function (ex) {
controller.handleError(ex);
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
uuid: "6",
alias: "3"
},
_widgetRecordProvider: widgetsRecordProvider,
placeholders: {
label: PlaceholderContent.Empty,
input: new PlaceholderContent(function () {
return [React.createElement(OSWidgets.Input, {
_validationProps: {
validationService: validationService
},
enabled: true,
gridProperties: {
classes: "OSFillParent"
},
inputType: /*Text*/ 0,
mandatory: false,
maxLength: 600,
prompt: model.getCachedValue(idService.getId("txtTrackingNumber.Prompt"), function () {
return MultiLingualController.default.getTranslation$Action("raise-enquiry-tracking-lbltrackingnumber", "Tracking Number", callContext).translationOut;
}),
style: "form-control",
variable: model.createVariable(OS.Types.Text, model.variables.trackingNumberUserInputIn, function (value) {
model.variables.trackingNumberUserInputIn = value;
}),
_idProps: {
service: idService,
name: "txtTrackingNumber"
},
_widgetRecordProvider: widgetsRecordProvider,
variable_dataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables._trackingNumberUserInputInDataFetchStatus)
})];
})
},
_dependencies: [asPrimitiveValue(model.variables._trackingNumberUserInputInDataFetchStatus), asPrimitiveValue(model.variables.trackingNumberUserInputIn)]
}), React.createElement(Portal_EP_Common_Tagline_mvc_view, {
inputs: {
TextColor: "var(--color-neutral-6)",
HasBottomMargin: false
},
events: {
_handleError: function (ex) {
controller.handleError(ex);
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
uuid: "8",
alias: "4"
},
_widgetRecordProvider: widgetsRecordProvider,
placeholders: {
tagline: new PlaceholderContent(function () {
return [React.createElement(OSWidgets.Text, {
extendedProperties: {
"data-trans": "track-and-trace-track-tagline"
},
style: "tagLineFont",
text: ["Enter your tracking numbers separated by commas or spaces"],
_idProps: {
service: idService,
uuid: "9"
},
_widgetRecordProvider: widgetsRecordProvider
})];
})
},
_dependencies: []
}), React.createElement(Portal_EP_Common_CaptchaBrandingMessage_mvc_view, {
inputs: {
ShouldShow: model.variables.captchaConfigDataAct.resultOut,
_shouldShowInDataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables.captchaConfigDataAct.dataFetchStatusAttr)
},
events: {
_handleError: function (ex) {
controller.handleError(ex);
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
uuid: "10",
alias: "5"
},
_widgetRecordProvider: widgetsRecordProvider,
_dependencies: []
})), React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
gridProperties: {
classes: "ThemeGrid_Width2 ThemeGrid_MarginGutter"
},
visible: true,
_idProps: {
service: idService,
name: "Action"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(Portal_EP_Buttons_ButtonPrimary_mvc_view, {
inputs: {
ButtonText: model.getCachedValue(idService.getId("btnTrack.ButtonText"), function () {
return MultiLingualController.default.getTranslation$Action("track-and-trace-track-btntrack", "Track", callContext).translationOut;
}),
IsSubmitting: false
},
events: {
_handleError: function (ex) {
controller.handleError(ex);
},
onClick$Action: function () {
return Promise.resolve().then(function () {
var eventHandlerContext = callContext.clone();
controller.track$Action(controller.callContext(eventHandlerContext));
});
;
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
name: "btnTrack",
alias: "6"
},
_widgetRecordProvider: widgetsRecordProvider,
_dependencies: []
})), $if(model.variables.showExcelExportVar, false, this, function () {
return [React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
visible: true,
_idProps: {
service: idService,
uuid: "13"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OutSystemsUI_Adaptive_Columns2_mvc_view, {
inputs: {},
events: {
_handleError: function (ex) {
controller.handleError(ex);
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
uuid: "14",
alias: "7"
},
_widgetRecordProvider: widgetsRecordProvider,
placeholders: {
column1: new PlaceholderContent(function () {
return [React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
extendedProperties: {
style: "height: 20px; text-align: left;"
},
style: "sortWrapper",
visible: false,
_idProps: {
service: idService,
uuid: "15"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Link, {
enabled: true,
onClick: function () {
var eventHandlerContext = callContext.clone();
controller.sortbyStatus$Action(controller.callContext(eventHandlerContext));

;
},
visible: true,
_idProps: {
service: idService,
uuid: "16"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Image, {
image: OS.Navigation.VersionedURL.getVersionedUrl("img/UIComponents_UC.sort_az_2x.png"),
style: "iconImageTrackAndTrace",
type: /*Static*/ 0,
_idProps: {
service: idService,
uuid: "17"
},
_widgetRecordProvider: widgetsRecordProvider
}), React.createElement(OSWidgets.Text, {
extendedProperties: {
"data-trans": "track-and-trace-track-btnsort"
},
style: "sortText",
text: ["Sort by Status"],
_idProps: {
service: idService,
uuid: "18"
},
_widgetRecordProvider: widgetsRecordProvider
})))];
}),
column2: new PlaceholderContent(function () {
return [React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
style: "excelWrapper",
visible: true,
_idProps: {
service: idService,
uuid: "19"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Link, {
enabled: true,
extendedProperties: {
title: "Export Records to excel"
},
onClick: function () {
return Promise.resolve().then(function () {
var eventHandlerContext = callContext.clone();
controller.exportToExcelOnClick$Action(controller.callContext(eventHandlerContext));
});
;
},
visible: true,
_idProps: {
service: idService,
uuid: "20"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
extendedProperties: {
style: "height: 20px;"
},
visible: true,
_idProps: {
service: idService,
uuid: "21"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Image, {
image: OS.Navigation.VersionedURL.getVersionedUrl("img/UIComponents_UC.excel_2x.png"),
style: "iconImageTrackAndTrace",
type: /*Static*/ 0,
_idProps: {
service: idService,
uuid: "22"
},
_widgetRecordProvider: widgetsRecordProvider
}), React.createElement(OSWidgets.Text, {
extendedProperties: {
"data-trans": "track-and-trace-track-actionlinkdownloadasexcel"
},
style: "exportLinkText",
text: ["Download as Excel File"],
_idProps: {
service: idService,
uuid: "23"
},
_widgetRecordProvider: widgetsRecordProvider
}))))];
})
},
_dependencies: []
}))];
}, function () {
return [];
})), React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
style: "align-items-center margin-top-m",
visible: true,
_idProps: {
service: idService,
uuid: "24"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Link, {
enabled: true,
transition: OS.Transitions.createTransition(OS.Transitions.TransitionAnimation.Default),
url: OS.Navigation.generateScreenURL("/Portal/Info", {
pageid: OS.BuiltinFunctions.integerToLongInteger(8),
locale: model.variables.localeIn
}),
visible: true,
_idProps: {
service: idService,
uuid: "25"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
extendedProperties: {
style: "display: flex;"
},
style: "justify-align-center-bottom",
visible: true,
_idProps: {
service: idService,
uuid: "26"
},
_widgetRecordProvider: widgetsRecordProvider
}, React.createElement(OSWidgets.Icon, {
extendedProperties: {
style: "font-size: 1.5em;"
},
icon: "info-circle",
iconSize: /*Twotimes*/ 1,
style: "icon",
visible: true,
_idProps: {
service: idService,
uuid: "27"
},
_widgetRecordProvider: widgetsRecordProvider
}), React.createElement(OSWidgets.Expression, {
gridProperties: {
classes: "ThemeGrid_MarginGutter"
},
style: "font-size-s bold",
value: model.getCachedValue(idService.getId("qrlJCobsOku18kNtNfWfjw.Value"), function () {
return (((model.variables.localeIn === "en-us")) ? ("Click here to know everything about receiving") : ("اضغط هنا لمعرفة كل شيء عن تفاصيل الإستلام "));
}, function () {
return model.variables.localeIn;
}),
_idProps: {
service: idService,
uuid: "28"
},
_widgetRecordProvider: widgetsRecordProvider,
value_dataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables._localeInDataFetchStatus)
}))))];
})
},
_dependencies: [asPrimitiveValue(model.variables.localeIn), asPrimitiveValue(model.variables.showExcelExportVar), asPrimitiveValue(model.variables.captchaConfigDataAct.resultOut), asPrimitiveValue(model.variables._localeInDataFetchStatus), asPrimitiveValue(model.variables.captchaConfigDataAct.dataFetchStatusAttr), asPrimitiveValue(model.variables._trackingNumberUserInputInDataFetchStatus), asPrimitiveValue(model.variables.trackingNumberUserInputIn)]
}), React.createElement(OSWidgets.Container, {
align: /*Default*/ 0,
animate: false,
visible: (model.variables.parseTrackingNumbersDataAct.trackingNumbersOut.length > 0),
_idProps: {
service: idService,
name: "TrackTraceContainer"
},
_widgetRecordProvider: widgetsRecordProvider,
visible_dataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables.parseTrackingNumbersDataAct.dataFetchStatusAttr)
}, React.createElement(OSWidgets.List, {
animateItems: true,
gridProperties: {
classes: "OSFillParent"
},
mode: /*Default*/ 0,
source: model.variables.parseTrackingNumbersDataAct.trackingNumbersOut,
style: "list list-group",
tag: "div",
_idProps: {
service: idService,
uuid: "30"
},
_widgetRecordProvider: widgetsRecordProvider,
source_dataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables.parseTrackingNumbersDataAct.dataFetchStatusAttr),
placeholders: {
content: new IteratorPlaceholderContent(function (idService, callContext) {
return [React.createElement(Portal_Tracking_TrackBlock_mvc_view, {
inputs: {
locale: model.variables.localeIn,
_localeInDataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables._localeInDataFetchStatus),
ListSize: model.variables.parseTrackingNumbersDataAct.trackingNumbersOut.length,
_listSizeInDataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables.parseTrackingNumbersDataAct.dataFetchStatusAttr),
TrackingNumber: model.variables.parseTrackingNumbersDataAct.trackingNumbersOut.getCurrent(callContext.iterationContext),
_trackingNumberInDataFetchStatus: OS.Model.calculateDataFetchStatus(model.variables.parseTrackingNumbersDataAct.dataFetchStatusAttr)
},
events: {
_handleError: function (ex) {
controller.handleError(ex);
},
updateCompletionStatus$Action: function (trackingNumberIn) {
var eventHandlerContext = callContext.clone();
controller.updateTrackingItemCompletionStatus$Action(trackingNumberIn, controller.callContext(eventHandlerContext));

;
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
uuid: "31",
alias: "8"
},
_widgetRecordProvider: widgetsRecordProvider,
_dependencies: []
})];
}, callContext, idService, "1")
},
_dependencies: [asPrimitiveValue(model.variables.parseTrackingNumbersDataAct.dataFetchStatusAttr), asPrimitiveValue(model.variables._localeInDataFetchStatus), asPrimitiveValue(model.variables.localeIn)]
}), $if(((model.variables.completedTrackingNumbersVar.length < model.variables.parseTrackingNumbersDataAct.trackingNumbersOut.length) || model.variables.showLoaderVar), false, this, function () {
return [React.createElement(Portal_EP_Common_Content_mvc_view, {
inputs: {
HasSpecialTopBorder: false,
HasBottomMargin: true,
HasSpecialLeftBorder: false
},
events: {
_handleError: function (ex) {
controller.handleError(ex);
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
uuid: "32",
alias: "9"
},
_widgetRecordProvider: widgetsRecordProvider,
placeholders: {
mainContent: new PlaceholderContent(function () {
return [React.createElement(Portal_EP_Common_Loader_mvc_view, {
inputs: {},
events: {
_handleError: function (ex) {
controller.handleError(ex);
}
},
_validationProps: {
validationService: validationService
},
_idProps: {
service: idService,
uuid: "33",
alias: "10"
},
_widgetRecordProvider: widgetsRecordProvider,
_dependencies: []
})];
})
},
_dependencies: []
})];
}, function () {
return [];
})));
        };
        return View;
    })(OSView.BaseView.BaseWebBlock);
	
    return View;
});
define("Portal.Tracking.TrackAndTraceDetail.mvc$controller", ["OutSystems/ClientRuntime/Main", "Portal.model", "Portal.controller", "MultiLingual.controller", "Portal.languageResources", "Portal.clientVariables", "Portal.Tracking.TrackAndTraceDetail.mvc$controller.Track.CheckCaptchaJS", "MultiLingual.controller$GetTranslation", "Portal.referencesHealth", "Portal.referencesHealth$MultiLingual", "Portal.model$PostVerifyRequestRec", "Portal.model$PostVerifyResponseRec"], function (OutSystems, PortalModel, PortalController, MultiLingualController, PortalLanguageResources, PortalClientVariables, Portal_Tracking_TrackAndTraceDetail_mvc_controller_Track_CheckCaptchaJS) {
var OS = OutSystems.Internal;
var Controller = (function (_super) {
__extends(Controller, _super);
function Controller() {
_super.apply(this, arguments);
var controller = this.controller;
this.clientActionProxies = {
assignToken$Action: function (valueIn) {
valueIn = (valueIn === undefined) ? "" : valueIn;
return controller.executeActionInsideJSNode(controller._assignToken$Action.bind(controller, OS.DataConversion.JSNodeParamConverter.from(valueIn, OS.Types.Text)), controller.callContext(), function (actionResults) {
return {};
});
}
};
this.dataFetchDependenciesOriginal = {
captchaConfig$DataActRefresh: 0,
parseTrackingNumbers$DataActRefresh: 0
};
this.dataFetchDependentsGraph = {
captchaConfig$DataActRefresh: [],
parseTrackingNumbers$DataActRefresh: []
};
this.useImprovedDataFetch = false;
this.hasDependenciesBetweenSources = false;
this.shouldSendClientVarsToDataSources = false;
}
// Server Actions
Controller.prototype.sleep$ServerAction = function (sleepInMsIn, callContext) {
var controller = this.controller;
var inputs = {
SleepInMs: OS.DataConversion.ServerDataConverter.to(sleepInMsIn, OS.Types.Integer)
};
return controller.callServerAction("Sleep", "screenservices/Portal/Tracking/TrackAndTraceDetail/ActionSleep", "DSNaCUbnddE6e_EeAGS6Bw", inputs, controller.callContext(callContext)).then(function (outputs) {
});
};
Controller.prototype.getIP$ServerAction = function (callContext) {
var controller = this.controller;
return controller.callServerAction("GetIP", "screenservices/Portal/Tracking/TrackAndTraceDetail/ActionGetIP", "xR0wDPFB6cNvgt9fpRUo9Q", {}, controller.callContext(callContext)).then(function (outputs) {
var executeServerActionResult = new (controller.constructor.getVariableGroupType("Portal.Tracking.TrackAndTraceDetail$rssextensionhttprequesthandler_ActionGetIP"))();
executeServerActionResult.userIPOut = OS.DataConversion.ServerDataConverter.from(outputs.UserIP, OS.Types.Text);
return executeServerActionResult;
});
};
Controller.registerVariableGroupType("Portal.Tracking.TrackAndTraceDetail$rssextensionhttprequesthandler_ActionGetIP", [{
name: "UserIP",
attrName: "userIPOut",
mandatory: false,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
Controller.prototype.postVerify$ServerAction = function (requestIn, callContext) {
var controller = this.controller;
var inputs = {
Request: OS.DataConversion.ServerDataConverter.to(requestIn, OS.Types.Record)
};
return controller.callServerAction("PostVerify", "screenservices/Portal/Tracking/TrackAndTraceDetail/ActionPostVerify", "fnsnsnF+Q09ehrys8AUjDg", inputs, controller.callContext(callContext)).then(function (outputs) {
var executeServerActionResult = new (controller.constructor.getVariableGroupType("Portal.Tracking.TrackAndTraceDetail$ActionPostVerify"))();
executeServerActionResult.responseOut = OS.DataConversion.ServerDataConverter.from(outputs.Response, PortalModel.PostVerifyResponseRec);
return executeServerActionResult;
});
};
Controller.registerVariableGroupType("Portal.Tracking.TrackAndTraceDetail$ActionPostVerify", [{
name: "Response",
attrName: "responseOut",
mandatory: false,
dataType: OS.Types.Record,
defaultValue: function () {
return new PortalModel.PostVerifyResponseRec();
},
complexType: PortalModel.PostVerifyResponseRec
}]);
Controller.prototype.exportTrackDetailsToExcel$ServerAction = function (trackingNumbersIn, languageIn, callContext) {
var controller = this.controller;
var inputs = {
TrackingNumbers: OS.DataConversion.ServerDataConverter.to(trackingNumbersIn, OS.Types.RecordList),
Language: OS.DataConversion.ServerDataConverter.to(languageIn, OS.Types.Text)
};
return controller.callServerAction("ExportTrackDetailsToExcel", "screenservices/Portal/Tracking/TrackAndTraceDetail/ActionExportTrackDetailsToExcel", "rTFRgs7WNg73fuqqi7+zRg", inputs, controller.callContext(callContext)).then(function (outputs) {
var executeServerActionResult = new (controller.constructor.getVariableGroupType("Portal.Tracking.TrackAndTraceDetail$ActionExportTrackDetailsToExcel"))();
executeServerActionResult.exportDataOut = OS.DataConversion.ServerDataConverter.from(outputs.ExportData, OS.Types.BinaryData);
return executeServerActionResult;
});
};
Controller.registerVariableGroupType("Portal.Tracking.TrackAndTraceDetail$ActionExportTrackDetailsToExcel", [{
name: "ExportData",
attrName: "exportDataOut",
mandatory: false,
dataType: OS.Types.BinaryData,
defaultValue: function () {
return OS.DataTypes.BinaryData.defaultValue;
}
}]);

// Aggregates and Data Actions
Controller.prototype.captchaConfig$DataActRefresh = function (callContext) {
var model = this.model;
var controller = this.controller;
var callContext = controller.callContext(callContext);
return controller.callDataAction("DataActionCaptchaConfig", "screenservices/Portal/Tracking/TrackAndTraceDetail/DataActionCaptchaConfig", "eHfoyeYMZyCB6QDWbUDQJA", function (b) {
model.variables.captchaConfigDataAct.dataFetchStatusAttr = b;
}, function (json) {
model.variables.captchaConfigDataAct.replaceWith(OS.DataConversion.ServerDataConverter.from(json, model.variables.captchaConfigDataAct.constructor));
}, undefined, undefined, undefined, callContext);
};
Controller.prototype.parseTrackingNumbers$DataActRefresh = function (callContext) {
var model = this.model;
var controller = this.controller;
var callContext = controller.callContext(callContext);
return controller.callDataAction("DataActionParseTrackingNumbers", "screenservices/Portal/Tracking/TrackAndTraceDetail/DataActionParseTrackingNumbers", "VM3yDfpCA1IIuSo4TJBAPQ", function (b) {
model.variables.parseTrackingNumbersDataAct.dataFetchStatusAttr = b;
}, function (json) {
model.variables.parseTrackingNumbersDataAct.replaceWith(OS.DataConversion.ServerDataConverter.from(json, model.variables.parseTrackingNumbersDataAct.constructor));
}, undefined, undefined, undefined, callContext);
};

Controller.prototype.dataFetchActionNames = ["captchaConfig$DataActRefresh", "parseTrackingNumbers$DataActRefresh"];
// Client Actions
Controller.prototype._sortbyStatus$Action = function (callContext) {
var model = this.model;
var controller = this.controller;
var idService = this.idService;
controller.ensureControllerAlive("SortbyStatus");
callContext = controller.callContext(callContext);
};
Controller.prototype._updateTrackingItemCompletionStatus$Action = function (trackingNumberIn, callContext) {
var model = this.model;
var controller = this.controller;
var idService = this.idService;
controller.ensureControllerAlive("UpdateTrackingItemCompletionStatus");
callContext = controller.callContext(callContext);
var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("Portal.Tracking.TrackAndTraceDetail.UpdateTrackingItemCompletionStatus$vars"))());
vars.value.trackingNumberInLocal = trackingNumberIn;
// ShowExcelExport = True
model.variables.showExcelExportVar = true;
// Execute Action: ListAppend
OS.SystemActions.listAppend(model.variables.completedTrackingNumbersVar, vars.value.trackingNumberInLocal, callContext);
};
Controller.registerVariableGroupType("Portal.Tracking.TrackAndTraceDetail.UpdateTrackingItemCompletionStatus$vars", [{
name: "TrackingNumber",
attrName: "trackingNumberInLocal",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
Controller.prototype._onParametersChanged$Action = function (callContext) {
var model = this.model;
var controller = this.controller;
var idService = this.idService;
controller.ensureControllerAlive("OnParametersChanged");
callContext = controller.callContext(callContext);
return OS.Flow.executeAsyncFlow(function () {
// Refresh Query: ParseTrackingNumbers
var result = controller.parseTrackingNumbers$DataActRefresh(callContext);
model.flush();
return result;
});
};
Controller.prototype._track$Action = function (callContext) {
var model = this.model;
var controller = this.controller;
var idService = this.idService;
controller.ensureControllerAlive("Track");
callContext = controller.callContext(callContext);
var getIPVar = new OS.DataTypes.VariableHolder();
var postVerifyVar = new OS.DataTypes.VariableHolder();
return OS.Flow.executeAsyncFlow(function () {
// IsCaptchaConfigFetched?
return OS.Flow.executeSequence(function () {
if((model.variables.captchaConfigDataAct.isDataFetchedAttr)) {
// IsCaptchaEnabled?
return OS.Flow.executeSequence(function () {
if((model.variables.captchaConfigDataAct.resultOut)) {
controller.safeExecuteJSNode(Portal_Tracking_TrackAndTraceDetail_mvc_controller_Track_CheckCaptchaJS, "CheckCaptcha", "Track", {
SiteKey: OS.DataConversion.JSNodeParamConverter.to(PortalClientVariables.getreCAPTCHA_SiteKey(), OS.Types.Text),
Action: OS.DataConversion.JSNodeParamConverter.to("trackPage", OS.Types.Text)
}, function ($parameters) {
}, {
AssignToken: controller.clientActionProxies.assignToken$Action
}, {});
// Execute Action: GetIP
model.flush();
return controller.getIP$ServerAction(callContext).then(function (value) {
getIPVar.value = value;
}).then(function () {
// Execute Action: Sleep
model.flush();
return controller.sleep$ServerAction(300, callContext);
}).then(function () {
// Execute Action: PostVerify
model.flush();
return controller.postVerify$ServerAction(function () {
var rec = new PortalModel.PostVerifyRequestRec();
rec.clientIPAttr = getIPVar.value.userIPOut;
rec.tokenAttr = model.variables.captchaTokenVar;
return rec;
}(), callContext).then(function (value) {
postVerifyVar.value = value;
});
}).then(function () {
// Destination: /Portal/Track
return OS.Flow.returnAsync(OS.Navigation.navigateTo(OS.Navigation.generateScreenURL("/Portal/Track", {
locale: model.variables.localeIn,
TrackingNumber: OS.BuiltinFunctions.toUpper(model.variables.trackingNumberUserInputIn)
}), OS.Transitions.createTransition(OS.Transitions.TransitionAnimation.Default), callContext, true));
});
} else {
// Destination: /Portal/Track
return OS.Flow.returnAsync(OS.Navigation.navigateTo(OS.Navigation.generateScreenURL("/Portal/Track", {
locale: model.variables.localeIn,
TrackingNumber: OS.BuiltinFunctions.toUpper(model.variables.trackingNumberUserInputIn)
}), OS.Transitions.createTransition(OS.Transitions.TransitionAnimation.Default), callContext, true));
}

});
}

});
});
};
Controller.prototype._assignToken$Action = function (valueIn, callContext) {
var model = this.model;
var controller = this.controller;
var idService = this.idService;
controller.ensureControllerAlive("AssignToken");
callContext = controller.callContext(callContext);
var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("Portal.Tracking.TrackAndTraceDetail.AssignToken$vars"))());
vars.value.valueInLocal = valueIn;
// Token
// CaptchaToken = Value
model.variables.captchaTokenVar = vars.value.valueInLocal;
};
Controller.registerVariableGroupType("Portal.Tracking.TrackAndTraceDetail.AssignToken$vars", [{
name: "Value",
attrName: "valueInLocal",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
Controller.prototype._exportToExcelOnClick$Action = function (callContext) {
var model = this.model;
var controller = this.controller;
var idService = this.idService;
controller.ensureControllerAlive("ExportToExcelOnClick");
callContext = controller.callContext(callContext);
var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("Portal.Tracking.TrackAndTraceDetail.ExportToExcelOnClick$vars"))());
var exportTrackDetailsToExcelVar = new OS.DataTypes.VariableHolder();
return OS.Flow.executeAsyncFlow(function () {
// SepartedTrackingNumber = ParseTrackingNumbers.TrackingNumbers
vars.value.separtedTrackingNumberVar = model.variables.parseTrackingNumbersDataAct.trackingNumbersOut;
// ListSize = ParseTrackingNumbers.TrackingNumbers.Length
vars.value.listSizeVar = model.variables.parseTrackingNumbersDataAct.trackingNumbersOut.length;
// ShowLoader = True
model.variables.showLoaderVar = true;
OS.FeedbackMessageService.showFeedbackMessage("Your download will start shortly", /*Info*/ 0);
// Execute Action: ExportTrackDetailsToExcel
model.flush();
return controller.exportTrackDetailsToExcel$ServerAction(model.variables.completedTrackingNumbersVar, model.variables.localeIn, callContext).then(function (value) {
exportTrackDetailsToExcelVar.value = value;
}).then(function () {
// ShowLoader = False
model.variables.showLoaderVar = false;
OS.Controller.BaseViewController.downloadBinary(exportTrackDetailsToExcelVar.value.exportDataOut, (("TrackAndTrace-" + OS.BuiltinFunctions.formatDateTime(OS.BuiltinFunctions.currDateTime(), "dd-MMM-yyyy HH-MM")) + ".xlsx"));
});
});
};
Controller.registerVariableGroupType("Portal.Tracking.TrackAndTraceDetail.ExportToExcelOnClick$vars", [{
name: "SepartedTrackingNumber",
attrName: "separtedTrackingNumberVar",
mandatory: false,
dataType: OS.Types.RecordList,
defaultValue: function () {
return new OS.DataTypes.TextList();
},
complexType: OS.DataTypes.TextList
}, {
name: "ListSize",
attrName: "listSizeVar",
mandatory: false,
dataType: OS.Types.Integer,
defaultValue: function () {
return 0;
}
}]);

Controller.prototype.sortbyStatus$Action = function (callContext) {
var controller = this.controller;
return controller.safeExecuteClientAction(controller._sortbyStatus$Action, callContext);

};
Controller.prototype.updateTrackingItemCompletionStatus$Action = function (trackingNumberIn, callContext) {
var controller = this.controller;
return controller.safeExecuteClientAction(controller._updateTrackingItemCompletionStatus$Action, callContext, trackingNumberIn);

};
Controller.prototype.onParametersChanged$Action = function (callContext) {
var controller = this.controller;
return controller.safeExecuteClientAction(controller._onParametersChanged$Action, callContext);

};
Controller.prototype.track$Action = function (callContext) {
var controller = this.controller;
return controller.safeExecuteClientAction(controller._track$Action, callContext);

};
Controller.prototype.assignToken$Action = function (valueIn, callContext) {
var controller = this.controller;
return controller.safeExecuteClientAction(controller._assignToken$Action, callContext, valueIn);

};
Controller.prototype.exportToExcelOnClick$Action = function (callContext) {
var controller = this.controller;
return controller.safeExecuteClientAction(controller._exportToExcelOnClick$Action, callContext);

};

// Event Handler Actions
Controller.prototype.onInitializeEventHandler = null;
Controller.prototype.onReadyEventHandler = null;
Controller.prototype.onRenderEventHandler = null;
Controller.prototype.onDestroyEventHandler = null;
Controller.prototype.onParametersChangedEventHandler = function (callContext) {
var controller = this.controller;
var model = this.model;
var idService = this.idService;

return controller.onParametersChanged$Action(callContext);

};
Controller.prototype.handleError = function (ex) {
return controller.handleError(ex);
};
Controller.checkPermissions = function () {
};
Controller.prototype.getDefaultTimeout = function () {
return PortalController.default.defaultTimeout;
};
return Controller;
})(OS.Controller.BaseViewController);
return new OS.Controller.ControllerFactory(Controller, PortalLanguageResources);
});
define("Portal.Tracking.TrackAndTraceDetail.mvc$controller.Track.CheckCaptchaJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
grecaptcha.ready(function () {
    grecaptcha.execute($parameters.SiteKey, { action: $parameters.Action }).then(function (token) {
    $actions.AssignToken(token);
    });
});
};
});