{"version":3,"names":["undefined","PF","operation","OperationProblem","constructor","problemType","data","this","message","onConstructor","prototype","getProblemType","getMessage","getData","OperationResult","operationResultNode","errors","jsonOperationResultData","xml","getNodeValue","operationResultData","eval","i","length","error","ProblemsBuilder","getInstance","buildProblem","push","getErrors","problemTypeClasses","_instance","registerProblemType","problemClass","Error","parseOperationResultFromXml","operationResult","operationResultNodes","getElementsByTagName","Request","optionsObj","options","onSend","onFinished","onError","customData","async","p","requestValues","callback","getRequestValues","setRequestValues","getActionUrl","actionUrl","setActionUrl","getCallback","setCallback","send","rq","method","onSendFinished","bind","buildQuery","response","status","apply","eventsXmlNode","events","Dispatcher","parseEventsFromXml","raiseEvents","signals","raiseEvent","getId","console"],"sources":["pf.js.operation.js"],"sourcesContent":["if (PF.operation === undefined) {\r\nPF.operation = {};\r\n//------------------------------------------------------------------------------\r\n\r\nPF.operation.OperationProblem = class {\r\n\tconstructor(problemType, data) {\r\n\t\tthis.problemType = problemType;\r\n\t\t\r\n\t\tthis.message = data['message'];\r\n\t\t\r\n\t\tthis.data = data;\r\n\t\t\r\n\t\tthis.onConstructor();\r\n\t}\r\n}\r\n\r\n\r\nPF.operation.OperationProblem.prototype.onConstructor = function() {\r\n}\r\n\r\nPF.operation.OperationProblem.prototype.getProblemType = function() {\r\n\treturn this.problemType;\r\n}\r\n\r\nPF.operation.OperationProblem.prototype.getMessage = function() {\r\n\treturn this.message;\r\n}\r\n\r\nPF.operation.OperationProblem.prototype.getData = function() {\r\n\treturn this.data;\r\n}\r\n\r\n//------------------------------------------------------------------------------\r\n\r\nPF.operation.OperationResult = class {\r\n\tconstructor(operationResultNode) {\r\n\t\tthis.errors = [];\r\n\t\t\r\n\t\tvar jsonOperationResultData = PF.xml.getNodeValue(operationResultNode, null);\r\n\t\tif (jsonOperationResultData) {\r\n\t\t\tvar operationResultData = eval(\"(\" + jsonOperationResultData + \")\");\r\n\t\t\t\r\n\t\t\tif (operationResultData['errors']) {\r\n\t\t\t\tfor (var i = 0; i < operationResultData['errors'].length; i++) {\r\n\t\t\t\t\tvar problemType = operationResultData['errors'][i]['problemType'];\r\n\t\t\t\t\t\r\n\t\t\t\t\tvar error = PF.operation.ProblemsBuilder.getInstance().buildProblem(problemType, operationResultData['errors'][i]);\r\n\t\t\t\t\tthis.errors.push(error);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nPF.operation.OperationResult.prototype.getErrors = function() {\r\n\treturn this.errors;\r\n}\r\n\r\n//------------------------------------------------------------------------------\r\n\r\nPF.operation.ProblemsBuilder = class {\r\n\tconstructor() {\r\n\t\tthis.problemTypeClasses = {};\r\n\t}\r\n}\r\n\r\n\r\nPF.operation.ProblemsBuilder.getInstance = function() {\r\n\tif (PF.operation.ProblemsBuilder._instance == undefined) {\r\n\t\tPF.operation.ProblemsBuilder._instance = new PF.operation.ProblemsBuilder();\r\n\t}\r\n\treturn PF.operation.ProblemsBuilder._instance;\r\n}\r\n\r\nPF.operation.ProblemsBuilder.prototype.registerProblemType = function(problemType, problemClass) {\r\n\tthis.problemTypeClasses[problemType] = problemClass;\r\n}\r\n\r\nPF.operation.ProblemsBuilder.prototype.buildProblem = function(problemType, data) {\r\n\tif (problemType in this.problemTypeClasses) {\r\n\t\tvar problemClass = this.problemTypeClasses[problemType];\r\n\t\treturn new problemClass(problemType, data);\r\n\t}else {\r\n\t\tthrow new Error('PF.operation.ProblemsBuilder: Unable to build problem with type \"' + problemType + '\". Unknown type.');\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nPF.operation.ProblemsBuilder.prototype.parseOperationResultFromXml = function(xml) {\r\n\tvar operationResult = null;\r\n\t\r\n\tvar operationResultNodes = xml.getElementsByTagName('operation-result');\r\n\tif (operationResultNodes.length) {\r\n\t\tvar operationResultNode = operationResultNodes[0];\r\n\t\t\r\n\t\toperationResult = new PF.operation.OperationResult(operationResultNode);\r\n\t}\r\n\t\r\n\treturn operationResult;\r\n}\r\n\r\n//------------------------------------------------------------------------------\r\n\r\nPF.operation.Request = class {\r\n\tconstructor(optionsObj) {\r\n\t\tthis.options = {\r\n\t\t\tonSend: null,                   /* on send request */\r\n\t\t\tonFinished: null,               /* on finished request */\r\n\t\t\tonError: null,                  /* on request error */\r\n\t\t\tcustomData: null,               /* custom data for events */\r\n\t\t\tasync: true                     /* async */\r\n\t\t}\r\n\t\t\r\n\t\tif (optionsObj) {\r\n\t\t\tfor (var p in optionsObj) {\r\n\t\t\t\tthis.options[p] = optionsObj[p];\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tthis.requestValues = {};\r\n\t\tthis.callback = null;\r\n\t}\r\n}\r\n\r\n\r\nPF.operation.Request.prototype.getRequestValues = function() {\r\n\treturn this.requestValues;\r\n}\r\n\r\nPF.operation.Request.prototype.setRequestValues = function(requestValues) {\r\n\tthis.requestValues = requestValues;\r\n}\r\n\r\nPF.operation.Request.prototype.getActionUrl = function() {\r\n\treturn this.actionUrl;\r\n}\r\n\r\nPF.operation.Request.prototype.setActionUrl = function(actionUrl) {\r\n\tthis.actionUrl = actionUrl;\r\n}\r\n\r\nPF.operation.Request.prototype.getCallback = function() {\r\n\treturn this.callback;\r\n}\r\n\r\nPF.operation.Request.prototype.setCallback = function(callback) {\r\n\tthis.callback = callback;\r\n}\r\n\r\nPF.operation.Request.prototype.send = function() {\r\n\t// ziskat hodnoty formulare\r\n\tvar requestValues = this.getRequestValues();\r\n\trequestValues['__ajax'] = 1;\r\n\t\r\n\tif (this.options['onSend']) {\r\n\t\tthis.options['onSend'](this, requestValues);\r\n\t}\r\n\t\r\n\t// na formularovou akci odeslat formular pomoci ajaxu\r\n\tvar rq = new PF.Request({method: 'post', async: this.options.async});\r\n\trq.setCallback(this.onSendFinished.bind(this));\r\n\trq.send(this.getActionUrl(), PF.buildQuery(requestValues));\r\n}\r\n\r\n\r\n/**\r\n* On submit finished\r\n*/\r\nPF.operation.Request.prototype.onSendFinished = function(response, status) {\r\n\tif (this.options['onFinished']) {\r\n\t\tthis.options['onFinished'](response, status);\r\n\t}\r\n\t\r\n\tif (this.callback) {\r\n\t\tthis.callback.apply(undefined, [response, status]);\r\n\t}\r\n\t\r\n\tif (status == 200) {\r\n\t\tvar eventsXmlNode = response.getElementsByTagName('result')[0].getElementsByTagName('events')[0];\r\n\t\tvar events = PF.events.Dispatcher.getInstance().parseEventsFromXml(eventsXmlNode);\r\n\t\t// vyvolat globalni udalost\r\n\t\tPF.events.Dispatcher.getInstance().raiseEvents(events, this.options.customData);\r\n\t\t// vyvolat instancni udalost\r\n\t\tfor (var i = 0; i < events.length; i++) {\r\n\t\t\tPF.signals.Dispatcher.getInstance().raiseEvent(this, events[i].getId(), events[i]);\r\n\t\t}\r\n\t}else {\r\n\t\tif (this.options['onError']) {\r\n\t\t\tthis.options['onError'](response, status);\r\n\t\t}else {\r\n\t\t\tconsole.error('Unable to finish AJAX request');\r\n\t\t}\r\n\t}\r\n}\r\n}"],"mappings":"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"}