{"version":3,"sources":["styles/images/info.png","components/AppContainer.js","components/ColorPicker.js","actions/base.js","actions/settings.js","actions/typeNames.js","actions/formList.js","actions/main.js","actions/form.js","containers/EmazeForm.js","containers/FormApp.js","reducers/formList.js","reducers/main.js","services/service.js","defaults/templates.js","reducers/settings.js","reducers/design.js","reducers/form.js","reducers/answers.js","reducers/index.js","serviceWorker.js","components/Header.js","components/Body.js","styles/styles.js","styles/images/edit.svg","components/Tabs.js","containers/TabsContainer.js","containers/AddFormButton.js","containers/CancelFormButton.js","containers/RightPreviewPart.js","containers/ViewTemplate.js","styles/images/burger.svg","styles/images/trash.svg","styles/images/plus.svg","containers/FormElementsList.js","styles/images/duplicate.svg","containers/OptionsList.js","defaults/elements.js","containers/ViewEdit.js","components/FontPicker.js","containers/ViewDesign.js","actions/design.js","containers/ViewSettings.js","actions/answers.js","components/AnswersView.js","containers/AnswersContainer.js","containers/ViewPreview.js","containers/SwitchViews.js","components/Settings.js","components/FormList.js","containers/FormListCont.js","components/CreateNew.js","containers/CreateNewCont.js","components/FormActions.js","styles/images/correct.svg","styles/images/wrong.svg","components/QuizAnswersView.js","containers/QuizAnswersContainer.js","containers/QuizViewPreview.js","containers/PopupContainer.js","index.js"],"names":["module","exports","AppContainer","props","css","window","ThemeFonts","map","f","cssImport","join","style","document","getElementById","type","styleSheet","cssText","appendChild","createTextNode","Box","this","children","Component","ColorPicker","handleClick","setState","displayColorPicker","state","handleClose","handleChange","color","rgb","onChange","convertColor","r","g","b","a","styles","reactCSS","width","height","borderRadius","background","rgbaFormat","swatch","padding","boxShadow","display","cursor","popover","position","zIndex","left","bottom","cover","top","right","className","onClick","hexToRgbA","hex","c","test","substring","split","length","colorNames","console","log","baseURL","setSettings","form","config","fromEditor","selectTab","tab_id","setFormName","name","deleteElement","element","listName","option","changeNameElement","id","kind","addNewForm","editForm","formId","isPreview","dispatch","url","changeView","LOADER_VIEW","axios","get","then","response","data","status","JSON","parse","LZString","decompressFromBase64","Config","e","settings","design","selectForm","err","error","catch","FORM_SETTINGS_VIEW","deleteFormSuccess","deletedFormId","duplicateFormSuccess","createNewForm","userId","userid","post","qs","stringify","resetSettings","browserHistory","push","FormId","FORM_LIST_VIEW","view","isRequest","asyncRequest","cancel","currentView","save","addForm","configObj","template","ownerEmail","successMessage","title","submitText","elements","compressToBase64","put","saveSuccess","parent","postMessage","setConfig","addFonts","fontStylesArr","prop","fonts","font","onSubmitResponseAction","Alert","elevation","variant","connect","onChangeCheckbox","e_id","o_id","element_id","option_id","onDropdownChoose","value","onDropdownChooseAction","onRadioChoose","onRadioChooseAction","onTextChange","onTextChangeAction","onDateChange","date","onClickSubmit","presId","email","Title","Elements","PresentationId","Email","onClickSubmitAction","onSubmitResponse","formStyle","layout","backgroundColor","backgrounds","submitStyle","fontFamily","button","fontSize","size","submit","bgColor","textTransform","overflow","overflowY","maxHeight","labelStyle","makeStyles","root","textAlign","formTitle","formControl","formLabel","label","textField","inputColor","fieldBorderRadius","marginTop","paddingLeft","paddingRight","input","borderBottom","select","formControlLabel","checkBoxOrRadio","checkBoxOrRadioIcon","dateTimePicker","handleTextChange","event","target","handleDateChange","handleCloseSnackBar","reason","snackbarOrigin","vertical","horizontal","p","Grid","container","spacing","item","xs","elm","col","isHalf","key","FormControl","FormLabel","TextField","required","isRequired","minRows","multiline","Select","handleDropdownChoose","options","o","MenuItem","FormGroup","row","FormControlLabel","control","Checkbox","checked","checkedIcon","RadioGroup","Radio","utils","DateFnsUtils","margin","format","KeyboardButtonProps","keyboardIcon","alignment","Button","handleClickSubmit","Snackbar","anchorOrigin","autoHideDuration","open","snackbarOpenSuccess","onClose","severity","snackbarOpenError","errorMessage","loaderCss","Loader","classes","CircularProgress","FormApp","params","location","pathname","replace","regExpFormId","RegExp","regExpPresId","match","init","parseInt","main","PresId","formList","action","Name","filter","forms","InitialState","selectedForm","findElementByPropName","arr","propName","find","hasOwnProperty","templates","image","formType","description","default","canBeHalf","hasOptions","tabButtons","is_preview","is_disabled","is_hidden","tab","undefined","selectedElementFromList","editingElement","showAddForm","setDefaultsByTemplate","FormType","setSettingsByForm","t","sendSaveNotificationToParent","s","newElm","includes","forEach","flag","getNewDesign","newDesign","sector","font_sector","selectedFont","toLowerCase","propSector","defaultDesign","newState","presentations","answers","all","items","page","pageSize","total","selectedPresentation","EncryptedId","selectedAnswer","itemPresAll","answerModel","loader","setAnswerList","list","answs","presentation","answer","combineReducers","routing","routerReducer","Boolean","hostname","headerStyles","closeBtn","minHeight","closeIcon","Header","content","cancelAction","justifyContent","alignItems","bodyStyles","headlessBodyStyles","Body","m","HeadlessBody","_defs","_g","btn_default","minWidth","buttonStyles","border","letterSpacing","borderColor","tab_data","tab_data_grid","tab_selected","create","add","marginBottom","btnHelp","marginLeft","iconHelp","move","addOption","defaultBoxAbsolute","viewStyles","box_settings","box_view","leftBox","verticalLine","borderLeft","rightBox","devider","titleLeft","titleRight","rightDescription","tmplList","templateBox","nameInput","bottomBox","selectContainer","selectList","listElementsContainer","listRow","optionFieldTitle","switch","designBlockTitle","fontWeight","designBoxRow","designFieldTitle","marginRight","designRadio","designRadioLabel","designSlider","colorPicker","fontPicker","previewBox","transform","transformOrigin","presDropdown","settingsFieldText","infoIcon","svgIcon","stroke","strokeMiterlimit","strokeLinecap","strokeLinejoin","strokeWidth","fill","Tabs","preview_button","classArray","buttonClass","disabled","handleSave","buttonStyle","isDisabled","handleCancel","saveChanges","isShowPreview","saveBtnName","handleSaveNextBtn","selectTemplate","wrap","classBox","CardMedia","component","src","resourcesURL","Divider","orientation","_excluded","_extends","Object","assign","bind","i","arguments","source","prototype","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref","svgRef","createElement","viewBox","ref","d","x2","y2","ForwardRef","forwardRef","_text","FormElementItem","dragHandleProps","commonProps","editElement","changeName","btnStyles","saveOptions","editClass","Input","endAdornment","InputAdornment","IconButton","SvgIcon","EditIcon","TrashIcon","Icon","BurgerIcon","onListChange","newList","changeList","n","_container","HTMLElement","el","itemKey","onMoveEnd","x","y","FormOptionItem","PlusIcon","changeOptionList","changeFlag","changeOptionIsHalf","toggleIsRequired","toggleIsRequiredOption","Switch","Date","selectElementForAdd","selectElementForAddingToForm","addElementToList","addNewElement","defaultValue","child","rendervalue","placeholder","FontPicker","borderRadiusMarks","changeValue","val","changeFont","valuetext","aria-label","labelPlacement","Slider","getAriaValueText","valueLabelDisplay","marks","min","max","v","useStylesInfoTooltip","arrow","tooltip","maxWidth","InfoTooltip","Tooltip","Label","placement","fullWidth","maxRows","getPresentations","setPresentationList","getAnswers","message","setAnswersLoader","getQuizResultsById","quizId","selectPresentation","setAnswer","AnswersView","decryptedElements","Paper","TableContainer","Table","stickyHeader","TableBody","TableRow","tabIndex","TableCell","sub","toDateString","time","toLocaleTimeString","chip","tableRoot","paddingTop","tableContainer","table","lineHeight","borderTop","borderRight","loaderBox","ViewPreview","handleSelectAnswer","selectAnswer","showPresValue","Chip","icon","Folder","handleChangePage","newPage","formatDateTime","datetime","nd","ds","toLocaleDateString","ts","answerObject","InputLabel","labelId","autoWidth","TableHead","align","ResponseId","EmailSender","TablePagination","count","rowsPerPage","onChangePage","rowsPerPageOptions","AnswersContainer","withStyles","SwitchViews","form-empty","Settings","Container","TabsContainer","y1","useStyles","tableHead","tableBody","tableRow","nameField","borderLeftColor","transition","buttonsField","invisibleBtn","actionBtn","FormList","deleteForm","duplicateForm","getForm","selectDefaultEditTab","handleSelectForm","handleEdit","DuplicateIcon","delete","CreateNew","handleAdd","FormActions","_path","_path2","CreateNewCont","FormListCont","fillRule","QuizAnswersView","sections","values","quizes","noCorrectAnswers","sect","index","questions","question","originalIndex","isAnswered","res","questionText","ansList","ans","isSelected","answerText","isOpenQuestion","isCorrect","CorrectIcon","WrongIcon","QuizViewPreview","SubmiterEmail","QuizAnswersContainer","ownProps","w","h","PopupContainerStyles","PopupList","PopupSettings","PopupSubmission","HeadlessLoader","PopupContainer","getFormListByUserId","_PopupContainerQuiz","mapStateToProps","quizid","mapDispatchToProps","PopupContainerList","PopupContainerSettings","goTab","PopupContainerQuiz","middleware","Thunk","routerMiddleware","store","createStore","rootReducer","composeWithDevTools","applyMiddleware","history","syncHistoryWithStore","ReactDOM","render","path","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.277ae223.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAASxJREFUGFctkL1Kw2AYhc9JGklTUenkpFNBxVUcnL0GwdApphEcxcVBpF5AqaCDg5Su4uYqegtaiqDeQtFFY376Hfk068PznnN4CQBhGM7V6/XQcZwDki1JBPAuqVcUxc1gMPiklRqNxgkAK/mSvkk+S1olOQPgqizLLuM43ifZs5JNl/RWluVurVa7JLkBIJ1Op0fsdDojkutWAlBIepH0QLJNslkdP1kxqyosm+R5Hnqe1wJwTtJutS0/VsxJehX4SNN0KwiCPoDtquVfTJJkDGDNQmPMY5Zlie/79yQXAMxWASNGUbTnum6fZGCMuTPGnDmOc0xyk+SipC8Ah7Z6HsApyaSCY5LLAJYkpZKuSXb/xkZR1HRdd4dkDGClevirMeYiz/Pb4XA4+QXXPZEUYTSQwAAAAABJRU5ErkJggg==\"","import React, { Component } from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport './fonts.css'\r\n\r\nexport default class AppContainer extends Component{\r\n constructor(props){\r\n super(props)\r\n }\r\n \r\n componentDidMount(){\r\n let fontStylesArr = window.ThemeFonts.map((f) => {\r\n return f.cssImport\r\n })\r\n let css = fontStylesArr.join('\\n'),\r\n style = document.getElementById('emaze-fonts');\r\n style.type = 'text/css';\r\n if (style.styleSheet){\r\n // This is required for IE8 and below.\r\n style.styleSheet.cssText = css;\r\n } else {\r\n style.appendChild(document.createTextNode(css));\r\n }\r\n }\r\n \r\n render(){\r\n return(\r\n \r\n {this.props.children}\r\n \r\n )\r\n }\r\n}","import React, { Component } from 'react'\r\nimport { SketchPicker } from 'react-color'\r\nimport { Box } from '@material-ui/core'\r\nimport reactCSS from 'reactcss'\r\n\r\nclass ColorPicker extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n displayColorPicker: false,\r\n color: props ? convertColor(props.color) : {r:0,g:0,b:0,a:1} \r\n };\r\n }\r\n // state = {\r\n // displayColorPicker: false,\r\n // color: this.props ? this.convertColor(this.props.color) : {r:0,g:0,b:0,a:1} \r\n // };\r\n \r\n \r\n\r\n handleClick = () => { \r\n this.setState({ displayColorPicker: !this.state.displayColorPicker })\r\n };\r\n \r\n handleClose = () => {\r\n this.setState({ displayColorPicker: false })\r\n };\r\n\r\n handleChange = (color) => {\r\n this.setState({ color: color.rgb })\r\n this.props.onChange(color.rgb)\r\n };\r\n \r\n render(){ \r\n const styles = reactCSS({\r\n 'default': {\r\n color: {\r\n width: '40px',\r\n height: '16px',\r\n borderRadius: '2px',\r\n background: rgbaFormat(this.state.color),\r\n },\r\n swatch: {\r\n padding: 0,\r\n background: '#fff',\r\n borderRadius: '1px',\r\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\r\n display: 'block',\r\n cursor: 'pointer',\r\n },\r\n popover: {\r\n position: 'absolute',\r\n zIndex: '2',\r\n left: \"120%\",\r\n bottom: 0\r\n },\r\n cover: {\r\n position: 'fixed',\r\n top: '0px',\r\n right: '0px',\r\n bottom: '0px',\r\n left: '0px',\r\n }\r\n }\r\n })\r\n return(\r\n \r\n \r\n \r\n \r\n { this.state.displayColorPicker ? \r\n \r\n \r\n : null \r\n }\r\n \r\n )\r\n } \r\n}\r\n\r\nexport default ColorPicker\r\n\r\nexport const convertColor = (color) => {\r\n if(typeof color == \"string\"){\r\n return hexToRgbA(color)\r\n }else if(typeof color == \"object\"){\r\n return color;\r\n }\r\n return {r:0,g:0,b:0,a:1}\r\n}\r\n\r\n\r\n\r\nexport const hexToRgbA = (hex) => {\r\n var c;\r\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\r\n c = hex.substring(1).split('');\r\n if (c.length == 3) {\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\r\n }\r\n c = '0x' + c.join('');\r\n let rgba = { r: (c >> 16) & 255, g: (c >> 8) & 255, b: c & 255, a: 1 }\r\n return rgba;\r\n // return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+',1)';\r\n }\r\n else if (colorNames[hex]) {\r\n // sometimes we have for some reason colors like \"red\", so this way we handle this\r\n return colorNames[hex];\r\n }\r\n console.log('hexToRgbA - Bad Hex: ' + hex)\r\n //throw new Error('Bad Hex: '+ hex);\r\n // crushing the entire feature because of this seems a bit excessive \r\n return \"#ffffff\";\r\n}\r\n\r\nexport const rgbaFormat = (color) => {\r\n color = convertColor(color);\r\n return `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a})`;\r\n}\r\n\r\nconst colorNames = {\r\n \"aliceblue\": \"#f0f8ff\",\r\n \"antiquewhite\": \"#faebd7\",\r\n \"aqua\": \"#00ffff\",\r\n \"aquamarine\": \"#7fffd4\",\r\n \"azure\": \"#f0ffff\",\r\n \"beige\": \"#f5f5dc\",\r\n \"bisque\": \"#ffe4c4\",\r\n \"black\": \"#000000\",\r\n \"blanchedalmond\": \"#ffebcd\",\r\n \"blue\": \"#0000ff\",\r\n \"blueviolet\": \"#8a2be2\",\r\n \"brown\": \"#a52a2a\",\r\n \"burlywood\": \"#deb887\",\r\n \"cadetblue\": \"#5f9ea0\",\r\n \"chartreuse\": \"#7fff00\",\r\n \"chocolate\": \"#d2691e\",\r\n \"coral\": \"#ff7f50\",\r\n \"cornflowerblue\": \"#6495ed\",\r\n \"cornsilk\": \"#fff8dc\",\r\n \"crimson\": \"#dc143c\",\r\n \"cyan\": \"#00ffff\",\r\n \"darkblue\": \"#00008b\",\r\n \"darkcyan\": \"#008b8b\",\r\n \"darkgoldenrod\": \"#b8860b\",\r\n \"darkgray\": \"#a9a9a9\",\r\n \"darkgreen\": \"#006400\",\r\n \"darkgrey\": \"#a9a9a9\",\r\n \"darkkhaki\": \"#bdb76b\",\r\n \"darkmagenta\": \"#8b008b\",\r\n \"darkolivegreen\": \"#556b2f\",\r\n \"darkorange\": \"#ff8c00\",\r\n \"darkorchid\": \"#9932cc\",\r\n \"darkred\": \"#8b0000\",\r\n \"darksalmon\": \"#e9967a\",\r\n \"darkseagreen\": \"#8fbc8f\",\r\n \"darkslateblue\": \"#483d8b\",\r\n \"darkslategray\": \"#2f4f4f\",\r\n \"darkslategrey\": \"#2f4f4f\",\r\n \"darkturquoise\": \"#00ced1\",\r\n \"darkviolet\": \"#9400d3\",\r\n \"deeppink\": \"#ff1493\",\r\n \"deepskyblue\": \"#00bfff\",\r\n \"dimgray\": \"#696969\",\r\n \"dimgrey\": \"#696969\",\r\n \"dodgerblue\": \"#1e90ff\",\r\n \"firebrick\": \"#b22222\",\r\n \"floralwhite\": \"#fffaf0\",\r\n \"forestgreen\": \"#228b22\",\r\n \"fuchsia\": \"#ff00ff\",\r\n \"gainsboro\": \"#dcdcdc\",\r\n \"ghostwhite\": \"#f8f8ff\",\r\n \"goldenrod\": \"#daa520\",\r\n \"gold\": \"#ffd700\",\r\n \"gray\": \"#808080\",\r\n \"green\": \"#008000\",\r\n \"greenyellow\": \"#adff2f\",\r\n \"grey\": \"#808080\",\r\n \"honeydew\": \"#f0fff0\",\r\n \"hotpink\": \"#ff69b4\",\r\n \"indianred\": \"#cd5c5c\",\r\n \"indigo\": \"#4b0082\",\r\n \"ivory\": \"#fffff0\",\r\n \"khaki\": \"#f0e68c\",\r\n \"lavenderblush\": \"#fff0f5\",\r\n \"lavender\": \"#e6e6fa\",\r\n \"lawngreen\": \"#7cfc00\",\r\n \"lemonchiffon\": \"#fffacd\",\r\n \"lightblue\": \"#add8e6\",\r\n \"lightcoral\": \"#f08080\",\r\n \"lightcyan\": \"#e0ffff\",\r\n \"lightgoldenrodyellow\": \"#fafad2\",\r\n \"lightgray\": \"#d3d3d3\",\r\n \"lightgreen\": \"#90ee90\",\r\n \"lightgrey\": \"#d3d3d3\",\r\n \"lightpink\": \"#ffb6c1\",\r\n \"lightsalmon\": \"#ffa07a\",\r\n \"lightseagreen\": \"#20b2aa\",\r\n \"lightskyblue\": \"#87cefa\",\r\n \"lightslategray\": \"#778899\",\r\n \"lightslategrey\": \"#778899\",\r\n \"lightsteelblue\": \"#b0c4de\",\r\n \"lightyellow\": \"#ffffe0\",\r\n \"lime\": \"#00ff00\",\r\n \"limegreen\": \"#32cd32\",\r\n \"linen\": \"#faf0e6\",\r\n \"magenta\": \"#ff00ff\",\r\n \"maroon\": \"#800000\",\r\n \"mediumaquamarine\": \"#66cdaa\",\r\n \"mediumblue\": \"#0000cd\",\r\n \"mediumorchid\": \"#ba55d3\",\r\n \"mediumpurple\": \"#9370db\",\r\n \"mediumseagreen\": \"#3cb371\",\r\n \"mediumslateblue\": \"#7b68ee\",\r\n \"mediumspringgreen\": \"#00fa9a\",\r\n \"mediumturquoise\": \"#48d1cc\",\r\n \"mediumvioletred\": \"#c71585\",\r\n \"midnightblue\": \"#191970\",\r\n \"mintcream\": \"#f5fffa\",\r\n \"mistyrose\": \"#ffe4e1\",\r\n \"moccasin\": \"#ffe4b5\",\r\n \"navajowhite\": \"#ffdead\",\r\n \"navy\": \"#000080\",\r\n \"oldlace\": \"#fdf5e6\",\r\n \"olive\": \"#808000\",\r\n \"olivedrab\": \"#6b8e23\",\r\n \"orange\": \"#ffa500\",\r\n \"orangered\": \"#ff4500\",\r\n \"orchid\": \"#da70d6\",\r\n \"palegoldenrod\": \"#eee8aa\",\r\n \"palegreen\": \"#98fb98\",\r\n \"paleturquoise\": \"#afeeee\",\r\n \"palevioletred\": \"#db7093\",\r\n \"papayawhip\": \"#ffefd5\",\r\n \"peachpuff\": \"#ffdab9\",\r\n \"peru\": \"#cd853f\",\r\n \"pink\": \"#ffc0cb\",\r\n \"plum\": \"#dda0dd\",\r\n \"powderblue\": \"#b0e0e6\",\r\n \"purple\": \"#800080\",\r\n \"rebeccapurple\": \"#663399\",\r\n \"red\": \"#ff0000\",\r\n \"rosybrown\": \"#bc8f8f\",\r\n \"royalblue\": \"#4169e1\",\r\n \"saddlebrown\": \"#8b4513\",\r\n \"salmon\": \"#fa8072\",\r\n \"sandybrown\": \"#f4a460\",\r\n \"seagreen\": \"#2e8b57\",\r\n \"seashell\": \"#fff5ee\",\r\n \"sienna\": \"#a0522d\",\r\n \"silver\": \"#c0c0c0\",\r\n \"skyblue\": \"#87ceeb\",\r\n \"slateblue\": \"#6a5acd\",\r\n \"slategray\": \"#708090\",\r\n \"slategrey\": \"#708090\",\r\n \"snow\": \"#fffafa\",\r\n \"springgreen\": \"#00ff7f\",\r\n \"steelblue\": \"#4682b4\",\r\n \"tan\": \"#d2b48c\",\r\n \"teal\": \"#008080\",\r\n \"thistle\": \"#d8bfd8\",\r\n \"tomato\": \"#ff6347\",\r\n \"turquoise\": \"#40e0d0\",\r\n \"violet\": \"#ee82ee\",\r\n \"wheat\": \"#f5deb3\",\r\n \"white\": \"#ffffff\",\r\n \"whitesmoke\": \"#f5f5f5\",\r\n \"yellow\": \"#ffff00\",\r\n \"yellowgreen\": \"#9acd32\"\r\n}\r\n\r\n","export const baseURL = '/api/form'\r\nexport const RESOURCES_LOCAL_URL = ''\r\nexport const RESOURCES_STAGING_URL = '//resources.emazestaging.com/forms'\r\nexport const RESOURCES_PRODUCTION_URL = '//resources.emaze.com/forms'","import * as types from './typeNames'\r\n\r\n\r\nexport const setSettings = (form, config, fromEditor = null) => ({\r\n type: types.SET_SETTINGS,\r\n form,\r\n fromEditor,\r\n config\r\n})\r\n\r\nexport const resetSettings = (form, config, fromEditor = null) => ({\r\n type: types.RESET_SETTINGS,\r\n form,\r\n fromEditor,\r\n config\r\n})\r\n\r\nexport const selectTab = (tab_id) => ({\r\n type: types.SELECT_TAB,\r\n tab_id\r\n})\r\n\r\nexport const selectDefaultEditTab = () => ({\r\n type: types.SELECT_DEFAULT_EDIT_TAB\r\n})\r\n\r\nexport const selectTemplate = (template) => ({\r\n type: types.SELECT_TEMPLATE,\r\n template\r\n})\r\n\r\nexport const setFormName = name => ({\r\n type: types.SET_FORM_NAME,\r\n name\r\n})\r\n\r\nexport const selectElementForAddingToForm = element => ({\r\n type: types.SELECT_ELEMENT_FOR_ADDING_TO_FORM,\r\n element\r\n})\r\n\r\nexport const changeList = newList => ({\r\n type: types.CHANGE_FORM_ELEMENTS_LIST,\r\n elements: newList\r\n})\r\n\r\nexport const changeOptionList = newList => ({\r\n type: types.CHANGE_FORM_OPTIONS_LIST,\r\n options: newList\r\n})\r\n\r\nexport const addNewElement = elm => ({\r\n type: types.ADD_ELEMENT_TO_LIST,\r\n element: elm\r\n})\r\n\r\nexport const editElement = elm => ({\r\n type: types.EDIT_ELEMENT,\r\n element: elm\r\n})\r\n\r\nexport const addNewOption = () => ({\r\n type: types.ADD_OPTION_TO_LIST,\r\n})\r\n\r\nexport const deleteElement = (element, listName, option) => ({\r\n type: types.DELETE_ELEMENT_FROM_LIST,\r\n element,\r\n listName,\r\n option\r\n})\r\n\r\nexport const changeNameElement = (name, id, kind) => ({\r\n type: types.CHANGE_ELEMENT_NAME,\r\n name,\r\n id,\r\n kind\r\n})\r\n\r\nexport const saveOptions = () => ({\r\n type: types.SAVE_OPTIONS \r\n})\r\n\r\nexport const changeOptionIsHalf = (flag) => ({\r\n type: types.CHANGE_FLAG,\r\n flag \r\n})\r\n\r\nexport const toggleIsRequiredOption = (flag) => ({\r\n type: types.CHANGE_ISREQUIRED_FLAG,\r\n flag\r\n})","export const GET_ALL_LIST = 'GET_ALL_LIST';\r\nexport const ADD_NEW_FORM = 'ADD_NEW_FORM';\r\nexport const EDIT_FORM = 'EDIT_FORM';\r\nexport const DELETE_FORM = 'DELETE_FORM';\r\nexport const DUPLICATE_FORM = 'DUPLICATE_FORM'\r\nexport const SELECT_FORM = 'SELECT_FORM'\r\n\r\nexport const SET_LOADER = 'SET_LOADER'\r\nexport const SET_SETTINGS = 'SET_SETTINGS'\r\nexport const RESET_SETTINGS = 'RESET_SETTINGS'\r\nexport const CANCEL_SETTINGS = 'CANCEL_SETTINGS'\r\nexport const SELECT_TAB = 'SELECT_TAB'\r\nexport const SELECT_TEMPLATE = 'SELECT_TEMPLATE'\r\nexport const SET_FORM_NAME = 'SET_FORM_NAME'\r\nexport const SET_USER_ID = 'SET_USER_ID'\r\nexport const SELECT_ELEMENT_FOR_ADDING_TO_FORM = 'SELECT_ELEMENT_FOR_ADDING_TO_FORM'\r\nexport const CHANGE_FORM_ELEMENTS_LIST = 'CHANGE_FORM_ELEMENTS_LIST'\r\nexport const CHANGE_FORM_OPTIONS_LIST = 'CHANGE_FORM_OPTIONS_LIST'\r\nexport const CHANGE_ELEMENT_NAME = 'CHANGE_ELEMENT_NAME'\r\nexport const ADD_ELEMENT_TO_LIST = 'ADD_ELEMENT_TO_LIST'\r\nexport const DELETE_ELEMENT_FROM_LIST = 'DELETE_ELEMENT_FROM_LIST'\r\nexport const ADD_OPTION_TO_LIST = 'ADD_OPTION_TO_LIST'\r\nexport const EDIT_ELEMENT = 'EDIT_ELEMENT'\r\nexport const SAVE_OPTIONS = 'SAVE_OPTIONS'\r\nexport const CHANGE_FLAG = 'CHANGE_FLAG'\r\nexport const CHANGE_ISREQUIRED_FLAG = 'CHANGE_ISREQUIRED_FLAG'\r\nexport const SELECT_DEFAULT_EDIT_TAB = 'SELECT_DEFAULT_EDIT_TAB'\r\n\r\n\r\n\r\n//***************** Design TAB TYPES ***********************/\r\n\r\nexport const CHANGE_ANY_VALUE = 'CHANGE_ANY_VALUE'\r\nexport const CHANGE_FONT_VALUES = 'CHANGE_FONT_VALUES'\r\n\r\n//***************** Design TAB TYPES END ********************/\r\n\r\n\r\n//***************** MAIN TYPES ***********************/\r\n\r\nexport const SAVE_SUCCESS = 'SAVE_SUCCESS'\r\n\r\n//***************** MAIN TYPES END ********************/\r\n\r\n//***************** FORM TYPES ***********************/\r\n\r\nexport const SET_CONFIG = 'SET_CONFIG'\r\nexport const CHANGE_CHECKBOX_OPTION = 'CHANGE_CHECKBOX_OPTION'\r\nexport const DROPDOWN_CHOOSE_OPTION = 'DROPDOWN_CHOOSE_OPTION'\r\nexport const RADIO_CHOOSE_OPTION = 'RADIO_CHOOSE_OPTION'\r\nexport const TEXT_CHANGE = 'TEXT_CHANGE'\r\nexport const DATE_CHANGE = 'DATE_CHANGE'\r\nexport const CLICK_SUBMIT = 'CLICK_SUBMIT'\r\nexport const ON_SUBMIT_RESPONSE = 'ON_SUBMIT_RESPONSE'\r\n\r\n//***************** FORM TYPES END ********************/\r\n\r\n//***************** ANSWERS TYPES ***********************/\r\n\r\nexport const SET_PRESENTATION_LIST = 'SET_PRESENTATION_LIST'\r\nexport const SET_ANSWER_LIST = 'SET_ANSWER_LIST'\r\nexport const SELECT_PRESENTATION = 'SELECT_PRESENTATION'\r\nexport const SELECT_ANSWER = 'SELECT_ANSWER'\r\nexport const SET_ANSWER = 'SET_ANSWER'\r\nexport const SET_ANSWERS_LOADER = 'SET_ANSWERS_LOADER'\r\n\r\n//***************** ANSWERS TYPES END ********************/","import * as types from './typeNames'\r\nimport axios from 'axios'\r\nimport qs from 'qs'\r\nimport LZString from 'lz-string'\r\nimport { baseURL } from './base'\r\nimport { changeView, LOADER_VIEW, FORM_SETTINGS_VIEW, FORM_LIST_VIEW } from './main'\r\nimport { setSettings, resetSettings } from './settings'\r\nimport { browserHistory } from 'react-router'\r\n\r\n\r\n\r\nexport const addNewForm = (form) =>({\r\n type: types.ADD_NEW_FORM,\r\n form\r\n});\r\n\r\nexport const editForm = (formId, isPreview, fromEditor=null) => dispatch => {\r\n let url = `${baseURL}/edit/${formId}`\r\n \r\n if(!isPreview){\r\n dispatch(changeView(LOADER_VIEW, true));\r\n }\r\n \r\n return axios.get(url)\r\n .then(response => {\r\n if(response.data.status === 'success'){\r\n console.log(\"Result Create: \", response.data.data)\r\n let config = {}\r\n try{\r\n config = JSON.parse(LZString.decompressFromBase64(response.data.data.Config));\r\n }catch(e){\r\n console.log(\"Error Parse Config: \", e)\r\n config = {settings: null, design: null}\r\n }\r\n dispatch(setSettings(response.data.data, config, fromEditor))\r\n dispatch(selectForm(response.data.data))\r\n } \r\n else{\r\n console.log(response.data)\r\n dispatch(()=>({type:\"error\", err: response.data.error}))\r\n } \r\n })\r\n .catch(err => { console.log(err); dispatch(()=>({type:\"error\", err})) })\r\n .then(() => { \r\n if(!isPreview){\r\n dispatch(changeView(FORM_SETTINGS_VIEW, false));\r\n } \r\n })\r\n}\r\n\r\nexport const deleteForm = FormId => dispatch => {\r\n dispatch(changeView(LOADER_VIEW))\r\n return axios.delete(`${baseURL}/delete/${FormId}`)\r\n .then(response => {\r\n if(response.data.status === 'success'){\r\n dispatch(deleteFormSuccess(FormId))\r\n }else{\r\n console.log(response.data); dispatch(() => ({type: \"error\", err: response.data}))\r\n }\r\n })\r\n .catch(err => {console.log(err); dispatch(() => ({type: \"error\", err}))})\r\n .then(() => {console.log(\"Save Successful!\"); dispatch(changeView(FORM_LIST_VIEW))})\r\n}\r\n\r\nconst deleteFormSuccess = deletedFormId => ({\r\n type: types.DELETE_FORM,\r\n id: deletedFormId\r\n})\r\n\r\nexport const duplicateForm = FormId => dispatch => {\r\n dispatch(changeView(LOADER_VIEW))\r\n return axios.get(`${baseURL}/duplicate/${FormId}`)\r\n .then( response => {\r\n if(response.data.status === 'success'){\r\n dispatch(duplicateFormSuccess(response.data.data))\r\n }else{\r\n console.log(response.data); dispatch(() => ({type: \"error\", err: response.data}))\r\n }\r\n })\r\n .catch(err => {console.log(err); dispatch(() => ({type: \"error\", err}))})\r\n .then(() => {console.log(\"Save Successful!\"); dispatch(changeView(FORM_LIST_VIEW))})\r\n}\r\n\r\nconst duplicateFormSuccess = (form) =>({\r\n type: types.DUPLICATE_FORM,\r\n form\r\n});\r\n\r\nconst getFormListByUserIdSuccess = (forms) =>({\r\n type: types.GET_ALL_LIST,\r\n forms\r\n});\r\n\r\nexport const getFormListByUserId = userId => dispatch =>{\r\n const url = `${baseURL}/list`\r\n const data = {\r\n userid: userId\r\n }\r\n return axios.post(url, qs.stringify(data))\r\n .then(response => {\r\n //console.log(response);\r\n dispatch(getFormListByUserIdSuccess(response.data.data))\r\n if(response.data.data.length === 0){\r\n dispatch(createNewForm(userId))\r\n } \r\n })\r\n .catch(err => { console.log(err); dispatch(()=>({type:\"error\", err})) })\r\n .then(()=>{console.log(\"Get List Request Finished!\"); dispatch(changeView(FORM_LIST_VIEW))})\r\n}\r\n\r\n\r\nexport const createNewForm = (userId) => (dispatch) => {\r\n const url = `${baseURL}/create`\r\n dispatch(changeView(LOADER_VIEW, true));\r\n const data = {\r\n userid: userId\r\n }\r\n return axios.post(url, qs.stringify(data))\r\n .then(response => {\r\n //console.log(response.data.status === 'success')\r\n if(response.data.status === 'success'){\r\n dispatch(resetSettings(response.data.data, {settings: null, design: null}))\r\n } \r\n else\r\n console.log(response.data)\r\n\r\n dispatch(changeView(FORM_SETTINGS_VIEW, false));\r\n browserHistory.push(`/settings/${response.data.data.FormId}`)\r\n })\r\n};\r\n\r\nexport const selectForm = form => ({\r\n type: types.SELECT_FORM,\r\n form\r\n})\r\n\r\n","import { SET_LOADER, SET_USER_ID, SAVE_SUCCESS } from './typeNames'\r\nimport axios from 'axios'\r\nimport { baseURL } from './base'\r\nimport LZString from 'lz-string'\r\nimport { addNewForm } from './formList'\r\nimport { browserHistory } from 'react-router'\r\n\r\nexport const FORM_LIST_VIEW = 'FORM_LIST_VIEW'\r\nexport const FORM_SETTINGS_VIEW = 'FORM_SETTINGS_VIEW'\r\nexport const LOADER_VIEW = 'LOADER_VIEW'\r\nexport const FORM_VIEW = 'FORM_VIEW'\r\nexport const QUIZ_SUBMISSION_VIEW = 'QUIZ_SUBMISSION_VIEW'\r\n\r\nexport const changeView = (view, isRequest) => ({\r\n type: SET_LOADER,\r\n view,\r\n asyncRequest: isRequest\r\n})\r\n\r\nexport const cancel = (currentView) => dispatch => {\r\n dispatch(changeView(FORM_LIST_VIEW)); \r\n}\r\n\r\nexport const setUserId = id => ({\r\n type: SET_USER_ID,\r\n id\r\n})\r\n\r\nexport const save = (settings, design, addForm=false) => dispatch => {\r\n dispatch(changeView(LOADER_VIEW, true))\r\n let configObj = {\r\n design: {\r\n ...design\r\n },\r\n settings:{\r\n template: settings.template,\r\n ownerEmail: settings.ownerEmail,\r\n successMessage: settings.successMessage,\r\n title: settings.title,\r\n submitText: settings.submitText,\r\n elements: [...settings.elements]\r\n } \r\n }\r\n\r\n let form = {...settings.form}\r\n form.Config = LZString.compressToBase64(JSON.stringify(configObj))\r\n return axios.put(`${baseURL}/save`, form)\r\n .then(response => {\r\n if(response.data.status === 'success'){\r\n if(form.FormId < 1){\r\n form.FormId = response.data.formId\r\n dispatch(addNewForm(form))\r\n browserHistory.push(`/settings/${response.data.formId}`)\r\n }else{\r\n dispatch(saveSuccess(form)) \r\n } \r\n if (addForm) {\r\n let data = {\r\n type: \"add_form\",\r\n id: form.FormId\r\n }\r\n window.parent.postMessage(JSON.stringify(data), \"*\")\r\n }\r\n }else{\r\n console.log(response.data); dispatch(() => ({type: \"error\", err: response.data}))\r\n }\r\n })\r\n .catch(err => {console.log(err); dispatch(() => ({type: \"error\", err}))})\r\n .then(() => {console.log(\"Save Successful!\"); dispatch(changeView(FORM_SETTINGS_VIEW, false))}) \r\n}\r\n\r\nconst saveSuccess = (form) => ({\r\n type: SAVE_SUCCESS,\r\n form\r\n})","import * as types from './typeNames'\r\nimport axios from 'axios'\r\nimport { baseURL } from './base'\r\nimport LZString from 'lz-string'\r\nimport { FORM_VIEW } from './main'\r\n\r\nexport const getFormConfig = (FormId, PresId) => dispatch => {\r\n return axios.get(`${baseURL}/config/${FormId}`)\r\n .then(response => {\r\n if(response.data.status === 'success'){\r\n let config = JSON.parse(LZString.decompressFromBase64(response.data.data))\r\n if(config.design !== null && config.settings !== null){\r\n addFonts(config.design)\r\n dispatch(setConfig(config))\r\n dispatch({type: types.SET_LOADER, view: FORM_VIEW, id: FormId, presId: PresId})\r\n } \r\n }else{\r\n console.log(response.data); dispatch(() => ({type: \"error\", err: response.data}))\r\n }\r\n })\r\n .catch(err => {console.log(err); dispatch(() => ({type: \"error\", err})) }) \r\n}\r\n\r\nconst setConfig = config => ({\r\n type: types.SET_CONFIG,\r\n config\r\n})\r\n\r\nconst addFonts = design => {\r\n let fontStylesArr = []\r\n for(let prop in design.fonts){\r\n fontStylesArr.push(design.fonts[prop].font.cssImport)\r\n }\r\n let css = fontStylesArr.join('\\n'),\r\n style = document.getElementById('emaze-fonts');\r\n style.type = 'text/css';\r\n if (style.styleSheet){\r\n // This is required for IE8 and below.\r\n style.styleSheet.cssText = css;\r\n } else {\r\n style.appendChild(document.createTextNode(css));\r\n }\r\n}\r\n\r\nexport const onChangeCheckboxAction = (element_id, option_id) => ({\r\n type: types.CHANGE_CHECKBOX_OPTION,\r\n element_id,\r\n option_id\r\n})\r\n\r\nexport const onDropdownChooseAction = (element_id, value) => ({\r\n type: types.DROPDOWN_CHOOSE_OPTION,\r\n element_id,\r\n value\r\n})\r\n\r\nexport const onRadioChooseAction = (element_id, value) => ({\r\n type: types.RADIO_CHOOSE_OPTION,\r\n element_id,\r\n value\r\n})\r\n\r\nexport const onTextChangeAction = (element_id, value) => ({\r\n type: types.TEXT_CHANGE,\r\n element_id,\r\n value\r\n})\r\n\r\nexport const onDateChangeAction = (element_id, value) => ({\r\n type: types.DATE_CHANGE,\r\n element_id,\r\n value\r\n})\r\n\r\nexport const onClickSubmitAction = (formId, presId, settings) => dispatch => {\r\n let elements = LZString.compressToBase64(JSON.stringify(settings.elements));\r\n let email = LZString.compressToBase64(settings.ownerEmail);\r\n let data = {\r\n FormId: formId,\r\n Title: settings.title,\r\n Elements: elements,\r\n PresentationId: presId,\r\n Email: email\r\n }\r\n return axios.post(`${baseURL}/submit`, data)\r\n .then(response => {\r\n if(response.data.status === 'success'){\r\n //let config = JSON.parse(LZString.decompressFromBase64(response.data.data))\r\n dispatch(onSubmitResponseAction(response.data.status, response.data.data))\r\n }else{\r\n console.log(response.data); \r\n //dispatch(() => ({type: \"error\", err: response.data}))\r\n dispatch(onSubmitResponseAction(response.data.status, response.data))\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err); \r\n //dispatch(() => ({type: \"error\", err})) \r\n dispatch(onSubmitResponseAction('catch', err))\r\n }) \r\n}\r\n\r\nexport const onSubmitResponseAction = (status, data) => ({\r\n type: types.ON_SUBMIT_RESPONSE,\r\n status,\r\n data\r\n})","import 'date-fns'\r\nimport React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { \r\n Box, \r\n Grid, \r\n Button,\r\n FormControl,\r\n Select,\r\n MenuItem,\r\n FormLabel,\r\n FormGroup,\r\n FormControlLabel,\r\n Checkbox,\r\n RadioGroup,\r\n Radio,\r\n TextField,\r\n Snackbar\r\n} from '@material-ui/core'\r\nimport MuiAlert from '@material-ui/lab/Alert'\r\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\r\nimport RadioButtonCheckedIcon from '@material-ui/icons/RadioButtonChecked';\r\nimport AlarmIcon from '@material-ui/icons/Alarm';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport DateFnsUtils from '@date-io/date-fns'\r\nimport {\r\n MuiPickersUtilsProvider,\r\n KeyboardTimePicker,\r\n KeyboardDatePicker,\r\n} from '@material-ui/pickers'\r\n\r\nimport {rgbaFormat} from '../components/ColorPicker'\r\n\r\nimport {\r\n onChangeCheckboxAction, \r\n onDropdownChooseAction, \r\n onRadioChooseAction, \r\n onTextChangeAction, \r\n onDateChangeAction, \r\n onClickSubmitAction,\r\n onSubmitResponseAction\r\n} from '../actions/form'\r\n\r\n\r\nfunction Alert(props) {\r\n return ;\r\n}\r\n\r\nconst EmazeForm = ({settings, design, form, isPreview,\r\n onChangeCheckbox, \r\n onDropdownChoose, \r\n onRadioChoose,\r\n onTextChange,\r\n onDateChange,\r\n onClickSubmit,\r\n onSubmitResponse\r\n}) => {\r\n let formStyle = {\r\n borderRadius: design.layout.borderRadius,\r\n backgroundColor: rgbaFormat(design.backgrounds.color),\r\n }, \r\n submitStyle = {\r\n fontFamily: design.fonts.button.font.value,\r\n fontSize: design.fonts.button.size,\r\n color: rgbaFormat(design.fonts.button.color),\r\n backgroundColor: rgbaFormat(design.submit.bgColor),\r\n borderRadius: design.submit.borderRadius,\r\n textTransform: 'initial'\r\n } \r\n\r\n if(isPreview){\r\n formStyle.width = '125%';\r\n formStyle.overflow = 'hidden';\r\n formStyle.overflowY = 'auto';\r\n formStyle.maxHeight = 550;\r\n }\r\n\r\n /** Label Style */\r\n switch(design.layout.labelStyle){\r\n case \"inline\":\r\n break;\r\n case \"block\":\r\n break;\r\n default:\r\n break;\r\n }\r\n \r\n const styles = makeStyles({\r\n root:{\r\n textAlign: design.layout.textAlign,\r\n fontFamily: design.fonts.title.font.value,\r\n fontSize: design.fonts.title.size,\r\n color: rgbaFormat(design.fonts.title.color)\r\n },\r\n formTitle:{\r\n textAlign: design.layout.textAlign,\r\n fontFamily: design.fonts.title.font.value,\r\n fontSize: design.fonts.title.size,\r\n color: rgbaFormat(design.fonts.title.color)\r\n },\r\n formControl: {\r\n width: '100%'\r\n },\r\n formLabel: {\r\n fontFamily: design.fonts.label.font.value,\r\n fontSize: design.fonts.label.size,\r\n color: rgbaFormat(design.fonts.label.color)\r\n },\r\n textField:{\r\n '& .MuiInputBase-root':{\r\n backgroundColor: rgbaFormat(design.backgrounds.inputColor),\r\n borderRadius: design.layout.fieldBorderRadius,\r\n marginTop: 16,\r\n paddingLeft: 10,\r\n paddingRight: 10\r\n },\r\n '& .MuiInputBase-input':{\r\n fontFamily: design.fonts.input.font.value,\r\n fontSize: design.fonts.input.size,\r\n color: rgbaFormat(design.fonts.input.color)\r\n },\r\n '& .MuiInput-underline:before':{\r\n borderBottom: 'none'\r\n },\r\n '& .MuiInput-underline:after':{\r\n borderBottom: 'none'\r\n },\r\n '& .MuiInput-underline:hover:not(.Mui-disabled):before':{\r\n borderBottom: 'none'\r\n } \r\n },\r\n select:{\r\n fontFamily: design.fonts.input.font.value,\r\n fontSize: design.fonts.input.size,\r\n color: rgbaFormat(design.fonts.input.color),\r\n backgroundColor: rgbaFormat(design.backgrounds.inputColor),\r\n borderRadius: design.layout.fieldBorderRadius,\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n '&.MuiInput-underline:before':{\r\n borderBottom: 'none'\r\n },\r\n '&.MuiInput-underline:after':{\r\n borderBottom: 'none'\r\n },\r\n '&.MuiInput-underline:hover:not(.Mui-disabled):before':{\r\n borderBottom: 'none'\r\n }\r\n },\r\n formControlLabel:{\r\n '& .MuiTypography-body1':{\r\n fontFamily: design.fonts.input.font.value,\r\n fontSize: design.fonts.input.size,\r\n color: rgbaFormat(design.fonts.input.color)\r\n },\r\n fontFamily: design.fonts.input.font.value,\r\n fontSize: design.fonts.input.size,\r\n color: rgbaFormat(design.fonts.input.color)\r\n },\r\n checkBoxOrRadio:{ \r\n fontFamily: design.fonts.input.font.value,\r\n fontSize: design.fonts.input.size,\r\n color: rgbaFormat(design.backgrounds.inputColor)\r\n },\r\n checkBoxOrRadioIcon:{\r\n color: rgbaFormat(design.fonts.input.color)\r\n },\r\n dateTimePicker:{\r\n fontFamily: design.fonts.input.font.value,\r\n fontSize: design.fonts.input.size,\r\n color: rgbaFormat(design.fonts.input.color),\r\n backgroundColor: rgbaFormat(design.backgrounds.inputColor),\r\n borderRadius: design.layout.fieldBorderRadius,\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n '& input': {\r\n fontFamily: design.fonts.input.font.value,\r\n fontSize: design.fonts.input.size,\r\n color: rgbaFormat(design.fonts.input.color)\r\n },\r\n '& .MuiInput-underline:before':{\r\n borderBottom: 'none'\r\n },\r\n '& .MuiInput-underline:after':{\r\n borderBottom: 'none'\r\n },\r\n '& .MuiInput-underline:hover:not(.Mui-disabled):before':{\r\n borderBottom: 'none'\r\n }\r\n }\r\n })()\r\n \r\n const handleCheckboxOnChange = (event, e_id, o_id) => {\r\n if(!isPreview)\r\n onChangeCheckbox(e_id, o_id)\r\n }\r\n\r\n const handleDropdownChoose = (event, e_id) => {\r\n if(!isPreview)\r\n onDropdownChoose(e_id, event.target.value)\r\n }\r\n\r\n const handleRadioChoose = (event, e_id) => {\r\n if(!isPreview)\r\n onRadioChoose(e_id, event.target.value)\r\n }\r\n\r\n const handleTextChange = (event, e_id) => {\r\n if(!isPreview)\r\n onTextChange(e_id, event.target.value)\r\n }\r\n\r\n const handleDateChange = (date, e_id) => {\r\n if(!isPreview)\r\n onDateChange(date, e_id)\r\n }\r\n\r\n const handleClickSubmit = (event, formId, presId, settings) => {\r\n if(!isPreview)\r\n onClickSubmit(formId, presId, settings)\r\n }\r\n\r\n const handleCloseSnackBar = (event, reason) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n onSubmitResponse(\"close\", null)\r\n }\r\n\r\n const snackbarOrigin = { vertical:'top', horizontal:'center'};\r\n\r\n return(\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {settings.title}\r\n \r\n {\r\n settings.elements.map((elm) => {\r\n let col = elm.isHalf ? 6 : 12\r\n if(elm.name === 'separator'){\r\n return(\r\n \r\n )\r\n }else{\r\n return(\r\n \r\n \r\n {elm.label}\r\n {(() => {\r\n switch(elm.name){ \r\n case 'input': \r\n return(\r\n handleTextChange(e, elm.id)} value={elm.value}>\r\n )\r\n case 'textaria':\r\n return(\r\n handleTextChange(e, elm.id)} minRows={5} multiline={true} value={elm.value}>\r\n )\r\n case 'dropdown':\r\n return(\r\n \r\n )\r\n case 'checklist':\r\n return(\r\n \r\n {\r\n elm.options.map((option) => {\r\n return(\r\n } \r\n onChange={(event) => handleCheckboxOnChange(event, elm.id, option.id)} \r\n value={option.value} />}\r\n label={option.value}\r\n >\r\n )\r\n })\r\n }\r\n \r\n )\r\n case 'radio':\r\n return(\r\n handleRadioChoose(e, elm.id)}>\r\n {\r\n elm.options.map((option) => {\r\n return(\r\n }>}\r\n label={option.value}\r\n >\r\n \r\n )\r\n })\r\n } \r\n \r\n )\r\n case 'counter':\r\n return(\r\n handleTextChange(e, elm.id)}>\r\n )\r\n case 'date':\r\n return(\r\n \r\n handleDateChange(date, elm.id)}\r\n className={styles.dateTimePicker}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n style: {\r\n fontSize: design.fonts.input.size,\r\n color: design.fonts.input.color \r\n }\r\n }}\r\n />\r\n \r\n )\r\n case 'time':\r\n return(\r\n \r\n handleDateChange(date, elm.id)}\r\n className={styles.dateTimePicker}\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change time',\r\n style: {\r\n fontSize: design.fonts.input.size,\r\n color: design.fonts.input.color\r\n }\r\n }} \r\n keyboardIcon={}\r\n />\r\n \r\n )\r\n default:\r\n break;\r\n }\r\n })()}\r\n \r\n \r\n )\r\n } \r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {settings.successMessage}\r\n \r\n \r\n \r\n \r\n {settings.errorMessage}\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n onChangeCheckbox: (e_id, o_id) => dispatch(onChangeCheckboxAction(e_id, o_id)),\r\n onDropdownChoose: (e_id, value) => dispatch(onDropdownChooseAction(e_id, value)),\r\n onRadioChoose: (e_id, value) => dispatch(onRadioChooseAction(e_id, value)),\r\n onTextChange: (e_id, value) => dispatch(onTextChangeAction(e_id, value)),\r\n onDateChange: (date, e_id) => dispatch(onDateChangeAction(e_id, date)),\r\n onClickSubmit: (formId, presId, settings) => dispatch(onClickSubmitAction(formId, presId, settings)),\r\n onSubmitResponse: (status, data) => dispatch(onSubmitResponseAction(status, data))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(EmazeForm)","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Box, CircularProgress } from '@material-ui/core'\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport EmazeForm from './EmazeForm'\r\nimport { FORM_VIEW } from '../actions/main'\r\nimport '../components/App.css'\r\nimport { getFormConfig } from '../actions/form';\r\n\r\nconst loaderCss = makeStyles({\r\n root:{\r\n color: '#f5b01b',\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n margin: \"auto\"\r\n }\r\n})\r\n\r\nconst Loader = () => {\r\n const classes = loaderCss()\r\n return(\r\n \r\n )\r\n}\r\n\r\nclass FormApp extends Component {\r\n \r\n componentDidMount() {\r\n let path = window.location.pathname.replace('/','')\r\n let params = path.split('/')\r\n let regExpFormId = new RegExp('^[0-9]+$');\r\n let regExpPresId = new RegExp('^@[A-Z]+$');\r\n if(params[0].length > 0 && params[0].match(regExpFormId) !== null && params[1].match(regExpPresId) !== null){\r\n this.props.init(parseInt(params[0]), params[1]) \r\n }\r\n }\r\n\r\n render(){\r\n switch(this.props.main.view){\r\n case FORM_VIEW:\r\n return(\r\n \r\n \r\n \r\n ) \r\n default:\r\n return(\r\n \r\n \r\n \r\n )\r\n } \r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n init: (formId, presId) => dispatch(getFormConfig(formId, presId))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FormApp)","import * as types from '../actions/typeNames';\r\n//import { findElementByPropName } from '../services/service'\r\n\r\nconst formList = (state = [], action) => {\r\n switch(action.type){\r\n case types.ADD_NEW_FORM: \r\n return [\r\n ...state,\r\n {\r\n FormId: action.form.FormId,\r\n Name: action.form.Name\r\n }\r\n ]\r\n case types.SAVE_SUCCESS:\r\n return state.map((form) => {\r\n if(form.FormId === action.form.FormId)\r\n form.Name = action.form.Name\r\n return form\r\n })\r\n case types.EDIT_FORM: \r\n return [\r\n ...state,\r\n {\r\n FormId: action.form.FormId,\r\n Name: action.form.Name\r\n }\r\n ]\r\n case types.DELETE_FORM:\r\n return [...state.filter((form) => {\r\n return form.FormId !== action.id;\r\n })]\r\n case types.DUPLICATE_FORM:\r\n return [\r\n ...state,\r\n {\r\n FormId: action.form.FormId,\r\n Name: action.form.Name\r\n }\r\n ]\r\n case types.GET_ALL_LIST:\r\n return action.forms || state; // at least sometimes there's no forms field\r\n default:\r\n return [...state];\r\n }\r\n}\r\n\r\nexport default formList;","import * as types from '../actions/typeNames'\r\nimport { LOADER_VIEW } from '../actions/main'\r\n\r\nconst InitialState = {\r\n view: LOADER_VIEW,\r\n userId: \"\",\r\n selectedForm: null,\r\n asyncRequest: false\r\n}\r\n\r\nconst main = (state=InitialState, action) => {\r\n switch(action.type){\r\n case types.SET_LOADER:\r\n return{\r\n ...state, \r\n view:action.view, \r\n asyncRequest: action.asyncRequest\r\n }\r\n case types.SET_USER_ID:\r\n return {\r\n ...state,\r\n userId: action.id\r\n }\r\n case types.SELECT_FORM:\r\n return {\r\n ...state,\r\n selectedForm: action.form\r\n }\r\n case types.SAVE_SUCCESS:\r\n return {\r\n ...state,\r\n selectedForm: action.form\r\n }\r\n default:\r\n return {...state};\r\n }\r\n}\r\n\r\nexport default main;","export const findElementByPropName = (arr, propName, value) => {\r\n if(arr && arr.length > 0){\r\n return arr.find((elm) => {\r\n if(elm.hasOwnProperty(propName)){\r\n return elm[propName] === value\r\n }else{\r\n return false\r\n }\r\n })\r\n }else{\r\n return undefined\r\n }\r\n}","export const templates = [\r\n {\r\n id: 1,\r\n name: \"blank\",\r\n image: \"blank-poster.jpg\",\r\n formType: 0,\r\n title: \"Blank\",\r\n description: \"Create your custom form.\",\r\n elements: [],\r\n design:{ \r\n layout: {\r\n labelStyle: \"inline\", // inline | block\r\n textAlign: \"center\", // left | center | right\r\n borderRadius: 0,\r\n fieldBorderRadius: 0 \r\n },\r\n backgrounds: {\r\n color: \"#EEF2F5\",\r\n inputColor: \"#DDE3EF\"\r\n },\r\n fonts: {\r\n title: {\r\n font:{\r\n name:\"rubik-bold\"\r\n },\r\n size: 32,\r\n color: \"#1B3444\"\r\n },\r\n label: {\r\n font:{\r\n name:\"rubik-light\"\r\n },\r\n size: 22,\r\n color: \"#666666\"\r\n },\r\n input: {\r\n font:{\r\n name:\"rubik-light\"\r\n },\r\n size: 20,\r\n color: \"#666666\"\r\n },\r\n button: {\r\n font:{\r\n name:\"rubik-bold\"\r\n },\r\n size: 30,\r\n color: \"#FFFFFF\"\r\n }\r\n },\r\n submit:{\r\n alignment: \"center\", // left | center | right\r\n bgColor: \"#5DADDE\",\r\n borderRadius: 5 \r\n }\r\n }\r\n },\r\n {\r\n id: 2,\r\n name: \"contact-us\",\r\n image: \"contact-us-poster.jpg\",\r\n formType: 1,\r\n title: \"Contact Us\",\r\n description: \"Make it easy for people to reach you 24/7.\",\r\n elements:[\r\n {\r\n id: 1,\r\n name: \"input\",\r\n label: \"Full Name\",\r\n value: \"\",\r\n default: \"Full Name\",\r\n isHalf: true,\r\n canBeHalf: true,\r\n isRequired: true,\r\n hasOptions: false\r\n },\r\n {\r\n id: 2,\r\n name: \"input\",\r\n label: \"Email\",\r\n value: \"\",\r\n default: \"Email\",\r\n isHalf: true,\r\n canBeHalf: true,\r\n isRequired: true,\r\n hasOptions: false\r\n },\r\n {\r\n id: 3,\r\n name: \"dropdown\",\r\n label: \"Subject\",\r\n value: \"\",\r\n default: \"Subject\",\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: true,\r\n options: [\r\n {\r\n id: 1,\r\n checked: false,\r\n value: \"Event\"\r\n },\r\n {\r\n id: 2,\r\n checked: false,\r\n value: \"Technical\"\r\n },\r\n {\r\n id: 3,\r\n checked: false,\r\n value: \"Custom\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 4,\r\n name: \"textaria\",\r\n label: \"Comments/Questions\",\r\n value: \"\",\r\n default: \"\",\r\n isHalf: false,\r\n isRequired: false,\r\n canBeHalf: true,\r\n hasOptions: false\r\n }\r\n ],\r\n design:{ \r\n layout: {\r\n labelStyle: \"inline\", // inline | block\r\n textAlign: \"center\", // left | center | right\r\n borderRadius: 0,\r\n fieldBorderRadius: 0 \r\n },\r\n backgrounds: {\r\n color: \"#EEF2F5\",\r\n inputColor: \"#DDE3EF\"\r\n },\r\n fonts: {\r\n title: {\r\n font:{\r\n name:\"rubik-bold\"\r\n },\r\n size: 32,\r\n color: \"#1B3444\"\r\n },\r\n label: {\r\n font:{\r\n name:\"rubik-light\"\r\n },\r\n size: 22,\r\n color: \"#666666\"\r\n },\r\n input: {\r\n font:{\r\n name:\"rubik-light\"\r\n },\r\n size: 20,\r\n color: \"#666666\"\r\n },\r\n button: {\r\n font:{\r\n name:\"rubik-bold\"\r\n },\r\n size: 30,\r\n color: \"#FFFFFF\"\r\n }\r\n },\r\n submit:{\r\n alignment: \"center\", // left | center | right\r\n bgColor: \"#5DADDE\",\r\n borderRadius: 5 \r\n }\r\n }\r\n },\r\n {\r\n id: 3,\r\n name: \"rsvp-event\",\r\n image: \"rsvp-event-poster.jpg\",\r\n formType: 2,\r\n title: \"RSVP\",\r\n description: \"Set up your event registration form without ticket.\",\r\n elements: [\r\n {\r\n id: 1,\r\n name: \"input\",\r\n label: \"First Name\",\r\n value: \"\",\r\n default: \"First Name\",\r\n isHalf: true,\r\n canBeHalf: true,\r\n isRequired: true,\r\n hasOptions: false\r\n },\r\n {\r\n id: 2,\r\n name: \"input\",\r\n label: \"Last Name\",\r\n value: \"\",\r\n default: \"Last Name\",\r\n isHalf: true,\r\n canBeHalf: true,\r\n isRequired: true,\r\n hasOptions: false\r\n },\r\n {\r\n id: 3,\r\n name: \"input\",\r\n label: \"Email\",\r\n value: \"\",\r\n default: \"Email\",\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: false\r\n },\r\n {\r\n id: 4,\r\n name: \"radio\", \r\n label: \"Attending\",\r\n value: \"\",\r\n default: \"-- Choose item --\",\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: true,\r\n options: [\r\n {\r\n id: 1,\r\n checked: false,\r\n value: \"Yes\"\r\n },\r\n {\r\n id: 2,\r\n checked: false,\r\n value: \"No\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 5,\r\n name: \"counter\",\r\n label: \"No. of people\",\r\n value: 3,\r\n default: 0,\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: false \r\n }\r\n ],\r\n design:{ \r\n layout: {\r\n labelStyle: \"inline\", // inline | block\r\n textAlign: \"left\", // left | center | right\r\n borderRadius: 0,\r\n fieldBorderRadius: 0 \r\n },\r\n backgrounds: {\r\n color: \"#EBEBEB\",\r\n inputColor: \"#565656\"\r\n },\r\n fonts: {\r\n title: {\r\n font:{\r\n name:\"inconsolata-bold\"\r\n },\r\n size: 24,\r\n color: \"#565656\"\r\n },\r\n label: {\r\n font:{\r\n name:\"inconsolata\"\r\n },\r\n size: 20,\r\n color: \"#565656\"\r\n },\r\n input: {\r\n font:{\r\n name:\"inconsolata\"\r\n },\r\n size: 18,\r\n color: \"#ffffff\"\r\n },\r\n button: {\r\n font:{\r\n name:\"inconsolata\"\r\n },\r\n size: 24,\r\n color: \"#FFFFFF\"\r\n }\r\n },\r\n submit:{\r\n alignment: \"right\", // left | center | right\r\n bgColor: \"#505050\",\r\n borderRadius: 5 \r\n }\r\n }\r\n },\r\n {\r\n id: 4,\r\n name: \"subscribe\",\r\n image: \"subscribe-poster.jpg\",\r\n formType: 3,\r\n title: \"SUBSCRIBE TO OUR MAILING LIST\",\r\n description: \"Grow your mailing list with a customizable subscription form. Add fields, change the design and more.\",\r\n elements: [\r\n {\r\n id: 1,\r\n name: \"input\",\r\n label: \"First Name\",\r\n value: \"\",\r\n default: \"First Name\",\r\n isHalf: true,\r\n canBeHalf: true,\r\n isRequired: true,\r\n hasOptions: false\r\n },\r\n {\r\n id: 2,\r\n name: \"input\",\r\n label: \"Last Name\",\r\n value: \"\",\r\n default: \"Last Name\",\r\n isHalf: true,\r\n canBeHalf: true,\r\n isRequired: true,\r\n hasOptions: false\r\n },\r\n {\r\n id: 3,\r\n name: \"input\",\r\n label: \"Email\",\r\n value: \"\",\r\n default: \"Email\",\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: true,\r\n hasOptions: false\r\n }\r\n ],\r\n design:{ \r\n layout: {\r\n labelStyle: \"inline\", // inline | block\r\n textAlign: \"center\", // left | center | right\r\n borderRadius: 0,\r\n fieldBorderRadius: 0 \r\n },\r\n backgrounds: {\r\n color: \"#ffffff\",\r\n inputColor: \"#ffffff\"\r\n },\r\n fonts: {\r\n title: {\r\n font:{\r\n name:\"opensans\"\r\n },\r\n size: 32,\r\n color: \"#000000\"\r\n },\r\n label: {\r\n font:{\r\n name:\"opensans\"\r\n },\r\n size: 22,\r\n color: \"#000000\"\r\n },\r\n input: {\r\n font:{\r\n name:\"opensans\"\r\n },\r\n size: 20,\r\n color: \"#000000\"\r\n },\r\n button: {\r\n font:{\r\n name:\"opensans\"\r\n },\r\n size: 30,\r\n color: \"#ffffff\"\r\n }\r\n },\r\n submit:{\r\n alignment: \"right\", // left | center | right\r\n bgColor: \"#4a90e2\",\r\n borderRadius: 10 \r\n }\r\n }\r\n }\r\n]\r\n\r\n\r\n\r\nexport const tabButtons = [\r\n {\r\n //id: 2,\r\n id: 1,\r\n name: \"templates\",\r\n title: \"templates\",\r\n is_preview: false,\r\n is_disabled: true,\r\n is_hidden: false,\r\n },\r\n {\r\n //id:3,\r\n id: 2,\r\n name: \"edit\",\r\n title: \"edit\",\r\n is_preview: false,\r\n is_disabled: true,\r\n is_hidden: false,\r\n\r\n },\r\n {\r\n //id:4,\r\n id: 3,\r\n name: \"design\",\r\n title: \"design\",\r\n is_preview: false,\r\n is_disabled: true,\r\n is_hidden: false,\r\n\r\n }, \r\n {\r\n //id:1,\r\n id: 4,\r\n name: \"settings\",\r\n title: \"settings\",\r\n is_preview: false,\r\n is_disabled: true,\r\n is_hidden: false,\r\n\r\n },\r\n {\r\n id:5,\r\n name: \"preview\", // actually means submissions data\r\n title: \"submissions data\",\r\n is_preview: true\r\n }\r\n]","import * as types from '../actions/typeNames'\r\nimport { findElementByPropName } from '../services/service'\r\nimport { tabButtons, templates } from '../defaults/templates'\r\n\r\nconst InitialState = {\r\n tab: undefined,\r\n template: \"blank\",\r\n description: \"\",\r\n selectedElementFromList: { id: 0, title:\"-- Choose Element --\" },\r\n editingElement: null, \r\n ownerEmail: \"\",\r\n successMessage: \"Success! Message received. Thank you.\",\r\n errorMessage: \"An error has been encountered. Please try again.\",\r\n title: \"Blank\",\r\n submitText: \"Submit\",\r\n elements: [\r\n \r\n ],\r\n showAddForm: false,\r\n fromEditor: false\r\n}\r\n\r\nconst setDefaultsByTemplate = (settings, template) => {\r\n settings.form.FormType = template.formType;\r\n settings.template = template.name;\r\n settings.description = template.description;\r\n if(settings.form.FormId <= 0){ \r\n settings.title = template.title;\r\n settings.elements = template.elements.map((element) => {\r\n return {...element}\r\n });\r\n }\r\n \r\n}\r\n\r\nconst setSettingsByForm = (settings, form, config) => {\r\n if(config.settings !== null){\r\n settings.template = config.settings.template\r\n settings.description = findElementByPropName(templates, \"name\", config.settings.template).description;\r\n settings.title = config.settings.title\r\n settings.ownerEmail = config.settings.ownerEmail\r\n settings.successMessage = config.settings.successMessage\r\n settings.submitText = config.settings.submitText\r\n settings.elements = config.settings.elements.map((element) => {\r\n return {...element}\r\n });\r\n }else{\r\n let template = findElementByPropName(templates, \"formType\", form.FormType) \r\n setDefaultsByTemplate(settings, template)\r\n } \r\n}\r\n\r\n\r\n\r\nconst setSettings = (settings, form, config, fromEditor) => {\r\n settings.form = {...form}\r\n if(form.FormId > 0){ \r\n setSettingsByForm(settings, form, config)\r\n\r\n // now we should set the default value for is_disblaed(and probably is_hidden) for EXISTING forms\r\n for (let t of tabButtons) {\r\n t.is_disabled = false;\r\n t.is_hidden = t.name == \"templates\"; // only templates should be hidden\r\n }\r\n if (settings.tab.id === 1) {\r\n settings.tab = findElementByPropName(tabButtons, \"id\", 2) // 1 is hidden\r\n }\r\n settings.showAddForm = true;\r\n if (fromEditor === !!fromEditor) {\r\n // only change it if it was specified\r\n settings.fromEditor = fromEditor\r\n }\r\n\r\n }else{\r\n setDefaultsByTemplate(settings, templates[0])\r\n settings.editingElement = null\r\n settings.tab = findElementByPropName(tabButtons, \"id\", 1)\r\n // now we should set the default value for is_disblaed(and probably is_hidden) for NEW forms\r\n for (let t of tabButtons) {\r\n t.is_disabled = t.name !== \"templates\";\r\n t.is_hidden = t.name == 'preview';\r\n }\r\n settings.showAddForm = false;\r\n settings.fromEditor = false;\r\n }\r\n}\r\n\r\nconst sendSaveNotificationToParent = (form) => {\r\n let data = {\r\n type: \"refresh_form\",\r\n id: form.FormId\r\n }\r\n window.parent.postMessage(JSON.stringify(data), \"*\")\r\n}\r\n\r\nconst settings = (state = InitialState, action) => {\r\n let s = {...state};\r\n let id = 1\r\n let element = {}\r\n let option = {}\r\n switch(action.type){\r\n case types.SET_SETTINGS:\r\n setSettings(s, action.form, action.config, action.fromEditor)\r\n break;\r\n case types.RESET_SETTINGS:\r\n s = { ...InitialState}\r\n setSettings(s, action.form, action.config, action.fromEditor)\r\n break;\r\n case types.SET_CONFIG:\r\n setSettingsByForm(s, null, action.config)\r\n break;\r\n case types.SELECT_TAB:\r\n s.tab = findElementByPropName(tabButtons, \"id\", action.tab_id)\r\n s.tab.is_disabled = false; // disable the \"disabled\" from each tab we already visited \r\n if (s.tab.name === \"settings\") {\r\n s.showAddForm = true;\r\n }\r\n break;\r\n case types.SELECT_DEFAULT_EDIT_TAB:\r\n // set the default tab for editing(we could end in a different tab when going editor>list>editor, after the first time)\r\n s.tab = findElementByPropName(tabButtons, \"id\", 2)\r\n break;\r\n case types.SELECT_TEMPLATE:\r\n setDefaultsByTemplate(s, action.template)\r\n break;\r\n case types.SET_FORM_NAME:\r\n s.form.Name = action.name\r\n break;\r\n case types.SELECT_ELEMENT_FOR_ADDING_TO_FORM:\r\n s.selectedElementFromList = action.element\r\n break;\r\n case types.CHANGE_FORM_ELEMENTS_LIST:\r\n s.elements = action.elements\r\n break;\r\n case types.CHANGE_FORM_OPTIONS_LIST:\r\n s.editingElement.options = action.options.map((option) => {\r\n return {...option}\r\n })\r\n if (s.editingElement && s.editingElement.id) {\r\n element = findElementByPropName(s.elements, \"id\", s.editingElement.id)\r\n if (element.hasOptions) {\r\n element.options = s.editingElement.options.map((option) => {\r\n return { ...option }\r\n })\r\n }\r\n }\r\n break;\r\n case types.ADD_ELEMENT_TO_LIST:\r\n if(action.element.id > 0){\r\n let newElm = {...action.element}\r\n newElm.id = s.elements.length + 1;\r\n if(action.element.hasOptions){\r\n newElm.options = action.element.options.map((option) => {\r\n return {...option}\r\n })\r\n }\r\n s.elements.push(newElm)\r\n s.editingElement = newElm\r\n } \r\n break;\r\n case types.EDIT_ELEMENT:\r\n if(s.editingElement !== action.element){\r\n s.editingElement = {...action.element}\r\n if(action.element.hasOptions){\r\n s.editingElement.options = action.element.options.map((option) => {\r\n return {...option}\r\n })\r\n }\r\n } \r\n break;\r\n case types.ADD_OPTION_TO_LIST: \r\n id = s.editingElement.options.length + 1;\r\n option = {\r\n id: id,\r\n value: `Option ${id}`\r\n }\r\n if([\"checklist\", \"radio\"].includes(s.editingElement.name)){\r\n option.checked = false\r\n }\r\n s.editingElement.options.push(option)\r\n // save changes\r\n if (s.editingElement && s.editingElement.id) {\r\n element = findElementByPropName(s.elements, \"id\", s.editingElement.id)\r\n if (element.hasOptions) {\r\n element.options = s.editingElement.options.map((option) => {\r\n return { ...option }\r\n })\r\n }\r\n }\r\n break;\r\n case types.DELETE_ELEMENT_FROM_LIST:\r\n id = 1\r\n if(action.listName === \"element\"){\r\n s.elements = s.elements.filter((e) => {\r\n return e.id !== action.element.id\r\n }) \r\n s.elements.forEach((e) => {e.id = id++;})\r\n }else if(action.listName === \"option\"){\r\n s.editingElement.options = s.editingElement.options.filter((e) => {\r\n return e.id !== action.element.id\r\n })\r\n s.editingElement.options.forEach((e) => {e.id = id++;})\r\n }\r\n // save changes\r\n if (action.listName !== \"element\" && s.editingElement && s.editingElement.id) {\r\n element = findElementByPropName(s.elements, \"id\", s.editingElement.id)\r\n if (element.hasOptions) {\r\n element.options = s.editingElement.options.map((option) => {\r\n return { ...option }\r\n })\r\n }\r\n }\r\n break;\r\n case types.CHANGE_ELEMENT_NAME:\r\n switch(action.kind){\r\n case 'title':\r\n s.title = action.name\r\n break;\r\n case 'submit':\r\n s.submitText = action.name\r\n break;\r\n case 'element':\r\n element = findElementByPropName(s.elements, \"id\", action.id);\r\n element.label = action.name\r\n break;\r\n case 'option':\r\n option = findElementByPropName(s.editingElement.options, \"id\", action.id);\r\n option.value = action.name\r\n // save changes\r\n if (s.editingElement && s.editingElement.id) {\r\n element = findElementByPropName(s.elements, \"id\", s.editingElement.id)\r\n if (element.hasOptions) {\r\n element.options = s.editingElement.options.map((option) => {\r\n return { ...option }\r\n })\r\n }\r\n\r\n }\r\n break;\r\n case 'email': \r\n s.ownerEmail = action.name \r\n break;\r\n case 'message':\r\n s.successMessage = action.name\r\n break;\r\n case 'error':\r\n s.errorMessage = action.name\r\n break;\r\n default:\r\n break;\r\n }\r\n break;\r\n\r\n case types.SAVE_OPTIONS:\r\n element = findElementByPropName(s.elements, \"id\", s.editingElement.id)\r\n element.isHalf = s.editingElement.isHalf\r\n element.isRequired = s.editingElement.isRequired ?? false\r\n if(element.hasOptions){\r\n element.options = s.editingElement.options.map((option) => {\r\n return {...option}\r\n })\r\n }\r\n s.editingElement = null\r\n break;\r\n\r\n case types.CHANGE_FLAG:\r\n s.editingElement.isHalf = action.flag\r\n // save changes\r\n if (s.editingElement && s.editingElement.id) {\r\n element = findElementByPropName(s.elements, \"id\", s.editingElement.id)\r\n element.isHalf = s.editingElement.isHalf\r\n }\r\n break;\r\n\r\n case types.CHANGE_ISREQUIRED_FLAG:\r\n s.editingElement.isRequired = action.flag\r\n if (s.editingElement && s.editingElement.id) {\r\n element = findElementByPropName(s.elements, \"id\", s.editingElement.id)\r\n element.isRequired = s.editingElement.isRequired ?? false\r\n }\r\n // save changes\r\n break;\r\n\r\n case types.CHANGE_CHECKBOX_OPTION:\r\n element = findElementByPropName(s.elements, \"id\", action.element_id)\r\n option = findElementByPropName(element.options, \"id\", action.option_id)\r\n option.checked = !option.checked\r\n if(option.checked)\r\n element.value.push(option)\r\n else\r\n element.value = element.value.filter(o => {return o.id != option.id})\r\n break;\r\n \r\n case types.DROPDOWN_CHOOSE_OPTION: \r\n case types.RADIO_CHOOSE_OPTION:\r\n case types.TEXT_CHANGE:\r\n element = findElementByPropName(s.elements, \"id\", action.element_id)\r\n element.value = action.value\r\n break;\r\n\r\n case types.DATE_CHANGE:\r\n element = findElementByPropName(s.elements, \"id\", action.element_id)\r\n element.value = action.value\r\n break;\r\n \r\n case types.CLICK_SUBMIT:\r\n \r\n break;\r\n case types.SAVE_SUCCESS:\r\n sendSaveNotificationToParent(action.form)\r\n break;\r\n default: \r\n if(state.tab === undefined){\r\n s.tab = findElementByPropName(tabButtons, \"id\", 1) \r\n } \r\n }\r\n return s;\r\n}\r\n\r\nexport default settings;","import * as types from '../actions/typeNames'\r\nimport {findElementByPropName} from '../services/service'\r\n\r\nconst InitialState = { \r\n layout: {\r\n labelStyle: \"inline\", // inline | block\r\n textAlign: \"left\", // left | center | right\r\n borderRadius: 0,\r\n fieldBorderRadius: 0 \r\n },\r\n backgrounds: {\r\n color: \"#EEF2F5\",\r\n inputColor: \"#DDE3EF\"\r\n },\r\n fonts: {\r\n title: {\r\n font:{\r\n name:\"rubik-bold\"\r\n },\r\n size: 32,\r\n color: \"#1B3444\"\r\n },\r\n label: {\r\n font:{\r\n name:\"rubik-bold\"\r\n },\r\n size: 22,\r\n color: \"#666666\"\r\n },\r\n input: {\r\n font:{\r\n name:\"rubik-bold\"\r\n },\r\n size: 20,\r\n color: \"#666666\"\r\n },\r\n button: {\r\n font:{\r\n name:\"rubik-bold\"\r\n },\r\n size: 30,\r\n color: \"#FFFFFF\"\r\n }\r\n },\r\n submit:{\r\n alignment: \"center\", // left | center | right\r\n bgColor: \"#5DADDE\",\r\n borderRadius: 5 \r\n }\r\n}\r\n\r\n\r\n\r\nconst design = (state = InitialState, action) => {\r\n switch(action.type){\r\n case types.CHANGE_ANY_VALUE:\r\n return {\r\n ...state,\r\n [action.propSector]:{\r\n ...state[action.propSector],\r\n [action.propName]: action.value\r\n }\r\n }\r\n case types.CHANGE_FONT_VALUES:\r\n return {\r\n ...state,\r\n fonts:{\r\n ...state.fonts,\r\n [action.propSector]:{\r\n ...state.fonts[action.propSector],\r\n [action.propName]: action.value\r\n } \r\n }\r\n }\r\n case types.SET_SETTINGS:\r\n case types.SET_CONFIG:\r\n if (action.config !== null && action.config.design !== null){\r\n return {\r\n ...action.config.design\r\n }\r\n }else{\r\n return{\r\n ...state\r\n }\r\n }\r\n case types.RESET_SETTINGS:\r\n let defaultDesign = getNewDesign(InitialState)\r\n if (defaultDesign !== null) {\r\n return defaultDesign;\r\n } else {\r\n return {\r\n ...InitialState\r\n }\r\n }\r\n case types.SELECT_TEMPLATE:\r\n let newDesign = getNewDesign(action.template.design)\r\n if(newDesign !== null){\r\n return newDesign;\r\n }else{\r\n return state \r\n } \r\n \r\n default: \r\n return {...state} \r\n }\r\n}\r\n\r\nconst getNewDesign = (design) => {\r\n let newDesign = null\r\n if(design != null){\r\n newDesign = {}\r\n for(let sector in design){\r\n if(sector === 'fonts'){\r\n newDesign.fonts = {}\r\n for (let font_sector in design.fonts) {\r\n let selectedFont = window.ThemeFonts.find((font) => {\r\n return design.fonts[font_sector].font.name && font.name.toLowerCase() === design.fonts[font_sector].font.name.toLowerCase()\r\n })\r\n newDesign.fonts[font_sector] = { \r\n ...design.fonts[font_sector],\r\n [\"font\"]: {\r\n ...selectedFont\r\n }\r\n }\r\n }\r\n }else{\r\n newDesign[sector] = {\r\n ...design[sector]\r\n }\r\n }\r\n }\r\n }\r\n return newDesign;\r\n}\r\n\r\n\r\nexport default design;","import * as types from '../actions/typeNames'\r\nimport { LOADER_VIEW } from '../actions/main'\r\n\r\nconst InitialState = {\r\n view: LOADER_VIEW,\r\n snackbarOpenSuccess: false,\r\n snackbarOpenError: false,\r\n}\r\n\r\nconst form = (state=InitialState, action) => {\r\n switch(action.type){\r\n case types.SET_LOADER:\r\n return{...state, view:action.view, id: action.id, presId: action.presId} \r\n \r\n case types.ON_SUBMIT_RESPONSE:\r\n return onSubmitResponse(state, action)\r\n default:\r\n return {...state};\r\n }\r\n}\r\n\r\nconst onSubmitResponse = (state, action) => {\r\n let newState = {...state};\r\n switch(action.status){\r\n case 'success':\r\n newState.snackbarOpenSuccess = true;\r\n newState.snackbarOpenError = false;\r\n break;\r\n case 'error':\r\n newState.snackbarOpenSuccess = false;\r\n newState.snackbarOpenError = true;\r\n break;\r\n case 'catch':\r\n newState.snackbarOpenSuccess = false;\r\n newState.snackbarOpenError = true;\r\n break;\r\n default:\r\n newState.snackbarOpenSuccess = false;\r\n newState.snackbarOpenError = false;\r\n break;\r\n }\r\n return newState;\r\n}\r\n\r\nexport default form;","import * as types from '../actions/typeNames'\r\n\r\nconst InitialState = { \r\n presentations: [],\r\n answers: {\r\n all: {\r\n items: [],\r\n page: 1,\r\n pageSize: 20,\r\n total: 0\r\n }\r\n },\r\n selectedPresentation: {\r\n PresentationId: -1,\r\n EncryptedId: \"\",\r\n Name: \"All\"\r\n },\r\n selectedAnswer: null,\r\n itemPresAll: {\r\n PresentationId: -1,\r\n EncryptedId: \"\",\r\n Name: \"All\"\r\n },\r\n answerModel:{},\r\n loader: false\r\n}\r\n\r\nconst answers = (state = InitialState, action) => {\r\n switch(action.type){\r\n case types.SET_PRESENTATION_LIST:\r\n return {\r\n ...state,\r\n presentations: [...action.presentations]\r\n }\r\n case types.SELECT_PRESENTATION:\r\n return{\r\n ...state,\r\n selectedPresentation: {...action.presentation},\r\n selectedAnswer: null\r\n }\r\n case types.SET_ANSWER_LIST:\r\n return setAnswerList(state, action.answers, action.total, action.page)\r\n case types.SELECT_ANSWER:\r\n return {\r\n ...state,\r\n selectedAnswer: action.answer\r\n }\r\n case types.SET_ANSWER:\r\n return {\r\n ...state,\r\n answerModel: action.answerModel\r\n }\r\n case types.SET_ANSWERS_LOADER:\r\n return {\r\n ...state,\r\n loader: action.flag\r\n }\r\n default: \r\n return state \r\n }\r\n}\r\n\r\nconst setAnswerList = (state, list, total, page) => {\r\n if(state.selectedPresentation.PresentationId > 0){\r\n let id = state.selectedPresentation.PresentationId\r\n let answs = {...state.answers}\r\n answs[id] = {\r\n items: [...list],\r\n page,\r\n total\r\n }\r\n return {\r\n ...state,\r\n answers: answs\r\n }\r\n }else{\r\n return {\r\n ...state,\r\n answers: {\r\n ...state.answers,\r\n all: {\r\n items: [...list],\r\n page,\r\n total \r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default answers;","import { combineReducers } from 'redux'\r\nimport formList from './formList'\r\nimport main from './main'\r\nimport settings from './settings'\r\nimport design from './design'\r\nimport form from './form'\r\nimport answers from './answers'\r\nimport { routerReducer } from 'react-router-redux'\r\n\r\nexport default combineReducers({\r\n main,\r\n formList,\r\n settings,\r\n design,\r\n form,\r\n answers,\r\n routing: routerReducer\r\n});","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\r\nimport { Box, Fab } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport { Close } from '@material-ui/icons';\r\n\r\n\r\nconst headerStyles = makeStyles({\r\n root:{\r\n backgroundColor: '#E1E1E1',\r\n color: 'black',\r\n fontFamily: 'GoBoldThin',\r\n fontSize: 30,\r\n textTransform: 'uppercase'\r\n },\r\n closeBtn:{ \r\n width: 24,\r\n height: 24,\r\n position: 'absolute',\r\n top: 8,\r\n right: 8,\r\n color: '#333333',\r\n minHeight:1\r\n },\r\n closeIcon:{\r\n fontSize: 18\r\n }\r\n});\r\n\r\nexport default function Header({content, cancelAction, view}){\r\n const classes = headerStyles();\r\n return (\r\n \r\n {content} \r\n \r\n );\r\n}","import React from 'react';\r\nimport { Box } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles';\r\n\r\n\r\nconst bodyStyles = makeStyles({\r\n root:{\r\n backgroundColor: '#ffffff',\r\n color: '#000000',\r\n position: 'absolute',\r\n left: 0,\r\n top: 60,\r\n right:0,\r\n bottom:0\r\n }\r\n});\r\n\r\nconst headlessBodyStyles = makeStyles({\r\n root: {\r\n backgroundColor: '#ffffff',\r\n color: '#000000',\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0\r\n }\r\n});\r\n\r\n\r\nexport function Body(props){\r\n const classes = bodyStyles()\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nexport function HeadlessBody(props) {\r\n const classes = headlessBodyStyles()\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}","import { makeStyles } from '@material-ui/styles'\r\n\r\nlet btn_default = {\r\n backgroundColor: '#F5B01B',\r\n fontFamily: 'GoBoldThin',\r\n fontSize: 16,\r\n textTransform: 'uppercase',\r\n color: '#000000',\r\n '&:hover':{\r\n backgroundColor: '#DD9F21'\r\n },\r\n width: \"100%\",\r\n padding: \"1px 2px\",\r\n minWidth: 40,\r\n borderRadius: '4px'\r\n\r\n}\r\n\r\nexport const buttonStyles = makeStyles({\r\n tab: {\r\n ...btn_default,\r\n backgroundColor: '#444444',\r\n color: '#EEEEEE',\r\n border: '1px solid #0000001F',\r\n letterSpacing: '1.8px',\r\n '&:hover': {\r\n //backgroundColor: '#EB8023'\r\n color: '#F6B11A',\r\n borderColor: '#F6B11A',\r\n backgroundColor: '#444444',\r\n\r\n },\r\n '&:disabled': {\r\n backgroundColor: '#E5E5E5',\r\n color: '#ADADAD',\r\n cursor: 'not-allowed',\r\n borderColor: '#E5E5E5',\r\n 'pointer-events': 'auto',\r\n '&:hover': {\r\n backgroundColor: '#E5E5E5',\r\n }\r\n }\r\n },\r\n tab_data: {\r\n ...btn_default,\r\n width: \"180px\",\r\n backgroundColor: \"#F6B11A\",\r\n color: '#ffffff',\r\n letterSpacing: '1.8px',\r\n border: '1px solid #F6B11A',\r\n '&:hover': {\r\n backgroundColor: '#DD9F21',\r\n }\r\n\r\n },\r\n tab_data_grid:{\r\n textAlign: \"end\"\r\n },\r\n tab_selected:{\r\n //backgroundColor: \"#EB8023\"\r\n color: '#F6B11A',\r\n borderColor: '#F6B11A',\r\n backgroundColor: '#444444',\r\n '&:hover': {\r\n backgroundColor: '#444444',\r\n }\r\n },\r\n create:{\r\n ...btn_default, \r\n width: \"180px\",\r\n fontFamily: 'asap-bold',\r\n color: '#ffffff'\r\n },\r\n add:{\r\n ...btn_default,\r\n width: 50,\r\n marginBottom: 8,\r\n padding: '3px 2px'\r\n },\r\n addForm:{\r\n ...btn_default,\r\n width: 120,\r\n padding: \"3px\",\r\n backgroundColor: \"#059AE8\",\r\n fontFamily: 'asap-bold',\r\n color: '#ffffff',\r\n fontSize: '14px',\r\n border: 'solid 1px #059AE8',\r\n\r\n '&:hover': {\r\n backgroundColor: '#0089D1',\r\n borderColor: '#0089D1'\r\n },\r\n '&:disabled':{\r\n backgroundColor: \"#acacac\",\r\n color: \"#ffffff\",\r\n borderColor: '#acacac',\r\n\r\n '&:hover':{\r\n cursor: \"not-allowed\"\r\n } \r\n }\r\n },\r\n btnHelp:{\r\n minHeight:0,\r\n marginLeft:20,\r\n backgroundColor:'transparent',\r\n boxShadow: \"none\",\r\n width: 30,\r\n height: 30,\r\n '&:hover':{\r\n backgroundColor:'transparent'\r\n }\r\n },\r\n iconHelp:{\r\n fontSize: 40,\r\n color: \"#cdcdcd\",\r\n width: \"inherit\",\r\n height: \"inherit\"\r\n },\r\n save:{\r\n ...btn_default,\r\n padding: \"3px\",\r\n backgroundColor: \"#F6B11A\",\r\n fontFamily: 'asap-bold',\r\n color: \"#FFFFFF\",\r\n fontSize: '14px',\r\n border: 'solid 1px #F6B11A',\r\n '&:hover':{\r\n backgroundColor: \"#DD9F21\",\r\n borderColor: '#DD9F21',\r\n },\r\n },\r\n cancel:{\r\n ...btn_default,\r\n padding: \"3px\",\r\n backgroundColor: \"#ffffff\",\r\n color: \"#F6B11A\",\r\n border: 'solid 2px #F6B11A',\r\n width: '111px',\r\n fontFamily: 'asap-bold',\r\n fontSize:'14px',\r\n '&:hover': {\r\n // need to be the same to override defaults\r\n backgroundColor: \"#ffffff\",\r\n color: \"#F6B11A\",\r\n border: 'solid 2px #F6B11A',\r\n }\r\n },\r\n move: {\r\n cursor:\"n-resize\",\r\n padding: 3,\r\n width: 'auto',\r\n height: 'auto'\r\n },\r\n addOption:{\r\n position: 'absolute',\r\n left: '100%'\r\n }\r\n });\r\n\r\n const defaultBoxAbsolute = {\r\n position: \"absolute\",\r\n left: 0,\r\n top:0,\r\n right: 0,\r\n bottom: 0\r\n }\r\n\r\n const defaultInput = {\r\n backgroundColor: \"#f5f5f5\",\r\n color: \"#666666\",\r\n paddingLeft: \"3px\",\r\n paddingRight: \"3px\" \r\n }\r\n\r\n export const viewStyles = makeStyles({\r\n box_settings:{\r\n ...defaultBoxAbsolute,\r\n position: \"relative\",\r\n height: \"660px\",\r\n top: \"20px\"\r\n },\r\n box_view:{\r\n ...defaultBoxAbsolute \r\n },\r\n leftBox:{\r\n ...defaultBoxAbsolute,\r\n right: \"40%\"\r\n },\r\n verticalLine:{\r\n position: 'relative',\r\n '&:after': {\r\n content:'\\\"\\\"',\r\n display: 'block',\r\n position:'absolute',\r\n left:'calc(100% + 10px)',\r\n width: 1,\r\n top:-15,\r\n bottom: -40,\r\n borderLeft: 'rgba(0, 0, 0, 0.14) 1px solid'\r\n }\r\n },\r\n rightBox:{\r\n ...defaultBoxAbsolute,\r\n left:\"60%\"\r\n },\r\n devider:{\r\n position:\"absolute\",\r\n left: \"60%\"\r\n },\r\n titleLeft:{\r\n fontFamily:\"Asap-Italic\",\r\n fontSize: 22,\r\n color:\"#666666\",\r\n marginBottom: \"20px\"\r\n },\r\n titleRight:{\r\n fontFamily:\"GoBold\",\r\n fontSize: 16,\r\n textTransform: 'uppercase',\r\n color:\"#333333\",\r\n textAlign: \"center\"\r\n },\r\n rightDescription:{\r\n fontFamily: 'Asap-Regular',\r\n fontSize: 12,\r\n color: '#666666'\r\n },\r\n tmplList:{\r\n width:\"75%\"\r\n },\r\n templateBox:{\r\n border: \"#cdcdcd 1px solid\",\r\n backgroundColor: \"#ffffff\",\r\n padding:\"4px\",\r\n '&.selected': {\r\n backgroundColor: \"#ffa500\"\r\n },\r\n '&:hover':{\r\n backgroundColor: \"#ffa500\"\r\n },\r\n cursor: \"pointer\"\r\n },\r\n nameInput: {\r\n ...defaultInput\r\n },\r\n bottomBox:{\r\n position: \"absolute\",\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n },\r\n selectContainer:{\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-end'\r\n },\r\n selectList:{\r\n width: 'calc(100% - 60px)'\r\n },\r\n listElementsContainer:{\r\n maxHeight: 320,\r\n overflowY: \"auto\",\r\n paddingRight: 25 \r\n },\r\n listRow:{\r\n fontFamily: 'Asap-Regular',\r\n fontSize: 14,\r\n color: '#666666',\r\n width: '100%',\r\n '& .MuiInputBase-root': {\r\n fontFamily: 'Asap-Regular',\r\n fontSize: 14,\r\n color: '#666666'\r\n },\r\n '& .MuiInputBase-root.Mui-focused':{\r\n '& .MuiInputBase-input':{\r\n color: \"#f39348\"\r\n } \r\n },\r\n '& .MuiInput-underline.Mui-focused:after':{\r\n borderBottom: \"2px solid #f39348\"\r\n },\r\n '& .MuiInput-underline:hover:not(.Mui-disabled):before':{\r\n borderBottom: \"1px solid rgba(0, 0, 0, 0.42)\"\r\n }\r\n },\r\n optionFieldTitle:{\r\n fontFamily: 'Asap-Regular',\r\n fontSize: 14,\r\n color: '#666666'\r\n }, \r\n switch:{\r\n '& .MuiSwitch-colorSecondary.Mui-checked':{\r\n color: '#ec7f00'\r\n },\r\n '& .MuiSwitch-colorSecondary.Mui-checked + .MuiSwitch-track': {\r\n backgroundColor: \"#f5b01b\"\r\n }\r\n },\r\n designBlockTitle:{\r\n fontFamily: 'Asap-Italic',\r\n fontWeight:'bold',\r\n fontSize: 16,\r\n color: '#666666', \r\n marginBottom: 2,\r\n minHeight: 22\r\n },\r\n designBoxRow:{\r\n margin: '2px 0',\r\n minHeight: 22\r\n },\r\n designFieldTitle:{\r\n fontFamily: 'Asap-Bold', \r\n fontSize: 12,\r\n minWidth: 170,\r\n marginRight: 10,\r\n color: '#666666'\r\n },\r\n designRadio:{\r\n padding: '5px',\r\n '& .MuiSvgIcon-root, & .MuiSvgIcon-root.MuiSvgIcon-fontSizeSmall':{\r\n fontSize: 12\r\n },\r\n '&.MuiRadio-colorSecondary.Mui-checked':{\r\n color: '#666666'\r\n }\r\n },\r\n designRadioLabel:{\r\n '&.MuiFormControlLabel-root':{\r\n minWidth: 60\r\n },\r\n '& .MuiFormControlLabel-label':{\r\n fontFamily: 'Asap-Regular',\r\n fontSize: 12,\r\n color: '#666666'\r\n }\r\n },\r\n designSlider:{ \r\n '&.MuiSlider-root':{\r\n width: \"45%\",\r\n marginLeft: 5,\r\n color: '#666666'\r\n },\r\n '&.MuiSlider-root::after':{\r\n position: 'absolute',\r\n display: \"flex\",\r\n left: '100%',\r\n top: 2,\r\n bottom: 0,\r\n width: 18,\r\n content: '\\\"+\\\"',\r\n alignItems: 'center',\r\n justifyContent: 'flex-end',\r\n fontSize: 12\r\n },\r\n '&.MuiSlider-root::before':{\r\n position: 'absolute',\r\n display: \"flex\",\r\n right: '100%',\r\n top: 0,\r\n bottom: 3,\r\n width: 10,\r\n content: '\\\"-\\\"',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start'\r\n },\r\n '& .MuiSlider-markLabel':{\r\n fontFamily: 'Asap-Regular',\r\n fontSize: 10,\r\n color: '#666666'\r\n }\r\n },\r\n colorPicker:{\r\n position: \"relative\"\r\n },\r\n fontSize:{\r\n marginLeft: 20,\r\n width: 43,\r\n backgroundColor: \"#cdcdcd\",\r\n '& .MuiInputBase-input':{\r\n fontSize: 14,\r\n color: '#666666',\r\n padding: '2px 0 2px 5px',\r\n backgroundColor: '#ffffff',\r\n border: '#707070 1px solid',\r\n height: 19,\r\n fontFamily: 'Asap-Regular'\r\n },\r\n '&.MuiInput-underline:after, &.MuiInput-underline:before':{\r\n display: 'none'\r\n }\r\n },\r\n fontPicker: {\r\n width: 150,\r\n margin: \"0 0 0 20px\",\r\n '& .MuiInputBase-input':{\r\n fontSize: 14,\r\n color: '#666666',\r\n padding: '2px 20px 2px 5px',\r\n backgroundColor: '#f5f5f5'\r\n },\r\n '& .MuiInputBase-input.MuiSelect-select': {\r\n backgroundColor: '#ffffff',\r\n border: '#707070 1px solid'\r\n },\r\n '&.MuiInput-underline:after, &.MuiInput-underline:before':{\r\n display: 'none'\r\n }\r\n },\r\n previewBox: {\r\n transform: 'scale(0.8)',\r\n transformOrigin: '0 0'\r\n },\r\n presDropdown:{\r\n width: \"100%\",\r\n '& .MuiInputBase-input':{\r\n fontSize: 14,\r\n color: '#666666',\r\n padding: '2px 20px 2px 5px',\r\n backgroundColor: '#f5f5f5'\r\n },\r\n '& .MuiInputBase-input.MuiSelect-select': {\r\n backgroundColor: '#ffffff',\r\n border: '#707070 1px solid'\r\n },\r\n '&.MuiInput-underline:after, &.MuiInput-underline:before':{\r\n display: 'none'\r\n }\r\n },\r\n settingsFieldText:{\r\n fontFamily: 'Asap-Italic',\r\n color: '#666666',\r\n '&>label.MuiFormLabel-root':{\r\n fontFamily: 'Asap-Bold',\r\n color: '#666666',\r\n fontSize: 16,\r\n transform: 'translate(0, -4px) scale(0.75)'\r\n },\r\n '& .MuiInputBase-input':{\r\n fontFamily: 'Asap-Italic',\r\n fontSize: 14,\r\n color: '#666666',\r\n paddingLeft: 5,\r\n paddingRight: 5,\r\n backgroundColor: '#f5f5f5'\r\n },\r\n '& .MuiInputBase-input.MuiSelect-select': {\r\n backgroundColor: '#ffffff',\r\n border: '#707070 1px solid'\r\n },\r\n '& .MuiInput-underline:after, & .MuiInput-underline:before':{\r\n display: 'none'\r\n }\r\n },\r\n infoIcon: {\r\n width: 13,\r\n transform: 'translate(20px, -4px)',\r\n cursor: 'help'\r\n },\r\n svgIcon: {\r\n stroke: '#333',\r\n fontSize: 16,\r\n strokeMiterlimit:10,\r\n strokeLinecap:'round',\r\n strokeLinejoin: 'round',\r\n strokeWidth:'1px',\r\n fill: '#333',\r\n '&:hover': {\r\n stroke: '#f5b01b',\r\n '& .trash':{\r\n fill:'#f5b01b',\r\n stroke: '#f5b01b',\r\n strokeWidth: '0.3px'\r\n },\r\n '& .duplicate':{\r\n '&.a': {\r\n fill:'#f5b01b',\r\n stroke: '#f5b01b' \r\n },\r\n '&.b': {\r\n stroke: '#f5b01b' \r\n },\r\n '&.c': {\r\n fill:'#f5b01b'\r\n }\r\n }\r\n },\r\n '& .edit':{\r\n fill: 'none'\r\n },\r\n '& .duplicate':{\r\n '&.a': {\r\n stroke: '#000',\r\n strokeWidth:'0.119px'\r\n },\r\n '&.b': {\r\n stroke: '#000',\r\n strokeWidth:'0.747px',\r\n fill: 'none',\r\n }\r\n },\r\n '& .trash':{\r\n stroke:'#515151',\r\n strokeWidth: '0.3px'\r\n },\r\n '&.active': {\r\n stroke: '#f5b01b'\r\n },\r\n }\r\n })","var _defs, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEdit = function SvgEdit(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 8.469,\n height: 14.041,\n viewBox: \"0 0 8.469 14.041\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.578 0.539)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"edit\",\n d: \"M1479.822,140.577l4.371-9.513a.49.49,0,0,1,.649-.241l1.949.89a.488.488,0,0,1,.241.648l-4.371,9.513\",\n transform: \"translate(-1479.688 -130.778)\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"edit\",\n x2: 2.894,\n y2: 1.326,\n transform: \"translate(3.782 1.748)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"edit\",\n d: \"M1479.386,178.3l-.209.46.211,2.71a.347.347,0,0,0,.452.192L1482.1,180l.181-.376\",\n transform: \"translate(-1479.177 -168.691)\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"edit\",\n x2: 2.788,\n y2: 1.277,\n transform: \"translate(0.085 9.951)\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEdit, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/edit.338d8abe.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\r\nimport {Grid, Button} from '@material-ui/core'\r\nimport {buttonStyles} from '../styles/styles'\r\nimport {tabButtons} from '../defaults/templates'\r\n\r\nconst Tabs = ({settings, selectTab, tab}) => {\r\n const classes = buttonStyles()\r\n //console.log(\"Tab: tab: \", tab)\r\n let preview_button = tabButtons[4]\r\n return (\r\n \r\n \r\n \r\n {tabButtons.map((b) => {\r\n if(b.id < 5 && ! b.is_hidden){\r\n let classArray = [classes.tab]\r\n if(b === settings.tab)\r\n classArray.push(classes.tab_selected)\r\n let buttonClass = classArray.join(\" \")\r\n return (\r\n \r\n \r\n \r\n )\r\n }else{\r\n return null\r\n }\r\n })}\r\n \r\n \r\n \r\n \r\n {(() => {\r\n if (preview_button.is_hidden) {\r\n return <>\r\n }\r\n let classArray = [classes.tab_data]\r\n if(preview_button === settings.tab)\r\n classArray.push(classes.tab_selected)\r\n let buttonClass = classArray.join(\" \")\r\n return (\r\n \r\n )\r\n })()} \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Tabs;","import { connect } from 'react-redux'\r\nimport Tabs from '../components/Tabs'\r\nimport {selectTab} from '../actions/settings'\r\n\r\nconst mapStateToProps = state =>({\r\n settings: state.settings\r\n})\r\n \r\nconst mapDispatchToProps = dispatch => ({\r\n selectTab: id => dispatch(selectTab(id))\r\n}) \r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Tabs)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Button } from '@material-ui/core'\r\nimport { buttonStyles } from '../styles/styles'\r\n\r\nconst AddFormButton = ({ main, handleSave}) => {\r\n const buttonStyle = buttonStyles()\r\n const isDisabled = !main.selectedForm && !handleSave\r\n\r\n const AddFormClick = (event) => {\r\n if (handleSave) {\r\n handleSave();\r\n }\r\n else {\r\n let data = {\r\n type: \"add_form\",\r\n id: main.selectedForm.FormId\r\n }\r\n window.parent.postMessage(JSON.stringify(data), \"*\")\r\n }\r\n \r\n }\r\n\r\n return(\r\n \r\n )\r\n} \r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nexport default connect(mapStateToProps, {})(AddFormButton)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Button } from '@material-ui/core'\r\nimport { buttonStyles } from '../styles/styles'\r\nimport { browserHistory } from 'react-router'\r\nimport LZString from 'lz-string'\r\nimport { cancel } from '../actions/main'\r\nimport { setSettings } from '../actions/settings'\r\n\r\n\r\nconst CancelFormButton = ({ main, settings, setSettings, cancel}) => {\r\n const buttonStyle = buttonStyles()\r\n //const isDisabled = main.selectedForm == null\r\n\r\n const handleCancel = () => {\r\n \r\n\r\n cancel();\r\n if (main.selectedForm != null) {\r\n let config = JSON.parse(LZString.decompressFromBase64(main.selectedForm.Config));\r\n setSettings(main.selectedForm, config)\r\n }\r\n browserHistory.push(\"/settings\")\r\n if (settings.fromEditor) {\r\n // then we want to CLOSE the form editor, instead of going \"back\" to the form manager\r\n let data = {\r\n type: \"close_form\",\r\n }\r\n window.parent.postMessage(JSON.stringify(data), \"*\")\r\n }\r\n }\r\n//{/*disabled={isDisabled}*/}\r\n return(\r\n \r\n )\r\n} \r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n cancel: (currentView) => dispatch(cancel(currentView)),\r\n setSettings: (form, config) => dispatch(setSettings(form, config))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CancelFormButton)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Box, Grid, Button } from '@material-ui/core'\r\nimport { cancel, save } from '../actions/main'\r\nimport { setSettings, selectTab } from '../actions/settings'\r\nimport AddFormButton from '../containers/AddFormButton'\r\nimport CancelFormButton from '../containers/CancelFormButton'\r\nimport EmazeForm from '../containers/EmazeForm'\r\nimport { viewStyles, buttonStyles } from '../styles/styles'\r\nimport { browserHistory } from 'react-router'\r\nimport LZString from 'lz-string'\r\n\r\nconst RightPreviewPart = ({ cancel, settings, design, main, saveChanges, setSettings, selectTab, isShowPreview = true }) => {\r\n const classes = viewStyles()\r\n const buttonStyle = buttonStyles()\r\n \r\n const handleCancel = () => {\r\n if (settings.fromEditor) {\r\n // then we want to CLOSE the form editor, instead of going \"back\" to the form manager\r\n let data = {\r\n type: \"close_form\",\r\n }\r\n window.parent.postMessage(JSON.stringify(data), \"*\")\r\n }\r\n\r\n cancel();\r\n if(main.selectedForm != null){\r\n let config = JSON.parse(LZString.decompressFromBase64(main.selectedForm.Config));\r\n setSettings(main.selectedForm, config)\r\n } \r\n browserHistory.push(\"/settings\")\r\n }\r\n\r\n const handleSaveNextBtn = (settings, design) => {\r\n if (settings.showAddForm) {\r\n // when having the add form button, the next/save is always save\r\n saveChanges(settings, design);\r\n }\r\n else {\r\n switch (settings.tab.name) {\r\n case \"templates\":\r\n selectTab(2);\r\n break;\r\n case \"edit\":\r\n selectTab(3);\r\n break;\r\n case \"design\":\r\n selectTab(4);\r\n break;\r\n case \"settings\":\r\n default:\r\n saveChanges(settings, design)\r\n break;\r\n }\r\n }\r\n\r\n }\r\n\r\n let saveBtnName = \"save\";\r\n if (!settings.showAddForm) {\r\n // when having the add form button, the next/save is always save\r\n switch (settings.tab.name) {\r\n case \"templates\":\r\n case \"edit\":\r\n case \"design\":\r\n //case \"settings\":\r\n saveBtnName = \"next\";\r\n break;\r\n default:\r\n saveBtnName = \"save\";\r\n break;\r\n }\r\n }\r\n \r\n return (\r\n \r\n {\r\n isShowPreview ?\r\n
\r\n \r\n Preview\r\n \r\n \r\n {settings.description}\r\n \r\n \r\n \r\n \r\n
\r\n :\r\n <>\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n settings.showAddForm && !settings.fromEditor ?\r\n\r\n saveChanges(settings, design, true)}>\r\n :\r\n <>\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n cancel: (currentView) => dispatch(cancel(currentView)),\r\n saveChanges: (settings, design, addForm = false) => dispatch(save(settings, design, addForm)),\r\n setSettings: (form, config) => dispatch(setSettings(form, config)),\r\n selectTab: (id) => dispatch(selectTab(id))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RightPreviewPart)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Box, Divider, Grid, CardMedia, Input } from '@material-ui/core'\r\nimport { viewStyles } from '../styles/styles'\r\nimport { templates } from '../defaults/templates'\r\nimport { selectTemplate, setFormName } from '../actions/settings'\r\nimport RightPreviewPart from './RightPreviewPart'\r\nimport CancelFormButton from '../containers/CancelFormButton'\r\n\r\nconst ViewTemplate = ({ settings, selectTemplate, setFormName }) => {\r\n const classes = viewStyles()\r\n return (\r\n \r\n \r\n \r\n Start by selecting a form template\r\n \r\n \r\n \r\n {\r\n templates.map((template) => {\r\n let classBox = classes.templateBox;\r\n if(settings.template === template.name)\r\n classBox += \" selected\"\r\n return(\r\n \r\n selectTemplate(template)}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n Name of this Form\r\n \r\n \r\n {setFormName(e.target.value)}} disableUnderline={true} placeholder=\"Type a new name\">\r\n \r\n */}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n selectTemplate: (template) => dispatch(selectTemplate(template)),\r\n setFormName: name => dispatch(setFormName(name))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ViewTemplate)","var _defs, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgBurger = function SvgBurger(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 11.782,\n height: 9.91,\n viewBox: \"0 0 11.782 9.91\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{opacity:0.9;}.b{fill:#fff;stroke-linecap:round;stroke-miterlimit:10;stroke-width:2px;}\"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1 1)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"a\",\n transform: \"translate(139 -403.285)\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n className: \"b\",\n x2: 9.685,\n transform: \"translate(-138.903 403.285)\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"b\",\n x2: 9.685,\n transform: \"translate(-138.903 407.24)\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"b\",\n x2: 9.685,\n transform: \"translate(-139 411.195)\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBurger, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/burger.cfbafdf8.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgTrash = function SvgTrash(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 11.261,\n height: 13.3,\n viewBox: \"0 0 11.261 13.3\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.15 0.15)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"trash\",\n d: \"M1721.648,21.455a.386.386,0,0,0-.385.385v6.67a.385.385,0,0,0,.77,0V21.84A.386.386,0,0,0,1721.648,21.455Z\",\n transform: \"translate(-1716.167 -17.691)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"trash\",\n d: \"M1725.74,21.455a.386.386,0,0,0-.385.385v6.67a.385.385,0,0,0,.77,0V21.84A.386.386,0,0,0,1725.74,21.455Z\",\n transform: \"translate(-1718.221 -17.691)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"trash\",\n d: \"M1721.613,15.313h-2.932v-.637a.893.893,0,0,0-.892-.892h-2.549a.893.893,0,0,0-.892.892v.637h-2.932a.383.383,0,0,0,0,.765h.637v9.559a1.148,1.148,0,0,0,1.147,1.147h6.627a1.148,1.148,0,0,0,1.147-1.147V16.078h.638a.383.383,0,0,0,0-.765Zm-6.373-.765h2.549a.128.128,0,0,1,.128.128v.637h-2.8v-.637A.128.128,0,0,1,1715.24,14.549Zm4.588,11.471H1713.2a.383.383,0,0,1-.383-.383V16.078h7.393v9.559A.383.383,0,0,1,1719.828,26.019Z\",\n transform: \"translate(-1711.034 -13.784)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"trash\",\n d: \"M1717.557,21.455a.386.386,0,0,0-.385.385v6.67a.385.385,0,0,0,.77,0V21.84A.386.386,0,0,0,1717.557,21.455Z\",\n transform: \"translate(-1714.114 -17.691)\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTrash, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/trash.d31bbc4b.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _text;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgPlus = function SvgPlus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 17,\n viewBox: \"0 0 23 17\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#666;font-size:20px;font-family:Asap-BoldItalic, Asap;font-weight:700;font-style:italic;letter-spacing:0.01em;}\"))), _text || (_text = /*#__PURE__*/React.createElement(\"text\", {\n className: \"a\"\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 6.586,\n y: 13\n }, \"+\"))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPlus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/plus.bf55063c.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Box, FormControl, Input, InputAdornment, IconButton, Icon, SvgIcon } from '@material-ui/core'\r\nimport { Check } from '@material-ui/icons'\r\nimport { viewStyles, buttonStyles } from '../styles/styles'\r\nimport DraggableList from 'react-draggable-list'\r\nimport { changeList, deleteElement, editElement, changeNameElement, saveOptions } from '../actions/settings'\r\n\r\nimport { ReactComponent as EditIcon } from '../styles/images/edit.svg'\r\nimport { ReactComponent as BurgerIcon } from '../styles/images/burger.svg'\r\nimport { ReactComponent as TrashIcon } from '../styles/images/trash.svg'\r\n\r\nclass FormElementItem extends Component{ \r\n render(){\r\n const {item, dragHandleProps } = this.props;\r\n const { editingElement, editElement, deleteElement, changeName, saveOptions, btnStyles, classes } = this.props.commonProps;\r\n\r\n let editClass = '';\r\n if (editingElement !== null && editingElement.id === item.id) {\r\n editClass = 'active';\r\n }\r\n\r\n return(\r\n \r\n \r\n { changeName(e.target.value, item.id, 'element') }} \r\n endAdornment={\r\n \r\n {\r\n (item => {\r\n if(item.name !== \"separator\"){\r\n //if(editingElement !== null && editingElement.id === item.id){\r\n // return(\r\n // saveOptions()}>\r\n // \r\n // \r\n // )\r\n //}else{\r\n \r\n return(\r\n editElement(item)}>\r\n \r\n \r\n )\r\n \r\n }\r\n })(item)\r\n } \r\n deleteElement(item, \"element\")}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst FormElementsList = ({ settings, onListChange, deleteElement, editElement, changeName, saveOptions }) => {\r\n let _container = HTMLElement;\r\n const classes = viewStyles()\r\n const btnStyles = buttonStyles()\r\n return(\r\n { if (el) _container = el; }}>\r\n \r\n \r\n {changeName(e.target.value, null, 'title')}} />\r\n \r\n \r\n\r\n onListChange(newList)}\r\n commonProps={{\r\n deleteElement, \r\n editingElement:settings.editingElement,\r\n editElement,\r\n changeName,\r\n saveOptions,\r\n btnStyles,\r\n classes\r\n }}\r\n container={() => _container}\r\n />\r\n \r\n \r\n \r\n {changeName(e.target.value, null, 'submit')}} />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n onListChange: newList => dispatch(changeList(newList)),\r\n deleteElement: (e,n) => dispatch(deleteElement(e,n)),\r\n editElement: (element) => dispatch(editElement(element)),\r\n changeName: (name, id, kind) => dispatch(changeNameElement(name, id, kind)),\r\n saveOptions: () => dispatch(saveOptions())\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FormElementsList)","var _defs, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDuplicate = function SvgDuplicate(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 10.005,\n height: 12.994,\n viewBox: \"0 0 10.005 12.994\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.059 0.059)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-14.977 -2.154)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"duplicate a\",\n d: \"M22.4,15.03H16.1A1.183,1.183,0,0,1,14.977,13.8V5.4A1.183,1.183,0,0,1,16.1,4.171h6.3A1.183,1.183,0,0,1,23.526,5.4V13.8A1.183,1.183,0,0,1,22.4,15.03ZM16.1,4.794a.585.585,0,0,0-.556.61V13.8a.585.585,0,0,0,.556.61h6.3a.585.585,0,0,0,.556-.61V5.4a.585.585,0,0,0-.556-.61Z\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"duplicate b\",\n y1: 1.021,\n transform: \"translate(16.599 3.387)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"duplicate a\",\n d: \"M23.741,13.461h-.385v-.623h.385a.585.585,0,0,0,.556-.61V3.387a.585.585,0,0,0-.556-.61h-6.3a.585.585,0,0,0-.556.61h-.567a1.183,1.183,0,0,1,1.122-1.233h6.3a1.183,1.183,0,0,1,1.122,1.233v8.841A1.183,1.183,0,0,1,23.741,13.461Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"duplicate c\",\n d: \"M1.18,12.937A1.183,1.183,0,0,1,.057,11.705V3.312A1.183,1.183,0,0,1,1.18,2.079h.5V1.295H1.4A1.182,1.182,0,0,1,2.517.062h6.3A1.182,1.182,0,0,1,9.943,1.295v8.841a1.182,1.182,0,0,1-1.122,1.232H8.606v.337a1.182,1.182,0,0,1-1.122,1.232ZM.624,3.312v8.393a.585.585,0,0,0,.556.61h6.3a.585.585,0,0,0,.555-.61V3.312a.585.585,0,0,0-.555-.61H1.18A.585.585,0,0,0,.624,3.312ZM1.678,2.079H7.483A1.183,1.183,0,0,1,8.606,3.312v7.434h.215a.585.585,0,0,0,.555-.61V1.295a.585.585,0,0,0-.555-.61h-6.3a.585.585,0,0,0-.556.61H1.678Z\",\n transform: \"translate(-0.057 -0.062)\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDuplicate, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/duplicate.e123a133.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { \r\n Box, \r\n FormControl, \r\n Input, \r\n InputAdornment, \r\n IconButton, \r\n Icon, \r\n Switch, \r\n Grid,\r\n Button,\r\n SvgIcon } from '@material-ui/core'\r\nimport { viewStyles, buttonStyles } from '../styles/styles'\r\nimport DraggableList from 'react-draggable-list'\r\nimport { changeOptionList, deleteElement, addNewOption, changeNameElement, changeOptionIsHalf, toggleIsRequiredOption } from '../actions/settings'\r\n\r\nimport { ReactComponent as PlusIcon } from '../styles/images/plus.svg'\r\nimport { ReactComponent as BurgerIcon } from '../styles/images/burger.svg'\r\nimport { ReactComponent as TrashIcon } from '../styles/images/trash.svg'\r\n\r\nclass FormOptionItem extends Component{\r\n\r\n render(){\r\n const { item, dragHandleProps } = this.props;\r\n const { deleteElement, changeName, classes, btnStyles, options, addOption } = this.props.commonProps;\r\n return(\r\n \r\n \r\n { changeName(e.target.value, item.id, 'option') }} \r\n endAdornment={\r\n \r\n deleteElement(item, \"option\")}>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n options[options.length - 1].id === item.id ?\r\n addOption()} className={btnStyles.addOption}>\r\n \r\n \r\n :\r\n <>\r\n }\r\n \r\n }\r\n />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\nconst OptionsList = ({ \r\n settings, \r\n onListChange, \r\n deleteElement, \r\n addOption, \r\n changeName, \r\n changeFlag,\r\n toggleIsRequired \r\n}) => {\r\n \r\n if(settings.editingElement !== null){\r\n let _container = HTMLElement\r\n const classes = viewStyles()\r\n const btnStyles = buttonStyles()\r\n return(\r\n \r\n {/* \r\n Options:\r\n */}\r\n {\r\n (() => {\r\n if(settings.editingElement.canBeHalf){\r\n return(\r\n \r\n \r\n Half width of form:\r\n {changeFlag(e.target.checked)}}\r\n className={classes.switch}>\r\n \r\n \r\n )\r\n }\r\n })()\r\n }\r\n\r\n {\r\n (() => {\r\n if(settings.editingElement.name !== \"separator\"){\r\n return(\r\n \r\n \r\n This field is Required:\r\n {toggleIsRequired(e.target.checked)}}\r\n className={classes.switch}>\r\n \r\n \r\n )\r\n }\r\n })()\r\n }\r\n\r\n {\r\n (() => {\r\n if(settings.editingElement.hasOptions){\r\n return(\r\n \r\n { if (el) _container = el; }}>\r\n onListChange(newList)}\r\n commonProps={{\r\n deleteElement,\r\n changeName,\r\n classes,\r\n btnStyles,\r\n addOption,\r\n options: settings.editingElement.options\r\n }}\r\n container={() => _container}\r\n />\r\n \r\n {/* \r\n \r\n */}\r\n \r\n )\r\n }\r\n })()\r\n } \r\n \r\n \r\n )\r\n }else{\r\n return(\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n onListChange: (newList) => dispatch(changeOptionList(newList)),\r\n deleteElement: (element, name) => dispatch(deleteElement(element, name)),\r\n addOption: () => dispatch(addNewOption()),\r\n changeName: (name, id, kind) => dispatch(changeNameElement(name, id, kind)),\r\n changeFlag: (flag) => dispatch(changeOptionIsHalf(flag)),\r\n toggleIsRequired: (flag) => dispatch(toggleIsRequiredOption(flag))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OptionsList)","export const elements = [\r\n {\r\n id: 1,\r\n name: \"separator\",\r\n title: \"Separator\",\r\n label: \"Separator\",\r\n value: \"\",\r\n default: \"\",\r\n isHalf: false,\r\n canBeHalf: false,\r\n hasOptions: false\r\n },\r\n {\r\n id: 2,\r\n name: \"input\",\r\n title: \"Text\",\r\n label: \"Title 1\",\r\n value: \"\",\r\n default: \"Type text here...\",\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: false\r\n },\r\n {\r\n id: 3,\r\n name: \"textaria\",\r\n title: \"Text Area\",\r\n label: \"Title 2\",\r\n value: \"\",\r\n default: \"Type text here...\",\r\n isHalf: false,\r\n canBeHalf: false,\r\n isRequired: false,\r\n hasOptions: false\r\n },\r\n {\r\n id: 4,\r\n name: \"dropdown\",\r\n title: \"Dropdown\",\r\n label: \"Dropdown Title\",\r\n value: \"\",\r\n default: \"-- Choose item --\",\r\n isHalf: false,\r\n canBeHalf: false,\r\n isRequired: false,\r\n hasOptions: true,\r\n options: [\r\n {\r\n id: 1,\r\n value: \"Option 1\"\r\n },\r\n {\r\n id: 2,\r\n value: \"Option 2\"\r\n },\r\n {\r\n id: 3,\r\n value: \"Option 3\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 5,\r\n name: \"checklist\",\r\n title: \"Check list\",\r\n label: \"Check list\",\r\n value: [],\r\n default: \"-- Choose item --\",\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: true,\r\n options: [\r\n {\r\n id: 1,\r\n checked: false,\r\n value: \"Option 1\"\r\n },\r\n {\r\n id: 2,\r\n checked: false,\r\n value: \"Option 2\"\r\n },\r\n {\r\n id: 3,\r\n checked: false,\r\n value: \"Option 3\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 6,\r\n name: \"radio\",\r\n title: \"Radio list\",\r\n label: \"Radio list\",\r\n value: \"\",\r\n default: \"-- Choose item --\",\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: true,\r\n options: [\r\n {\r\n id: 1,\r\n checked: false,\r\n value: \"Yes\"\r\n },\r\n {\r\n id: 2,\r\n checked: false,\r\n value: \"May be\"\r\n },\r\n {\r\n id: 3,\r\n checked: false,\r\n value: \"No\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 7,\r\n name: \"counter\",\r\n title: \"Counter\",\r\n label: \"Counter\",\r\n value: 0,\r\n default: 0,\r\n isHalf: false,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: false \r\n },\r\n {\r\n id: 8,\r\n name: \"date\",\r\n title: \"Date\",\r\n label: \"Date\",\r\n value: new Date(),\r\n default: 0,\r\n isHalf: true,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: false \r\n },\r\n {\r\n id: 9,\r\n name: \"time\",\r\n title: \"Time\",\r\n label: \"Time\",\r\n value: new Date(),\r\n default: 0,\r\n isHalf: true,\r\n canBeHalf: true,\r\n isRequired: false,\r\n hasOptions: false \r\n }\r\n]","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Box, Divider, Grid, Select, MenuItem, Button, TextField } from '@material-ui/core'\r\nimport { viewStyles, buttonStyles } from '../styles/styles'\r\nimport RightPreviewPart from './RightPreviewPart'\r\nimport FormElementsList from './FormElementsList'\r\nimport OptionList from './OptionsList'\r\nimport { elements } from '../defaults/elements'\r\nimport { \r\n selectElementForAddingToForm, \r\n addNewElement\r\n } from '../actions/settings'\r\nimport CancelFormButton from '../containers/CancelFormButton'\r\n\r\n\r\nconst ViewEdit = ({ settings, selectElementForAdd, addElementToList }) => {\r\n const classes = viewStyles()\r\n const btnStyles = buttonStyles()\r\n const handleChange = (event, child) => {\r\n //selectElementForAdd(event.target.value)\r\n addElementToList(event.target.value)\r\n\r\n }\r\n\r\n const showValue = (element) => {\r\n return element.title\r\n } \r\n\r\n return (\r\n \r\n \r\n \r\n Customize the form template to your liking\r\n \r\n \r\n \r\n \r\n element.title}\r\n label=\"Add New Field:\"\r\n margin=\"normal\"\r\n select={true}\r\n placeholder=\"Choose element\"\r\n >\r\n {\r\n elements.map((elm) => {\r\n return (\r\n {elm.title}\r\n )\r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n selectElementForAdd: element => dispatch(selectElementForAddingToForm(element)),\r\n addElementToList: elm => dispatch(addNewElement(elm))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ViewEdit)","//**********************************************************************//\r\n//** **//\r\n//** Must Include: https://resources.emaze.com/emaze-fonts/fonts.js **//\r\n//** **//\r\n//**********************************************************************//\r\n\r\nimport React, { Component } from 'react'\r\nimport { Box, Select, MenuItem } from '@material-ui/core'\r\n\r\nclass FontPicker extends Component{\r\n state = {\r\n fonts: []\r\n }\r\n\r\n UNSAFE_componentWillMount(){\r\n if(window.ThemeFonts && window.ThemeFonts.length > 0){\r\n let selectedFont = window.ThemeFonts.find((font) => { return this.props.font.name && font.name.toLowerCase() === this.props.font.name.toLowerCase() })\r\n\r\n if(!selectedFont)\r\n selectedFont = { ...window.ThemeFonts[0] }\r\n this.setState({fonts: [...window.ThemeFonts], selectedFont})\r\n if(this.props.onChange)\r\n this.props.onChange({...selectedFont})\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({selectedFont: {...event.target.value}})\r\n if(this.props.onChange)\r\n this.props.onChange({...event.target.value})\r\n }\r\n\r\n render(){\r\n return(\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n}\r\n\r\nexport default FontPicker","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { \r\n Box, \r\n Divider, \r\n Grid, \r\n Input , \r\n FormLabel, \r\n RadioGroup, \r\n FormControlLabel, \r\n Radio,\r\n Slider \r\n} from '@material-ui/core'\r\nimport RightPreviewPart from './RightPreviewPart'\r\nimport { generalChangeValue, changeFontValues } from '../actions/design'\r\nimport ColorPicker from '../components/ColorPicker'\r\nimport FontPicker from '../components/FontPicker'\r\nimport { viewStyles } from '../styles/styles'\r\nimport CancelFormButton from '../containers/CancelFormButton'\r\n\r\n\r\n \r\n\r\n\r\nconst LAYOUT_BR_MIN = 0\r\nconst LAYOUT_BR_MAX = 50\r\nconst LAYOUT_INPUT_BR_MIN = 0\r\nconst LAYOUT_INPUT_BR_MAX = 50\r\nconst SUBMIT_BR_MIN = 0\r\nconst SUBMIT_BR_MAX = 50\r\n\r\nconst borderRadiusMarks = [\r\n {\r\n value: LAYOUT_BR_MIN,\r\n label: `${LAYOUT_BR_MIN}px`\r\n },\r\n {\r\n value: LAYOUT_BR_MAX,\r\n label: `${LAYOUT_BR_MAX}px`\r\n }\r\n]\r\n\r\nconst ViewDesign = ({ design, changeValue, changeFont }) => {\r\n\r\n const valuetext = (value) => { \r\n value = `${value}px`;\r\n return value;\r\n }\r\n \r\n const classes = viewStyles()\r\n return (\r\n \r\n \r\n \r\n \r\n Customize the design of your form\r\n \r\n {/* LAYOUT BLOCK */}\r\n \r\n Layout\r\n \r\n {/* ********** Text Align ********** */}\r\n \r\n \r\n Text Align:\r\n { changeValue(\"layout\", \"textAlign\", e.target.value) }} row>\r\n }\r\n label=\"Left\"\r\n labelPlacement=\"end\"\r\n className={classes.designRadioLabel}\r\n />\r\n }\r\n label=\"Center\"\r\n labelPlacement=\"end\"\r\n className={classes.designRadioLabel}\r\n />\r\n }\r\n label=\"Right\"\r\n labelPlacement=\"end\"\r\n className={classes.designRadioLabel}\r\n /> \r\n \r\n \r\n \r\n {/* ********** Border Radius ********** */}\r\n \r\n \r\n Border Radius:\r\n { changeValue(\"layout\", \"borderRadius\", v) }}\r\n value={design.layout.borderRadius}\r\n />\r\n \r\n \r\n {/* ********** Input Field Border Radius ********** */}\r\n \r\n \r\n Input Field Border Radius:\r\n { changeValue(\"layout\", \"fieldBorderRadius\", v) }}\r\n value={design.layout.fieldBorderRadius}\r\n />\r\n \r\n \r\n {/* LAYOUT BLOCK END */}\r\n \r\n \r\n \r\n {/* BACKGROUNDS BLOCK */}\r\n \r\n Backgrounds\r\n \r\n {/* ********** Background Color ********** */}\r\n \r\n \r\n Background Color:\r\n {changeValue(\"backgrounds\", \"color\", color)}}>\r\n \r\n \r\n {/* ********** Input Background Color ********** */}\r\n \r\n \r\n Input Background Color:\r\n {changeValue(\"backgrounds\", \"inputColor\", color)}}>\r\n \r\n \r\n {/* BACKGROUNDS BLOCK END */}\r\n \r\n \r\n \r\n {/* FONTS BLOCK */}\r\n \r\n Fonts\r\n \r\n {/* ********** Title ********** */}\r\n \r\n \r\n Title:\r\n {changeFont(\"title\", \"color\", color)}}\r\n >\r\n { changeFont(\"title\", \"font\", font) }}\r\n >\r\n { changeFont(\"title\", \"size\", parseInt(e.target.value)) }} \r\n />\r\n \r\n \r\n {/* ********** Label Text ********** */}\r\n \r\n \r\n Label Text:\r\n {changeFont(\"label\", \"color\", color)}}\r\n >\r\n { changeFont(\"label\", \"font\", font) }}\r\n >\r\n { changeFont(\"label\", \"size\", parseInt(e.target.value)) }} \r\n />\r\n \r\n \r\n {/* ********** Input Text ********** */}\r\n \r\n \r\n Input Text:\r\n {changeFont(\"input\", \"color\", color)}}\r\n >\r\n { changeFont(\"input\", \"font\", font) }}\r\n >\r\n { changeFont(\"input\", \"size\", parseInt(e.target.value)) }} \r\n />\r\n \r\n \r\n {/* ********** Button Text ********** */}\r\n \r\n \r\n Button Text:\r\n {changeFont(\"button\", \"color\", color)}}\r\n >\r\n { changeFont(\"button\", \"font\", font) }}\r\n >\r\n { changeFont(\"button\", \"size\", parseInt(e.target.value)) }}\r\n />\r\n \r\n \r\n {/* FONTS BLOCK END */} \r\n \r\n \r\n \r\n {/* SUBMIT BUTTON BLOCK */}\r\n \r\n Submit Button\r\n \r\n {/* ********** Button Alignment ********** */}\r\n \r\n \r\n Button Alignment:\r\n { changeValue(\"submit\", \"alignment\", e.target.value) }} row>\r\n }\r\n label=\"Left\"\r\n labelPlacement=\"end\"\r\n className={classes.designRadioLabel}\r\n />\r\n }\r\n label=\"Center\"\r\n labelPlacement=\"end\"\r\n className={classes.designRadioLabel}\r\n />\r\n }\r\n label=\"Right\"\r\n labelPlacement=\"end\"\r\n className={classes.designRadioLabel}\r\n /> \r\n \r\n \r\n \r\n {/* ********** Button Background Color ********** */}\r\n \r\n \r\n Button Background Color:\r\n {changeValue(\"submit\", \"bgColor\", color)}}>\r\n \r\n \r\n {/* ********** Border Radius ********** */}\r\n \r\n \r\n Border Radius:\r\n { changeValue(\"submit\", \"borderRadius\", v) }}\r\n value={design.submit.borderRadius}\r\n />\r\n \r\n \r\n {/* SUBMIT BUTTON BLOCK END */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n changeValue: (sector, prop, val) => dispatch(generalChangeValue(sector, prop, val)),\r\n changeFont: (sector, prop, val) => dispatch(changeFontValues(sector, prop, val))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ViewDesign)","import * as types from './typeNames'\r\n\r\nexport const generalChangeValue = (propSector, propName, value) => ({\r\n type: types.CHANGE_ANY_VALUE,\r\n propSector,\r\n propName,\r\n value\r\n})\r\n\r\nexport const changeFontValues = (propSector, propName, value) => ({\r\n type: types.CHANGE_FONT_VALUES,\r\n propSector,\r\n propName,\r\n value\r\n})","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Box, Divider, TextField, Grid, Tooltip } from '@material-ui/core'\r\nimport { viewStyles } from '../styles/styles'\r\nimport RightPreviewPart from './RightPreviewPart'\r\nimport { changeNameElement, setFormName } from '../actions/settings'\r\nimport infoIcon from '../styles/images/info.png'\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport CancelFormButton from '../containers/CancelFormButton'\r\n\r\nconst ViewSettings = ({ settings, changeValue, setFormName }) => {\r\n const classes = viewStyles()\r\n return (\r\n \r\n \r\n \r\n \r\n Start setting up your form\r\n \r\n \r\n \r\n {setFormName(e.target.value)}} \r\n margin=\"normal\" \r\n placeholder=\"Contact Me\"\r\n className={classes.settingsFieldText}\r\n fullWidth={true}\r\n > \r\n \r\n \r\n }\r\n value={settings.ownerEmail}\r\n onChange={(e) => {changeValue(e.target.value, null, 'email')}} \r\n margin=\"normal\"\r\n className={classes.settingsFieldText}\r\n fullWidth={true}\r\n placeholder=\"user@user.com\"\r\n >\r\n \r\n \r\n }\r\n value={settings.successMessage}\r\n onChange={(e) => {changeValue(e.target.value, null, 'message')}}\r\n margin=\"normal\"\r\n className={classes.settingsFieldText} \r\n fullWidth={true}\r\n placeholder=\"Success! Message received. Thank you.\"\r\n multiline={true}\r\n minRows={4}\r\n maxRows={6}\r\n >\r\n \r\n \r\n }\r\n value={settings.errorMessage}\r\n onChange={(e) => {changeValue(e.target.value, null, 'error')}}\r\n margin=\"normal\"\r\n className={classes.settingsFieldText} \r\n fullWidth={true}\r\n placeholder=\"An error has been encountered. Please try again.\"\r\n multiline={true}\r\n minRows={4}\r\n maxRows={6}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst useStylesInfoTooltip = makeStyles(() => ({\r\n arrow: {\r\n color: '#333' \r\n },\r\n tooltip: {\r\n backgroundColor: '#fff',\r\n color: '#333',\r\n border: '#333 1px solid',\r\n borderRadius: 0,\r\n padding: '5px 10px',\r\n fontSize: 12,\r\n maxWidth: 130,\r\n fontFamily: 'Asap-Regular'\r\n }\r\n}));\r\n\r\nconst InfoTooltip = (props) => {\r\n const classes = useStylesInfoTooltip()\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst Label = ({title, description}) => {\r\n const classes = viewStyles()\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n changeValue: (name, id, kind) => dispatch(changeNameElement(name, id, kind)),\r\n setFormName: name => dispatch(setFormName(name))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ViewSettings)","import * as types from './typeNames'\r\nimport axios from 'axios'\r\nimport qs from 'qs'\r\nimport LZString from 'lz-string'\r\nimport { baseURL } from './base'\r\nimport { changeView, QUIZ_SUBMISSION_VIEW } from './main'\r\nimport { setSettings } from './settings'\r\n\r\n\r\nexport const getPresentations = formId => dispatch => {\r\n const url = `${baseURL}/presentations/${formId}`\r\n \r\n return axios.get(url)\r\n .then(response => {\r\n if(response.data && response.data.status === \"success\"){\r\n dispatch(setPresentationList(response.data.data))\r\n dispatch(getAnswers(formId, -1, 1, 20))\r\n }else{\r\n dispatch(()=>({type:\"error\", error:{message:\"Server Error...\"}}))\r\n } \r\n })\r\n .catch(err => { console.log(err); dispatch(()=>({type:\"error\", err})) })\r\n .then(()=>{console.log(\"Get List Request Finished!\");})\r\n}\r\n\r\n\r\nexport const getAnswers = (formId, presId, page, pageSize) => dispatch => {\r\n dispatch(setAnswersLoader(true))\r\n const url = `${baseURL}/answers/${formId}?pid=${presId}&page=${page}&pageSize=${pageSize}`\r\n return axios.get(url)\r\n .then(response => {\r\n if(response.data && response.data.status === \"success\"){\r\n dispatch(setAnswerList(response.data.data.answers, response.data.data.total, page))\r\n }else{\r\n dispatch(()=>({type:\"error\", error:{message:\"Server Error...\"}}))\r\n }\r\n })\r\n .catch(err => {console.log(err); dispatch(()=>({type:\"error\", err}))})\r\n .then(() => {\r\n console.log(\"Get Answers Done!\");\r\n dispatch(setAnswersLoader(false))\r\n })\r\n}\r\n\r\nexport const getQuizResultsById = (quizId, page, pageSize)=> dispatch => {\r\n const url = `${baseURL}/QuizAnswers`\r\n const data = {\r\n quizId: quizId\r\n }\r\n if (page) {\r\n data.page = page;\r\n }\r\n if (pageSize) {\r\n data.pageSize = pageSize;\r\n }\r\n return axios.post(url, qs.stringify(data))\r\n .then(response => {\r\n if (response.data.status === 'success') {\r\n console.log(\"Result Create: \", response.data.data)\r\n //dispatch(setSettings(response.data.data, null, null))\r\n dispatch(setAnswerList(response.data.data.answers, response.data.data.total, page || 1))\r\n }\r\n else {\r\n console.log(response.data)\r\n dispatch(() => ({ type: \"error\", err: response.data.error }))\r\n }\r\n })\r\n .catch(err => { console.log(err); dispatch(() => ({ type: \"error\", err })) })\r\n .then(() => { console.log(\"Get Quiz Results Request Finished!\"); dispatch(changeView(QUIZ_SUBMISSION_VIEW)) })\r\n}\r\n\r\nconst setPresentationList = presentations => ({\r\n type: types.SET_PRESENTATION_LIST,\r\n presentations\r\n})\r\n\r\nconst setAnswerList = (answers, total, page) => ({\r\n type: types.SET_ANSWER_LIST,\r\n answers,\r\n total,\r\n page\r\n})\r\n\r\nexport const selectPresentation = presentation => ({\r\n type: types.SELECT_PRESENTATION,\r\n presentation\r\n})\r\n\r\nexport const selectAnswer = answer => dispatch => {\r\n dispatch({\r\n type: types.SELECT_ANSWER,\r\n answer\r\n })\r\n const url = `${baseURL}/answer/${answer.ResponseId}`\r\n return axios.get(url)\r\n .then(response => {\r\n if(response.data && response.data.status === \"success\"){\r\n let answer = response.data.data;\r\n let elements = JSON.parse(LZString.decompressFromBase64(answer.Elements))\r\n answer.decryptedElements = elements;\r\n dispatch(setAnswer(answer))\r\n }else{\r\n dispatch(()=>({type:\"error\", error:{message:\"Server Error...\"}}))\r\n }\r\n })\r\n .catch(err => {console.log(err); dispatch(()=>({type:\"error\", err}))})\r\n .then(() => {console.log(`Get Answer ${answer.ResponseId} Done!`);})\r\n}\r\n\r\n\r\nexport const selectQuizAnswer = answer => dispatch => {\r\n dispatch({\r\n type: types.SELECT_ANSWER,\r\n answer\r\n })\r\n const url = `${baseURL}/quizanswer/${answer.ResponseId}`\r\n return axios.get(url)\r\n .then(response => {\r\n if(response.data && response.data.status === \"success\"){\r\n let answer = response.data.data;\r\n let elements = JSON.parse(LZString.decompressFromBase64(answer.Elements))\r\n answer.decryptedElements = elements;\r\n dispatch(setAnswer(answer))\r\n }else{\r\n dispatch(()=>({type:\"error\", error:{message:\"Server Error...\"}}))\r\n }\r\n })\r\n .catch(err => {console.log(err); dispatch(()=>({type:\"error\", err}))})\r\n .then(() => {console.log(`Get Answer ${answer.ResponseId} Done!`);})\r\n}\r\n\r\n\r\n\r\nexport const setAnswer = answerModel => ({\r\n type: types.SET_ANSWER,\r\n answerModel\r\n})\r\n\r\nconst setAnswersLoader = flag => ({\r\n type: types.SET_ANSWERS_LOADER,\r\n flag\r\n})","import React, { Component } from 'react'\r\n\r\nimport { Box, Grid, Button, Table, TableBody, TableCell, \r\n TableContainer, TableRow, Paper } from '@material-ui/core'\r\n\r\nimport { cancel } from '../actions/main'\r\nimport { browserHistory } from 'react-router'\r\nimport './AnswersView.scss'\r\n\r\nexport default class AnswersView extends Component{\r\n constructor(props){\r\n super(props) \r\n }\r\n\r\n handleCancel = () => {\r\n cancel();\r\n browserHistory.push(\"/settings\")\r\n }\r\n\r\n render(){\r\n const {answers} = this.props\r\n let elements = []\r\n if(answers.answerModel && answers.answerModel.decryptedElements && answers.answerModel.decryptedElements.length > 0){\r\n elements = answers.answerModel.decryptedElements\r\n }\r\n return (\r\n \r\n \r\n Data\r\n \r\n \r\n \r\n \r\n \r\n \r\n {elements.map((item) => (\r\n \r\n {item.label}:\r\n \r\n {\r\n ((item) => {\r\n switch(item.name){\r\n case \"checklist\":\r\n return (\r\n
\r\n {\r\n item.value.map((sub) => {\r\n return(\r\n {sub.value} \r\n ) \r\n })\r\n }\r\n
\r\n )\r\n case \"date\":\r\n let date = new Date(item.value)\r\n return(\r\n {date.toDateString()}\r\n )\r\n case \"time\":\r\n let time = new Date(item.value)\r\n return(\r\n {time.toLocaleTimeString()}\r\n )\r\n default:\r\n return (\r\n {item.value}\r\n )\r\n }\r\n })(item) \r\n }\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n}","import { connect } from 'react-redux'\r\nimport AnswersView from '../components/AnswersView'\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n \r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AnswersView)","import React, { Component } from 'react'\r\nimport {connect} from 'react-redux'\r\n\r\nimport { Box, Divider, Grid, Select, FormControl, InputLabel, MenuItem, Chip,\r\n Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper,\r\n TablePagination, CircularProgress } from '@material-ui/core'\r\n\r\nimport { Folder, Email } from '@material-ui/icons'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport { getPresentations, selectPresentation, getAnswers, selectAnswer } from \"../actions/answers\";\r\nimport CancelFormButton from '../containers/CancelFormButton'\r\nimport AnswersContainer from './AnswersContainer'\r\n\r\n// ********** STYLES ************//\r\nconst defaultBoxAbsolute = {\r\n position: \"absolute\",\r\n left: 0,\r\n top:0,\r\n right: 0,\r\n bottom: 0\r\n}\r\n\r\nconst styles = ({\r\n box_view: {\r\n ...defaultBoxAbsolute\r\n },\r\n leftBox: {\r\n ...defaultBoxAbsolute,\r\n right: \"40%\"\r\n },\r\n rightBox: {\r\n ...defaultBoxAbsolute,\r\n left: \"60%\"\r\n },\r\n bottomBox: {\r\n position: \"absolute\",\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n },\r\n devider: {\r\n position: \"absolute\",\r\n left: \"60%\"\r\n },\r\n titleLeft:{\r\n fontFamily:\"Asap-Italic\",\r\n fontSize: 22,\r\n color:\"#666666\",\r\n marginBottom: \"20px\"\r\n },\r\n presDropdown: {\r\n width: \"100%\", \r\n '&>label.MuiFormLabel-root':{\r\n fontFamily: 'Asap-Bold',\r\n color: '#666666',\r\n fontSize: 16,\r\n transform: 'translate(0, -4px) scale(0.75)'\r\n },\r\n '& .MuiInputBase-input':{\r\n fontFamily: 'Asap-Italic',\r\n fontSize: 14,\r\n color: '#666666',\r\n padding: 0,\r\n backgroundColor: '#f5f5f5'\r\n },\r\n '& .MuiInputBase-input.MuiSelect-select': {\r\n backgroundColor: '#ffffff',\r\n border: '#707070 1px solid'\r\n },\r\n '& .MuiInput-underline:after, & .MuiInput-underline:before':{\r\n display: 'none'\r\n }\r\n },\r\n chip:{\r\n '&.MuiChip-root':{\r\n backgroundColor: 'transparent',\r\n height: 24\r\n },\r\n '& .MuiChip-icon, & .MuiSvgIcon-root':{\r\n fontSize: 18,\r\n color: '#666666'\r\n },\r\n '& .MuiChip-label':{\r\n fontFamily: 'Asap-Italic',\r\n fontSize: 12,\r\n color: '#666666',\r\n height: 16\r\n }\r\n },\r\n tableRoot:{\r\n width: '100%',\r\n marginTop: 15,\r\n boxShadow: 'none',\r\n position: 'relative',\r\n '& .MuiTablePagination-root':{\r\n '& .MuiTablePagination-toolbar': {\r\n minHeight: 24,\r\n paddingTop: 8,\r\n '& .MuiTypography-root':{\r\n fontFamily: 'Asap-Italic',\r\n color: '#333333',\r\n fontWeight: 'bold',\r\n fontSize: 12\r\n },\r\n '& .MuiTablePagination-actions':{\r\n '& .MuiIconButton-root':{\r\n padding: 4,\r\n '& .MuiSvgIcon-root':{\r\n width: 18,\r\n height: 18\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n tableContainer:{\r\n maxHeight: 440\r\n },\r\n table: {\r\n minWidth: 400,\r\n width: 'calc(100% - 15px)', \r\n '& .MuiTableCell-root':{\r\n fontFamily: 'Asap-Regular',\r\n fontSize: 12,\r\n color: '#666666',\r\n padding: '4px 5px',\r\n lineHeight: 1,\r\n border: 'none'\r\n },\r\n '& .MuiTableCell-root.MuiTableCell-head':{\r\n fontSize: 14,\r\n fontWeight: 'bold',\r\n color: '#000000',\r\n fontFamily: 'Asap-Italic',\r\n backgroundColor: '#ffffff' \r\n },\r\n '& .MuiTableCell-root.MuiTableCell-body':{\r\n '& .MuiSvgIcon-root':{\r\n display: 'block',\r\n width: 18,\r\n height: 18\r\n }\r\n }\r\n },\r\n row: {\r\n cursor: \"pointer\",\r\n fontFamily: 'Asap-Italic',\r\n fontSize: 16,\r\n '&.selected': {\r\n backgroundColor: '#cdcdcd',\r\n '& .MuiTableCell-root.MuiTableCell-body':{\r\n fontWeight: 'bold',\r\n borderTop: '#666666 1px solid',\r\n borderBottom: '#666666 1px solid',\r\n color: '#333333'\r\n },\r\n '& .MuiTableCell-root.MuiTableCell-body:first-child':{\r\n borderLeft: '#666666 1px solid',\r\n },\r\n '& .MuiTableCell-root.MuiTableCell-body:last-child':{\r\n borderRight: '#666666 1px solid',\r\n }\r\n },\r\n '&:hover':{\r\n backgroundColor: '#cdcdcd'\r\n },\r\n '&:nth-child(2n)':{\r\n backgroundColor: '#f1f1f1',\r\n '&:hover':{\r\n backgroundColor: '#cdcdcd'\r\n }\r\n }\r\n },\r\n loaderBox:{\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0,\r\n backgroundColor: 'rgba(0,0,0,0.6)',\r\n zIndex: 2,\r\n '& .MuiCircularProgress-root':{\r\n color: '#EB8023'\r\n }\r\n }\r\n})\r\n\r\n// ********** STYLES END *********//\r\n\r\nconst ANSWERS_PAGE_SIZE = 20\r\n\r\nclass ViewPreview extends Component {\r\n constructor(props){\r\n super(props)\r\n }\r\n \r\n componentDidMount(){\r\n const {init, settings, answers} = this.props;\r\n if(answers.presentations.length === 0)\r\n init(settings.form.FormId); \r\n }\r\n\r\n handleChange = (event) => {\r\n let presentation = event.target.value;\r\n const { answers, selectPresentation, getAnswers, settings } = this.props;\r\n selectPresentation(presentation);\r\n if(presentation.PresentationId > 0){\r\n if(!answers.answers[presentation.PresentationId] || \r\n !answers.answers[presentation.PresentationId].items || \r\n answers.answers[presentation.PresentationId].items.length === 0){\r\n getAnswers(settings.form.FormId, presentation.PresentationId, 1, ANSWERS_PAGE_SIZE)\r\n }\r\n }else{\r\n if(answers.answers.all.items.length === 0){\r\n getAnswers(settings.form.FormId, presentation.PresentationId, 1, ANSWERS_PAGE_SIZE)\r\n }\r\n }\r\n\r\n }\r\n\r\n handleSelectAnswer = (event, answer) => {\r\n console.log(\"Answer Selected: \", answer)\r\n const {selectAnswer} = this.props\r\n selectAnswer(answer)\r\n }\r\n\r\n showPresValue = (item, classes) => {\r\n if (item.PresentationId > 0)\r\n return (\r\n }\r\n label={`${item.EncryptedId} - ${item.Name}`} \r\n className={classes.chip} />\r\n );\r\n else\r\n return (\r\n }\r\n label={`${item.Name}`}\r\n className={classes.chip} />\r\n );\r\n }\r\n\r\n handleChangePage = (event, page) => {\r\n const {settings, answers, getAnswers} = this.props; \r\n console.log(\"handleChangePage: page: \", page)\r\n let newPage = page + 1;\r\n getAnswers(settings.form.FormId, answers.selectedPresentation.PresentationId, newPage, ANSWERS_PAGE_SIZE)\r\n }\r\n\r\n formatDateTime = (datetime) => {\r\n let d = datetime + \"Z\";\r\n let nd = new Date(d); \r\n let ds = nd.toLocaleDateString();\r\n let ts = nd.toLocaleTimeString();\r\n return `${ds} ${ts}`;\r\n }\r\n\r\n render(){\r\n const { answers, classes } = this.props;\r\n let answerObject = answers.selectedPresentation.PresentationId > 0 ? \r\n answers.answers[answers.selectedPresentation.PresentationId] :\r\n answers.answers.all;\r\n return (\r\n \r\n \r\n \r\n \r\n View and manage all of your form submissions\r\n \r\n \r\n \r\n Browser Projects\r\n this.showPresValue(v, classes)} \r\n onChange={this.handleChange}\r\n label=\"Filter by Presentations\"\r\n autoWidth\r\n >\r\n \r\n }\r\n label={`${answers.itemPresAll.Name}`}\r\n className={classes.chip}\r\n />\r\n \r\n {\r\n answers.presentations.map((item) => {\r\n return(\r\n \r\n }\r\n label={`${item.EncryptedId} - ${item.Name}`}\r\n className={classes.chip}\r\n />\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n answerObject && answerObject.items && answerObject.items.length > 0 ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n ID\r\n Date\r\n Sent To (Email)\r\n \r\n \r\n \r\n {answerObject.items.map((item) => (\r\n this.handleSelectAnswer(e, item)}>\r\n \r\n {item.ResponseId}\r\n {this.formatDateTime(item.Date)}\r\n {item.EmailSender}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n {\r\n answers.loader ? \r\n \r\n \r\n \r\n :\r\n <>\r\n } \r\n
\r\n :\r\n <>\r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n answers: state.answers,\r\n settings: state.settings \r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n init: formId => dispatch(getPresentations(formId)),\r\n selectPresentation: presentation => dispatch(selectPresentation(presentation)),\r\n getAnswers: (formId, presId, page, pageSize) => dispatch(getAnswers(formId, presId, page, pageSize)),\r\n selectAnswer: item => dispatch(selectAnswer(item))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ViewPreview))","import React, {Component} from 'react'\r\nimport {connect} from 'react-redux'\r\nimport ViewTemplate from './ViewTemplate'\r\nimport ViewEdit from './ViewEdit'\r\nimport ViewDesign from './ViewDesign'\r\nimport ViewSettings from './ViewSettings'\r\nimport ViewPreview from './ViewPreview'\r\n\r\nclass SwitchViews extends Component {\r\n componentDidMount(){ \r\n }\r\n\r\n render(){\r\n const {settings} = this.props;\r\n if(!settings.form){\r\n return(
)\r\n }\r\n\r\n switch(settings.tab.name){\r\n case \"templates\":\r\n return ()\r\n case \"edit\":\r\n return ()\r\n case \"design\":\r\n return ()\r\n case \"settings\":\r\n return ()\r\n case \"preview\":\r\n return ()\r\n default:\r\n return (\r\n
\r\n )\r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n settings: state.settings \r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, null)(SwitchViews)","import React from 'react'\r\nimport {Grid, Container, Box} from '@material-ui/core'\r\nimport TabsContainer from '../containers/TabsContainer'\r\nimport SwitchViews from '../containers/SwitchViews'\r\nimport { viewStyles } from '../styles/styles'\r\n\r\nconst Settings = ({tab}) => {\r\n const classes = viewStyles()\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Settings;","import React from 'react';\r\nimport { Table, TableHead, TableBody, TableRow, TableCell, IconButton, SvgIcon, Tooltip } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport { browserHistory } from 'react-router'\r\nimport { FORM_SETTINGS_VIEW } from '../actions/main'\r\nimport { ReactComponent as EditIcon } from '../styles/images/edit.svg'\r\nimport { ReactComponent as DuplicateIcon } from '../styles/images/duplicate.svg'\r\nimport { ReactComponent as TrashIcon } from '../styles/images/trash.svg'\r\n\r\n\r\nconst useStyles = makeStyles({\r\n table:{\r\n marginTop: 20\r\n },\r\n tableHead: {\r\n display: 'block'\r\n },\r\n tableBody:{\r\n display: 'block',\r\n minHeight: 500,\r\n maxHeight: 450,\r\n overflow: 'hidden',\r\n overflowY: 'auto'\r\n },\r\n tableRow:{\r\n '&:hover':{\r\n backgroundColor: '#dfdfdf'\r\n },\r\n '&.selected':{\r\n backgroundColor: '#cdcdcd'\r\n }\r\n },\r\n nameField:{\r\n width: 260,\r\n fontFamily: 'Asap-Italic',\r\n fontSize: 14,\r\n color:'#666666',\r\n padding: '6px 10px',\r\n cursor: 'pointer',\r\n borderLeft: 'transparent 6px solid',\r\n '&:hover, &.selected':{ \r\n transform: 'translate(10px, 0)',\r\n borderLeftColor: '#707070'\r\n },\r\n '&.selected':{\r\n fontWeight: 'bold' \r\n },\r\n \r\n transition: 'transform 0.2s ease'\r\n },\r\n buttonsField:{\r\n padding: 0\r\n },\r\n invisibleBtn:{\r\n background:'transparent',\r\n boxShadow: 'none',\r\n '&:disabled': {\r\n background:'transparent'\r\n }\r\n },\r\n actionBtn:{\r\n boxShadow: 'none',\r\n background:'transparent'\r\n },\r\n svgIcon: {\r\n stroke: '#515151',\r\n fontSize: 18,\r\n strokeMiterlimit:10,\r\n strokeLinecap:'round',\r\n strokeLinejoin: 'round',\r\n strokeWidth:'1px',\r\n fill:'#515151',\r\n '&:hover': {\r\n stroke: '#f5b01b',\r\n '& .trash':{\r\n fill:'#f5b01b',\r\n stroke: '#f5b01b',\r\n strokeWidth: '0.3px'\r\n },\r\n '& .duplicate':{\r\n '&.a': {\r\n fill:'#f5b01b',\r\n stroke: '#f5b01b' \r\n },\r\n '&.b': {\r\n stroke: '#f5b01b' \r\n },\r\n '&.c': {\r\n fill:'#f5b01b'\r\n }\r\n }\r\n },\r\n '& .edit':{\r\n fill: 'none'\r\n },\r\n '& .duplicate':{\r\n '&.a': {\r\n stroke: '#515151',\r\n strokeWidth:'0.119px'\r\n },\r\n '&.b': {\r\n stroke: '#515151',\r\n strokeWidth:'0.747px',\r\n fill: 'none',\r\n }\r\n },\r\n '& .trash':{\r\n stroke:'#515151',\r\n strokeWidth: '0.3px'\r\n }\r\n }\r\n})\r\n\r\nconst FormList = ({ deleteForm, duplicateForm, selectForm, forms, main, changeView, getForm, selectDefaultEditTab }) => {\r\n const classes = useStyles()\r\n const handleEdit = id => {\r\n // set the tab to the default for editing\r\n selectDefaultEditTab();\r\n changeView(FORM_SETTINGS_VIEW);\r\n let url = `/settings/${id}`;\r\n browserHistory.push(url);\r\n }\r\n\r\n const handleSelectForm = form => {\r\n selectForm(form)\r\n getForm(form.FormId, true)\r\n }\r\n\r\n return (\r\n \r\n \r\n {/* \r\n Name of form\r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n {forms.map(form =>{\r\n return(\r\n \r\n handleSelectForm(form)}\r\n >\r\n {form.Name}\r\n \r\n \r\n \r\n handleEdit(form.FormId)}>\r\n \r\n \r\n \r\n \r\n deleteForm(form.FormId)}>\r\n \r\n \r\n \r\n \r\n duplicateForm(form.FormId)}>\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default FormList;","\r\nimport { connect } from 'react-redux'\r\nimport FormList from '../components/FormList'\r\nimport { deleteForm, duplicateForm, selectForm, editForm } from '../actions/formList'\r\nimport { changeView } from '../actions/main'\r\nimport { selectDefaultEditTab } from '../actions/settings'\r\n\r\nconst mapStateToProps = (state) => ({ \r\n forms: state.formList,\r\n main: state.main \r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n deleteForm: id => dispatch(deleteForm(id)), \r\n duplicateForm: id => dispatch(duplicateForm(id)),\r\n selectForm: form => dispatch(selectForm(form)),\r\n changeView: view => dispatch(changeView(view)),\r\n getForm: (id, isPreview) => dispatch(editForm(id, isPreview)),\r\n selectDefaultEditTab: () => dispatch(selectDefaultEditTab())\r\n})\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(FormList)","import React from 'react'\r\nimport { Button, Box, Fab, Tooltip } from '@material-ui/core'\r\nimport { HelpOutline } from '@material-ui/icons'\r\nimport { buttonStyles } from '../styles/styles'\r\nimport { browserHistory } from 'react-router'\r\n\r\nconst CreateNew = ({ add, userId }) => {\r\n const classes = buttonStyles();\r\n const handleAdd = userId => {\r\n add(userId)\r\n browserHistory.push(\"/settings/0\")\r\n }\r\n return (\r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n */}\r\n \r\n )\r\n}\r\n\r\nexport default CreateNew;","import { connect } from 'react-redux'\r\nimport { createNewForm } from '../actions/formList'\r\nimport CreateNew from '../components/CreateNew'\r\n\r\nconst mapStateToProps = state => ({\r\n userId: state.main.userId\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n add: (userId) => dispatch(createNewForm(userId))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateNew)","import React from 'react'\r\nimport { Grid, Container, Box } from '@material-ui/core'\r\nimport FormListCont from '../containers/FormListCont'\r\nimport CreateNewCont from '../containers/CreateNewCont'\r\nimport AddFormButton from '../containers/AddFormButton'\r\nimport EmazeForm from '../containers/EmazeForm'\r\nimport './FormActions.scss'\r\n\r\nfunction FormActions({main}){ \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Manage your forms\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Preview\r\n \r\n \r\n Make it easy for people to reach you 24/7.\r\n \r\n \r\n {\r\n main.selectedForm !=null ?\r\n \r\n :\r\n <>\r\n } \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default FormActions;","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgCorrect = function SvgCorrect(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_4293\",\n \"data-name\": \"Group 4293\",\n width: 26,\n height: 26,\n viewBox: \"0 0 26 26\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_48087\",\n \"data-name\": \"Path 48087\",\n d: \"M190.694,295.224a13,13,0,1,1-13,13,13,13,0,0,1,13-13Zm0,1.872a11.128,11.128,0,1,0,11.128,11.128A11.128,11.128,0,0,0,190.694,297.1Z\",\n transform: \"translate(-177.694 -295.224)\",\n fill: \"#379824\",\n fillRule: \"evenodd\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_48088\",\n \"data-name\": \"Path 48088\",\n d: \"M309.268,470.727h0a.935.935,0,0,1,1.322-.027l3.889,3.776,7.508-8.647a.939.939,0,0,1,1.318-.1h0a.936.936,0,0,1,.1,1.318l-8.141,9.376a.94.94,0,0,1-1.2.186.915.915,0,0,1-.247-.171l-4.521-4.391A.939.939,0,0,1,309.268,470.727Z\",\n transform: \"translate(-303.32 -458.128)\",\n fill: \"#379824\",\n fillRule: \"evenodd\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCorrect, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/correct.eaff03d0.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgWrong = function SvgWrong(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_4294\",\n \"data-name\": \"Group 4294\",\n width: 26,\n height: 26,\n viewBox: \"0 0 26 26\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_48089\",\n \"data-name\": \"Path 48089\",\n d: \"M937.094,295.224a13,13,0,1,1-13,13,13,13,0,0,1,13-13Zm0,1.872a11.128,11.128,0,1,0,11.128,11.128A11.128,11.128,0,0,0,937.094,297.1Z\",\n transform: \"translate(-924.094 -295.224)\",\n fill: \"#ca2c29\",\n fillRule: \"evenodd\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_48090\",\n \"data-name\": \"Path 48090\",\n d: \"M1097.216,456.591h0a.942.942,0,0,0-1.322.019l-4.4,4.414-4.4-4.414a.942.942,0,0,0-1.322-.019h0a.933.933,0,0,0-.019,1.322l4.421,4.435-4.421,4.435a.933.933,0,0,0,.019,1.322h0a.942.942,0,0,0,1.322-.019l4.4-4.414,4.4,4.414a.942.942,0,0,0,1.322.019h0a.933.933,0,0,0,.019-1.322l-4.421-4.435,4.421-4.435A.933.933,0,0,0,1097.216,456.591Z\",\n transform: \"translate(-1078.494 -449.348)\",\n fill: \"#ca2c29\",\n fillRule: \"evenodd\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWrong, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/wrong.67d1a2aa.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from 'react'\r\n\r\nimport { Box, Grid, Button, Table, TableBody, TableCell, \r\n TableContainer, TableRow, Paper, TableHead, SvgIcon } from '@material-ui/core'\r\n\r\nimport { cancel } from '../actions/main'\r\nimport { browserHistory } from 'react-router'\r\nimport './AnswersView.scss'\r\nimport './QuizAnswersView.scss'\r\nimport { ReactComponent as CorrectIcon } from '../styles/images/correct.svg'\r\nimport { ReactComponent as WrongIcon } from '../styles/images/wrong.svg'\r\n\r\n\r\nexport default class QuizAnswersView extends Component{\r\n constructor(props){\r\n super(props) \r\n }\r\n\r\n handleCancel = () => {\r\n cancel();\r\n browserHistory.push(\"/settings\")\r\n }\r\n\r\n render(){\r\n const {answers} = this.props\r\n let sections = [];\r\n let settings = {};\r\n if (answers.answerModel && answers.answerModel.decryptedElements) {\r\n sections = Object.values(answers.answerModel.decryptedElements.quizes);\r\n settings = answers.answerModel.decryptedElements.settings\r\n }\r\n return (\r\n \r\n \r\n Data\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Question\r\n Answer\r\n {settings.noCorrectAnswers ? <> : Result}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n sections.map((sect, index) =>\r\n \r\n \r\n \r\n Section {index + 1}:\r\n \r\n {settings.noCorrectAnswers ? <> : }\r\n \r\n \r\n \r\n {sect.questions.map((question) => \r\n \r\n {\r\n (() => {\r\n if (question.isAnswered) {\r\n let res = [< TableCell > {question.questionText}]\r\n let ansList = question.answers.filter(ans => ans.isSelected).map(ans =>\r\n

{ans.answerText}

)\r\n res.push({ansList})\r\n if (!settings.noCorrectAnswers) {\r\n res.push( {question.isOpenQuestion ? <> : (question.isCorrect ?\r\n :\r\n )\r\n })\r\n }\r\n return res;\r\n\r\n }\r\n else {\r\n let res = [\r\n {question.questionText},\r\n ,\r\n ]\r\n if (!settings.noCorrectAnswers) {\r\n res.push( {'Not Answered'});\r\n }\r\n return \r\n }\r\n })()\r\n }\r\n
)}\r\n
\r\n
\r\n )\r\n }\r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n}","import { connect } from 'react-redux'\r\nimport QuizAnswersView from '../components/QuizAnswersView'\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n ...state\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n \r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(QuizAnswersView)","import React, { Component } from 'react'\r\nimport {connect} from 'react-redux'\r\n\r\nimport { Box, Divider, Grid, Select, FormControl, InputLabel, MenuItem, Chip,\r\n Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper,\r\n TablePagination, CircularProgress } from '@material-ui/core'\r\n\r\nimport { Folder, Email } from '@material-ui/icons'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport { getPresentations, selectPresentation, selectQuizAnswer, getQuizResultsById } from \"../actions/answers\";\r\nimport CancelFormButton from './CancelFormButton'\r\nimport QuizAnswersContainer from './QuizAnswersContainer'\r\n\r\n// ********** STYLES ************//\r\nconst defaultBoxAbsolute = {\r\n position: \"absolute\",\r\n left: 0,\r\n top:0,\r\n right: 0,\r\n bottom: 0\r\n}\r\n\r\nconst styles = ({\r\n box_view: {\r\n ...defaultBoxAbsolute\r\n },\r\n leftBox: {\r\n ...defaultBoxAbsolute,\r\n right: \"75%\"\r\n },\r\n rightBox: {\r\n ...defaultBoxAbsolute,\r\n left: \"25%\"\r\n },\r\n bottomBox: {\r\n position: \"absolute\",\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n },\r\n devider: {\r\n position: \"absolute\",\r\n left: \"25%\"\r\n },\r\n titleLeft:{\r\n fontFamily:\"Asap-Italic\",\r\n fontSize: 22,\r\n color:\"#666666\",\r\n marginBottom: \"20px\"\r\n },\r\n presDropdown: {\r\n width: \"100%\", \r\n '&>label.MuiFormLabel-root':{\r\n fontFamily: 'Asap-Bold',\r\n color: '#666666',\r\n fontSize: 16,\r\n transform: 'translate(0, -4px) scale(0.75)'\r\n },\r\n '& .MuiInputBase-input':{\r\n fontFamily: 'Asap-Italic',\r\n fontSize: 14,\r\n color: '#666666',\r\n padding: 0,\r\n backgroundColor: '#f5f5f5'\r\n },\r\n '& .MuiInputBase-input.MuiSelect-select': {\r\n backgroundColor: '#ffffff',\r\n border: '#707070 1px solid'\r\n },\r\n '& .MuiInput-underline:after, & .MuiInput-underline:before':{\r\n display: 'none'\r\n }\r\n },\r\n chip:{\r\n '&.MuiChip-root':{\r\n backgroundColor: 'transparent',\r\n height: 24\r\n },\r\n '& .MuiChip-icon, & .MuiSvgIcon-root':{\r\n fontSize: 18,\r\n color: '#666666'\r\n },\r\n '& .MuiChip-label':{\r\n fontFamily: 'Asap-Italic',\r\n fontSize: 12,\r\n color: '#666666',\r\n height: 16\r\n }\r\n },\r\n tableRoot:{\r\n width: '100%',\r\n marginTop: 15,\r\n boxShadow: 'none',\r\n position: 'relative',\r\n '& .MuiTablePagination-root':{\r\n '& .MuiTablePagination-toolbar': {\r\n minHeight: 24,\r\n paddingTop: 8,\r\n '& .MuiTypography-root':{\r\n fontFamily: 'Asap-Italic',\r\n color: '#333333',\r\n fontWeight: 'bold',\r\n fontSize: 12\r\n },\r\n '& .MuiTablePagination-actions':{\r\n '& .MuiIconButton-root':{\r\n padding: 4,\r\n '& .MuiSvgIcon-root':{\r\n width: 18,\r\n height: 18\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n tableContainer:{\r\n maxHeight: 440\r\n },\r\n table: {\r\n minWidth: 207,\r\n width: 'calc(100% - 15px)', \r\n '& .MuiTableCell-root':{\r\n fontFamily: 'Asap-Regular',\r\n fontSize: 12,\r\n color: '#666666',\r\n padding: '4px 5px',\r\n lineHeight: 1,\r\n border: 'none'\r\n },\r\n '& .MuiTableCell-root.MuiTableCell-head':{\r\n fontSize: 14,\r\n fontWeight: 'bold',\r\n color: '#000000',\r\n fontFamily: 'Asap-Italic',\r\n backgroundColor: '#ffffff' \r\n },\r\n '& .MuiTableCell-root.MuiTableCell-body':{\r\n '& .MuiSvgIcon-root':{\r\n display: 'block',\r\n width: 18,\r\n height: 18\r\n }\r\n }\r\n },\r\n row: {\r\n cursor: \"pointer\",\r\n fontFamily: 'Asap-Italic',\r\n fontSize: 16,\r\n '&.selected': {\r\n backgroundColor: '#cdcdcd',\r\n '& .MuiTableCell-root.MuiTableCell-body':{\r\n fontWeight: 'bold',\r\n borderTop: '#666666 1px solid',\r\n borderBottom: '#666666 1px solid',\r\n color: '#333333'\r\n },\r\n '& .MuiTableCell-root.MuiTableCell-body:first-child':{\r\n borderLeft: '#666666 1px solid',\r\n },\r\n '& .MuiTableCell-root.MuiTableCell-body:last-child':{\r\n borderRight: '#666666 1px solid',\r\n }\r\n },\r\n '&:hover':{\r\n backgroundColor: '#cdcdcd'\r\n },\r\n '&:nth-child(2n)':{\r\n backgroundColor: '#f1f1f1',\r\n '&:hover':{\r\n backgroundColor: '#cdcdcd'\r\n }\r\n }\r\n },\r\n loaderBox:{\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0,\r\n backgroundColor: 'rgba(0,0,0,0.6)',\r\n zIndex: 2,\r\n '& .MuiCircularProgress-root':{\r\n color: '#EB8023'\r\n }\r\n }\r\n})\r\n\r\n// ********** STYLES END *********//\r\n\r\nconst ANSWERS_PAGE_SIZE = 10\r\n\r\nclass QuizViewPreview extends Component {\r\n constructor(props){\r\n super(props)\r\n }\r\n \r\n componentDidMount(){\r\n const {init, settings, answers} = this.props;\r\n if (answers.presentations.length === 0 && settings.form && settings.form.FormId) {\r\n init(settings.form.FormId);\r\n }\r\n else if (this.props.quizId) {\r\n\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n let presentation = event.target.value;\r\n const { answers, selectPresentation, getQuizResultsById, settings } = this.props;\r\n selectPresentation(presentation);\r\n if(presentation.PresentationId > 0){\r\n if(!answers.answers[presentation.PresentationId] || \r\n !answers.answers[presentation.PresentationId].items || \r\n answers.answers[presentation.PresentationId].items.length === 0){\r\n getQuizResultsById(presentation.PresentationId, 1, ANSWERS_PAGE_SIZE)\r\n }\r\n }else{\r\n if(answers.answers.all.items.length === 0){\r\n getQuizResultsById(presentation.PresentationId, 1, ANSWERS_PAGE_SIZE)\r\n }\r\n }\r\n\r\n }\r\n\r\n handleSelectAnswer = (event, answer) => {\r\n console.log(\"Answer Selected: \", answer)\r\n const {selectAnswer} = this.props\r\n selectAnswer(answer)\r\n }\r\n\r\n showPresValue = (item, classes) => {\r\n if (item.PresentationId > 0)\r\n return (\r\n }\r\n label={`${item.EncryptedId} - ${item.Name}`} \r\n className={classes.chip} />\r\n );\r\n else\r\n return (\r\n }\r\n label={`${item.Name}`}\r\n className={classes.chip} />\r\n );\r\n }\r\n\r\n handleChangePage = (event, page) => {\r\n const { settings, answers, getQuizResultsById, quizId} = this.props;\r\n console.log(\"handleChangePage: page: \", page)\r\n let newPage = page + 1;\r\n getQuizResultsById(quizId, newPage, ANSWERS_PAGE_SIZE)\r\n }\r\n\r\n formatDateTime = (datetime) => {\r\n let d = datetime + \"Z\";\r\n let nd = new Date(d); \r\n let ds = nd.toLocaleDateString();\r\n let ts = nd.toLocaleTimeString();\r\n return `${ds} ${ts}`;\r\n }\r\n\r\n render(){\r\n const { answers, classes } = this.props;\r\n // in this context, answers refers replies, each submition of a quiz\r\n let answerObject = answers.selectedPresentation.PresentationId > 0 ? \r\n answers.answers[answers.selectedPresentation.PresentationId] :\r\n answers.answers.all;\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {\r\n answerObject && answerObject.items && answerObject.items.length > 0 ?\r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n Submition Data\r\n {/*Date*/}\r\n {/*Sent To (Email)*/}\r\n \r\n \r\n \r\n {answerObject.items.map((item) => (\r\n \r\n this.handleSelectAnswer(e, item)}>\r\n \r\n {item.SubmiterEmail || 'Anonymous'}\r\n
\r\n {this.formatDateTime(item.Date)}\r\n
\r\n
\r\n\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n {\r\n answers.loader ? \r\n \r\n \r\n \r\n :\r\n <>\r\n } \r\n
\r\n :\r\n <>\r\n }\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n answers: state.answers,\r\n settings: state.settings,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n init: formId => dispatch(getPresentations(formId)),\r\n selectPresentation: presentation => dispatch(selectPresentation(presentation)),\r\n getQuizResultsById: (presId, page, pageSize) => dispatch(getQuizResultsById(presId, page, pageSize)),\r\n selectAnswer: item => dispatch(selectQuizAnswer(item))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(QuizViewPreview))","import React, { Component } from 'react';\r\nimport { Box, CircularProgress, Container } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport { connect } from 'react-redux'\r\nimport { browserHistory } from 'react-router'\r\nimport { push } from 'react-router-redux'\r\n\r\nimport Header from '../components/Header';\r\nimport { Body, HeadlessBody } from '../components/Body';\r\nimport Settings from '../components/Settings'\r\nimport FormActions from '../components/FormActions'\r\nimport ViewPreview from './ViewPreview'\r\nimport QuizViewPreview from './QuizViewPreview'\r\nimport { FORM_LIST_VIEW, FORM_SETTINGS_VIEW, QUIZ_SUBMISSION_VIEW, cancel } from '../actions/main'\r\nimport { editForm } from '../actions/formList'\r\nimport {tabButtons} from '../defaults/templates'\r\nimport { selectTab, setSettings } from '../actions/settings'\r\n\r\n\r\nimport '../components/App.css';\r\n\r\nimport { getFormListByUserId } from '../actions/formList'\r\nimport { getQuizResultsById } from '../actions/answers'\r\n\r\nconst w = 940\r\nconst h = 800\r\n\r\nconst PopupContainerStyles = makeStyles({\r\n root:{\r\n backgroundColor: '#ffffff',\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n right:0,\r\n bottom:0\r\n },\r\n loaderBox:{\r\n color: \"#f5b01b\",\r\n position: \"absolute\",\r\n left: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n margin: \"auto\"\r\n }\r\n});\r\n\r\nconst PopupList = ({cancelAction, main}) => {\r\n const classes = PopupContainerStyles();\r\n switch (main.view) {\r\n case FORM_LIST_VIEW:\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n default:\r\n return ()\r\n } \r\n}\r\n\r\nconst PopupSettings = ({cancelAction, main, tab}) => {\r\n const classes = PopupContainerStyles();\r\n switch (main.view) {\r\n case FORM_SETTINGS_VIEW:\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n default:\r\n return ()\r\n } \r\n}\r\n\r\n\r\nconst PopupSubmission = ({ cancelAction, main, quizId}) => {\r\n const classes = PopupContainerStyles();\r\n switch (main.view) {\r\n case QUIZ_SUBMISSION_VIEW:\r\n //default:\r\n return (\r\n \r\n {/*
*/}\r\n \r\n \r\n {/**/}\r\n \r\n
\r\n );\r\n default:\r\n return ()\r\n } \r\n}\r\n\r\n\r\n\r\nconst Loader = () => {\r\n const classes = PopupContainerStyles();\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\nconst HeadlessLoader = () => {\r\n const classes = PopupContainerStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nclass PopupContainer extends Component{\r\n\r\n componentDidMount(){\r\n if(this.props.getFormListByUserId){\r\n this.props.getFormListByUserId();\r\n } \r\n }\r\n\r\n render(){\r\n return(\r\n \r\n {this.props.children}\r\n \r\n )\r\n }\r\n}\r\n\r\nconst _PopupList = ({cancel, main, getFormListByUserId, ownProps}) => {\r\n window[\"r_ownProps\"] = ownProps;\r\n window[\"r_browserHistory\"] = browserHistory;\r\n window[\"r_push\"] = push;\r\n \r\n return(\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst _PopupSettings = ({cancel, main, settings, ownProps, id, tab, editForm, fromEditor}) => {\r\n //console.log(\"ownProps: \", ownProps)\r\n //console.log(\"Form ID: \", id)\r\n //console.log(\"tab: \", tab)\r\n window[\"r_browserHistory\"] = browserHistory;\r\n let goTab = tabButtons[0].name;\r\n if(tab){\r\n goTab = tab \r\n }\r\n // if we have a form id to start editing, start editing it now\r\n if(!main.asyncRequest && id > 0 && (!settings.form || settings.form.FormId != id)){\r\n editForm(id, null, fromEditor);\r\n }\r\n return(\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nclass _PopupContainerQuiz extends Component {\r\n\r\n componentDidMount() {\r\n\r\n if (this.props.getQuizResultsById && this.props.quizId) {\r\n this.props.getQuizResultsById(this.props.quizId);\r\n }\r\n }\r\n \r\n render() {\r\n let main = this.props.main;\r\n let cancel = this.props.cancel;\r\n let quizId = this.props.quizId;\r\n let getQuizResultsById = this.props.getQuizResultsById;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownProps) =>({\r\n main: state.main,\r\n settings: state.settings,\r\n ownProps: ownProps,\r\n id: ownProps.params.id,\r\n quizId: ownProps.params.quizid,\r\n tab: ownProps.params.tab,\r\n fromEditor: ownProps.fromEditor,\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getFormListByUserId: userId => dispatch(getFormListByUserId(userId)),\r\n cancel: (currentView) => dispatch(cancel(currentView)),\r\n editForm: (id, isPreview, fromEditor) => dispatch(editForm(id, isPreview, fromEditor)),\r\n selectTab: id => dispatch(selectTab(id)),\r\n setSettings: (form, config) => dispatch(setSettings(form, config)),\r\n getQuizResultsById: (id) => dispatch(getQuizResultsById(id))\r\n})\r\n\r\nexport const PopupContainerList = connect(mapStateToProps, mapDispatchToProps)(_PopupList)\r\nexport const PopupContainerSettings = connect(mapStateToProps, mapDispatchToProps)(_PopupSettings)\r\nexport const PopupContainerQuiz = connect(mapStateToProps, mapDispatchToProps)(_PopupContainerQuiz)\r\n\r\n ","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport { createStore, applyMiddleware } from 'redux'\nimport { composeWithDevTools } from 'redux-devtools-extension'\nimport { Provider } from 'react-redux'\nimport { Router, Route, browserHistory } from 'react-router'\nimport { syncHistoryWithStore, routerMiddleware, push } from 'react-router-redux'\nimport Thunk from 'redux-thunk'\nimport AppContainer from './components/AppContainer'\nimport FormApp from './containers/FormApp'\nimport rootReducer from './reducers'\nimport * as serviceWorker from './serviceWorker'\nimport { PopupContainerList, PopupContainerSettings, PopupContainerQuiz } from './containers/PopupContainer'\n\nconst middleware = [Thunk, routerMiddleware(browserHistory)]\n\n//*** Developer mode\nconst store = createStore(rootReducer, composeWithDevTools(applyMiddleware(...middleware)));\n\n//*** Production mode\n//const store = createStore(rootReducer, applyMiddleware(...middleware));\n\n// Create an enhanced history that syncs navigation events with the store\nconst history = syncHistoryWithStore(browserHistory, store)\n\nReactDOM.render(\n \n { /* Tell the Router to use our enhanced history */}\n \n \n \n { props = { ...props, fromEditor: false }; return } } />\n { props = { ...props, fromEditor: false }; return }} />\n {/* adding those 2 paths so we can have a different url for \"from editor\" editing*/}\n { props = { ...props, fromEditor: true }; return }} />\n { props = { ...props, fromEditor: true }; return }} />\n { props = { ...props, fromEditor: true }; return }} />\n \n \n \n ,\n document.getElementById('root')\n)\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}