{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./formBuilder/dataStores/SmartFormBasicDataStore.ts","webpack:///./formBuilder/dataStores/SmartFormsDataStoreBootstrap.ts","webpack:///./formBuilder/dataStores/SmartFormMultipleItemsDataStore.ts","webpack:///./formBuilder/dataStores/SmartFormDateDataStore.ts","webpack:///./formBuilder/dataStores/SmartFormRepeaterDataStore.ts","webpack:///./formBuilder/dataStores/SmartFormCurrencyDataStore.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","SmartFormBasicDataStore","defaultValue","this","toString","Clone","assign","getPrototypeOf","window","SmartFormMultipleItemsDataStore","SmartFormDateDataStore","SmartFormRepeaterDataStore","SmartFormCurrencyDataStore","_super","__extends","RedNaoGetValueFromArray","selectedValues","IsSelected","label","length","GetTime","numericalValue","AddDays","daysToAdd","clonedObject","date","Date","setDate","getDate","UpdateDate","getTime","AddMonths","monthsToAdd","setMonth","getMonth","AddYears","yearsToAdd","setFullYear","getFullYear","GetDayOfWeek","getDay","IsBetween","firstDate","secondDate","ParseToDate","currentDate","GetDate","IsValidDate","datePart","split","month","day","dateLabel","OriginalValues","formattedValue","rnJQuery","datepicker","formatDate","format","isNaN","instance","_this","rows","alert","GetCount","_ignore","GetTotal","fieldId","data","RedNaoFormulaManagerVar","Data","total","GetField","rowIndex","sfFormElementBase","RowIndex"],"mappings":"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","file":"datastores_bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 10);\n","export class SmartFormBasicDataStore {\r\n public defaultValue: any;\r\n public label:string;\r\n public numericalValue:number;\r\n public OriginalValues:any;\r\n public value:string;\r\n constructor(defaultValue: any) {\r\n this.defaultValue = 'value';\r\n if (typeof defaultValue != null)\r\n this.defaultValue = defaultValue;\r\n }\r\n\r\n\r\n public toString() {\r\n return this[this.defaultValue];\r\n }\r\n\r\n public Clone(){\r\n return (Object as any).assign( Object.create( Object.getPrototypeOf(this)), this);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import {SmartFormCurrencyDataStore} from \"./SmartFormCurrencyDataStore\";\r\n\r\n(window as any).SmartFormMultipleItemsDataStore=require('./SmartFormMultipleItemsDataStore').SmartFormMultipleItemsDataStore;\r\n(window as any).SmartFormBasicDataStore=require('./SmartFormBasicDataStore').SmartFormBasicDataStore;\r\n(window as any).SmartFormDateDataStore=require('./SmartFormDateDataStore').SmartFormDateDataStore;\r\n(window as any).SmartFormRepeaterDataStore=require('./SmartFormRepeaterDataStore').SmartFormRepeaterDataStore;\r\n(window as any).SmartFormCurrencyDataStore=require('./SmartFormCurrencyDataStore').SmartFormCurrencyDataStore;\r\ndeclare let require:any;","import {SmartFormBasicDataStore} from \"./SmartFormBasicDataStore\";\r\n\r\nexport class SmartFormMultipleItemsDataStore extends SmartFormBasicDataStore {\r\n public selectedValues: Options[];\r\n\r\n public toString(): any {\r\n return RedNaoGetValueFromArray(this.selectedValues);\r\n }\r\n\r\n public IsSelected(label) {\r\n for (let i = 0; i < this.selectedValues.length; i++) {\r\n if (this.selectedValues[i].label == label)\r\n return true;\r\n }\r\n\r\n return false;\r\n\r\n };\r\n}\r\n\r\n\r\nexport interface Options {\r\n value: string;\r\n amount: number;\r\n label: string;\r\n}\r\n\r\ndeclare let RedNaoGetValueFromArray: any;\r\n\r\n\r\n\r\n\r\n","import {SmartFormBasicDataStore} from \"./SmartFormBasicDataStore\";\r\ndeclare let rnJQuery:any;\r\nexport class SmartFormDateDataStore extends SmartFormBasicDataStore {\r\n public GetTime(){\r\n return this.numericalValue;\r\n }\r\n\r\n public AddDays(daysToAdd:number)\r\n {\r\n let clonedObject=this.Clone();\r\n if(clonedObject.numericalValue>0)\r\n {\r\n let date:Date=new Date(clonedObject.numericalValue);\r\n date.setDate(date.getDate()+daysToAdd);\r\n clonedObject.UpdateDate(date.getTime());\r\n }\r\n\r\n return clonedObject;\r\n }\r\n\r\n public AddMonths(monthsToAdd:number)\r\n {\r\n let clonedObject=this.Clone();\r\n if(clonedObject.numericalValue>0)\r\n {\r\n let date:Date=new Date(clonedObject.numericalValue);\r\n date.setMonth(date.getMonth()+monthsToAdd);\r\n clonedObject.UpdateDate(date.getTime());\r\n }\r\n\r\n return clonedObject;\r\n }\r\n\r\n public AddYears(yearsToAdd:number)\r\n {\r\n let clonedObject=this.Clone();\r\n if(clonedObject.numericalValue>0)\r\n {\r\n let date:Date=new Date(clonedObject.numericalValue);\r\n date.setFullYear(date.getFullYear()+yearsToAdd);\r\n clonedObject.UpdateDate(date.getTime());\r\n }\r\n\r\n return clonedObject;\r\n }\r\n\r\n public GetDayOfWeek(){\r\n return new Date(this.numericalValue).getDay();\r\n }\r\n\r\n public IsBetween(firstDate,secondDate){\r\n firstDate=this.ParseToDate(firstDate);\r\n secondDate=this.ParseToDate(secondDate);\r\n \r\n let currentDate=this.GetDate();\r\n if(this.IsValidDate(firstDate)&&this.IsValidDate(secondDate)&&this.IsValidDate(currentDate))\r\n return firstDate<=currentDate&&secondDate>=currentDate;\r\n\r\n return false;\r\n\r\n \r\n }\r\n\r\n private ParseToDate(date)\r\n {\r\n if(date==null)\r\n return null;\r\n\r\n if(typeof date==\"string\")\r\n {\r\n let datePart=date.split('-');\r\n if(datePart.length!=3)\r\n return null;\r\n\r\n return new Date(datePart[0] as any,(datePart[1] as any)-1 as any,datePart[2] as any,0,0,0);\r\n }\r\n \r\n return null;\r\n }\r\n\r\n private GetDate(){\r\n return this.ParseToDate(this.value);\r\n }\r\n\r\n\r\n\r\n private UpdateDate(numericalValue:number)\r\n {\r\n this.numericalValue=numericalValue;\r\n let date=new Date(this.numericalValue);\r\n\r\n let month=date.getMonth()+1;\r\n let day=date.getDate();\r\n\r\n let dateLabel=date.getFullYear()+'-'+(month<10?'0':'')+month+'-'+(day<10?'0':'')+day;\r\n this.label=dateLabel;\r\n this.value=dateLabel;\r\n this.OriginalValues.value=dateLabel;\r\n this.OriginalValues.formattedValue=(rnJQuery as any).datepicker.formatDate(this.OriginalValues.format, date);\r\n\r\n\r\n }\r\n\r\n\r\n private IsValidDate(d: any) {\r\n return d instanceof Date && !isNaN(d as any);\r\n }\r\n}\r\n\r\n\r\ninterface Options {\r\n value: string;\r\n amount: number;\r\n label: string;\r\n}\r\n\r\ndeclare let RedNaoGetValueFromArray: any;\r\n\r\n\r\n\r\n\r\n","import {SmartFormBasicDataStore} from \"./SmartFormBasicDataStore\";\r\nimport rednaorepeater = SmartFormsFields.rednaorepeater;\r\n\r\nexport class SmartFormRepeaterDataStore extends SmartFormBasicDataStore {\r\n public defaultValue: any;\r\n public rows:any[];\r\n public label:string;\r\n public numericalValue:number;\r\n public OriginalValues:any;\r\n public value:any;\r\n constructor(public instance:rednaorepeater) {\r\n super('value');\r\n this.rows=[];\r\n }\r\n\r\n\r\n public toString() {\r\n alert('Sorry a repeater field can not be used in formulas like this');\r\n }\r\n\r\n public Clone(){\r\n return (Object as any).assign( Object.create( Object.getPrototypeOf(this)), this);\r\n }\r\n\r\n public GetCount()\r\n {\r\n if(this.instance._ignore)\r\n return 0;\r\n if(this.value==0)\r\n return 0;\r\n return this.value.length;\r\n }\r\n\r\n\r\n public GetTotal(fieldId:string)\r\n {\r\n if(this.instance._ignore)\r\n return 0;\r\n let data=RedNaoFormulaManagerVar.Data;\r\n let total=0;\r\n for(let i=0;i<this.value.length;i++)\r\n {\r\n if(typeof data[fieldId+'_row_'+i]!='undefined')\r\n total+=data[fieldId+'_row_'+i].toString();\r\n }\r\n return total;\r\n }\r\n\r\n public GetField(rowIndex:any,fieldId:string)\r\n {\r\n if(this.instance._ignore)\r\n return '';\r\n if(rowIndex instanceof sfFormElementBase)\r\n rowIndex=rowIndex.RowIndex;\r\n\r\n if(typeof RedNaoFormulaManagerVar.Data[fieldId+'_row_'+rowIndex]=='undefined')\r\n return '';\r\n else\r\n return RedNaoFormulaManagerVar.Data[fieldId+'_row_'+rowIndex];\r\n }\r\n\r\n}\r\n\r\n\r\n\r\ndeclare let RedNaoFormulaManagerVar:any;\r\n","export class SmartFormCurrencyDataStore {\r\n public defaultValue: any;\r\n public label:string;\r\n public numericalValue:number;\r\n public OriginalValues:any;\r\n public value:string;\r\n constructor(defaultValue: any) {\r\n this.defaultValue = 'numericalValue';\r\n if (typeof defaultValue != null)\r\n this.defaultValue = defaultValue;\r\n }\r\n\r\n\r\n public toString() {\r\n return this.numericalValue;\r\n }\r\n\r\n public Clone(){\r\n return (Object as any).assign( Object.create( Object.getPrototypeOf(this)), this);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n"],"sourceRoot":""}