{"version":3,"file":"app.js","mappings":"UACIA,IAAa,8BAEMC,MAAnBC,iBACAA,gBAAgBC,KAAKH,GAGzBI,QAAQC,OAAOL,EAAY,IAAIM,IAAI,CAAC,+BAChC,SAAUC,GAGNA,EAAcC,eAAe,CACzBC,WAAY,4DACZC,SAAU,iFACX,eAEHH,EAAcC,eAAe,CACzBC,WAAY,gDACZC,SAAU,0EACX,sBAEP,ICrBJN,QAAQC,OAAO,+BAA+BI,WAAW,4DAA6D,CAAC,SAAU,wCAAyC,6CAA8C,iCAAkC,SAAUE,EAAQC,EAAwBC,EAAgBC,GAChT,IAAIC,EAAQJ,EAAOI,MAEnB,SAASC,EAAgBC,GACrBF,EAAMG,MAAQD,EAAKE,KAAOF,EAAKE,KAAO,kBAAoBF,EAAKG,SAAW,QAC1EL,EAAMM,cAAgBjB,QAAQkB,KAAKL,GACnCF,EAAMQ,WAAaN,EACnBF,EAAMS,WAAY,CACtB,CAkBA,SAASC,IACL,OAAQrB,QAAQsB,OAAOX,EAAMM,cAAeN,EAAMQ,aAAeR,EAAMY,qBAC3E,CAEA,SAASC,IACL,OAAOH,GACX,CAtBAV,EAAMc,QAAU,SAAUC,GACtBf,EAAMS,WAAY,EACdT,EAAMgB,cAAcC,GACpBnB,EAAeoB,IAAI,CAAED,GAAIjB,EAAMgB,cAAcC,KAAM,SAAUf,GACzDD,EAAgBC,GACZa,GACAf,EAAMmB,YAAYL,SAE1B,IACI,SAAUM,GAASvB,EAAuBwB,SAAS,SAAWD,EAAME,OAAQtB,EAAQ,IAGxFC,EAAgBD,EAAMgB,cAE9B,EAUAhB,EAAMuB,QAAU,SAAUC,GACtB3B,EAAuB4B,yBAAyBf,IAAWG,IAAWb,EAAOJ,EAAO8B,YAAaF,EAAe,4CAA6C,8CACjK,EAEA5B,EAAO+B,cAAgB,WACnB/B,EAAOgC,YACX,EAEAhC,EAAO8B,YAAc,WACjB1B,EAAMS,WAAY,EAElBV,EAAe8B,YAAY7B,EAAMM,cAAcwB,UAE/C9B,EAAMM,cAAcyB,QAAU/B,EAAM+B,QACpCjC,EAAekC,OAAO,CAAC,EAAGhC,EAAMM,eAAe,SAAUJ,GACrDF,EAAMgB,cAAcC,GAAKf,EAAKe,GAC9BjB,EAAMc,SAAQ,EAClB,IAAG,SAAUM,GAASvB,EAAuBwB,SAAS,SAAWD,EAAME,OAAQtB,EAAQ,GAC3F,EAEAJ,EAAOqC,QAAU,SAAUC,GACvBtC,EAAOuC,UAAYD,CACvB,EAEAtC,EAAOwC,oBAAsB,SAAUC,EAASC,GAC5CA,EAASD,EAAQE,cACrB,EAEAvC,EAAMwC,SAAW,gBAEjBxC,EAAMyC,gBAAkB,CACpB,CACIrC,KAAM,yBACNsC,KAAM,aACNC,cAAe/C,EAAO8B,YACtBkB,iBAAkB/B,EAClBgC,WAAY7C,EAAM8C,kBAEtB,CACI1C,KAAM,0BACNsC,KAAM,aACNC,cAAe,WACXtD,QAAQkB,KAAKP,EAAMQ,WAAYR,EAAMM,cACzC,EACAsC,iBAAkBlC,EAClBmC,WAAY7C,EAAM8C,mBAI1B9C,EAAMc,SAEV,ICrFAzB,QAAQC,OAAO,+BAA+BI,WAAW,0DAA2D,CAAC,SAAU,aAAc,wCAAyC,6CAA8C,SAAUE,EAAQmD,EAAYlD,EAAwBC,GACtR,IAAIE,EAAQJ,EAAOI,MA2BnBA,EAAMc,QAAU,WACZd,EAAMS,WAAY,EAClBX,EAAekD,OAAO,CAClBjB,QAAS/B,EAAM+B,UAChB,SAAU7B,GACTF,EAAMS,WAAY,EAElBwC,EAAEC,KAAKhD,EAAKiD,SAAS,SAAUC,GAC3B,IAAIC,EAAqB,kBAAoBD,EAAK/C,SAAW,QACzDiD,EAA0B,kBAAoBF,EAAK/C,SAAW,eAE9DkD,EAAaR,EAAWS,QAAQH,GAChCI,EAAqBV,EAAWS,QAAQF,GAE5CF,EAAKM,YAAcH,IAAeF,EAAqBD,EAAKhD,KAAOmD,EACnEH,EAAKK,mBAAqBA,IAAuBH,EAA0BF,EAAKO,YAAcF,CAClG,IAEAzD,EAAM4D,gBAAkB1D,EAAKiD,QAC7BnD,EAAM6D,uBAAyBZ,EAAEa,UAAU9D,EAAM4D,gBAAiB,CAAEG,UAAU,GAClF,IAAG,SAAU3C,GACTvB,EAAuBwB,SAAS,SAAWD,EAAME,OAAQtB,EAC7D,GACJ,EAEAJ,EAAOoE,WAAa,SAAUC,GAC1BrE,EAAOsE,eAAiBD,EAAK5D,SAC7B,IAAI8D,EAAW,CACXlD,GAAI,sBACJD,cAAeiD,EACflC,QAAS/B,EAAM+B,QACfqC,SAAU,gDACV1E,WAAY,4DACZC,SAAU,iFAEdE,EAAuBwE,UAAUF,EAAUvE,EAAOI,MACtD,EA5DIA,EAAMS,WAAY,EAClBT,EAAMwC,SAAW,gBAEjB5C,EAAO0E,gBAAkB,CACrBC,KAAM,SAAUC,EAAGC,GACf,IAAK,IAAIC,EAAI,EAAGA,EAAI9E,EAAOI,MAAM4D,gBAAgBe,OAAQD,IACrD9E,EAAOI,MAAM4D,gBAAgBc,GAAGE,SAAWF,EAAI,CAEvD,EACAG,KAAM,IACNC,OAAQ,QAGZ9E,EAAMyC,gBAAkB,CACpB,CACIrC,KAAM,4BAA6BsC,KAAM,gBACzCC,cAAe3C,EAAMc,QACrB8B,iBAAkB,WAAc,OAAO,CAAM,IAIrD5C,EAAMc,SA2Cd,ICpEAzB,QAAQC,OAAO,+BACdyF,QAAQ,6CAA8C,CAAC,YAAa,SAAUC,GAC3E,OAAOA,EAAU,cAAe,CAAC,EAAG,CAChCC,iBAAkB,CAAEC,OAAQ,MAAOC,SAAS,GAC5CnC,OAAQ,CAAEkC,OAAQ,OAAQE,IAAK,sBAC/BlE,IAAK,CAAEkE,IAAK,mBACZpD,OAAQ,CAAEkD,OAAQ,QAE1B,ICRA7F,QAAQC,OAAO,+BAA+BI,WAAW,4DAA6D,CAAC,SAAU,wCAAyC,SAAUE,EAAQC,GACxL,IAAIG,EAAQJ,EAAOI,MAEnBJ,EAAOyF,UAAY,WACf,IAAIlB,EAAW,CACXlD,GAAI,kBACJc,QAAS/B,EAAMM,cAAcW,GAC7Bd,MAAOH,EAAMG,MACbiE,SAAU,sDACV1E,WAAY,0DACZC,SAAU,+EAEdE,EAAuBwE,UAAUF,EAAUnE,EAC/C,CACJ,G","sources":["webpack://VirtoCommerce.Payment/./Scripts/payment.js","webpack://VirtoCommerce.Payment/./Scripts/blades/paymentMethod-detail.js","webpack://VirtoCommerce.Payment/./Scripts/blades/paymentMethod-list.js","webpack://VirtoCommerce.Payment/./Scripts/resources/paymentMethods.js","webpack://VirtoCommerce.Payment/./Scripts/widgets/storePaymentsWidget.js"],"sourcesContent":["//Call this to register our module to main application\nvar moduleName = \"virtoCommerce.paymentModule\";\n\nif (AppDependencies != undefined) {\n AppDependencies.push(moduleName);\n}\n\nangular.module(moduleName, []).run(['platformWebApp.widgetService',\n function (widgetService) {\n\n //Register payment widget for store\n widgetService.registerWidget({\n controller: 'virtoCommerce.paymentModule.storePaymentsWidgetController',\n template: 'Modules/$(VirtoCommerce.Payment)/Scripts/widgets/storePaymentsWidget.tpl.html'\n }, 'storeDetail');\n\n widgetService.registerWidget({\n controller: 'platformWebApp.entitySettingsWidgetController',\n template: '$(Platform)/Scripts/app/settings/widgets/entitySettingsWidget.tpl.html'\n }, 'paymentMethodDetail');\n\n }]);\n","angular.module('virtoCommerce.paymentModule').controller('virtoCommerce.paymentModule.paymentMethodDetailController', ['$scope', 'platformWebApp.bladeNavigationService', 'virtoCommerce.paymentModule.paymentMethods', 'platformWebApp.settings.helper', function ($scope, bladeNavigationService, paymentMethods, settingshelper) {\n var blade = $scope.blade;\n\n function initializeBlade(data) {\n blade.title = data.name ? data.name : 'payment.labels.' + data.typeName + '.name';\n blade.currentEntity = angular.copy(data);\n blade.origEntity = data;\n blade.isLoading = false;\n }\n\n blade.refresh = function (parentRefresh) {\n blade.isLoading = true;\n if (blade.paymentMethod.id) {\n paymentMethods.get({ id: blade.paymentMethod.id }, function (data) {\n initializeBlade(data);\n if (parentRefresh) {\n blade.parentBlade.refresh();\n }\n },\n function (error) { bladeNavigationService.setError('Error ' + error.status, blade); });\n }\n else {\n initializeBlade(blade.paymentMethod);\n }\n }\n\n function isDirty() {\n return !angular.equals(blade.currentEntity, blade.origEntity) && blade.hasUpdatePermission();\n }\n\n function canSave() {\n return isDirty();\n }\n\n blade.onClose = function (closeCallback) {\n bladeNavigationService.showConfirmationIfNeeded(isDirty(), canSave(), blade, $scope.saveChanges, closeCallback, \"payment.dialogs.payment-method-save.title\", \"payment.dialogs.payment-method-save.message\");\n };\n\n $scope.cancelChanges = function () {\n $scope.bladeClose();\n };\n\n $scope.saveChanges = function () {\n blade.isLoading = true;\n\n settingshelper.toApiFormat(blade.currentEntity.settings);\n\n blade.currentEntity.storeId = blade.storeId;\n paymentMethods.update({}, blade.currentEntity, function (data) {\n blade.paymentMethod.id = data.id;\n blade.refresh(true);\n }, function (error) { bladeNavigationService.setError('Error ' + error.status, blade); });\n };\n\n $scope.setForm = function (form) {\n $scope.formScope = form;\n }\n\n $scope.getDictionaryValues = function (setting, callback) {\n callback(setting.allowedValues);\n };\n\n blade.headIcon = 'fa fa-archive';\n\n blade.toolbarCommands = [\n {\n name: \"platform.commands.save\",\n icon: 'fa fa-save',\n executeMethod: $scope.saveChanges,\n canExecuteMethod: canSave,\n permission: blade.updatePermission\n },\n {\n name: \"platform.commands.reset\",\n icon: 'fa fa-undo',\n executeMethod: function () {\n angular.copy(blade.origEntity, blade.currentEntity);\n },\n canExecuteMethod: isDirty,\n permission: blade.updatePermission\n }\n ];\n\n blade.refresh();\n\n}]);\n","angular.module('virtoCommerce.paymentModule').controller('virtoCommerce.paymentModule.paymentMethodListController', ['$scope', '$translate', 'platformWebApp.bladeNavigationService', 'virtoCommerce.paymentModule.paymentMethods', function ($scope, $translate, bladeNavigationService, paymentMethods) {\n var blade = $scope.blade;\n\n function initializeBlade() {\n blade.isLoading = false;\n blade.headIcon = 'fa fa-archive';\n\n $scope.sortableOptions = {\n stop: function (e, ui) {\n for (var i = 0; i < $scope.blade.currentEntities.length; i++) {\n $scope.blade.currentEntities[i].priority = i + 1;\n }\n },\n axis: 'y',\n cursor: \"move\"\n };\n\n blade.toolbarCommands = [\n {\n name: \"platform.commands.refresh\", icon: 'fa fa-refresh',\n executeMethod: blade.refresh,\n canExecuteMethod: function () { return true; }\n }\n ];\n\n blade.refresh();\n };\n\n blade.refresh = function () {\n blade.isLoading = true;\n paymentMethods.search({\n storeId: blade.storeId\n }, function (data) {\n blade.isLoading = false;\n\n _.each(data.results, function (item) {\n var nameTranslationKey = \"payment.labels.\" + item.typeName + \".name\";\n var descriptionTranslateKey = \"payment.labels.\" + item.typeName + \".description\";\n\n var nameResult = $translate.instant(nameTranslationKey);\n var displayDescription = $translate.instant(descriptionTranslateKey);\n\n item.displayName = nameResult === nameTranslationKey ? item.name : nameResult;\n item.displayDescription = displayDescription === descriptionTranslateKey ? item.description : displayDescription;\n });\n\n blade.currentEntities = data.results;\n blade.selectedPaymentMethods = _.findWhere(blade.currentEntities, { isActive: true });\n }, function (error) {\n bladeNavigationService.setError('Error ' + error.status, blade);\n });\n }\n\n $scope.selectNode = function (node) {\n $scope.selectedNodeId = node.typeName;\n var newBlade = {\n id: 'paymentMethodDetail',\n paymentMethod: node,\n storeId: blade.storeId,\n subtitle: 'payment.blades.payment-method-detail.subtitle',\n controller: 'virtoCommerce.paymentModule.paymentMethodDetailController',\n template: 'Modules/$(VirtoCommerce.Payment)/Scripts/blades/paymentMethod-detail.tpl.html'\n };\n bladeNavigationService.showBlade(newBlade, $scope.blade);\n };\n\n initializeBlade();\n\n}]);\n","angular.module('virtoCommerce.paymentModule')\n.factory('virtoCommerce.paymentModule.paymentMethods', ['$resource', function ($resource) {\n return $resource('api/payment', {}, {\n getAllRegistered: { method: 'GET', isArray: true },\n search: { method: 'POST', url: 'api/payment/search' },\n get: { url: 'api/payment/:id' },\n update: { method: 'PUT' },\n });\n}]);\n","angular.module('virtoCommerce.paymentModule').controller('virtoCommerce.paymentModule.storePaymentsWidgetController', ['$scope', 'platformWebApp.bladeNavigationService', function ($scope, bladeNavigationService) {\n var blade = $scope.blade;\n\n $scope.openBlade = function () {\n var newBlade = {\n id: \"storeChildBlade\",\n storeId: blade.currentEntity.id,\n title: blade.title,\n subtitle: 'payment.widgets.store-payment-widget.blade-subtitle',\n controller: 'virtoCommerce.paymentModule.paymentMethodListController',\n template: 'Modules/$(VirtoCommerce.Payment)/Scripts/blades/paymentMethod-list.tpl.html'\n };\n bladeNavigationService.showBlade(newBlade, blade);\n };\n}]);\n"],"names":["moduleName","undefined","AppDependencies","push","angular","module","run","widgetService","registerWidget","controller","template","$scope","bladeNavigationService","paymentMethods","settingshelper","blade","initializeBlade","data","title","name","typeName","currentEntity","copy","origEntity","isLoading","isDirty","equals","hasUpdatePermission","canSave","refresh","parentRefresh","paymentMethod","id","get","parentBlade","error","setError","status","onClose","closeCallback","showConfirmationIfNeeded","saveChanges","cancelChanges","bladeClose","toApiFormat","settings","storeId","update","setForm","form","formScope","getDictionaryValues","setting","callback","allowedValues","headIcon","toolbarCommands","icon","executeMethod","canExecuteMethod","permission","updatePermission","$translate","search","_","each","results","item","nameTranslationKey","descriptionTranslateKey","nameResult","instant","displayDescription","displayName","description","currentEntities","selectedPaymentMethods","findWhere","isActive","selectNode","node","selectedNodeId","newBlade","subtitle","showBlade","sortableOptions","stop","e","ui","i","length","priority","axis","cursor","factory","$resource","getAllRegistered","method","isArray","url","openBlade"],"sourceRoot":""}