{"version":3,"sources":["images/person.svg","helpers/Command.js","components/Header.js","components/Viewer.module.css","components/widgets/Tree.module.css","components/Login.module.css","components/widgets/bb/BBPicture.module.css","components/Home.module.css","components/widgets/Table.module.css","components/Dialog.js","components/Header.module.css","components/Users.module.css","components/widgets/List.module.css","components/widgets/Slider.module.css","components/widgets/SearchAutocomplete.module.css","components/widgets/SplitLayout.module.css","components/FormField.js","components/widgets/Tab.module.css","components/widgets/bb/BBAccordion.module.css","helpers/layout.ts","images/arrow-back.svg","components/BackButton.js","components/widgets/SelectBox.module.css","components/widgets/Table2.module.css","components/Viewer.js","components/widgets/RadioBox.module.css","redux/project.js","images/gear.svg","images/info.svg","helpers/AfterJS.js","helpers/sparql.js","components/Dialog.module.css","components/widgets/TableCells.module.css","components/widgets/Yasgui.module.css","components/widgets/bb/BBUpload.module.css","components/widgets/bb/rotterdam/ButtonPopup.module.css","helpers/PublishUtils.js","components/Notifications.module.css","components/widgets/bb/BBHTML.module.css","components/BackButton.module.css","images/preview.svg","components/Notification.js","components/widgets/Table2.js","components/widgets/bb/BBUpload.js","components/Yasgui.js","components/FormField.module.css","helpers/LoginHelper.js","images/gear-white.svg","images/gear-blue.svg","images/plus.svg","components/widgets/Table.js","components/widgets/TableCells.js","components/widgets/Tree.js","components/widgets/List.js","components/widgets/RadioBox.js","helpers/utils.js","components/widgets/SelectBox.js","components/widgets/Slider.js","components/widgets/SearchAutocomplete.js","components/widgets/Tab.js","components/widgets/SplitLayout.js","components/AbstractArea.js","components/widgets/SplitLayoutTest.js","components/widgets/Yasgui.js","components/widgets/bb/BBIFrame.js","components/widgets/bb/BBMap.js","components/widgets/bb/BBTable.js","components/widgets/bb/BBTreeTable.js","components/widgets/bb/BBYasgui.js","components/widgets/bb/BBYasr.js","components/widgets/bb/BBYasguiNotebook.js","components/widgets/bb/BBNotebook.js","components/widgets/bb/BBKGApiVizWidget.js","components/widgets/bb/BBVoyager.js","components/widgets/bb/BBAccordion.js","components/widgets/bb/BBPicture.js","components/widgets/bb/BBHTML.js","components/widgets/bb/BBDForm.js","components/widgets/bb/BBSideMenu.js","components/widgets/bb/BBEChart.js","components/widgets/bb/BBBoorkern.js","components/widgets/bb/BBPropertyPanel.js","components/widgets/bb/BBVis.js","components/widgets/bb/BBLinkButtons.js","components/widgets/bb/BBIFCViewer.js","components/widgets/bb/BBStructuredText.js","components/widgets/bb/kvk/BBKVKFlexibleTextWidget.js","components/widgets/bb/kvk/WettenPanel.js","components/widgets/bb/kvk/BBKVKProductTemplate.js","components/widgets/bb/BBBackMenu.js","components/widgets/bb/BBSimplePushButton.js","components/widgets/bb/BBVenn.js","components/widgets/bb/BBForm.js","components/widgets/bb/BBNOML.js","components/widgets/bb/rotterdam/ButtonPopup.js","components/widgets/bb/BBRDFViewer.js","components/widgets/bb/BBCesium.js","components/widgets/bb/BBRDFViewerOnline.js","components/widgets/bb/BBMultiSelect.js","components/widgets/index.js","images/cross.svg","components/Widget.js","components/Area.js","components/Project.module.css","components/Area.module.css","components/widgets/SplitLayoutTest.module.css","components/widgets/bb/kvk/BBKVKProductTemplate.module.css","images/spinner.gif","components/Spinner.js","components/widgets/bb/bbutil.js","components/widgets/bb/BBStructuredText.module.css","redux/projects.js","redux/users.js","redux/me.js","redux/rootReducer.js","redux/event.js","redux/pubsub.js","images/add.svg","images/logo.svg","components/Home.js","components/Users.js","components/Login.js","components/Loginbb.js","components/Project.js","App.js","serviceWorker.js","index.js","store.js","components/Footer.module.css","components/Footer.js"],"names":["Command","component","command","options","rv","repoURL","props","endsWith","commandUrl","replace","formData","FormData","append","commando","key","axios","defaults","withCredentials","credentials","post","headers","then","arg","console","log","call","this","e","alert","window","top","url","uri","json","command2","command3","sendCommand2","tag","Header","state","collapsed","logOut","bbsparqlendpoint","sendCommand","location","reload","login","history","push","pathname","onClickManageUsers","mouseOver","mouseOut","me","loading","isAuthenticated","role","Grow","direction","appear","timeout","in","className","styles","wrapper","main","style","maxWidth","pageWidth","src","logoURL","alt","maxHeight","marginRight","centerPart","title","float","alignTitle","onInfoClick","infoIcon","onClick","onSettingsClick","gear","paddingLeft","cursor","subtitle","auth","person","nameContainer","lineHeight","name","color","padding","fontSize","noLoginButton","Component","withRouter","connect","module","exports","Dialog","children","onClose","overlay","frame","stopPropagation","body","FormField","onChange","value","target","type","split","JSON","parse","eval","default2","default","label","handleBlur","mode","theme","width","height","newValue","classforname","map","option","checked","marginLeft","position","minHeight","stringify","LAYOUT_NAME","CUSTOM","ORIGINAL","LAYOUT_CONFIG","showFooter","inflateLayout","viewer","layoutName","layout","_path","_path2","_excluded","_extends","Object","assign","i","arguments","length","source","prototype","hasOwnProperty","apply","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgArrowBack","_ref","svgRef","titleId","id","xmlns","xmlnsXlink","x","y","viewBox","enableBackground","xmlSpace","ref","fillRule","clipRule","d","ForwardRef","BackButton","to","goBack","backButton","Viewer","popupInfoVisible","dialogVisible","notification","showJSONEditor","onJsonEditClick","setState","isLoggedIn","ilUrl","method","data","requiresBBLogin","getUrl","parameters","repo","URLSearchParams","get","repo2","loggedIn","toLowerCase","encodeURIComponent","btoa","psw","LoginHelper","error","config","mainArea","selectLayout","save","project","getViewProps","projectPath","viewerPath","new","Authorization","localStorage","getItem","text","timer","setTimeout","dispatch","s","path","user","createdAt","catch","response","status","onDialogOkClick","onHeaderClick","jsonOKClick","startsWith","modus","host","localRepoURL","componentDidMount","viewers","find","v","loaded","loadViewerIntoState","CONNECTED_APPS_STATIC","extra","noConfigCache","Math","random","toString","prejs","error2","shouldLogin","includes","defaultConfig","update60Enabled","update60Running","changingProps","popupInfoAtStart","partialViewer","c","crypto","getRandomValues","Uint8Array","update60","changingProps60","b","loop60","uuidv4","clearTimeout","document","st","notShowTop","preview","edit","showBottom","notShowBottom","showTop","css","mainContainer","rel","href","sizes","messageType","editButton","textDecoration","opacity","infoMessage","areaContainer","sparqlErrorMessage","parameterValues","footer","zIndex","open","infoDialogueContainer","updateViewer","settingsCheckbox","old","minWidth","marginTop","public","textAlign","PROJECT","VIEWER","match","params","mapStateToProps","ACTION","FETCH_VIEWER_SUCCESS","FETCH_PROJECT_SUCCESS","SAVE_VIEWER_SUCCESS","SET_USER_ACTIONS_DISABLED","initialState","userActionsDisabled","handleProject","action","filter","item","AfterJS","widget","jsAfterSelection","js","parameter","pred","pv","publishVariable","sparql","pubsub","MySparql","select","result","results","bindings","publish","restructureResponse","items","res","forEach","aggregateResultsByFirstParameter","restructuredData","id_item","n","gitem","values","generateEmptyResponse","sp","Parser","parsed","sparql2","RegExp","eee","vars","variables","empty","head","record","Array","isArray","slice","variable","parseTextForVariables","query","subscribeProps","f","Set","subscribeProp","subscribeValue","subscribeProp2","prop","replaceAll","regex2","downloadObjectAsJson","exportObj","exportName","dataStr","downloadAnchorNode","createElement","setAttribute","appendChild","click","remove","downloadConfig","PublishUtils","debug","timestampParameters","Date","now","resetValues","arg2","resetDataProps","button","Notification","box","backgroundColor","camelCaseToSpaces","str","charAt","toUpperCase","TableRow","openLink","valueObject","secondValueObject","index","html","rawHTML","link2","undefined","list","headVar","link","dangerouslySetInnerHTML","__html","Table2","obj","re","sort","a","localeCompare","renderEmpty","valuesObj","createStateValues","disabled","isFirstItemBold","firstItemBold","headertxt","substr","val","BBUpload","files","enabled","handleChange","file","serverUrl","successEval","setTimeStampParameter","o","fileToDownload","downloadUrl","URL","createObjectURL","Blob","uploadText","processingText","uploadtest","upload1","openFileDialogOnClick","droppable","getTimestampParametersDef","Yasgui","textArea","React","createRef","yas","yasqe","fromTextArea","current","setValue","on","getValue","repoUrl","iets","dataSend","logoff","check","icon","faCheck","cross","faTimes","Table","resetParameter","zeroResult","selectedUri","highlightVariable","headVars","aggregateResultsByID","ashtml","hasNumberedRows","rowNumberHeader","rowNumber","highlight","anders","iconcenter","getResetValueDef","TableCells","rowsHash","rows","headersHash","nitem","header","row","rindex","hindex","library","add","faCheckSquare","faPercent","faGavel","faHandPointLeft","faCircle","faDrawPolygon","faInfo","faSquare","faSquareFull","faPlus","faCogs","faBullseye","faDotCircle","faDiceD6","faDatabase","faBox","faBoxOpen","faCube","faCoffee","faStop","faListUl","TreeItem","childrenVisible","depth","treeItemClicked","arrowClicked","containsSelection","shouldNonSelectedSubTreeClose","selectedItem","determineVisibility","prevProps","treeArrow","down","right","treeItemURIKey","publishVariable2","labelKey","defaultIcon","handlePublishingUri2OrNot","treeItem","treeLabel","renderArrow","size","transform","icon2","icon3","selected","Tree","rootitem","selectEvent","latestTreeSelection","v1","v2","subscribeVariable","selectedURI","scrollSelectionIntoView","element","getElementById","scrollIntoView","behavior","parseInitialURLForSelection","setSelectionInURLStartsString","queryString","search","selection","processURLSelection","initialSelection","child","ar","parentItemURIKey","parents","uri_items","itemsar","parent","parentO","id_binding","binding","double","k","exists","createTreeItems","setSelectionInURL","baseUrl","origin","suri","pushState","aggregate","findParents","openSelectie","rootLabel","List","checklist","handleOnChange","valueString","komma","pre","end","kommaT","multipleselectparametertype","clearList","nextProps","nextState","checkboxvalue","syncWithUserActionsDisabled","multipleselect","renderMultiple","RadioBox","event","restructureOptions","reduce","org","trim","radioContainerHor","verticalAlign","paddingRight","radioContainerVer","horizontal","renderOptionsHorizontal","renderOptionsVertical","isEmptyObject","getPrototypeOf","SelectBox","value2","selectedIndex","attributes","preSelect","isEqual","fn","keyURI","keyLabel","er","Slider","onmouseup","onChangeThrottle","throttle","arg1","publishStartValue","minmax","defineMaxMinValue","maxValue","startMin","minValue","Number","step","tick","parseInt","container","rangeValue","slider","min","max","onMouseUp","SearchAutocomplete","searchValue","validItems","showPopup","handleKeyPress","objectURIKey","objectKey","onBlur","resetPublishVariable","objectURI","ind","l1","l2","l3","fontWeight","isSelected","renderLabel","noResults","ee","mainStyle","alignItems","cssEscape","textbefore","inputContainer","onKeyDown","renderValidItems","faProjectDiagram","faShareAlt","faBacon","faTag","faTable","faMap","faSearch","faSitemap","Tab","hideTabs","areas","tabId","onTabClick","tabSelectionSubscription","initialTabSelection","registeredTabComponents","tabs","getFirstNonHiddenTab","viewMode","tab","icons","areaConfig","withinSelectedTab","display","SplitLayout","firstTime","areaSizes","extraStyle","disableScrollbars","overflowHidden","areaSize","flex","fixedSize","test","heightOrWidth","minimize","toLocaleUpperCase","disableFlexbox","AbstractArea","SplitLayoutTest","testRender2","orientation","total","o0","o1","o2","o3","createArea","panel","minSizes","minSize","isNaN","paneLocation","maxSize","message","onRunClick","loadData","Accept","err","buttonContainer","tableContainer","renderData","BBIFrame","imgViz","reloadID","noEvents","pvar","publishTextVariable","publishVariable1","runAfterSelection","updateMe","updateMe2","qq","mounted","ReactDOM","findDOMNode","parentNode","iface","afterIntegration","kleur","setLoading","setMessage","msg","sendNotification","setUserActionsDisabled","sendEvent","reExecuteSparql","firstData","q","basequery","executedSparql","setBeginSparqlResults","latestData","onlyOnce","setPubSub","setSelection","selectionValue","selectUri","once","Singleton","getInstance","iframes","htmlid","renderOnce","par","createRoot","expandLevel","loading222","frameBorder","scrolling","process","htmln","registerMe","BBMap","getJSScriptAfterSelectionChange","BBTable","BBTreeTable","BBYasgui","BBYasr","BBYasguiNotebook","BBNotebook","BBKGApiVizWidget","createVizJSON","BBVoyager","BBAccordion","activeIndex","handleClick","titleProps","newIndex","Accordion","fluid","styled","Title","active","Icon","Content","content","BBPicture","encodedData","pictureBaseEncoded","BBHTML","htmlgeenresultaat","html2","object","html3","cls","BBDForm","schema","fields","componentTypes","TEXT_FIELD","validate","validatorTypes","REQUIRED","CHECKBOX","DATE_PICKER","SWITCH","SELECT","SLIDER","onSubmit","waardes","r","submit","propdef","propsID","decodeURIComponent","propuri","waarde","foundType","datatype2","dataType","datatype","def","getSchema","item_def","id_def","volgorde","propUri","initialValue","required","noOptionsMessage","simpleValue","optionUri","buttons","nocancelbutton","componentMapper","FormTemplate","onCancel","fas","BBSideMenu","headerClicked","backgroundimage","footertext","headertext","collapsedWidth","image","preserveAspectRatio","faAngleRight","faAngleLeft","iconShape","popperArrow","Tooltip","AsbtractArea","BBEChart","hash","charCodeAt","colour","charttype","series","stringToColour","legend","ndata","itemStyle","par1","par2","par3","sorting","par2Sorting","xseries","previousX","serie","serieO","stack","barWidth","xAxis","yAxis","par4","value3","getColBarOptionStacked","gdata","get2ParameterData","get3ParameterData","get4ParameterData","getPieOption","getColBarOption","bar","dataX","dataY","dataY2","dataY3","legends1","legendsH1","legends2","legendsH2","naam","naam2","naam3","tooltip","trigger","axisPointer","grid","left","bottom","containLabel","temp","addLegend","datax","toolbox","show","orient","feature","mark","dataView","readOnly","magicType","line","tiled","saveAsImage","doughnut","radius","subtext","formatter","avoidLabelOverlap","center","animation","get3ParameterDataStacked","plotarea","getOption","stringToColor","processStringToColor","defaultMenu","addToolbox","labelOption","labelsInChart","distance","align","rotate","rich","notMerge","lazyUpdate","BBBoorkern","BBPropertyPanel","BB","BBVis","BBLinkButtons","labels","links","titleText","BBIFCViewer","nprops","nstate","resetViewer","BBStructuredText","emptyDataParameterChange","selectedID","de","Paper","elevation","previousItem","nextPreviousItem","Card","card","paperbackground","CardContent","cc","papercolor","extraID","HtmlRow","hs","last","heen","selectedH","inList","pitem","content2","headerText","header2","isListHeader","pheader","processHeader","parLi","BBKVKFlexibleTextWidget","rc","page","analyseResults","WettenPanel","handleClose","Transition","forwardRef","unmountOnExit","fullScreen","fullWidth","TransitionComponent","AppBar","appBar","Toolbar","IconButton","edge","Typography","variant","DialogTitle","closeButton","DialogContent","dividers","getData","ListItem","Spinner","vpane","props2","extendquery","BBKVKProductTemplate","openWetten","defaultValues","handleButtonClick","productUri","selectedProductUri","openIndex","handleCloseWetten","ev","eeer","productLogo","previousLabelHeader","FormControl","outer","inner","productTitle","defaultValueButton","toggleDefaultValues","defaultValue","labelHeader","optionsS","valueS","textOnly","divtext","FormLabel","TextField","textfield2","onSelectChange","MenuItem","buttonDiv","popupTitle","popupFullScreen","BBBackMenu","anchorEl","selections","handleClickBack","rValue","pop","changeSelectedTabs","t","getTabId","sel","ChevronLeft","BBSimplePushButton","onClick2","sparqlqueryrapport","postLink","sendPostLink","sendSimpleLink","sendSparqlQueryRapport","changeParameter","setInitialValueChangeParameter","reallySend","postObject","ajax","XMLHttpRequest","setRequestHeader","responseType","onreadystatechange","readyState","DONE","onload","download","send","divStyle","viewerDisabled","strFileName","strMimeType","blob","reader","self","defaultMime","mimeType","payload","anchor","String","myBlob","MozBlob","WebKitBlob","fileName","bind","navigator","msSaveBlob","dataUrlToBlob","saver","strUrl","parts","binData","atob","mx","uiArr","winMode","innerHTML","removeChild","revokeObjectURL","userAgent","constructor","FileReader","readAsDataURL","BBVenn","BBForm","BBNOML","ButtonPopup","openDialog","updatepopup","handleCloseDialog","p","closeAtParameterChange","nprop","beginIcon","endIcon","Button","startIcon","closeDialog","BBRDFViewer","BBCesium","BBRDFViewerOnline","animatedComponents","makeAnimated","BBMultiSelect","onChange_org","closeMenuOnSelect","components","isMulti","widgetDefinitions","getDescription","SparqlClient","require","cache","CancelToken","saveCache","Widget","resolveTemplateVariableInQuery","changedPublishProp","subscribeProps2","flat","resolveTemplateVariableInQueryDebounce","debounce","useLoadingWidget","createSparqlFunction","success","errorRV","cancelToken","cancel","createSparqlFunction2","encodedQueryForCache","endpointUrl","client","operation","stream","codes","nquery","codeQuery","evalcode","evalCode2","Function","runJSInQuery","encodedQuery","uid","getUniqueId","loadData2","__CANCEL__","definition","Boolean","cloneElement","ownprops","Area","onInsertLayout","confirm","onDeleteWidget","onFormChange","isLayoutWidget","moveConfig","area","onChildChange","newConfig","onShowPopupInfo","infoPopupClose","disableUserActionsIfSynced","areaOnlyOnce","handleDefaultParameterValues","cgi","widgetDefinition","menubar","titleMenuBar","titleMenubar","processStringForParameters","islayout","extraStyling1","extraStyling2","extraStyling3","extraStyling4","panelstyleExtra","sts","displayFlex","outerAreaContainerDisplayFlex","infoMenubarb","infoMenubar","outerAreaContainer","panelstyle","onClickCapture","onChangeCapture","hoverToEdit","hoverIndicator","placement","editArea","insertIcon","gearBlue","gearWhite","editIcon","deleteIcon","menubartxt","renderWidget","formElement","wd","hidden","visibility","margin","style22","spinner","instance","fetchProjects","cb","getState","projects","combineReducers","users","Home","createProject","orderBy","Helmet","logo","paragr","subTitle","Footer","Users","createUser","fetchUsers","email","password","Login","actions","setSubmitting","setItem","token","setStatus","finally","formContainer","initialValues","errors","isSubmitting","touched","form","for","Field","Loginbb","emailbb","passwordbb","parametersString","usp","makeID","possible","floor","Project","newClicked","noViewerMessage","renderViewers","App","Error","removeItem","exact","hostname","render","store","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","rootReducer","applyMiddleware","thunk","configureStore","serviceWorker","ready","registration","unregister","keuze","normaal","names","waternet","commentMessage","kvk","buildingbits","mayer"],"mappings":"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","file":"static/js/main.f39f66c9.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/person.89f69b5b.svg\";","import axios from 'axios'\n\nclass Command {\n static sendCommand(component, command, options, rv) {\n if (options == null) options = {}\n let repoURL = component.props.repoURL\n if (repoURL != null && repoURL.endsWith('sparql')) {\n let commandUrl = repoURL.replace('sparql', 'command')\n const formData = new FormData()\n formData.append('commando', command)\n options.commando = command\n if (options != null) {\n for (let key in options) {\n formData.append(key, options[key])\n }\n }\n axios.defaults.withCredentials = true\n axios.defaults.credentials = 'include'\n\n try {\n axios\n .post(commandUrl, options, {\n headers: {\n // Overwrite Axios's automatically set Content-Type\n 'Content-Type': 'application/json',\n },\n })\n .then(function (arg) {\n console.log('SUCCESS command', arg)\n if (rv != null) {\n rv.call(this, arg)\n }\n })\n } catch (e) {\n console.log('command error ', e)\n alert('command error')\n }\n }\n }\n\n static sendCommand2(options) {\n let repoURL = window.top.url\n if (repoURL != null && repoURL.endsWith('sparql')) {\n let commandUrl = repoURL.replace('sparql', 'command')\n const formData = new FormData()\n if (options != null) {\n for (let key in options) {\n formData.append(key, options[key])\n }\n }\n axios.defaults.withCredentials = true\n axios.defaults.credentials = 'include'\n\n try {\n axios\n .post(commandUrl, options, {\n headers: {\n // Overwrite Axios's automatically set Content-Type\n 'Content-Type': 'application/json',\n },\n })\n .then(function (arg) {\n console.log('SUCCESS command', arg)\n })\n } catch (e) {\n console.log('command error', e)\n }\n }\n }\n\n static ruleRule(uri) {\n var json = {\n commando: 'VRCommands',\n command2: 'runSparqlRule',\n command3: uri,\n }\n Command.sendCommand2(json)\n }\n static runRulesWithTag(tag) {\n console.log('run rules met specifieke tag ' + tag)\n var json = {\n commando: 'VRCommands',\n command2: 'runSparqlRulesWithTag',\n command3: tag,\n }\n\n Command.sendCommand2(json)\n }\n}\n\nwindow.top.command = Command\n\nexport default Command\n","import { Component } from 'react'\nimport { Button } from 'reactstrap'\nimport styles from './Header.module.css'\nimport person from '../images/person.svg'\nimport gear from '../images/gear.svg'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { Grow } from '@material-ui/core'\nimport Command from '../helpers/Command'\nimport infoIcon from '../images/info.svg'\n\n//import {Collapse} from '@material-ui/transitions/Collapse';\n//import {Grow} from '@material-ui/transitions/Grow';\nconst BACKUP_LOGO =\n 'data:image/png;base64,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'\n\nclass Header extends Component {\n state = { collapsed: true }\n\n logOut = () => {\n let bbsparql = this.props.bbsparqlendpoint\n if (bbsparql != null) {\n Command.sendCommand(this, 'logout', null, function () {\n window.location.reload(false)\n })\n } else {\n console.log('logout from config mongo/nodejs platform')\n // localStorage.removeItem('kvk-vb-token');\n }\n\n //window.location.reload(false);\n }\n\n login = () => {\n this.props.history.push('/login', this.props.location.pathname)\n }\n\n onClickManageUsers = () => {\n this.props.history.push('/users', this.props.location.pathname)\n }\n\n mouseOver = (e) => {\n console.log('in')\n // this.setState({collapsed:false});\n }\n mouseOut = (e) => {\n console.log('out')\n // this.setState({collapsed:true});\n }\n\n render() {\n const { loading, isAuthenticated, role } = this.props.me\n const collapsed = this.state.collapsed\n\n return (\n \n
\n \n \n\n
\n \n {this.props.title || 'Connected Apps'}\n {this.props.onInfoClick && (\n this.props.onInfoClick()}\n />\n )}\n {this.props.onSettingsClick && (\n \n )}\n \n {this.props.subtitle}\n
\n\n {!loading && isAuthenticated && (\n
\n \"person\"\n
\n
\n {this.props.me.name}\n
\n {(role === 'admin' || role === 'superadmin') && (\n \n Gebruikers beheren\n \n )}\n
\n \n
\n )}\n {!loading && !isAuthenticated && !this.props.noLoginButton && (\n
\n \n
\n )}\n
\n \n
\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n me: state.me,\n})\n\nHeader = withRouter(Header)\n\nexport default connect(mapStateToProps)(Header)\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"Viewer_wrapper__Mp8IX\",\"settingsCheckbox\":\"Viewer_settingsCheckbox__1BOaO\",\"mainContainer\":\"Viewer_mainContainer__7WemJ\",\"main\":\"Viewer_main__2vgBd\",\"editButton\":\"Viewer_editButton__O63Oh\",\"areaContainer\":\"Viewer_areaContainer__2mCAm\",\"infoDialogueContainer\":\"Viewer_infoDialogueContainer__3r8Vu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Tree_main__2U69K\",\"treeItem\":\"Tree_treeItem__3GbeU\",\"treeLabel\":\"Tree_treeLabel__DGe-D\",\"selected\":\"Tree_selected__1wXwi\",\"treeArrow\":\"Tree_treeArrow__1dDJV\",\"right\":\"Tree_right__3hO93\",\"down\":\"Tree_down__3os-n\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainContainer\":\"Login_mainContainer__2k-W1\",\"main\":\"Login_main__32lJp\",\"formContainer\":\"Login_formContainer__3eo0Q\",\"form\":\"Login_form__2Nv0s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"BBPicture_main__1QcsH\",\"list\":\"BBPicture_list__3DSqp\",\"firstItemBold\":\"BBPicture_firstItemBold__2iyh7\",\"link\":\"BBPicture_link__3slHV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainContainer\":\"Home_mainContainer__2GzK5\",\"main\":\"Home_main__-wJEx\",\"content\":\"Home_content__rSrZN\",\"title\":\"Home_title__2JJd_\",\"subTitle\":\"Home_subTitle__3qxJR\",\"paragr\":\"Home_paragr__2LXKK\",\"project\":\"Home_project__2Eq02\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Table_main__1KlIE\",\"title\":\"Table_title__X9IJi\",\"rowNumberHeader\":\"Table_rowNumberHeader__3h76N\",\"rowNumber\":\"Table_rowNumber__YKpiQ\",\"link\":\"Table_link__jCT0D\",\"highlight\":\"Table_highlight__2cQtm\"};","import React from 'react'\nimport styles from './Dialog.module.css'\n// import {Button} from 'reactstrap';\n\nconst Dialog = ({ children, onClose }) => {\n return (\n
\n
e.stopPropagation()}>\n {/*
\n \n
*/}\n
\n {children}\n {/*
\n \n
*/}\n
\n
\n
\n )\n}\n\nexport default Dialog\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"Header_wrapper__3z-hj\",\"main\":\"Header_main__3czEd\",\"title\":\"Header_title__2C1Mo\",\"centerPart\":\"Header_centerPart__RkjuJ\",\"auth\":\"Header_auth__3IKlE\",\"nameContainer\":\"Header_nameContainer__1xkA5\",\"infoIcon\":\"Header_infoIcon__2hP7N\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainContainer\":\"Users_mainContainer__blMaO\",\"main\":\"Users_main__1Ek77\",\"content\":\"Users_content__2hEUp\",\"title\":\"Users_title__UBjWr\",\"tableContainer\":\"Users_tableContainer__spoq6\",\"add\":\"Users_add__1M5OB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"List_main__3_Rcc\",\"selected\":\"List_selected__3m4sz\",\"btn2\":\"List_btn2__2Dv7S\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Slider_main__2CxOA\",\"label\":\"Slider_label__2e9Wr\",\"container\":\"Slider_container__3ZWIg\",\"slider\":\"Slider_slider__2O89W\",\"rangeValue\":\"Slider_rangeValue__L0PAk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"SearchAutocomplete_main__1k8NJ\",\"inputContainer\":\"SearchAutocomplete_inputContainer__2Ybjz\",\"items\":\"SearchAutocomplete_items__cpVFv\",\"item\":\"SearchAutocomplete_item__2NkmI\",\"selected\":\"SearchAutocomplete_selected__1alXJ\",\"noResults\":\"SearchAutocomplete_noResults__1wYx9\",\"headertxt\":\"SearchAutocomplete_headertxt__20CQu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"SplitLayout_main__ZfdFV\",\"preview\":\"SplitLayout_preview__7iAtg\",\"row\":\"SplitLayout_row__2Hq6r\",\"column\":\"SplitLayout_column__1TXiI\",\"areaContainer\":\"SplitLayout_areaContainer__25FOL\",\"overflowAuto\":\"SplitLayout_overflowAuto__2pVrk\",\"overflowHidden\":\"SplitLayout_overflowHidden__2sm8L\"};","import React, { Component } from 'react'\nimport Yasgui from './Yasgui'\nimport { Input, FormGroup, Label } from 'reactstrap'\nimport AceEditor from 'react-ace'\n// import MonacoEditor from 'react-monaco-editor';\n// import brace from 'brace';\n\nimport 'brace/mode/javascript'\nimport 'brace/theme/github'\nimport styles from './FormField.module.css'\n\nclass FormField extends Component {\n onChange = (e) => {\n let name = this.props.name\n let value = e.target.value\n if (this.props.type === 'array') {\n value = value.split(',')\n }\n if (this.props.type === 'json') {\n try {\n value = JSON.parse(value)\n } catch (e) {\n // poging 2\n value = eval(value) //eslint-disable-line no-eval\n // console.log(\"poging 2\",value);\n }\n }\n this.props.onChange(name, value)\n }\n\n render() {\n let type = this.props.type\n let default2 = styles.default\n\n if (type === 'yasgui') {\n return (\n \n \n {\n this.props.onChange(this.props.name, value)\n }}\n />\n \n )\n } else if (type === 'javascript') {\n return (\n \n \n {\n this.props.onChange(this.props.name, newValue)\n }}\n name=\"editor\"\n />\n \n )\n } else if (type === 'select') {\n return (\n \n \n \n {type === 'select' &&\n this.props.options &&\n this.props.options.map((option) => (\n \n ))}\n \n \n )\n } else if (type === 'boolean') {\n return (\n \n \n \n )\n } else if (type === 'button') {\n return (\n \n \n \n )\n } else if (type === 'json') {\n return (\n \n \n \n \n )\n } else {\n return (\n \n \n \n \n )\n }\n }\n}\n\nexport default FormField\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Tab_main__3hRYf\",\"areaContainer\":\"Tab_areaContainer__uoK5W\",\"viewMode\":\"Tab_viewMode__1R_jG\",\"tabs\":\"Tab_tabs__8TT4t\",\"tab\":\"Tab_tab__2juvH\",\"selected\":\"Tab_selected__2GbnM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"BBAccordion_main__2C_mY\",\"list\":\"BBAccordion_list__2df03\",\"firstItemBold\":\"BBAccordion_firstItemBold__2azKn\",\"link\":\"BBAccordion_link__1BMRW\"};","type LayoutName = keyof typeof LAYOUT_NAME\ntype Config = { showFooter: boolean }\ntype LayoutConfig = { [K in LayoutName]: Config }\n\nexport const LAYOUT_NAME = {\n CUSTOM: 'CUSTOM',\n ORIGINAL: 'ORIGINAL',\n}\n\nconst LAYOUT_CONFIG: LayoutConfig = {\n CUSTOM: { showFooter: false },\n ORIGINAL: { showFooter: true },\n}\n\nexport function inflateLayout(viewer: V) {\n const layoutName = viewer.layoutName || LAYOUT_NAME.ORIGINAL\n return { ...viewer, layoutName, layout: LAYOUT_CONFIG[layoutName] }\n}\n","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || 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 * as React from \"react\";\n\nfunction SvgArrowBack(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"512px\",\n height: \"512px\",\n viewBox: \"0 0 512 512\",\n enableBackground: \"new 0 0 512 512\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M463.5,257.5c0,5.5-4.4,9.9-9.8,9.9H77.1c-5.4,0-9.8-4.6-9.8-9.9 c0-5.5,4.4-9.9,9.8-9.9h376.6C459.1,247.6,463.5,252.2,463.5,257.5z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M265.4,59.4c2.6,0,5.2,1,7.2,3.1c3.8,4,3.6,10.2-0.3,14l-190.6,181l190.6,181c4,3.8,4.1,10,0.3,14c-3.8,4-10.1,4.1-14,0.3 L52.9,257.5L258.6,62.1C260.5,60.3,262.9,59.4,265.4,59.4z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowBack);\nexport default __webpack_public_path__ + \"static/media/arrow-back.e82ca94e.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from 'react'\nimport styles from './BackButton.module.css'\nimport { ReactComponent as ArrowBack } from '../images/arrow-back.svg'\nimport { withRouter } from 'react-router-dom'\n\nclass BackButton extends Component {\n onClick = () => {\n const to = this.props.to\n if (to) {\n this.props.history.push(to)\n } else {\n this.props.history.goBack()\n }\n }\n\n render() {\n return \n }\n}\n\nexport default withRouter(BackButton)\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"SelectBox_main__2fb1x\",\"label\":\"SelectBox_label__1bhKt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Table2_main__3S9MH\",\"headertxt\":\"Table2_headertxt__k1L5n\",\"list\":\"Table2_list__35G0R\",\"firstItemBold\":\"Table2_firstItemBold__1-sUM\",\"link\":\"Table2_link__3RM4J\"};","import { Component, Fragment } from 'react'\nimport { connect } from 'react-redux'\nimport styles from './Viewer.module.css'\nimport { Button, Input, FormGroup, Label } from 'reactstrap'\nimport Dialog from './Dialog'\nimport { Link } from 'react-router-dom'\nimport axios from 'axios'\nimport gear from '../images/gear.svg'\nimport preview from '../images/preview.svg'\nimport Header from './Header'\nimport Footer from './Footer'\nimport Notification from './Notification'\nimport BackButton from './BackButton'\nimport Area from './Area'\nimport Spinner from './Spinner'\nimport defaultConfig from './defaultConfig.json'\nimport { Helmet } from 'react-helmet'\nimport LoginHelper from '../helpers/LoginHelper'\nimport { Dialog as InfoDialog, MenuItem, Select } from '@material-ui/core'\nimport { inflateLayout, LAYOUT_NAME } from '../helpers/layout'\n\nclass Viewer extends Component {\n state = {\n popupInfoVisible: false,\n dialogVisible: false,\n notification: {},\n loading: true,\n showJSONEditor: false,\n }\n\n onJsonEditClick = () => {\n this.setState({ showJSONEditor: true })\n }\n\n getUrl(data) {\n //console.log(\"get URL \",data);\n try {\n let url = '/api/sparql/' + data.repoURL\n if (data.repoURL.startsWith('http')) {\n // request sparql endpoint directly\n url = data.repoURL\n }\n var modus = false\n if (window.location.host == 'localhost:3000') {\n modus = true\n }\n // var modus=false; //debug\n\n if (data.localRepoURL != null && data.localRepoURL !== '' && modus) {\n url = data.localRepoURL\n }\n\n return url\n } catch (e) {\n console.log('error creating url ', e)\n }\n return null\n }\n\n isLoggedIn = (ilUrl) => {\n // console.log(\"is logged in \",ilUrl);\n\n //var ilUrl=\"http://localhost:8080/BloodBee/cgi/isloggedin\";\n axios({\n method: 'get',\n withCredentials: true,\n url: ilUrl,\n //credentials: 'include'\n }).then(({ data }) => {\n console.log('is logged in:', data)\n })\n }\n\n requiresBBLogin = (data, rv) => {\n // if(true) return false;\n //console.log(\"requires bb login \",data,rv);\n\n var url = this.getUrl(data)\n //console.log(url);\n\n if (url == null) {\n return\n }\n\n var ilUrl = url.replace('sparql', 'isloggedin')\n\n var parameters = data.bbsparqlendpoint\n let repo = new URLSearchParams(parameters).get('repo')\n let repo2 = new URLSearchParams(parameters).get('repo2')\n if (repo2 == null) repo2 = ''\n var repoURL = this.getUrl(data)\n //console.log(repoURL,ilUrl);\n\n axios.defaults.withCredentials = true\n axios.defaults.credentials = 'include' // deze moet wel aanstaan\n //console.log(repo);//extract repo parameter\n axios({\n method: 'get',\n url: ilUrl,\n withCredentials: true,\n credentials: 'include',\n }).then(\n ({ data }) => {\n // console.log(\"raw is logged in \",data);\n\n try {\n if (data.loggedIn == 'TRUE') {\n if (repo != null && data.repo != null) {\n if (\n repo.toLowerCase() == data.repo.toLowerCase() ||\n repo2.toLowerCase() == data.repo.toLowerCase()\n ) {\n console.log(\n 'remotely logged with repo check in so starting application'\n )\n rv.call(this, this)\n } else {\n // console.log(\"wrong repo\");\n alert(\n 'wrong repo. This account is not valid for this application.'\n )\n var id = encodeURIComponent(\n btoa('?repoUrl=' + repoURL + '&' + parameters)\n )\n this.props.history.push(\n '/loginbb?id=' + id,\n this.props.location.pathname\n )\n }\n } else {\n console.log(' logged in so starting application')\n rv.call(this, this)\n }\n } else {\n // console.log(\"not logged in so going to login page \");\n\n let psw = new URLSearchParams(parameters).get('psw')\n let login = new URLSearchParams(parameters).get('login')\n if (psw != null && login != null) {\n console.log('default login found')\n LoginHelper.login(repoURL, repo, login, psw, rv)\n\n return\n }\n\n try {\n id = encodeURIComponent(\n btoa('?repoUrl=' + repoURL + '&' + parameters)\n )\n this.props.history.push(\n '/loginbb?id=' + id,\n this.props.location.pathname\n )\n } catch (error) {\n //console.log(data.prejs);\n console.log(error)\n }\n }\n } catch (e) {\n console.log(e)\n }\n },\n ({ error }) => {\n //console.log(error);\n var id = encodeURIComponent(\n btoa('?repoUrl=' + repoURL + '&' + parameters)\n )\n // console.log(\"going to bb login pagae\");\n this.props.history.push(\n '/loginbb?id=' + id,\n this.props.location.pathname\n )\n\n rv.call(this, this)\n }\n )\n\n return false\n }\n\n componentDidMount() {\n console.log(\"viewer component did mount\");\n const { projectPath, viewerPath } = getViewProps(this.props)\n\n let viewer = this.props.project.viewers.find((v) => v.path == viewerPath)\n if (viewer && viewer.loaded) {\n return this.loadViewerIntoState(viewer)\n }\n\n let url = `/api/projects/${projectPath}/viewers/${viewerPath}`\n let headers = {\n Authorization: `Bearer ${localStorage.getItem('kvk-vb-token')}`,\n }\n if (window.CONNECTED_APPS_STATIC) {\n console.log(\"viewer static app\");\n headers = []\n let extra = ''\n if (window.top.noConfigCache == true) {\n extra = '?uniek=' + Math.random().toString(36)\n }\n\n url = './config.json' + extra;\n console.log(\"local url to json is \"+url);\n }\n\n console.log(\" url to json is \"+url);\n\n let me = this\n\n axios({\n method: 'get',\n url,\n headers: headers,\n })\n .then(({ data }) => {\n console.log(\"json \",data);\n if (data != null) {\n if (data.prejs != null) {\n try {\n eval(data.prejs) // eslint-disable-line no-eval\n } catch (error2) {\n console.log(error2, data.prejs)\n }\n }\n\n if (data.bbsparqlendpoint != null) {\n if (data.bbsparqlendpoint == '') {\n data.bbsparqlendpoint = null\n }\n }\n\n if (data.bbsparqlendpoint != null) {\n console.log(\"bb sparql endpoint found\");\n let shouldLogin = true\n\n if (\n data.localRepoURL != null &&\n data.localRepoURL !== '' &&\n window.location.host == 'localhost:3000'\n ) {\n // console.log(\"should we login? perhaps use localRepoUrl? is it port :7200?\",data.localRepoURL);\n // shouldLogin=false;\n if (data.localRepoURL.includes(':7200')) {\n shouldLogin = false\n }\n }\n if (shouldLogin) {\n console.log(\" we need to login\");\n\n if (\n me.requiresBBLogin(data, function () {\n me.loadViewerIntoState(data)\n me.props.dispatch({ type: 'FETCH_VIEWER_SUCCESS', data })\n })\n );\n return\n }\n }\n\n this.loadViewerIntoState(data)\n this.props.dispatch({ type: 'FETCH_VIEWER_SUCCESS', data })\n }\n })\n .catch((error) => {\n if (!error.response) throw error\n\n console.log(error)\n if (error.response?.status == 401)\n this.props.history.push(\n '/login',\n `projects/${projectPath}/${viewerPath}`\n )\n\n if (error.response?.status == 404)\n this.setState({\n viewer: inflateLayout({\n ...defaultConfig,\n path: viewerPath,\n new: true,\n }),\n loading: false,\n })\n })\n }\n\n componentDidUpdate() {\n const viewer = this?.state?.viewer\n if (viewer == null) return\n \n\n if (this.state.viewer.update60Enabled) {\n // console.log(\"we shoud update 60 \",this.state);\n if (this.state.update60Running) {\n // console.log(\"but is already running\");\n } else {\n // console.log(\"starting update 60\");\n this.changingProps()\n }\n } else {\n // console.log(\"update 60 should not be running\")\n if (this.state.update60Running) {\n this.props.dispatch({\n type: 'PUBLISH',\n data: {\n update60Running: false,\n },\n })\n // console.log(\"disabling update 60\")\n } else {\n // console.log(\"update60 is not running\");\n }\n }\n }\n\n loadViewerIntoState(viewer) {\n this.setState({\n viewer: inflateLayout(viewer),\n loading: false,\n popupInfoVisible: viewer.popupInfoAtStart,\n })\n }\n\n updateViewer(partialViewer) {\n this.setState({ viewer: { ...this.state.viewer, ...partialViewer } })\n }\n\n uuidv4() {\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16)\n )\n }\n changingProps() {\n if (this.state.update60Running) return\n\n // console.log(\"setting first update60 value\");\n\n this.props.dispatch({\n type: 'PUBLISH',\n data: {\n update60: 'start',\n update60Running: true,\n },\n })\n\n this.changingProps60(true)\n }\n\n changingProps60(b) {\n if (b || this.state.viewer.update60Enabled) {\n var me = this;\n if (me.loop60)return;\n me.loop60=true;\n setTimeout(function () {\n // console.log(\"changing update60 value\");\n let id = me.uuidv4()\n me.props.dispatch({\n type: 'PUBLISH',\n data: {\n update60: id,\n },\n })\n console.log(\"changing 60\");\n me.loop60=false;\n me.changingProps60(false)\n }, 60000)\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.timer)\n }\n\n onChange = (config) => {\n let viewer = { ...this.state.viewer, mainArea: config }\n this.setState({ viewer })\n }\n\n selectLayout = (layoutName) => {\n let viewer = inflateLayout({ ...this.state.viewer, layoutName })\n this.setState({ viewer })\n }\n\n save = () => {\n let viewer = this.state.viewer\n delete viewer.project\n\n const { projectPath, viewerPath } = getViewProps(this.props)\n\n let url =\n `/api/projects/${projectPath}/viewers` +\n (viewer.new ? '' : `/${viewerPath}`)\n axios({\n method: viewer.new ? 'post' : 'put',\n url,\n headers: {\n Authorization: `Bearer ${localStorage.getItem('kvk-vb-token')}`,\n },\n data: viewer,\n })\n .then(({ data }) => {\n this.setState({ notification: { text: 'saved', type: 'success' } })\n this.timer = setTimeout(() => this.setState({ notification: {} }), 3000)\n\n let viewer = inflateLayout({ ...data, new: false })\n this.setState({ viewer })\n this.props.dispatch({ type: 'SAVE_VIEWER_SUCCESS', data })\n let s = data\n delete s.id\n delete s.path\n delete s.project\n delete s.user\n delete s.createdAt\n // console.log(JSON.stringify(s));\n })\n .catch((error) => {\n if (error.response.status == 401) {\n this.props.history.push(\n '/login',\n `projects/${projectPath}/${viewerPath}`\n )\n } else {\n this.setState({\n notification: {\n text: 'not saved: ' + error.response.data,\n type: 'failure',\n },\n })\n this.timer = setTimeout(\n () => this.setState({ notification: {} }),\n 3000\n )\n }\n })\n }\n\n onDialogOkClick = () => {\n this.setState({ dialogVisible: false })\n this.save()\n }\n\n onHeaderClick = (e) => {\n if (getViewProps(this.props).mode == 'edit') {\n this.setState({ dialogVisible: true })\n }\n }\n\n jsonOKClick = () => {\n this.setState({ showJSONEditor: false })\n }\n\n render() {\n // console.log(\"viewer render function\",this);\n if (this == null) return \n // if (true){ var id=\"halalo\"; this.props.history.push('/loginbb?id='+id, this.props.location.pathname); return null;}\n if (this.state == null) return \n if (this.state.loading) return \n let { isAuthenticated, role } = this.props.me\n\n let viewer = this.state.viewer\n if (!viewer) return null\n var me = this\n document.st = function () {\n viewer.notShowTop = false\n me.setState({ notShowTop: false })\n }\n document.preview = function () {\n getViewProps(this.props).mode = 'preview'\n me.setState({ mode: 'preview' })\n }\n document.edit = function () {\n getViewProps(this.props).mode = 'edit'\n me.setState({ mode: 'edit' })\n }\n\n let notification = this.state.notification\n const { mode, projectPath, viewerPath } = getViewProps(this.props)\n\n let showBottom = viewer.notShowBottom\n if (showBottom == null) {\n showBottom = true\n } else {\n showBottom = !showBottom\n }\n\n let showTop = viewer.notShowTop\n if (showTop == null) {\n showTop = true\n } else {\n showTop = !showTop\n }\n\n let css = viewer.css\n if (css) {\n try {\n css = JSON.parse(css)\n } catch (error) {\n css = {}\n }\n } else {\n css = {}\n }\n /*if (this.state.showJSONEditor)\n {\n return ()\n }\n else\n */\n\n return (\n
\n
\n {showTop && (\n \n \n {viewer.title}\n {viewer.project && (\n \n )}\n \n \n {!window.CONNECTED_APPS_STATIC && (\n \n )}\n {isAuthenticated && role !== 'viewer' && (\n
\n {mode == 'edit' ? (\n \n \n \n ) : (\n \n \n \n )}\n
\n )}\n\n this.setState({ popupInfoVisible: true })\n : null\n }\n onSettingsClick={mode === 'edit' ? this.onHeaderClick : null}\n />\n
\n )}\n\n
\n
\n \n
\n
\n\n {this.state.viewer.layout?.showFooter && (\n \n )}\n\n this.setState({ popupInfoVisible: false })}\n >\n
\n {viewer.infoMessage}\n
\n \n\n {this.state.dialogVisible && (\n \n \n \n this.selectLayout(e.target.value)}\n value={this.state.viewer.layoutName || ''}\n >\n Custom\n Original\n \n \n\n \n \n this.updateViewer({ title: e.target.value })}\n />\n \n \n \n this.updateViewer({ subtitle: e.target.value })}\n />\n \n\n \n \n \n this.setState({\n viewer: { ...viewer, infoMessage: e.target.value },\n })\n }\n />\n \n \n \n \n\n \n \n {\n this.setState({\n viewer: { ...viewer, prejs: e.target.value },\n })\n }}\n />\n \n \n \n {\n this.setState({\n viewer: { ...viewer, bbsparqlendpoint: e.target.value },\n })\n }}\n />\n \n \n \n \n this.setState({\n viewer: { ...viewer, repoURL: e.target.value },\n })\n }\n />\n \n \n \n \n this.setState({\n viewer: { ...viewer, localRepoURL: e.target.value },\n })\n }\n />\n \n\n \n \n \n this.setState({\n viewer: {\n ...viewer,\n sparqlErrorMessage: e.target.value,\n },\n })\n }\n />\n \n\n \n \n \n this.setState({\n viewer: { ...viewer, logoURL: e.target.value },\n })\n }\n />\n \n \n \n \n this.setState({\n viewer: { ...viewer, css: e.target.value },\n })\n }\n />\n \n \n \n \n this.setState({\n viewer: { ...viewer, pageWidth: e.target.value },\n })\n }\n />\n \n \n \n \n this.setState({\n viewer: { ...viewer, parameterValues: e.target.value },\n })\n }\n />\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n {\n let config = JSON.parse(e.target.value)\n\n if (config != null) {\n var old = this.state.viewer\n config.id = old.id\n config.user = old.user\n config.path = old.path\n this.setState({ viewer: config })\n }\n }}\n />\n \n edit\n \n \n \n \n \n
\n \n OK\n \n
\n
\n )}\n
\n
\n )\n }\n}\n\nfunction getViewProps(props) {\n if (window.CONNECTED_APPS_STATIC)\n return {\n mode: 'preview',\n projectPath: window.PROJECT,\n viewerPath: window.VIEWER,\n }\n\n return {\n mode: props.match.params.mode,\n projectPath: props.match.params.projectPath,\n viewerPath: props.match.params.viewerPath,\n }\n}\n\nconst mapStateToProps = (state) => ({\n project: state.project,\n me: state.me,\n})\n\nexport default connect(mapStateToProps)(Viewer)\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"RadioBox_main__OWVGX\",\"label\":\"RadioBox_label__xmETg\",\"radioContainerHor\":\"RadioBox_radioContainerHor__1iRy5\",\"radioContainerVer\":\"RadioBox_radioContainerVer__R820_\",\"rows\":\"RadioBox_rows__2dSeK\",\"row\":\"RadioBox_row__26El2\"};","export const ACTION = {\n FETCH_VIEWER_SUCCESS: 'FETCH_VIEWER_SUCCESS',\n FETCH_PROJECT_SUCCESS: 'FETCH_PROJECT_SUCCESS',\n SAVE_VIEWER_SUCCESS: 'SAVE_VIEWER_SUCCESS',\n SET_USER_ACTIONS_DISABLED: 'SET_USER_ACTIONS_DISABLED',\n}\n\nconst initialState = {\n loading: true,\n userActionsDisabled: false,\n viewers: [],\n}\n\nexport default function handleProject(state = initialState, action) {\n switch (action.type) {\n case 'FETCH_PROJECT_SUCCESS':\n return {\n ...state,\n ...action.data,\n viewers: action.data.viewers.map((viewer) => ({\n ...viewer,\n loaded: false,\n })),\n loading: false,\n }\n case 'FETCH_VIEWER_SUCCESS':\n window.top.data = action.data\n\n return {\n ...state,\n viewers: [\n ...state.viewers.filter((item) => item.id !== action.data.id),\n { ...action.data, loaded: true },\n ],\n }\n case 'SAVE_VIEWER_SUCCESS':\n return {\n ...state,\n viewers: [\n ...state.viewers.filter((item) => item.id !== action.data.id),\n { ...action.data, loaded: true },\n ],\n }\n case 'SET_USER_ACTIONS_DISABLED':\n return { ...state, userActionsDisabled: action.data }\n default:\n return state\n }\n}\n","export default __webpack_public_path__ + \"static/media/gear.e350f069.svg\";","export default __webpack_public_path__ + \"static/media/info.8b4e18dd.svg\";","class AfterJS {\n static init() {\n // console.log(\"init afterjs\");\n }\n static getJSScriptAfterSelectionChange() {\n return {\n name: 'jsAfterSelection',\n type: 'text',\n label: 'js calls after selection',\n }\n }\n\n static runAfterSelection(widget) {\n //AfterJS.init(\"run after selection \",widget);\n\n if (widget.props.jsAfterSelection != null) {\n let js = widget.props.jsAfterSelection\n console.log(js, widget)\n try {\n eval(js) //eslint-disable-line no-eval\n } catch (e) {\n console.log(e)\n }\n }\n }\n\n static fillParameterUsingSelectionURIAndPred(widget, parameter, pred) {\n let pv = widget.props.publishVariable\n let uri = widget.props.pubsub[pv]\n //if (uri==null) return;\n\n let sparql =\n 'select distinct ?result where {optional {<' +\n uri +\n '><' +\n pred +\n '>?value} bind (IF(BOUND(?value),\"niks\",\"3d\") as ?result)} limit 1'\n // console.log(sparql);\n window.top.MySparql.select(sparql, function (arg) {\n let result = arg.results.bindings[0].result.value\n // console.log(result);\n widget.props.publish(parameter, result)\n })\n\n //console.log(widget,parameter,pred);\n }\n\n static test(widget) {\n console.log('testing Afterjs ')\n\n console.log(widget)\n }\n}\n\nexport default AfterJS\n","import { Parser } from 'sparqljs'\n\nexport function restructureResponse(data) {\n let items = (data && data.results.bindings) || []\n items = items.map((item) => {\n let res = {}\n Object.keys(item).forEach((key) => {\n res[key] = item[key].value\n })\n return res\n })\n\n return items\n}\n\nexport function aggregateResultsByFirstParameter(restructuredData, id) {\n let items = restructuredData || []\n var id_item = {}\n for (var n in items) {\n var item = items[n]\n var gitem = id_item[item[id]]\n if (gitem == null) {\n gitem = item\n id_item[item[id]] = gitem\n } else {\n // aggregeren maar\n for (var key in item) {\n gitem[key] = item[key]\n }\n }\n }\n\n return Object.values(id_item)\n}\n\nwindow.top.downloadObjectAsJson = function (exportObj, exportName) {\n var dataStr =\n 'data:text/json;charset=utf-8,' +\n encodeURIComponent(JSON.stringify(exportObj))\n var downloadAnchorNode = document.createElement('a')\n downloadAnchorNode.setAttribute('href', dataStr)\n downloadAnchorNode.setAttribute('download', exportName + '.json')\n document.body.appendChild(downloadAnchorNode) // required for firefox\n downloadAnchorNode.click()\n downloadAnchorNode.remove()\n}\n// window.top.saveCache=function()\n// {\n// var exportName=\"spcache.js\";\n// console.log(\"bewerk de download: json==>js. replace \\ ' . begin/eind quotes\");\n// var content =\"document.cache={\"+JSON.stringify(document.cache).substr(1).slice(0, -1)+\"};\";\n// var dataStr = \"data:text/json;charset=utf-8,\" + encodeURIComponent(content);\n// var downloadAnchorNode = document.createElement('a');\n// downloadAnchorNode.setAttribute(\"href\", dataStr);\n// downloadAnchorNode.setAttribute(\"download\", exportName );\n// document.body.appendChild(downloadAnchorNode); // required for firefox\n// downloadAnchorNode.click();\n// downloadAnchorNode.remove();\n\n// }\nwindow.top.downloadConfig = function () {\n window.top.downloadObjectAsJson(window.top.data, 'config')\n}\n\nexport function generateEmptyResponse(sparql) {\n var sp = new Parser()\n var parsed = null\n try {\n if (sparql == null) {\n sparql = 'select ?a ?aURI ?c where {?a ?aURI ?c}'\n }\n var sparql2 = sparql\n .replace(new RegExp('<{{', 'g'), '', 'g'), '.nl>')\n parsed = sp.parse(sparql2)\n } catch (eee) {\n sparql2 = 'select ?a ?aURI ?c where {?a ?aURI ?c}'\n parsed = sp.parse(sparql2)\n }\n\n var vars = parsed.variables\n\n var empty = { head: { vars: [] } }\n empty.results = { bindings: [] }\n var bindings = empty.results.bindings\n var record = {}\n bindings.push(record)\n for (var n in vars) {\n if (Array.isArray(vars[n])) {\n var v = vars[n].slice(1)\n } else {\n v = vars[n].variable\n if (v == null) {\n v = vars[n]\n }\n v = v.replace('?', '')\n }\n empty.head.vars.push(v)\n if (v.endsWith('URI')) {\n record[v] = {\n type: 'uri',\n value: 'http://www.example.org/5c3c96ea1d83d8396b87bc0b',\n }\n } else {\n record[v] = { type: 'literal', value: '' }\n }\n }\n\n return empty\n}\n\nwindow.top.generateEmptyResponse = function () {\n generateEmptyResponse(null)\n}\n\nexport function parseTextForVariables(query, props) {\n if (!query) {\n return\n }\n //const regex = /{{\\S*}}/g;\n const regex = /{{[A-Za-z0-9|:]*}}/g\n let subscribeProps = query.match(regex)\n\n if (!subscribeProps) {\n return query\n }\n\n subscribeProps = subscribeProps.map((f) => f.replace(/[{}]/g, ''))\n subscribeProps = [...new Set(subscribeProps)] // remove duplicates\n\n for (var i = 0; i < subscribeProps.length; i++) {\n let subscribeProp = subscribeProps[i]\n let subscribeValue = props.pubsub[subscribeProp]\n if (subscribeValue == null) {\n console.log('found empty property', subscribeProp)\n }\n\n if (subscribeProp.includes('||')) {\n let subscribeProp2 = subscribeProp.split('||')[0]\n subscribeValue = props.pubsub[subscribeProp2]\n if (subscribeValue === 'http://www.buildingbits.nl/reset') {\n subscribeValue = null\n }\n\n // console.log(subscribeProp,subscribeValue,subscribeProp.split(\":\")[1]);\n if (subscribeValue == null) {\n var prop = subscribeProp.split('||')[1].split('||')[0].split('::')[0]\n subscribeValue = props.pubsub[prop]\n if (subscribeValue === 'http://www.buildingbits.nl/reset') {\n subscribeValue = null\n }\n }\n }\n if (subscribeProp.includes('::') && subscribeValue == null) {\n let subscribeProp2 = subscribeProp.split('::')[0]\n subscribeValue = props.pubsub[subscribeProp2]\n if (subscribeValue === 'http://www.buildingbits.nl/reset') {\n subscribeValue = null\n }\n // console.log(subscribeProp,subscribeValue,subscribeProp.split(\":\")[1]);\n if (subscribeValue == null) {\n subscribeValue = subscribeProp.split('::')[1]\n }\n }\n\n // console.log(subscribeProp,subscribeValue);\n subscribeProp = subscribeProp.replaceAll('||', '\\\\|\\\\|')\n let regex2 = new RegExp(`{{${subscribeProp}}}`, 'g')\n\n try {\n query = query.replace(regex2, subscribeValue)\n // console.log(\"results \",query);\n } catch (e) {\n console.log(\n 'ERROR ',\n query,\n subscribeValue,\n subscribeProps,\n this.props.pubsub[subscribeProp]\n )\n }\n }\n return query\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay\":\"Dialog_overlay__S_Pka\",\"frame\":\"Dialog_frame__3XaI8\",\"closeButton\":\"Dialog_closeButton__1TQZw\",\"okButton\":\"Dialog_okButton__2Pl7D\",\"body\":\"Dialog_body__iLin2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"TableCells_main__1LDXq\",\"list\":\"TableCells_list__Baqjh\",\"firstItemBold\":\"TableCells_firstItemBold__8TtNe\",\"link\":\"TableCells_link__3I5-i\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Yasgui_main__2QBJb\",\"buttonContainer\":\"Yasgui_buttonContainer__3Nrd0\",\"tableContainer\":\"Yasgui_tableContainer__36LQd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uploadtest\":\"BBUpload_uploadtest__2XYYP\",\"upload1\":\"BBUpload_upload1__2qlqt\",\"text\":\"BBUpload_text__198fb\",\"tips\":\"BBUpload_tips__1CuvP\",\"upload2\":\"BBUpload_upload2__1L0yD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"ButtonPopup_main__2LIEK\",\"closeButton\":\"ButtonPopup_closeButton__1mzi4\",\"divtext\":\"ButtonPopup_divtext__3pvI-\",\"textfield2\":\"ButtonPopup_textfield2__2cRuQ\",\"weirdlabel\":\"ButtonPopup_weirdlabel__3RPMY\",\"MuiInputLabel-outlined\":\"ButtonPopup_MuiInputLabel-outlined__XBRKl\",\"MuiInputLabel-shrink\":\"ButtonPopup_MuiInputLabel-shrink__2gWiw\",\"defaultValueButton\":\"ButtonPopup_defaultValueButton__3ZKZQ\",\"outer\":\"ButtonPopup_outer__1-t0n\",\"productTitle\":\"ButtonPopup_productTitle__3QNVS\",\"inner\":\"ButtonPopup_inner__2bPV9\",\"buttonDiv\":\"ButtonPopup_buttonDiv__31bX7\",\"linkbutton\":\"ButtonPopup_linkbutton__3WsV6\",\"verstrekken\":\"ButtonPopup_verstrekken__3zVXy\",\"appBar\":\"ButtonPopup_appBar__wT4t7\",\"title\":\"ButtonPopup_title__MZIqR\",\"vpane\":\"ButtonPopup_vpane__3wFCi\"};","class PublishUtils {\n static setTimeStampParameter(widget, debug) {\n if (debug) {\n console.log(\n 'timestamp parameter called ',\n widget.props.timestampParameters\n )\n }\n if (widget.props.timestampParameters) {\n var valuesRaw = widget.props.timestampParameters\n var values = valuesRaw.split(',')\n var me = widget\n var value = 'time:' + Date.now()\n if (debug) console.log(values, value)\n\n if (values.length > 0) {\n if (\n widget.props.pubsub[values[0]] != null &&\n widget.props.pubsub[values[0]] !== value\n ) {\n //console.log(widget);\n setTimeout(function () {\n console.log('resetting parameter 1 ' + values[0], value)\n widget.props.publish(values[0], value)\n }, 25)\n }\n // data[values[n]]=\"http://www.buildingbits.nl/reset\";\n }\n if (values.length > 1) {\n if (\n widget.props.pubsub[values[1]] != null &&\n widget.props.pubsub[values[1]] !== value\n ) {\n setTimeout(function () {\n console.log('resetting parameter 2 ' + values[1])\n me.props.publish(values[1], value)\n }, 50)\n }\n }\n if (values.length > 2) {\n if (\n widget.props.pubsub[values[2]] != null &&\n widget.props.pubsub[values[2]] !== value\n ) {\n setTimeout(function () {\n console.log('resetting parameter 3 ' + values[2])\n me.props.publish(values[2], value)\n }, 75)\n }\n }\n if (values.length > 3) {\n if (\n widget.props.pubsub[values[3]] != null &&\n widget.props.pubsub[values[3]] !== value\n ) {\n setTimeout(function () {\n console.log('resetting parameter 4 ' + values[3])\n me.props.publish(values[3], value)\n }, 100)\n }\n }\n if (values.length > 4) {\n if (\n widget.props.pubsub[values[4]] != null &&\n widget.props.pubsub[values[4]] !== value\n ) {\n setTimeout(function () {\n console.log('resetting parameter 5 ' + values[4])\n me.props.publish(values[4], value)\n }, 125)\n }\n }\n if (values.length > 5) {\n console.log('too many properties to reset')\n alert('too many properties to reset in search box')\n }\n\n if (debug) {\n console.log('reset parameter called for ', values)\n }\n }\n }\n\n static getResetValueDef() {\n return {\n name: 'resetValues',\n type: 'text',\n label:\n 'reset this parameter after select event. multiple parameters via comma seperation',\n }\n }\n\n static getTimestampParametersDef() {\n return {\n name: 'timestampParameters',\n type: 'text',\n label:\n 'sets a timestamp after main event. multiple parameters via comma seperation',\n }\n }\n\n static resetParameter(widget, debug) {\n if (debug) {\n console.log('reset parameter called', widget.props.resetValues)\n }\n if (widget.props.resetValues) {\n var valuesRaw = widget.props.resetValues\n var values = valuesRaw.split(',')\n var me = widget\n var value = 'http://www.buildingbits.nl/reset'\n\n if (values.length > 0) {\n if (\n widget.props.pubsub[values[0]] != null &&\n widget.props.pubsub[values[0]] !== value\n ) {\n //console.log(widget);\n setTimeout(function () {\n // console.log('resetting parameter 1 ' + values[0], value)\n widget.props.publish(values[0], value)\n }, 25)\n }\n // data[values[n]]=\"http://www.buildingbits.nl/reset\";\n }\n if (values.length > 1) {\n if (\n widget.props.pubsub[values[1]] != null &&\n widget.props.pubsub[values[1]] !== value\n ) {\n setTimeout(function () {\n console.log('resetting parameter 2 ' + values[1])\n me.props.publish(values[1], value)\n }, 50)\n }\n }\n if (values.length > 2) {\n if (\n widget.props.pubsub[values[2]] != null &&\n widget.props.pubsub[values[2]] !== value\n ) {\n setTimeout(function () {\n console.log('resetting parameter 3 ' + values[2])\n me.props.publish(values[2], value)\n }, 75)\n }\n }\n if (values.length > 3) {\n if (\n widget.props.pubsub[values[3]] != null &&\n widget.props.pubsub[values[3]] !== value\n ) {\n setTimeout(function () {\n console.log('resetting parameter 4 ' + values[3])\n me.props.publish(values[3], value)\n }, 100)\n }\n }\n if (values.length > 4) {\n if (\n widget.props.pubsub[values[4]] != null &&\n widget.props.pubsub[values[4]] !== value\n ) {\n setTimeout(function () {\n console.log('resetting parameter 5 ' + values[4])\n me.props.publish(values[4], value)\n }, 125)\n }\n }\n if (values.length > 5) {\n console.log('too many properties to reset')\n alert('too many properties to reset in search box')\n }\n\n if (debug) {\n console.log('reset parameter called for ', values)\n }\n }\n }\n\n static processStringForParameters(widget, s) {\n let query = s\n if (!query) {\n return\n }\n //const regex = /{{\\S*}}/g;\n const regex = /{{[A-Za-z0-9|:./]*}}/g\n let subscribeProps = query.match(regex)\n\n if (subscribeProps == null) return s\n subscribeProps = subscribeProps.map((f) => f.replace(/[{}]/g, ''))\n subscribeProps = [...new Set(subscribeProps)] // remove duplicates\n\n for (var i = 0; i < subscribeProps.length; i++) {\n let subscribeProp = subscribeProps[i]\n let subscribeValue = widget.props.pubsub[subscribeProp]\n //console.log(query,subscribeProps,subscribeValue,widget.props);\n\n if (subscribeValue == null) {\n // console.log(\"found empty property or composed properties\",subscribeProp);\n }\n\n if (subscribeProp.includes('||')) {\n let subscribeProp2 = subscribeProp.split('||')[0]\n subscribeValue = widget.props.pubsub[subscribeProp2]\n if (subscribeValue === 'http://www.buildingbits.nl/reset') {\n subscribeValue = null\n }\n\n // console.log(subscribeProp,subscribeValue,subscribeProp.split(\":\")[1]);\n if (subscribeValue == null) {\n var prop = subscribeProp.split('||')[1].split('||')[0].split('::')[0]\n subscribeValue = widget.props.pubsub[prop]\n if (subscribeValue === 'http://www.buildingbits.nl/reset') {\n subscribeValue = null\n }\n }\n }\n\n if (subscribeProp.includes('::') && subscribeValue == null) {\n let subscribeProp2 = subscribeProp.split('::')[0]\n subscribeValue = widget.props.pubsub[subscribeProp2]\n if (subscribeValue === 'http://www.buildingbits.nl/reset') {\n subscribeValue = null\n }\n // console.log(subscribeProp,subscribeValue,subscribeProp.split(\":\")[1]);\n if (subscribeValue == null) {\n subscribeValue = subscribeProp.split('::')[1]\n }\n // console.log(subscribeProp,subscribeValue);\n }\n\n subscribeProp = subscribeProp.replaceAll('||', '\\\\|\\\\|')\n let regex2 = new RegExp(`{{${subscribeProp}}}`, 'g')\n // var o={q:query};\n\n //console.log(\"changing query \",query,regex2,subscribeValue);\n try {\n if (subscribeValue == null) subscribeValue = ''\n query = query.replace(regex2, subscribeValue)\n // console.log(\"results \",query);\n } catch (e) {\n console.log(\n 'ERROR ',\n query,\n subscribeValue,\n subscribeProps,\n this.props.pubsub[subscribeProp]\n )\n }\n // o.q2=query;\n //console.log(o,subscribeProp);\n }\n return query\n }\n\n static emptyDataParameterChange(widget, arg, arg2) {\n if (widget.props.resetDataProps) {\n if (arg.data != null) {\n console.log(widget.props.pubsub.button, arg.pubsub.button)\n console.log(widget, arg, arg2)\n }\n }\n }\n\n static getEmptyDataParameterChange() {\n return {\n name: 'resetDataProps',\n type: 'text',\n label:\n 'reset data value when this parameter changes. multiple parameters via comma seperation',\n }\n }\n}\n\nexport default PublishUtils\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Notifications_main__19VRm\",\"box\":\"Notifications_box__1mf7Y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fullscreen\":\"BBHTML_fullscreen__1xDzG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"backButton\":\"BackButton_backButton__A_0bp\"};","export default __webpack_public_path__ + \"static/media/preview.be0983bd.svg\";","import React, { Component } from 'react'\nimport styles from './Notifications.module.css'\n\nclass Notification extends Component {\n render() {\n if (!this.props.text) return null\n\n let color = '#007bff'\n let type = this.props.type\n if (type === 'success') color = 'green'\n if (type === 'failure') color = 'red'\n\n return (\n
\n
\n {this.props.text}\n
\n
\n )\n }\n}\n\nexport default Notification\n","import React, { Component } from 'react'\nimport styles from './Table2.module.css'\n\nimport {\n restructureResponse,\n generateEmptyResponse,\n} from '../../helpers/sparql'\n\n// import { Table as StrapTable } from 'reactstrap';\n\nfunction camelCaseToSpaces(str) {\n str = str.replace(/([a-zA-Z])(?=[A-Z])/g, '$1 ').toLowerCase()\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nclass TableRow extends Component {\n onClick = function (uri, url) {\n if (url != null) {\n this.openLink(url)\n return\n }\n try {\n eval(this.props.onClick) //eslint-disable-line no-eval\n } catch (error) {\n console.log(error)\n }\n setTimeout(() => {\n this.props.publish(this.props.publishVariable, uri)\n }, 0)\n // console.log(uri);\n }\n\n openLink = (url) => {\n window.open(url, '_blank')\n }\n\n render() {\n let valueObject = this.props.valueObject\n let secondValueObject = null\n try {\n if (valueObject != null && valueObject.value != null) {\n if (valueObject.value.includes('&&')) {\n secondValueObject = valueObject.value.split('&&')[1]\n valueObject.value = valueObject.value.split('&&')[0]\n\n //console.log(valueObject.value,secondValueObject);\n }\n }\n } catch (e) {\n console.log(e)\n }\n let index = this.props.index\n let html = this.props.html\n let rawHTML = valueObject.value\n if (valueObject.link2) {\n console.log(valueObject.link2)\n }\n return (\n \n {!index && camelCaseToSpaces(this.props.headVar)}\n {valueObject.link || valueObject.link2 ? (\n this.onClick(valueObject.link, valueObject.link2)}\n >\n {\n (html = true ? (\n
\n ) : (\n {valueObject.value} \n ))\n }\n \n ) : html ? (\n \n
\n \n ) : (\n {valueObject.value} \n )}\n\n {secondValueObject != null && {secondValueObject} }\n \n )\n }\n}\n\nclass Table2 extends Component {\n static getDescription() {\n return {\n name: 'Table2',\n component: Table2,\n label: 'Table2 widget',\n variables: [\n {\n name: 'query',\n type: 'yasgui',\n label:\n 'Query to fill table. If table item should be a link, than the you should add a property with the same name with suffix \"URI\", eg: ?object ?objectURI. For HTML rendering add the suffix \"HTML\".',\n },\n {\n name: 'publishVariable',\n type: 'text',\n label:\n 'Variabele in which tree item URI is published, when a link in the table is clicked.',\n },\n\n {\n name: 'renderEmpty',\n type: 'boolean',\n label: 'render an empty table',\n },\n {\n name: 'isFirstItemBold',\n type: 'boolean',\n label: 'First item bold',\n },\n {\n name: 'title',\n type: 'text',\n label: 'Titel boven de tabel',\n },\n {\n name: 'onClick',\n type: 'javascript',\n label: 'Code that runs before link click event.',\n },\n ],\n }\n }\n\n createStateValues(items) {\n let res = {}\n for (var i = 0; i < items.length; i++) {\n let item = items[i]\n Object.keys(item).forEach((key) => {\n if (key.endsWith('URI')) return\n if (key.endsWith('URL')) return\n let obj = { value: item[key] }\n\n if (item[key + 'URI']) obj.link = item[key + 'URI']\n if (item[key + 'URL']) obj.link2 = item[key + 'URL']\n if (!res[key]) {\n res[key] = obj\n } else if (Array.isArray(res[key])) {\n if (!res[key].filter((re) => re.value === obj.value).length) {\n res[key].push(obj)\n }\n } else if (res[key].value !== item[key]) {\n res[key] = [res[key], obj]\n }\n })\n }\n\n Object.keys(res).forEach((key) => {\n if (Array.isArray(res[key])) {\n res[key].sort((a, b) => a.value.localeCompare(b.value))\n }\n })\n\n return res\n }\n\n render() {\n //console.log(\"table 2 render function \");\n let data = this.props.data\n // console.log(data);\n if (!data || !data.results || data.results.bindings.length === 0) {\n if (this.props.renderEmpty) {\n data = generateEmptyResponse(this.props.query)\n } else {\n return null\n }\n }\n\n let items = restructureResponse(data)\n if (!items.length) return null\n let valuesObj = this.createStateValues(items)\n\n //if (this.state.loading) {console.log(\"table2 loading\");}\n\n let disabled = false\n if (this.state != null) {\n if (this.state.loading) {\n disabled = true\n console.log('Disabling table2 ')\n }\n }\n\n return (\n \n {this.props.title && (\n
{this.props.title}
\n )}\n \n {/* \n \n {data.head.vars.map((headVar, index) => (\n \n ))}\n \n */}\n \n {data.head.vars.map((headVar) => {\n if (headVar.endsWith('URI')) {\n return null\n }\n if (headVar.endsWith('URL')) {\n return null\n }\n let valueObject = valuesObj[headVar]\n //if (!valueObject) return null;\n if (!valueObject) valueObject = ''\n var html = false\n if (headVar.endsWith('HTML')) {\n headVar = headVar.substr(0, headVar.length - 4)\n html = true\n }\n\n if (Array.isArray(valueObject)) {\n return valueObject.map((val, index) => {\n return (\n \n )\n })\n } else {\n return (\n \n )\n }\n })}\n \n
{headVar}
\n
\n )\n }\n}\n\nexport default Table2\n","import './bbutil'\n\nimport React, { Component } from 'react'\nimport Spinner from '../../Spinner'\n\nimport Upload from 'react-widget-upload'\nimport styles from './BBUpload.module.css'\nimport PublishUtils from '../../../helpers/PublishUtils'\nimport 'react-widget-upload/style'\n\nimport axios from 'axios'\n\n/*\n//class BBUpload extends BBIFrame {\n constructor222()\n {\n super();\n \n this.scrolling=\"true\";\n this.noEvents=false;\n \n }\n\n*/\n\nclass BBUpload extends Component {\n state = {\n files: [],\n enabled: true,\n }\n\n downloadReport(key, file) {\n let url = this.props.serverUrl\n if (url == null) {\n alert('no download url defined')\n return\n }\n\n if (!url.startsWith('http')) {\n url = this.props.repoURL\n }\n url = url.replace('sparql', 'download')\n console.log('download ', url, key)\n //const formData = new FormData();\n //formData.append(\"fileToDownload\",key);\n //formData.append(\"test\",\"hans\");\n let o = {}\n\n if (key == null) {\n key = ''\n }\n o.fileToDownload = key\n var me = this\n\n axios.defaults.withCredentials = true\n axios.defaults.credentials = 'include'\n axios\n .post(url, null, { params: o })\n .then(function (data) {\n console.log('success data download ', data)\n const downloadUrl = window.URL.createObjectURL(new Blob([data.data]))\n\n const link = document.createElement('a')\n\n link.href = downloadUrl\n if (file == null) {\n file = 'file.txt'\n }\n link.setAttribute('download', file) //any other extension\n\n document.body.appendChild(link)\n\n link.click()\n\n link.remove()\n\n setTimeout(function () {\n me.setState({ enabled: true })\n }, 5000)\n })\n .catch(function (e) {\n alert('error downloading')\n console.log('FAILURE!!', e)\n })\n }\n\n handleChange = (files) => {\n this.setState({\n files,\n enabled: false,\n })\n\n var me = this\n if (!files.length) return\n const file = files[0]\n\n const formData = new FormData()\n formData.append('command', this.props.command)\n formData.append('file', file, file.name)\n axios.defaults.withCredentials = true\n axios.defaults.credentials = 'include'\n let url = this.props.serverUrl\n if (url == null) {\n alert('no upload url defined')\n return\n }\n\n if (!url.startsWith('http')) {\n url = this.props.repoURL.replace('sparql', url)\n }\n //console.log(this.props,url);\n axios\n .post(url, formData)\n .then(function () {\n console.log('SUCCESS upload!!')\n\n if (me.props.successEval != null) {\n console.log('executing after upload ', me.props.successEval)\n try {\n eval(me.props.successEval) //eslint-disable-line no-eval\n } catch (e) {\n console.log(e)\n }\n PublishUtils.setTimeStampParameter(me, true)\n }\n me.setState({ enabled: true })\n })\n .catch(function (e) {\n //console.log('upload failure ',e);\n alert('could not upload file')\n me.setState({ enabled: true })\n })\n }\n\n render() {\n const enabled = this.state.enabled\n var text = this.props.uploadText\n\n if (text == null) {\n text = 'upload'\n }\n if (enabled === false) {\n text = this.props.processingText\n if (text == null) {\n text = 'processing'\n }\n // return ()\n }\n\n return (\n
\n \n \n
{text}
\n \n
\n )\n }\n static getDescription() {\n return {\n name: 'BBUpload',\n component: BBUpload,\n label: 'BB Upload widget',\n variables: [\n {\n name: 'serverUrl',\n type: 'text',\n label: 'server url (full url or upload)',\n },\n {\n name: 'command',\n type: 'text',\n label: 'command for server {validateGarantie}',\n },\n {\n name: 'uploadText',\n type: 'text',\n label: 'text for the widget',\n },\n {\n name: 'processingText',\n type: 'text',\n label: 'text for the widget when uploading and processing',\n },\n {\n name: 'fileExtensions',\n type: 'text',\n label: 'fileExtensions xslx,js',\n },\n {\n name: 'fields',\n type: 'json',\n label: 'json for w2uiform fields',\n },\n {\n name: 'tabs',\n type: 'text',\n label: 'optional w2ui tabs definitie',\n },\n\n {\n name: 'multiple',\n type: 'boolean',\n label: 'multiple files ',\n },\n {\n name: 'autoUpload',\n type: 'boolean',\n label: 'auto upload ',\n },\n {\n name: 'successEval',\n type: 'text',\n label:\n 'javascript code after successfull upload... e.g. me.downloadReport(\"garantierapport\",\"garantie.html\") ',\n },\n\n PublishUtils.getTimestampParametersDef(),\n ],\n }\n }\n\n /*\n getUrl()\n {\n return \"/bb/upload/configurableUploaderReact.html\";\n }\n */\n}\n\nexport default BBUpload\n","import React, { Component } from 'react'\nimport yasqe from 'yasgui-yasqe'\nimport '../../node_modules/yasgui-yasqe/dist/yasqe.css'\n// import { Button } from 'reactstrap';\n\nclass Yasgui extends Component {\n constructor(props) {\n super(props)\n this.textArea = React.createRef()\n }\n\n componentDidMount() {\n this.yas = yasqe.fromTextArea(this.textArea.current)\n this.yas.setValue(this.props.value || '')\n this.yas.on('blur', () => {\n this.props.handleBlur(this.yas.getValue())\n })\n }\n\n render() {\n return \n }\n}\n\nexport default Yasgui\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"default\":\"FormField_default__sRnyI\"};","import axios from 'axios'\n\nclass LoginHelper {\n static logoff(repoUrl) {\n if (repoUrl == null) {\n repoUrl = window.top.url\n }\n var ilUrl = repoUrl.replace('sparql', 'logout')\n var dataSend = {}\n axios.defaults.withCredentials = true\n axios.defaults.credentials = 'include'\n axios(\n {\n method: 'post',\n url: ilUrl,\n data: dataSend,\n },\n {\n withCredentials: true,\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n ).then(({ data, iets }) => {\n console.log('logoff ', data)\n })\n }\n\n static login(repoUrl, repo, login, psw, rv) {\n var ilUrl = repoUrl.replace('sparql', 'login')\n var dataSend = { login: login, psw: psw } //applogin:true,\n console.log('login', ilUrl, rv)\n\n axios.defaults.withCredentials = true\n axios.defaults.credentials = 'include'\n axios(\n {\n method: 'post',\n url: ilUrl,\n data: dataSend,\n },\n {\n withCredentials: true,\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n ).then(\n ({ data, iets }) => {\n // console.log(\"got login results \",data,rv);\n try {\n if (data.loggedIn === 'TRUE') {\n if (repo != null && data.repo != null) {\n if (repo === data.repo) {\n axios.defaults.withCredentials = true\n // console.log(\"alles is ok. calling rv functie \",rv);\n if (rv != null) {\n rv.call(this, this)\n }\n } else {\n console.log('niet ok ', repo, data)\n //window.location.reload(false);\n }\n }\n } else {\n // console.log(data);\n alert('could not log in. Wrong name or password.')\n // window.location.reload(true);\n }\n } catch (error) {\n console.log('error', error)\n }\n },\n ({ error, iets }) => {\n console.log('error in sending ', error, iets, ilUrl)\n alert('could not log in. general error')\n window.location.reload(true)\n }\n )\n }\n\n static isLoggedIn(ilUrl, repo) {\n axios.defaults.withCredentials = true\n axios.defaults.credentials = 'include'\n\n axios(\n {\n method: 'get',\n url: ilUrl,\n },\n {\n headers: {\n 'Access-Control-Allow-Origin': '*',\n 'Content-Type': 'application/json',\n },\n }\n ).then(\n ({ data }) => {\n try {\n if (data.loggedIn === 'TRUE') {\n // console.log(\"confirmed. you are loged in. need to check for the correct repo\",data,this);\n if (repo != null) {\n if (data.repo === repo) {\n // console.log(\"repo komt overeen\");\n } else {\n // console.log(\"repo komt niet overeen. \");\n this.props.history.replace(this.props.location.state || '/')\n }\n } else {\n this.props.history.replace(this.props.location.state || '/')\n }\n } else {\n console.log('not confirmed. you are not logged in (???)')\n }\n } catch (e) {\n console.log('catch error', e)\n }\n },\n ({ error }) => {\n console.log('netwerk error ', error)\n }\n )\n }\n}\n\nwindow.top.logoff = LoginHelper.logoff\nexport default LoginHelper\n","export default __webpack_public_path__ + \"static/media/gear-white.9f887544.svg\";","export default __webpack_public_path__ + \"static/media/gear-blue.dbaac633.svg\";","export default __webpack_public_path__ + \"static/media/plus.d2c8885b.svg\";","import React, { Component } from 'react'\nimport styles from './Table.module.css'\nimport {\n restructureResponse,\n generateEmptyResponse,\n aggregateResultsByFirstParameter,\n} from '../../helpers/sparql'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons'\nimport PublishUtils from './../../helpers/PublishUtils'\n\n// import { Table as StrapTable } from 'reactstrap';\n\nfunction camelCaseToSpaces(str) {\n str = str.replace(/([a-zA-Z])(?=[A-Z])/g, '$1 ').toLowerCase()\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nconst check = \nconst cross = \n\nclass Table extends Component {\n onClick = (uri) => {\n PublishUtils.resetParameter(this)\n this.props.publish(this.props.publishVariable, uri)\n }\n openLink = (url) => {\n window.open(url, '_blank')\n }\n\n static getDescription() {\n return {\n name: 'Table',\n component: Table,\n label: 'Table widget',\n variables: [\n {\n name: 'query',\n type: 'yasgui',\n label:\n 'Query to fill table. If table item should be a link, than the you should add a property with the same name with suffix \"URI\", eg: ?object ?objectURI.',\n },\n {\n name: 'publishVariable',\n type: 'text',\n label:\n 'Variabele in which item URI is published, when a link in the table is clicked.',\n },\n {\n name: 'highlightVariable',\n type: 'text',\n label: 'highlight table row with this uri',\n },\n {\n name: 'ashtml',\n type: 'boolean',\n label: 'tabel waardes als html',\n },\n {\n name: 'title',\n type: 'text',\n label: 'Titel boven de tabel',\n },\n {\n name: 'renderEmpty',\n type: 'boolean',\n label: 'render an empty table',\n },\n {\n name: 'zeroResult',\n type: 'text',\n label:\n 'text to display when sparql results is valid but has zero results',\n },\n {\n name: 'aggregateResultsByFirstParameter',\n type: 'boolean',\n label: 'aggregate sparql results by the first parameter',\n },\n {\n name: 'hasNumberedRows',\n type: 'boolean',\n label: 'show row numbers',\n },\n PublishUtils.getResetValueDef(),\n ],\n }\n }\n\n render() {\n var data = this.props.data\n\n if (!this.props.data || this.props.data.results.bindings.length === 0) {\n if (this.props.renderEmpty) {\n data = generateEmptyResponse(this.props.query)\n // console.log(\"table rende empty \",this.props.query, this.props);\n } else {\n try {\n if (this.props.zeroResult != null) {\n if (\n this.props.zeroResult != null &&\n this.props.data.results &&\n this.props.data.results.bindings.length === 0\n ) {\n var label = this.props.zeroResult\n return (\n
\n

{label}

\n
\n )\n }\n }\n } catch (e) {}\n\n return null\n }\n }\n\n let selectedUri = null\n if (this.props.highlightVariable != null) {\n let parameter = this.props.highlightVariable\n selectedUri = this.props.pubsub[parameter]\n }\n let headVars = data.head.vars\n let items = restructureResponse(data)\n\n if (this.props.aggregateResultsByID) {\n items = aggregateResultsByFirstParameter(items, headVars[0])\n }\n\n var html = false\n if (this.props.ashtml) html = true\n\n return (\n
\n {this.props.title && (\n
{this.props.title}
\n )}\n \n \n \n {this.props.hasNumberedRows && (\n \n )}\n {headVars.map((headVar, index) => {\n if (headVar.endsWith('URI')) return null\n if (headVar.endsWith('URL')) return null\n\n return \n })}\n \n \n \n {items.map((item, index) => {\n return (\n \n {this.props.hasNumberedRows && (\n \n )}\n {headVars.map((headVar, index) => {\n if (headVar.endsWith('URI')) return null\n if (headVar.endsWith('URL')) return null\n\n let value = item[headVar] || ''\n let uri = item[headVar + 'URI']\n let url = item[headVar + 'URL']\n\n if (uri) {\n let highlight = ''\n if (uri === selectedUri) {\n highlight = styles.highlight\n // console.log(\"found a selection\",highlight);\n }\n\n return (\n this.onClick(uri)}\n >\n {html ? (\n
\n ) : (\n value\n )}\n \n )\n } else {\n if (url) {\n return (\n this.openLink(url)}\n >\n {html ? (\n \n ) : (\n value\n )}\n \n )\n } else {\n let anders = null\n if (value === 'true') anders = check\n if (value === 'false') anders = cross\n if (anders != null) {\n return (\n
\n )\n }\n\n return (\n \n )\n }\n }\n })}\n \n )\n })}\n \n
{camelCaseToSpaces(headVar)}
{index + 1}\n {anders}\n \n {html ? (\n \n ) : (\n value\n )}\n
\n
\n )\n }\n}\n\nexport default Table\n","import React from 'react'\nimport { restructureResponse } from '../../helpers/sparql'\nimport styles from './TableCells.module.css'\n\nclass TableCells extends React.Component {\n static getDescription() {\n return {\n name: 'TableCells',\n component: TableCells,\n label: 'TableCells widget',\n variables: [\n {\n name: 'query',\n type: 'yasgui',\n label:\n 'Query to fill table. Use ?header ?value ?row ?col to generate a matrix table .',\n },\n {\n name: 'publishVariable',\n type: 'text',\n label:\n 'Variabele in which tree item URI is published, when a link in the table is clicked.',\n },\n {\n name: 'isFirstItemBold',\n type: 'boolean',\n label: 'First item bold',\n },\n {\n name: 'title',\n type: 'text',\n label: 'Titel boven de tabel',\n },\n {\n name: 'onClick',\n type: 'javascript',\n label: 'Code that runs before link click event.',\n },\n ],\n }\n }\n\n createStateValues(items) {\n // not used\n let res = {}\n for (var i = 0; i < items.length; i++) {\n let item = items[i]\n Object.keys(item).forEach((key) => {\n if (key.endsWith('URI')) return\n let obj = { value: item[key] }\n if (item[key + 'URI']) obj.link = item[key + 'URI']\n if (!res[key]) {\n res[key] = obj\n } else if (Array.isArray(res[key])) {\n if (!res[key].filter((re) => re.value === obj.value).length) {\n res[key].push(obj)\n }\n } else if (res[key].value !== item[key]) {\n res[key] = [res[key], obj]\n }\n })\n }\n\n Object.keys(res).forEach((key) => {\n if (Array.isArray(res[key])) {\n res[key].sort((a, b) => a.value.localeCompare(b.value))\n }\n })\n\n return res\n }\n\n render() {\n //console.log(\"table 2 render function \");\n let data = this.props.data\n // console.log(data);\n if (!data || !data.results || data.results.bindings.length === 0) {\n return null\n }\n\n let items = restructureResponse(data)\n\n if (!items.length) return null\n\n var rowsHash = {}\n var rows = []\n var headersHash = {}\n var headers = []\n var n = 0\n for (var nitem in items) {\n var item = items[nitem]\n n++\n if (headersHash[item.header] == null) {\n headersHash[item.header] = n\n headers.push(item.header)\n } // collect unique headers;\n var row = rowsHash[item.row]\n if (row == null) {\n row = { row: item.row }\n rowsHash[item.row] = row\n rows.push(row)\n }\n row[item.header] = item.value\n }\n\n console.log(rows)\n\n return (\n \n {this.props.title && (\n
{this.props.title}
\n )}\n \n {\n \n \n {headers.map((headVar, index) => (\n \n ))}\n \n \n }\n\n \n {rows.map((row, rindex) => (\n \n {headers.map((header, hindex) => (\n \n ))}\n \n ))}\n \n
{headVar}
{row[header]}
\n
\n )\n }\n}\n\nexport default TableCells\n","import React, { Component } from 'react'\nimport styles from './Tree.module.css'\nimport { restructureResponse } from '../../helpers/sparql'\nimport { BrowserRouter as Router, BrowserRouter, Link } from 'react-router-dom'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faHandPointLeft,\n faPercent,\n faCoffee,\n faCube,\n faCheck,\n faDrawPolygon,\n faCircle,\n faInfo,\n faSquare,\n faSquareFull,\n faPlus,\n faBox,\n faCogs,\n faDotCircle,\n faDatabase,\n faDiceD6,\n faBullseye,\n faBoxOpen,\n faCheckSquare,\n faGavel,\n faStop,\n faListUl,\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCheckSquare,\n faPercent,\n faGavel,\n faHandPointLeft,\n faCheck,\n faCircle,\n faDrawPolygon,\n faInfo,\n faSquare,\n faSquareFull,\n faPlus,\n faCogs,\n faBullseye,\n faDotCircle,\n faDiceD6,\n faDatabase,\n faBox,\n faBoxOpen,\n faCube,\n faCoffee,\n faCube,\n faStop,\n faListUl\n)\n\n//console.log(faHandPointLeft.iconName);\n\nclass TreeItem extends Component {\n state = {\n childrenVisible: this.props.depth < 1,\n }\n\n determineVisibility(item) {\n if (!item.children) return\n if (item.containsSelection) {\n /* this.setState({\n childrenVisible: true\n });*/\n } else {\n if (this.props.shouldNonSelectedSubTreeClose) {\n this.setState({\n childrenVisible: false,\n })\n }\n }\n }\n\n componentDidMount() {\n if (!this.props.selectedItem) return\n this.determineVisibility(this.props.item)\n }\n\n componentDidUpdate(prevProps) {\n if (!this.props.selectedItem) return\n if (prevProps.selectedItem === this.props.selectedItem) return\n this.determineVisibility(this.props.item)\n }\n\n treeItemClicked = () => {\n //console.log(this.props.item);\n this.props.treeItemClicked(this.props.item)\n }\n\n arrowClicked = () => {\n this.setState({\n childrenVisible: !this.state.childrenVisible,\n })\n }\n\n renderArrow(item) {\n if (!item.children) return \n if (this.state.childrenVisible) {\n return (\n \n )\n } else {\n return (\n \n )\n }\n }\n\n handlePublishingUri2OrNot(item, treeItemURIKey) {\n if (this.props.selectedItem === item[treeItemURIKey]) {\n let publishVariable2 = this.props.publishVariable2\n\n if (publishVariable2) {\n var current = this.props.pubsub[publishVariable2]\n var contender = item['URI2']\n // console.log(\"found selected item \",item,publishVariable2,current,contender);\n if (current !== contender) {\n // console.log(\"publishing uri2 \",publishVariable2, item[\"URI2\"]);\n // this.props.publish(publishVariable2, item[\"URI2\"]);\n }\n }\n }\n }\n\n render() {\n let item = this.props.item\n let labelKey = this.props.data.head.vars[0]\n let treeItemURIKey = this.props.data.head.vars[1]\n // let setSelectionInURL = this.props.setSelectionInURL;\n let setSelectionInURL = false // code kan nog opgeschoond worden. implementatie verloopt nu simpeler\n\n // sorteren doen we voorlopig even via sparql\n /*\n if (item.children) {\n item.children.sort((a, b) => {\n if (!a[labelKey]) return 0;\n return a[labelKey].localeCompare(b[labelKey]);\n });\n }\n */\n\n if (item.icon == null) {\n if (this.props.defaultIcon !== '') {\n item.icon = this.props.defaultIcon\n }\n }\n this.handlePublishingUri2OrNot(item, treeItemURIKey)\n\n if (this.props.selectedItem === item[treeItemURIKey]) {\n console.log('selected item ')\n }\n\n /*\n\n if (this.props.selectedItem === item[treeItemURIKey])\n {\n \n let publishVariable2 = this.props.publishVariable2;\n if (publishVariable2)\n {\n var current=this.props.pubsub[publishVariable2];\n var contender = item[\"URI2\"];\n // console.log(current,contender,publishVariable2);\n if (current!=contender)\n {\n \n this.props.publish(publishVariable2, item[\"URI2\"]);\n if (setSelectionInURL)\n {\n // console.log(\"we moeten publish variable 2 uitvoeren incl url rewrite\");\n }\n else\n {\n // console.log(\"we moeten publish variable 2 uitvoeren\");\n }\n }\n \n }\n }\n */\n\n let curi = 'oude implementatie'\n\n // \n return (\n \n \n
\n {this.renderArrow(item)}\n {item.icon != null && (\n \n )}\n {item.icon2 != null && (\n \n )}\n {item.icon3 != null && (\n \n )}\n {setSelectionInURL ? (\n \n \n \n {item[labelKey]}\n \n \n \n ) : (\n \n {item[labelKey]}\n \n )}\n
\n {item.children &&\n this.state.childrenVisible &&\n item.children.map((item, index) => {\n return (\n \n )\n })}\n \n
\n )\n }\n}\n\nclass Tree extends Component {\n state = {\n items: [],\n rootitem: null,\n selectedItem: null,\n }\n\n static getDescription() {\n return {\n name: 'Tree',\n component: Tree,\n label: 'Tree widget',\n variables: [\n {\n name: 'query',\n type: 'yasgui',\n label:\n 'Query to fill tree. First item should be the object label, the second the object URI, the third the parent URI. optional you can use icon, icon2 and icon3 variables for fa-fa icons',\n },\n {\n name: 'publishVariable',\n type: 'text',\n label:\n 'Variabele in which tree item URI is published, when tree item is clicked.',\n },\n {\n name: 'publishVariable2',\n type: 'text',\n label:\n 'Variabele in which tree item URI2 is published, when tree item is clicked.',\n },\n {\n name: 'subscribeVariable',\n type: 'text',\n label:\n 'Publish variabele on which to listen to to define tree item selection.',\n },\n {\n name: 'rootLabel',\n type: 'text',\n label: 'Label of the root of the tree. Leave empty for no root.',\n },\n\n {\n name: 'title',\n type: 'text',\n label: 'title',\n },\n {\n name: 'defaultIcon',\n type: 'text',\n label: 'fa icon name when no icon is defined. ',\n },\n {\n name: 'aggregate',\n type: 'boolean',\n label: 'Aggregate the results based upon parent and child uri ',\n },\n {\n name: 'shouldNonSelectedSubTreeClose',\n type: 'boolean',\n label:\n 'Should a subtree that does not contain selection fold on new selection.',\n },\n {\n name: 'setSelectionInURL',\n type: 'boolean',\n label: 'the selected URI will be used in the browser URL',\n },\n {\n name: 'setSelectionInURLStartsString',\n type: 'text',\n label:\n 'the selected URI will be used in the browser URL only if it starts with',\n },\n {\n name: 'parseInitialURLForSelection',\n type: 'boolean',\n label: 'parse the initial URL for selection',\n },\n {\n name: 'initialSelection',\n type: 'text',\n label: 'initial uri selection',\n },\n {\n name: 'scrollSelectionIntoView',\n type: 'boolean',\n label: 'try to automatically scroll the selected object into view',\n },\n ],\n }\n }\n\n componentDidUpdate() {\n if (this.props.subscribeVariable == null) {\n return\n }\n if (this.selectEvent) {\n this.selectEvent = false\n return\n }\n let selectedURI = this.props.pubsub[this.props.subscribeVariable]\n //console.log(\"tree component did update \",selectedURI);\n if (this.props.scrollSelectionIntoView === true) {\n //not sure if this works correctly\n // console.log(\"smooth tree scorll, \",selectedURI, this.latestTreeSelection);\n if (selectedURI != null && this.latestTreeSelection === selectedURI) {\n // console.log(\"no smooth tree scroll\");\n } else {\n // console.log(\" smooth tree scrolling \");\n if (selectedURI != null) {\n setTimeout(function () {\n const element = document.getElementById(selectedURI)\n // console.log(\"tree component did update element foud \",element);\n if (element != null) {\n element.scrollIntoView({ behavior: 'smooth' })\n }\n }, 10)\n } else {\n // reset scroll\n const element = document.getElementById('begin')\n if (element != null) {\n element.scrollIntoView({ behavior: 'smooth' })\n }\n }\n }\n }\n }\n\n processURLSelection() {\n if (this.props != null) {\n if (this.props.parseInitialURLForSelection) {\n var url = window.top.location.href\n // console.log(\"trying to find selection from url\",url);\n if (url.startsWith(this.props.setSelectionInURLStartsString)) {\n // console.log(\"try parsing url path\",url);\n\n this.props.pubsub[this.props.subscribeVariable] = url\n } else {\n try {\n // console.log(\"trying to find selection from url parameter\");\n const queryString = window.top.location.search\n // console.log(queryString);\n const urlParams = new URLSearchParams(queryString)\n var selection = urlParams.get('selection')\n if (selection != null) {\n if (\n selection.startsWith(\n this.props.setSelectionInURLStartsString\n ) ||\n selection.startsWith('http://localhost:3000/')\n ) {\n // console.log(\"try parsing url from selection\",selection);\n this.props.pubsub[this.props.subscribeVariable] = selection\n return true\n } else {\n console.log(\n 'initial parametervalue not according to ',\n this.props.setSelectionInURLStartsString\n )\n }\n } else {\n console.log('no initial selection parameter value found', url)\n }\n } catch (error) {\n console.log(error)\n }\n }\n\n //url=\"https://otl.waternet.nl/def/Document\"; //voorbeeld\n // remove url parameters\n }\n }\n return false\n }\n\n componentDidMount() {\n if (this.processURLSelection()) {\n return\n }\n //this.processURLSelection();\n // check of we een selectie (niet zeker of die bestaat) moeten registerern op basis van de url.\n if (this.props.initialSelection != null) {\n if (\n this.props.subscribeVariable != null ||\n this.props.publishVariable != null\n ) {\n // console.log(\"setting initial selection value\");\n let selection = this.props.subscribeVariable\n if (selection == null) {\n selection = this.props.publishVariable\n }\n this.props.pubsub[selection] = this.props.initialSelection\n }\n }\n }\n\n treeItemClicked = (item) => {\n this.selectEvent = true\n this.latestTreeSelection = item.uri\n // console.log(\"latest tree selection\",item.uri);\n let treeItemURIKey = this.props.data.head.vars[1]\n let publishVariable = this.props.publishVariable\n let publishVariable2 = this.props.publishVariable2\n if (publishVariable2) {\n //console.log(\"two tree selection event publishing \",publishVariable2, item[\"URI2\"]);\n //this.props.publish(publishVariable2, item[\"URI2\"]);\n //setTimeout(function(){ props.publish(publishVariable, item[treeItemURIKey]);},10);\n var v1 = item[treeItemURIKey]\n var v2 = item['URI2']\n\n this.props.dispatch({\n type: 'PUBLISH',\n data: {\n [publishVariable]: v1,\n //[publishVariable2]:v2\n },\n })\n var me = this\n setTimeout(function () {\n me.props.dispatch({\n type: 'PUBLISH',\n data: {\n //[publishVariable]: v1,\n [publishVariable2]: v2,\n },\n })\n }, 20)\n } else {\n console.log(\n 'single tree selection event publishing ',\n publishVariable,\n item[treeItemURIKey]\n )\n v1 = item[treeItemURIKey]\n this.props.dispatch({\n type: 'PUBLISH',\n data: {\n [publishVariable]: v1,\n },\n })\n this.props.publish(publishVariable, item[treeItemURIKey])\n }\n this.setState({ selectedItem: item[treeItemURIKey] })\n }\n\n containsSelection(selectedURI, treeItemURIKey, item) {\n if (item[treeItemURIKey] === selectedURI) {\n return true\n }\n var b = false\n for (var n in item.children) {\n var child = item.children[n]\n child.containsSelection = this.containsSelection(\n selectedURI,\n treeItemURIKey,\n child\n )\n if (child.containsSelection === true) {\n b = true\n }\n }\n return b\n }\n\n openSelectie(items) {\n let selectedURI = this.props.pubsub[this.props.subscribeVariable]\n if (selectedURI == null) {\n return\n }\n let treeItemURIKey = this.props.data.head.vars[1]\n for (var n in items) {\n var item = items[n]\n item.containsSelection = this.containsSelection(\n selectedURI,\n treeItemURIKey,\n item\n )\n }\n }\n\n findParents(ar) {\n let headVars = this.props.data.head.vars\n let treeItemURIKey = headVars[1]\n let parentItemURIKey = headVars[2]\n let parents = []\n let uri_items = {}\n // zoek parents en creeer uri hash\n for (var n in ar) {\n let item = ar[n]\n\n var itemsar = uri_items[item[treeItemURIKey]]\n if (itemsar == null) {\n itemsar = []\n uri_items[item[treeItemURIKey]] = itemsar\n }\n itemsar.push(item)\n }\n\n // zet children\n for (const n in ar) {\n var item = ar[n]\n if (uri_items[item[parentItemURIKey]] == null) {\n parents.push(item)\n // console.log(\"finding parent \"+item[labelKey],parents[0]);\n }\n // console.log(parents) ;\n\n var parent = item[parentItemURIKey]\n if (parent != null) {\n itemsar = uri_items[parent]\n if (itemsar != null) {\n for (var i in itemsar) {\n var parentO = itemsar[i]\n var children = parentO.children\n if (children == null) {\n children = []\n parentO.children = children\n }\n children.push(item)\n }\n }\n }\n }\n\n return parents\n }\n\n aggregate(items) {\n try {\n let headVars = this.props.data.head.vars\n let treeItemURIKey = headVars[1]\n let parentItemURIKey = headVars[2]\n\n var id_binding = {}\n for (var n in items.results.bindings) {\n var binding = items.results.bindings[n]\n var parent = 'onbekend'\n if (binding[parentItemURIKey] != null)\n parent = binding[parentItemURIKey].value\n var id = parent + '_' + binding[treeItemURIKey].value\n var double = id_binding[id]\n if (double != null) {\n for (var key in binding) {\n double[key] = binding[key]\n }\n } else {\n id_binding[id] = binding\n }\n }\n var result = []\n //console.log(id_binding);\n for (var k in id_binding) result.push(id_binding[k])\n\n items.results.bindings = result\n // console.log(items);\n return items\n } catch (e) {\n console.log(e)\n }\n return null\n }\n\n /*shouldComponentUpdate()\n {\n console.log(\"tree needs to be updated\");\n return true;\n }\n*/\n exists(uri, item) {\n //console.log(uri,item);\n try {\n if (item.child === uri) {\n return true\n }\n if (item.children == null) {\n return false\n }\n for (var n in item.children) {\n var b = this.exists(uri, item.children[n])\n if (b) {\n return true\n }\n }\n } catch (e) {\n console.log(e)\n }\n\n return false\n }\n\n render() {\n if (!this.props.data) return null\n var item = this.state.rootitem\n if (item == null) {\n item = this.createTreeItems()\n //this.state.rootitem=item;\n }\n\n if (item == null) {\n return null\n }\n\n let selectedURI = this.props.pubsub[this.props.subscribeVariable]\n if (selectedURI == null) {\n selectedURI = this.state.selectedItem\n }\n\n if (selectedURI && this.props.setSelectionInURL) {\n var getUrl = window.top.location\n var baseUrl = getUrl.origin + '/'\n var suri = baseUrl + selectedURI.replace(baseUrl, '') // makesure it has the same origin\n if (suri !== selectedURI) {\n // console.log(\"selected uri not in this domain. resetting url \",selectedURI);\n suri = baseUrl\n }\n if (!this.exists(selectedURI, item)) {\n // console.log( \"selected uri bestaat niet \",selectedURI);\n suri = baseUrl\n }\n // if (suri!=baseUrl)\n //console.log(\"should push suri \",suri);\n if (true) {\n //console.log(\"selected uri in this domain so changing url\",selectedURI);\n setTimeout(function () {\n try {\n window.top.history.pushState({}, null, suri)\n } catch (e) {\n console.log(e)\n }\n }, 0)\n } else {\n console.log('not reloading')\n }\n }\n\n //console.log(this.props.data,item);\n var depth = 0\n\n return (\n
\n {this.props.title && (\n
{this.props.title}
\n )}\n \n
\n )\n }\n\n createTreeItems() {\n let selectedURI = this.props.pubsub[this.props.subscribeVariable]\n\n let items = this.props.data\n if (this.props.aggregate) {\n items = this.aggregate(items)\n }\n if (items == null) {\n return null\n }\n items = restructureResponse(items)\n if (items == null) {\n return null\n }\n\n let headVars = this.props.data.head.vars\n\n items = this.findParents(items)\n this.openSelectie(items)\n\n let labelKey = headVars[0]\n let item = {\n [labelKey]: this.props.rootLabel,\n children: items,\n containsSelection: !!selectedURI,\n }\n\n if (\n (this.props.rootLabel === '' || this.props.rootLabel == null) &&\n items.length === 1\n ) {\n item = items[0]\n // console.log(\"setting single data parent as root of the table\",item);\n }\n // console.log(\"returning tree items \",item);\n return item\n }\n}\n\nexport default Tree\n","import React from 'react'\nimport styles from './List.module.css'\n\nimport { Button } from 'reactstrap'\nimport { restructureResponse } from '../../helpers/sparql'\nimport PublishUtils from './../../helpers/PublishUtils'\n\nclass List extends React.Component {\n state = { checklist: {} }\n\n handleOnChange = (e) => {\n // setIsChecked(!isChecked);\n // console.log(e,e.target.value,e.target.checked);\n let checklist = this.state.checklist\n checklist[e.target.value] = e.target.checked\n\n this.setState({ checklist: checklist })\n let publishVariable = this.props.publishVariable\n if (publishVariable != null) {\n let valueString = ''\n let komma = ''\n let pre = '<'\n let end = '>'\n let kommaT = ','\n if (this.props.multipleselectparametertype === 'csvstring') {\n pre = '\"'\n end = pre\n }\n if (this.props.multipleselectparametertype === 'valuestring') {\n pre = '(\"'\n end = '\") '\n kommaT = ''\n }\n if (this.props.multipleselectparametertype === 'valueuri') {\n pre = '(<'\n end = '>) '\n kommaT = ''\n }\n\n for (let n in checklist) {\n if (checklist[n]) {\n valueString += komma + pre + n + end\n komma = kommaT\n }\n }\n // console.log(valueString);\n if (valueString === '') valueString = ''\n\n this.props.publish(publishVariable, valueString)\n //PublishUtils.resetParameter(this);\n }\n }\n\n static getDescription() {\n return {\n name: 'List',\n component: List,\n label: 'List widget',\n variables: [\n {\n name: 'title',\n type: 'text',\n label: 'Titel boven de lijst',\n },\n {\n name: 'query',\n type: 'yasgui',\n label: 'first variabele for the labels ',\n },\n {\n name: 'publishVariable',\n type: 'text',\n label: 'sparql parameter name for publishing select event result',\n },\n {\n name: 'subscribeVariable',\n type: 'text',\n label:\n 'Published variabele on which to listen to to define list item selection.',\n },\n {\n name: 'multipleselect',\n type: 'boolean',\n label:\n 'allow multiple selections. parameters are filled as comma separated values',\n },\n {\n name: 'multipleselectparametertype',\n type: 'select',\n options: [\n { label: 'csv as uri', value: 'csvuri' },\n { label: 'csv as string with \"', value: 'csvstring' },\n { label: 'sparql value string with \"', value: 'valuestring' },\n { label: 'sparql value uri)', value: 'valueuri' },\n ],\n label:\n 'for Multiple selection only: how to set the multivalue parameters',\n },\n PublishUtils.getResetValueDef(),\n /*,\n {\n name: 'clearParameter',\n type: 'text',\n label: 'clears widget when parameter changes'\n }*/\n ],\n }\n }\n\n //state= {clearList:false};\n clearList = false\n\n shouldComponentUpdate(nextProps, nextState) {\n if (nextProps == null) {\n return false\n }\n if (this.props == null) {\n return false\n }\n if (this.props.data == null) {\n return true\n }\n\n if (nextProps.data !== this.props.data) {\n // let key = this.props.data.head.vars[0]\n // let label = this.props.data.head.vars[0]\n // if (this.props.data.head.vars.length > 1) {\n // key = this.props.data.head.vars[1]\n // }\n\n // let items = restructureResponse(this.props.data)\n this.setState({ checklist: {} })\n let publishVariable = this.props.publishVariable\n if (publishVariable != null) {\n this.props.publish(publishVariable, null)\n PublishUtils.resetParameter(this)\n }\n\n this.setState({ checklist: {} })\n\n return true\n }\n\n return true\n }\n\n renderMultiple() {\n let key = this.props.data.head.vars[0]\n let label = this.props.data.head.vars[0]\n if (this.props.data.head.vars.length > 1) {\n key = this.props.data.head.vars[1]\n }\n\n // let publishVariable = this.props.publishVariable\n\n let items = restructureResponse(this.props.data)\n //console.log(key,items);\n let checklist = this.state.checklist\n return (\n
\n {this.props.title && (\n
{this.props.title}
\n )}\n
    \n {items.map((item, index) => {\n let checkboxvalue = item[key]\n let check = checklist[checkboxvalue] ?? false\n\n return (\n
    \n \n {item[label]}\n
    \n )\n })}\n
\n
\n )\n }\n\n render() {\n if (!this.props.data) return null\n if (this.props.multipleselect) return this.renderMultiple()\n\n let key = this.props.data.head.vars[0]\n let label = this.props.data.head.vars[0]\n if (this.props.data.head.vars.length > 1) {\n key = this.props.data.head.vars[1]\n }\n\n let publishVariable = this.props.publishVariable\n\n let items = restructureResponse(this.props.data)\n //console.log(key,items);\n let selectedItem = this.props.pubsub[publishVariable]\n\n return (\n
\n {this.props.title && (\n
{this.props.title}
\n )}\n
    \n {items.map((item, index) => {\n if (publishVariable) {\n return (\n
  • \n {\n this.props.publish(publishVariable, item[key])\n PublishUtils.resetParameter(this)\n }}\n >\n {item[label]}\n \n
  • \n )\n } else {\n return (\n
  • \n
    {item[label]}
    \n
  • \n )\n }\n })}\n
\n
\n )\n }\n}\n\nexport default List\n","import React, { Component, Fragment } from 'react'\nimport styles from './RadioBox.module.css'\n\nclass RadioBox extends Component {\n static getDescription() {\n return {\n name: 'RadioBox',\n component: RadioBox,\n label: 'Radio box widget',\n variables: [\n {\n name: 'publishVariable',\n type: 'text',\n label:\n 'Variabele in which the URI of the selected radio box is published.',\n },\n {\n name: 'label',\n type: 'text',\n label: 'Label',\n },\n {\n name: 'horizontal',\n type: 'boolean',\n label: 'horizontal',\n },\n {\n name: 'options',\n type: 'text',\n label:\n 'Options defined by a comma separated list of value/label pairs',\n },\n ],\n }\n }\n\n componentDidMount() {\n let options = this.restructureOptions()\n if (!options) return\n\n this.props.publish(\n this.props.publishVariable,\n options[0] && options[0].value\n )\n }\n\n onChange = (event) => {\n let value = event.target.value\n console.log(value)\n this.props.publish(this.props.publishVariable, value)\n }\n\n restructureOptions() {\n let options = this.props.options\n try {\n options = options.split(',')\n } catch (error) {\n return null\n }\n\n options = options.reduce((org, value, index) => {\n if (index % 2 === 0) {\n value = value.trim()\n org = [\n ...org,\n {\n value,\n label: options[index + 1] || value,\n },\n ]\n }\n return org\n }, [])\n return options\n }\n\n renderOptionsHorizontal() {\n let value = this.props.pubsub[this.props.publishVariable]\n let options = this.restructureOptions()\n\n if (!options) {\n return (\n
Options should be a comma separated list of value,label pairs
\n )\n }\n\n return (\n \n {options.map((option) => (\n
\n \n
\n ))}\n
\n )\n }\n renderOptionsVertical() {\n let value = this.props.pubsub[this.props.publishVariable]\n let options = this.restructureOptions()\n\n if (!options) {\n return (\n
Options should be a comma separated list of value,label pairs
\n )\n }\n\n return (\n
\n {options.map((option) => (\n
\n \n
\n ))}\n
\n )\n }\n\n render() {\n let horizontal = this.props.horizontal\n return (\n
\n
{this.props.label}
\n\n {horizontal\n ? this.renderOptionsHorizontal()\n : this.renderOptionsVertical()}\n
\n )\n }\n}\n\nexport default RadioBox\n","export function not(fn) {\n return (...args) => !fn(...args)\n}\n\nexport function isEmptyObject(obj) {\n return (\n obj &&\n Object.keys(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n )\n}\n","import React, { Component } from 'react'\nimport styles from './SelectBox.module.css'\nimport { Input } from 'reactstrap'\nimport { restructureResponse } from '../../helpers/sparql'\nimport { not, isEmptyObject } from '../../helpers/utils'\nimport isEqual from 'lodash/isEqual'\n\nclass SelectBox extends Component {\n static getDescription() {\n return {\n name: 'SelectBox',\n component: SelectBox,\n label: 'Select box widget',\n variables: [\n {\n name: 'query',\n type: 'yasgui',\n label: 'To fill select box items',\n },\n {\n name: 'publishVariable',\n type: 'text',\n label:\n 'Variabele in which the URI of the selected item is published.',\n },\n {\n name: 'publishVariable2',\n type: 'text',\n label: 'Variabelename for ?uri2 of the selected item (if available).',\n },\n {\n name: 'label',\n type: 'text',\n label: 'Label',\n },\n ],\n }\n }\n\n componentDidMount() {\n if (this.props.data) {\n this.preSelect()\n }\n }\n\n componentDidUpdate(prevProps) {\n try {\n if (!isEqual(prevProps.data, this.props.data)) {\n this.preSelect()\n }\n } catch (e) {\n console.log(e)\n }\n }\n\n preSelect() {\n try {\n //console.log(\"preselect\");\n var value = 'http://www.buildingbits.nl/null'\n let item = restructureResponse(this.props.data)[0]\n if (item == null) {\n } else {\n let keyURI = this.props.data.head.vars[0]\n value = item[keyURI]\n }\n\n if (this.props.publishVariable != null) {\n console.log(\n 'select publishing ',\n this.props.publishVariable,\n value,\n item\n )\n this.props.publish(this.props.publishVariable, value)\n }\n if (this.props.publishVariable2 != null && item['uri2'] != null) {\n console.log('initial select publishing uri2 ', item['uri2'])\n this.props.publish(this.props.publishVariable2, item['uri2'])\n }\n } catch (e) {\n console.log(e)\n }\n }\n\n onChange = (event) => {\n let value = event.target.value\n let value2 = null\n\n try {\n value2 = event.target[event.target.selectedIndex].attributes['value2']\n } catch (e) {}\n\n if (this.props.publishVariable != null) {\n this.props.publish(this.props.publishVariable, value)\n }\n if (this.props.publishVariable2 != null && value2 != null) {\n console.log(\n 'select publishing uri2 ',\n this.props.publishVariable2,\n value2\n )\n this.props.publish(this.props.publishVariable2, value2)\n }\n }\n\n render() {\n if (!this.props) return null\n if (!this.props.data) return null\n let headVars = this.props.data.head.vars\n if (headVars.length < 2) return null\n let keyURI = headVars[0] // graph\n let keyLabel = headVars[1] // label\n let items = null\n try {\n items = restructureResponse(this.props.data).filter(not(isEmptyObject))\n } catch (er) {\n console.log(er)\n return null\n }\n if (items == null) return null\n let value = this.props.pubsub[this.props.publishVariable]\n\n return (\n
\n
{this.props.label}
\n \n {/* */}\n {items.map((item) => (\n \n {item[keyLabel]}\n \n ))}\n \n
\n )\n }\n}\n\nexport default SelectBox\n","import React, { Component } from 'react'\nimport styles from './Slider.module.css'\nimport { restructureResponse } from '../../helpers/sparql'\nimport throttle from 'lodash/throttle'\n// import isEqual from 'lodash/isEqual';\n\nclass Slider extends Component {\n state = {}\n\n // componentDidMount() {\n // if (this.props.data) {\n // let item = restructureResponse(this.props.data)[0];\n // let keyURI = this.props.data.head.vars[0];\n // let value = item[keyURI];\n // this.props.publish(this.props.publishVariable, value);\n // }\n // }\n\n static getDescription() {\n var r = {\n name: 'Slider',\n component: Slider,\n label: 'Slider widget',\n variables: [\n {\n name: 'query',\n type: 'yasgui',\n label:\n 'Sparql query to define min max values of the slider. it uses only the first parameter',\n },\n {\n name: 'publishVariable',\n type: 'text',\n label: 'Variabele in which the value of the slider is published.',\n },\n\n {\n name: 'startMin',\n type: 'boolean',\n label: 'default on minimum',\n },\n {\n name: 'publishStartValue',\n type: 'boolean',\n label: 'publish the initial value',\n },\n\n {\n name: 'tick',\n type: 'text',\n label: 'tick',\n },\n {\n name: 'label',\n type: 'text',\n label: 'Label',\n },\n {\n name: 'textwidth',\n type: 'text',\n label: 'text width',\n },\n ],\n }\n return r\n }\n\n shouldComponentUpdate(arg1) {\n if (this.props.data == null && arg1.data != null) {\n if (this.props.publishVariable && this.props.publishStartValue) {\n //console.log(\"should component slider\",this.props.data,arg1);\n var minmax = this.defineMaxMinValue(arg1)\n\n let value = minmax.maxValue\n if (this.props.startMin) {\n value = minmax.minValue\n }\n this.props.publish(this.props.publishVariable, value)\n }\n }\n return true\n }\n\n defineMaxMinValue(arg) {\n let minValue = 1000000\n let maxValue = -1000000\n try {\n var data = this.props.data\n if (arg) {\n data = arg.data\n }\n let headVars = data.head.vars\n let key = headVars[0] // eg. oprichtingsDatum\n let items = restructureResponse(data)\n\n items.forEach((item) => {\n let value = item[key]\n try {\n if (typeof value === 'string') value = Number(value)\n } catch (error) {\n console.log(error)\n }\n if (value < minValue) minValue = value\n if (value > maxValue) maxValue = value\n })\n return { minValue, maxValue }\n } catch (e) {\n console.log(e)\n }\n return { minValue, maxValue }\n }\n\n onChange = (event) => {\n this.setState({\n value: event.target.value,\n })\n // console.log(event);\n\n //this.onChangeThrottle();\n }\n onmouseup = (event) => {\n // console.log(\"mouse up\");\n this.onChangeThrottle()\n }\n\n onChangeThrottle = throttle(() => {\n // console.log(\"slider update\");\n let value = this.state.value\n\n if (value) {\n console.log('really publishing ', this.props.publishVariable, value)\n this.props.publish(this.props.publishVariable, value)\n }\n }, 200)\n\n render() {\n if (!this.props.data) return null\n let step = 1\n if (this.props.tick != null) {\n try {\n step = parseInt(this.props.tick)\n } catch (error) {}\n }\n let { minValue, maxValue } = this.defineMaxMinValue()\n\n // let value = this.props.pubsub[this.props.publishVariable] || maxValue;\n let value = null\n if (this.props.startMin) {\n value = this.state.value || minValue\n } else {\n value = this.state.value || maxValue\n }\n\n return (\n
\n \n \n \n \n \n \n
\n
{this.props.label}
\n
\n
{minValue}
\n \n
{maxValue}
\n
({value})
\n
\n
\n
\n )\n }\n}\n\nexport default Slider\n","import React, { Component } from 'react'\nimport styles from './SearchAutocomplete.module.css'\nimport { Input } from 'reactstrap'\nimport { restructureResponse } from '../../helpers/sparql'\nimport PublishUtils from '../../helpers/PublishUtils'\n\n//magnifyingGlass from '../../images/magnifying-glass.svg';\n//import cross from '../../images/cross.svg';\n\nclass SearchAutocomplete extends Component {\n state = {\n searchValue: '',\n validItems: [],\n showPopup: false,\n selectedIndex: null,\n }\n\n static getDescription() {\n return {\n name: 'SearchAutocomplete',\n component: SearchAutocomplete,\n label: 'Search autocomplete widget',\n variables: [\n {\n name: 'query',\n type: 'yasgui',\n label: 'Query to fill search results. parameters search string, uri',\n },\n {\n name: 'publishVariable',\n type: 'text',\n label: 'Variabele in which searchterm is published.',\n },\n {\n name: 'alignItems',\n type: 'select',\n label: 'Uitlijning',\n options: [\n {\n label: 'Stretch',\n value: 'stretch',\n },\n {\n label: 'Start',\n value: 'flex-start',\n },\n {\n label: 'Center',\n value: 'center',\n },\n {\n label: 'End',\n value: 'flex-end',\n },\n ],\n },\n PublishUtils.getResetValueDef(),\n {\n name: 'textbefore',\n type: 'text',\n label: 'text before the search input.',\n },\n {\n name: 'cssEscape',\n type: 'text',\n label: 'JSON object of CSS statements',\n },\n\n {\n name: 'resetPublishVariable',\n type: 'boolean',\n label: 'Reset the publish variable when sparql changes',\n },\n ],\n }\n }\n\n shouldComponentUpdate(e, b) {\n if (e == null) return true\n if (this.props == null) return true\n if (e.data !== this.props.data) {\n //console.log(\"NEW DATA. refresh current searchbox\");\n\n if (this.props.resetPublishVariable === true) {\n let pv = this.props.publishVariable\n // console.log(\"should reset if variable is present\",pv);\n if (pv != null) {\n // console.log(\"publish variable could be present\");\n if (this.props.pubsub[pv] != null) {\n //console.log(\"reset publish variable \",pv,this.props.pubsub[pv]);\n\n this.setState({ searchValue: '' })\n this.props.publish(pv, 'http://www.buildingbits.nl/empty')\n }\n }\n }\n }\n return true\n }\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n if (!this.state.validItems.length) {\n console.log('niets')\n this.publish(null, '')\n return\n }\n if (!this.state.selectedIndex) {\n console.log('niets')\n this.publish(null, '')\n return\n }\n let selectedItem = this.state.validItems[this.state.selectedIndex]\n let objectURIKey = this.props.data.head.vars[1]\n\n this.publish(selectedItem[objectURIKey])\n } else if (e.key === 'ArrowDown') {\n let selectedIndex = this.state.selectedIndex\n let validItems = this.state.validItems\n if (selectedIndex === validItems.length - 1) return\n this.setState({\n selectedIndex: selectedIndex === null ? 0 : selectedIndex + 1,\n })\n } else if (e.key === 'ArrowUp') {\n let selectedIndex = this.state.selectedIndex\n if (selectedIndex === 0) return\n this.setState({\n selectedIndex:\n selectedIndex === null\n ? this.state.validItems.length - 1\n : selectedIndex - 1,\n })\n } else if (e.key === 'Escape') {\n this.setState({ searchValue: '' })\n }\n }\n\n onChange = (e) => {\n let objectKey = this.props.data.head.vars[0]\n let searchValue = e.target.value\n\n let items = restructureResponse(this.props.data)\n let validItems = items.filter(\n (item) =>\n item[objectKey] &&\n item[objectKey].toLowerCase().includes(searchValue.toLowerCase())\n )\n this.setState({\n searchValue,\n showPopup: true,\n validItems,\n selectedIndex: null,\n })\n }\n\n onBlur = (e) => {\n setTimeout(() => {\n this.setState({\n showPopup: false,\n })\n }, 300)\n }\n\n publish(objectURI, key) {\n let publishVariable = this.props.publishVariable\n var data = {}\n\n data[publishVariable] = objectURI\n\n this.props.publish(publishVariable, objectURI) //DIT EERST\n\n PublishUtils.resetParameter(this, false)\n /*\n var me=this;\n setTimeout(function(){console.log(\"resetting parameters \",data);\n me.props.dispatch({\n type: 'PUBLISH',\n data: data\n });},100);\n */\n\n this.setState({\n showPopup: false,\n searchValue: key,\n })\n }\n\n renderLabel(label, searchValue) {\n let ind = label.toLowerCase().indexOf(searchValue.toLowerCase())\n if (ind === -1) {\n return
{label}
\n }\n let end = ind + searchValue.length\n let l1 = label.slice(0, ind)\n let l2 = label.slice(ind, end)\n let l3 = label.slice(end)\n return (\n
\n {l1}\n {l2}\n {l3}\n
\n )\n }\n\n renderValidItems() {\n try {\n if (!this.props.data) return\n\n let objectKey = this.props.data.head.vars[0]\n let objectURIKey = this.props.data.head.vars[1]\n let searchValue = this.state.searchValue\n let validItems = this.state.validItems\n let selectedIndex = this.state.selectedIndex\n let selectedItem = validItems[selectedIndex]\n\n if (!searchValue) return null\n if (!validItems.length)\n return
geen resultaten gevonden
\n if (!this.state.showPopup) return null\n\n return (\n
\n {validItems.map((item, index) => {\n let isSelected =\n selectedItem && selectedItem[objectURIKey] === item[objectURIKey]\n\n return (\n \n this.publish(item[objectURIKey], item[objectKey])\n }\n >\n {this.renderLabel(item[objectKey], searchValue)}\n
\n )\n })}\n \n )\n } catch (ee) {\n console.log(ee)\n }\n return\n }\n\n render() {\n if (!this.props.data) return null\n let mainStyle = {\n alignItems: this.props.alignItems || 'stretch',\n }\n\n let css = this.props.cssEscape\n if (css) {\n try {\n css = JSON.parse(css)\n mainStyle = {\n ...mainStyle,\n ...css,\n }\n } catch (error) {\n console.log(error)\n }\n }\n let text = this.props.textbefore\n if (text != null && text.length < 1) {\n text = null\n }\n return (\n
\n
\n {text && {text}}\n \n {this.state.searchValue ? (\n this.setState({ searchValue: '' })}\n src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik00NTcuNSw0NjZjLTMuNSwwLTYuOS0xLjMtOS41LTRMNDgsNjJjLTUuMy01LjMtNS4zLTEzLjgsMC0xOS4xYzUuMy01LjMsMTMuOC01LjMsMTkuMSwwbDQwMCw0MDBjNS4zLDUuMyw1LjMsMTMuOCwwLDE5LjENCgkJQzQ2NC40LDQ2NC43LDQ2MSw0NjYsNDU3LjUsNDY2eiIvPg0KCTxwYXRoIGQ9Ik01Ny41LDQ2NmMtMy41LDAtNi45LTEuMy05LjUtNGMtNS4zLTUuMy01LjMtMTMuOCwwLTE5LjFMNDQ4LDQzYzUuMy01LjMsMTMuOC01LjMsMTkuMSwwYzUuMyw1LjMsNS4zLDEzLjgsMCwxOS4xTDY3LDQ2Mg0KCQlDNjQuNCw0NjQuNyw2MSw0NjYsNTcuNSw0NjZ6Ii8+DQo8L2c+DQo8L3N2Zz4NCg==\"\n alt=\"empty\"\n />\n ) : (\n \n )}\n
\n {this.renderValidItems()}\n
\n )\n }\n}\n\nexport default SearchAutocomplete\n","import React, { Component } from 'react'\nimport styles from './Tab.module.css'\nimport Area from '../Area'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faProjectDiagram,\n faShareAlt,\n faBacon,\n faTag,\n faTable,\n faSearch,\n faMap,\n faCoffee,\n faSitemap,\n faCube,\n faCheck,\n faDrawPolygon,\n faCircle,\n faInfo,\n faSquare,\n faSquareFull,\n faPlus,\n faBox,\n faCogs,\n faDotCircle,\n faDatabase,\n faDiceD6,\n faBullseye,\n faBoxOpen,\n faCheckSquare,\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faProjectDiagram,\n faShareAlt,\n faBacon,\n faTag,\n faTable,\n faMap,\n faSearch,\n faCheckSquare,\n faSitemap,\n faCheck,\n faCircle,\n faDrawPolygon,\n faInfo,\n faSquare,\n faSquareFull,\n faPlus,\n faCogs,\n faBullseye,\n faDotCircle,\n faDiceD6,\n faDatabase,\n faBox,\n faBoxOpen,\n faCube,\n faCoffee,\n faCube\n)\n\nclass Tab extends Component {\n static tabId = 0\n state = { selectedIndex: 0, hideTabs: null, areas: [], id: Tab.tabId++ }\n\n static getDescription() {\n return {\n name: 'Tab',\n component: Tab,\n label: 'Tab Layout',\n variables: [\n {\n name: 'tabs',\n type: 'array',\n label: 'Tabs',\n },\n {\n name: 'tabSelectionSubscription',\n type: 'text',\n label: 'Variabele to listen to for tab selection',\n },\n {\n name: 'hideTabs',\n type: 'text',\n label:\n 'Variabele to listen to for tab visualisation. Use tab names to hide the tabs',\n },\n\n {\n name: 'icons',\n type: 'array',\n label: 'fa icon names when no icon is defined. ',\n },\n {\n name: 'initialTabSelection',\n type: 'text',\n label: 'index of the initial selected tab',\n },\n {\n name: 'areas',\n type: 'json',\n // label: 'Column widths or row heights (separated by commas). Value can be a number (which will be set as flex values/verhoudingswaarden) or a px/% value',\n label: 'area definitions',\n },\n ],\n }\n }\n\n static registeredTabComponents = [] //registering all tabs for 'back button'\n\n getTabId() {\n return this.state.id\n }\n\n componentDidMount2() {\n if (this.props.initialTabSelection != null) {\n try {\n // var index = parseInt(this.props.initialTabSelection+\"\");\n let index = this.props.initialTabSelection\n this.setState({ selectedIndex: index })\n } catch (e) {}\n }\n Tab.registeredTabComponents.push(this)\n }\n getFirstNonHiddenTab()\n {\n \n \n let selectedIndex=0;\n let hideTabs = this.props.hideTabs\n let data = this.props.pubsub[hideTabs];\n\n\n for (let n in this.props.tabs)\n {\n let tab= this.props.tabs[n];\n if (tab!=data)\n {\n return n;\n }\n\n }\n\n return selectedIndex;\n }\n\n componentDidUpdate(prevProps) {\n let tabSelectionSubscription = this.props.tabSelectionSubscription\n if (tabSelectionSubscription) {\n // console.log(\"tab did update \",this.state);\n if (\n prevProps.pubsub[tabSelectionSubscription] !==\n this.props.pubsub[tabSelectionSubscription]\n ) {\n let index = this.props.pubsub[tabSelectionSubscription]\n //index=parseInt(index+\"\");\n // console.log(\"set selected index change \");\n this.setState({ selectedIndex: index })\n }\n }\n let hideTabs = this.props.hideTabs\n if (hideTabs) {\n if (prevProps.pubsub[hideTabs] !== this.props.pubsub[hideTabs]) {\n let data = this.props.pubsub[hideTabs];\n \n let selectedIndex=this.state.selectedIndex;\n let selectedTabname=this.props.tabs[selectedIndex];\n \n // data =prevProps.pubsub[hideTabs];\n if (selectedTabname==data)\n {\n \n selectedIndex=this.getFirstNonHiddenTab();\n selectedIndex=parseInt(selectedIndex+\"\");\n //console.log(\"hidden tab is selected\",selectedIndex);\n this.onTabClick(selectedIndex);\n }\n // console.log(\"set selected index change 2\");\n this.setState({ hideTabs: data, selectedIndex: selectedIndex })\n }\n }\n }\n\n onTabClick = (index) => {\n let tabSelectionSubscription = this.props.tabSelectionSubscription\n\n if (tabSelectionSubscription) {\n var me = this\n me.props.publish(tabSelectionSubscription, index)\n } else {\n }\n this.setState({ selectedIndex: index })\n }\n\n render() {\n let mode = this.props.mode;\n return (\n \n
\n {this.props.tabs.map((tab, index) => {\n let selected = index === this.state.selectedIndex\n var icons = this.props.icons\n if (this.state.hideTabs != null) {\n if (tab === this.state.hideTabs) {\n return null\n }\n }\n\n return (\n this.onTabClick(index)}\n >\n {icons != null && (\n \n )}\n {tab}\n
\n )\n })}\n \n\n {this.props.tabs.map((tab, index) => {\n let areaConfig = this.props.areas[index] || {}\n\n let selected = index === this.state.selectedIndex\n // console.log(index,this.state.selectedIndex,selected);\n if (this.props.withinSelectedTab != null) {\n if (this.props.withinSelectedTab === false) {\n selected = false\n // console.log(\"TEST FF NIET SELECTED TAB WANT TAB IS NIET ZICHTBAAR\");\n }\n }\n\n return (\n \n \n \n )\n })}\n \n )\n }\n}\n\nexport default Tab\n","import React, { Component } from 'react'\nimport styles from './SplitLayout.module.css'\nimport Area from '../Area'\n\nclass SplitLayout extends Component {\n static getDescription() {\n return {\n name: 'SplitLayout',\n component: SplitLayout,\n label: 'Split Layout',\n variables: [\n {\n name: 'direction',\n type: 'select',\n label: 'Direction',\n options: [\n {\n label: 'Rijen',\n value: 'column',\n },\n {\n label: 'Kolommen',\n value: 'row',\n },\n ],\n },\n {\n name: 'disableScrollbars',\n type: 'boolean',\n label: 'disable scrollbars',\n },\n {\n name: 'minimize',\n type: 'boolean',\n label: 'minimize size',\n },\n {\n name: 'areaSizes',\n type: 'array',\n // label: 'Column widths or row heights (separated by commas). Value can be a number (which will be set as flex values/verhoudingswaarden) or a px/% value',\n label:\n \"Kolom Breedte of Rij hoogte, gescheiden door comma's. Waarden kunnen gegeven worden in pixels, percentage of getallen. Een getal is verhoudingsgetal ten opzichte van de andere Rijen/Kolommen. (Een voorbeeld: 130px,1,10%)\",\n },\n {\n name: 'areas',\n type: 'json',\n // label: 'Column widths or row heights (separated by commas). Value can be a number (which will be set as flex values/verhoudingswaarden) or a px/% value',\n label: 'area definitions',\n },\n ],\n }\n }\n\n render() {\n if (this.props.withinSelectedTab === false && this.firstTime == null) {\n return null\n } else {\n this.firstTime = false\n }\n\n let areaSizes = this.props.areaSizes\n\n if (typeof areaSizes === 'string') {\n areaSizes = areaSizes.split(' ')\n }\n\n let extraStyle = ''\n if (this.props.disableScrollbars === true) {\n extraStyle = styles.overflowHidden\n }\n let mode = this.props.mode || 'preview'\n\n // if (this.props.minimize)\n return (\n \n {areaSizes.map((areaSize, index) => {\n let areaConfig = this.props.areas[index] || {}\n areaSize = areaSize.trim()\n let flex = '0 0 auto'\n // let flex = '1 1 auto';\n let fixedSize = 'auto'\n\n if (/^\\d+$/.test(areaSize)) {\n if (areaSize === '0') {\n areaSize = '0 0 auto'\n }\n flex = areaSize\n } else {\n fixedSize = areaSize\n }\n let heightOrWidth =\n this.props.direction === 'row' ? 'width' : 'height'\n if (this.props.minimize) {\n heightOrWidth =\n 'max' +\n heightOrWidth.substr(1).toLocaleUpperCase() +\n heightOrWidth.substr(1)\n //console.log(\"minimize \",heightOrWidth, fixedSize);\n flex = '1 1 auto'\n }\n\n if (this.props.direction !== 'row') {\n // console.log(areaSize);\n if (!areaSize.endsWith('px')) {\n flex = '1 1 auto'\n }\n }\n if (mode !== 'preview' && areaSize.endsWith('px')) {\n areaSize = parseInt(areaSize.replace('px', ''))\n areaSize += 200\n areaSize = areaSize + 'px'\n // console.log(\"moeten we nu niet de hoogte aanpassen ?\",areaSize);\n }\n\n return (\n \n \n \n )\n })}\n \n )\n }\n}\n\nexport default SplitLayout\n","import React from 'react'\n\nclass AbstractArea extends React.Component {\n isAA() {\n return true\n }\n}\n\nexport default AbstractArea\n","import React from 'react'\nimport styles from './SplitLayoutTest.module.css'\nimport Area from '../Area'\nimport AbstractArea from '../AbstractArea'\n\nimport { ReflexContainer, ReflexSplitter, ReflexElement } from 'react-reflex'\n\nimport 'react-reflex/styles.css'\n\nclass SplitLayoutTest extends AbstractArea {\n static getDescription() {\n return {\n name: 'SplitLayoutTest',\n component: SplitLayoutTest,\n label: 'Split Layout Test',\n variables: [\n {\n name: 'direction',\n type: 'select',\n label: 'Direction',\n options: [\n {\n label: 'Rijen',\n value: 'column',\n },\n {\n label: 'Kolommen',\n value: 'row',\n },\n ],\n },\n {\n name: 'areaSizes',\n type: 'array',\n // label: 'Column widths or row heights (separated by commas). Value can be a number (which will be set as flex values/verhoudingswaarden) or a px/% value',\n label:\n \"Kolom Breedte of Rij hoogte, gescheiden door comma's. Waarden kunnen gegeven worden in getallen. Een getal is verhoudingsgetal ten opzichte van de andere Rijen/Kolommen. (Een voorbeeld: 1,3,1)\",\n },\n {\n name: 'minSizes',\n type: 'array',\n // label: 'Column widths or row heights (separated by commas). Value can be a number (which will be set as flex values/verhoudingswaarden) or a px/% value',\n label:\n \"initiele grootte, gescheiden door comma's. Waarden kunnen gegeven worden in pixels. (Een voorbeeld: 130px,200px,300px)\",\n },\n {\n name: 'cardSizes',\n type: 'array',\n // label: 'Column widths or row heights (separated by commas). Value can be a number (which will be set as flex values/verhoudingswaarden) or a px/% value',\n label:\n 'padding Waarden kunnen gegeven worden in pixels, percentage of getallen. Een getal is verhoudingsgetal ten opzichte van de andere Rijen/Kolommen. (Een voorbeeld: 130px,1,10%)',\n },\n {\n name: 'areas',\n type: 'json',\n // label: 'Column widths or row heights (separated by commas). Value can be a number (which will be set as flex values/verhoudingswaarden) or a px/% value',\n label: 'area definitions',\n },\n ],\n }\n }\n\n render() {\n try {\n if (this.props.withinSelectedTab === false && this.firstTime == null) {\n return null\n } else {\n this.firstTime = false\n }\n\n // return this.renderNormalPanels();\n //return this.renderResizeablePanels();\n return this.testRender2()\n } catch (error) {\n console.log(error)\n }\n return
\n }\n\n testRender() {\n let areaSizes = this.props.areaSizes\n if (typeof areaSizes === 'string') {\n areaSizes = areaSizes.split(' ')\n }\n\n let mode = this.props.mode || 'preview'\n\n let direction = 'vertical'\n if (this.props.direction !== 'row') {\n direction = 'horizontal'\n }\n let index = 0\n let areaConfig = this.props.areas[index] || {}\n\n return (\n \n \n \n
\n \n
\n
\n\n \n\n \n
\n \n
\n
\n
\n \n )\n }\n\n testRender2() {\n let areaSizes = this.props.areaSizes\n if (typeof areaSizes === 'string') {\n areaSizes = areaSizes.split(' ')\n }\n let mode = this.props.mode || 'preview'\n let direction = 'vertical'\n if (this.props.direction !== 'row') {\n direction = 'horizontal'\n }\n let total = 0\n try {\n total = this.props.areaSizes.length || 0\n } catch (error) {}\n\n //console.log(total,this.props.areas);\n\n let o0 = {}\n try {\n o0 = this.props.areas[0]\n } catch (e) {}\n let o1 = {}\n try {\n o1 = this.props.areas[1]\n } catch (e) {}\n let o2 = {}\n try {\n o2 = this.props.areas[2]\n } catch (e) {}\n let o3 = {}\n try {\n o3 = this.props.areas[3]\n } catch (e) {}\n\n return (\n \n \n {0 < total && this.createArea(0, 'left-pane', o0)}\n {1 < total && }\n {1 < total && this.createArea(1, 'middle-pane', o1)}\n {2 < total && }\n {2 < total && this.createArea(2, 'right-pane', o2)}\n {3 < total && }\n {3 < total && this.createArea(3, 'right-pane', o3)}\n {4 < total && }\n {4 < total && this.createArea(4, 'right-pane', this.props.areas[4])}\n {5 < total && }\n {5 < total && this.createArea(5, 'right-pane', this.props.areas[5])}\n \n \n )\n }\n\n createArea(index, panel, areaConfig) {\n if (areaConfig == null) {\n areaConfig = {}\n }\n\n let areaSizes = this.props.areaSizes\n if (typeof areaSizes === 'string') {\n areaSizes = areaSizes.split(' ')\n }\n let areaSize = areaSizes[index]\n\n areaSize = areaSize.trim()\n\n let flex = '0 0 auto'\n\n if (index === areaSizes.length - 1) {\n flex = '1 1 auto'\n }\n\n if (/^\\d+$/.test(areaSize)) {\n if (areaSize === '0') {\n areaSize = '0 1 auto'\n }\n\n flex = areaSize\n }\n //if ((flex==NaN)||(flex==\"NaN\")){flex=\"\"}\n // if (flex=\"1\"){flex=\"0 1 auto\";}\n\n let minSizes = this.props.minSizes\n if (typeof minSizes === 'string') {\n minSizes = minSizes.split(' ')\n }\n let minSize = null\n if (minSizes != null) minSize = minSizes[index] || null\n if (isNaN(flex) || flex === 'NaN') {\n flex = '0 1 auto' // tja\n }\n //console.log(index+\" flex:\",flex,minSize);\n if (minSize == null) {\n minSize = false\n }\n return (\n \n
\n \n
\n \n )\n }\n\n renderResizeablePanels() {\n let areaSizes = this.props.areaSizes\n if (typeof areaSizes === 'string') {\n areaSizes = areaSizes.split(' ')\n }\n\n let mode = this.props.mode || 'preview'\n\n return (\n \n \n {areaSizes.map((areaSize, index) => {\n let paneLocation = 'left-pane'\n if (index > 0) {\n paneLocation = 'middle-pane'\n }\n if (index > 0) {\n paneLocation = 'right-pane'\n }\n\n let areaConfig = this.props.areas[index] || {}\n areaSize = areaSize.trim()\n\n let flex = '0 0 auto'\n let fixedSize = 'auto'\n\n if (index === areaSizes.length - 1) {\n flex = '1 1 auto'\n }\n\n if (/^\\d+$/.test(areaSize)) {\n if (areaSize === '0') {\n areaSize = '0 0 auto'\n }\n\n flex = areaSize\n } else {\n fixedSize = areaSize\n }\n let heightOrWidth =\n this.props.direction === 'row' ? 'width' : 'height'\n\n return (\n
\n \n
\n \n \n
\n
\n \n \n \n )\n })}\n
\n \n )\n }\n\n renderNormalPanels() {\n let areaSizes = this.props.areaSizes\n if (typeof areaSizes === 'string') {\n areaSizes = areaSizes.split(' ')\n }\n\n let mode = this.props.mode || 'preview'\n\n return (\n \n {areaSizes.map((areaSize, index) => {\n let areaConfig = this.props.areas[index] || {}\n areaSize = areaSize.trim()\n\n let flex = '0 0 auto'\n let fixedSize = 'auto'\n\n if (index === areaSizes.length - 1) {\n flex = '1 1 auto'\n }\n\n if (/^\\d+$/.test(areaSize)) {\n if (areaSize === '0') {\n areaSize = '0 0 auto'\n }\n\n flex = areaSize\n } else {\n fixedSize = areaSize\n }\n let heightOrWidth =\n this.props.direction === 'row' ? 'width' : 'height'\n\n return (\n \n \n \n )\n })}\n \n )\n }\n}\n\nexport default SplitLayoutTest\n","import React, { Component } from 'react'\nimport styles from './Yasgui.module.css'\nimport yasqe from 'yasgui-yasqe'\nimport '../../../node_modules/yasgui-yasqe/dist/yasqe.css'\nimport axios from 'axios'\nimport { Button } from 'reactstrap'\nimport { restructureResponse } from '../../helpers/sparql'\n\nclass Yasgui extends Component {\n constructor(props) {\n super(props)\n this.textArea = React.createRef()\n }\n\n state = {\n message: '',\n }\n\n // componentDidMount() {\n // setTimeout(() => {\n // this.yas = yasqe.fromTextArea(this.textArea.current);\n // // this.yas.setSize('100%')\n // let defaultValue = `PREFIX xsd: \n // select * where {\n // ?s ?p ?o .\n // } limit 100`;\n // this.yas.setValue(defaultValue);\n // // debugger\n // // this.textArea.current.focus()\n // }, 500);\n\n // // this.yas.on('blur', () => {\n // // // this.props.handleBlur(this.yas.getValue());\n // // this.loadData(this.yas.getValue())\n // // });\n // }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.withinSelectedTab !== this.props.withinSelectedTab &&\n this.props.withinSelectedTab\n ) {\n if (this.yas) return\n this.yas = yasqe.fromTextArea(this.textArea.current)\n let defaultValue = `PREFIX xsd: \nselect * where { \n ?s ?p ?o .\n} limit 10`\n this.yas.setValue(defaultValue)\n }\n }\n\n onRunClick = () => {\n this.loadData(this.yas.getValue())\n }\n\n loadData(query) {\n if (!this.props.repoURL) return console.log('Repo URL is not set!')\n\n if (query) {\n // default use proxy server\n let url = '/api/sparql/' + this.props.repoURL\n let data = {\n query: encodeURIComponent(query),\n }\n let headers = {\n Authorization: `Bearer ${localStorage.getItem('kvk-vb-token')}`,\n }\n if (this.props.repoURL.startsWith('http')) {\n // request sparql endpoint directly\n url = this.props.repoURL\n data =\n 'infer=true&limit=1000&offset=0&sameAs=true&query=' +\n encodeURIComponent(query)\n headers = {\n 'Content-Type': 'application/x-www-form-urlencoded',\n Accept: 'application/sparql-results+json',\n }\n }\n\n axios({\n method: 'post',\n url,\n data,\n headers,\n })\n .then((response) => {\n this.setState({\n data: response.data,\n message: '',\n })\n })\n .catch((err) => {\n console.log(err)\n this.setState({\n message: 'Er ging iets mis met laden van de data.',\n })\n })\n }\n }\n\n renderData() {\n if (this.state.message) {\n return
{this.state.message}
\n }\n\n if (!this.state.data) return null\n let headVars = this.state.data.head.vars\n let items = restructureResponse(this.state.data)\n\n return (\n \n \n \n {headVars.map((headVar, index) => (\n \n ))}\n \n \n \n {items.map((item, index) => {\n return (\n \n {headVars.map((headVar, index) => {\n let value = item[headVar] || ''\n return \n })}\n \n )\n })}\n \n
{headVar}
{value}
\n )\n }\n\n render() {\n return (\n
\n \n
\n \n RUN\n \n
\n
{this.renderData()}
\n
\n )\n }\n}\n\nexport default Yasgui\n","import { Component } from 'react'\n\nimport ReactDOM from 'react-dom'\nimport { generateEmptyResponse } from '../../../helpers/sparql'\nimport './BBIFrame.css'\n\nimport throttle from 'lodash/throttle'\nimport PublishUtils from '../../../helpers/PublishUtils'\nimport AfterJS from '../../../helpers/AfterJS'\nimport { parseTextForVariables } from '../../../helpers/sparql'\nimport './bbutil'\n\nimport { ACTION } from '../../../redux/project'\n\nclass BBIFrame extends Component {\n state = {\n imgViz: false,\n selectedUri: null,\n reloadID: 1,\n }\n\n static htmln = 0\n static scrolling = 'no'\n noEvents = false\n\n uploadSuccessfulAfter() {\n //console.log(\"after upload\");\n PublishUtils.setTimeStampParameter(this, true)\n }\n\n executeSparql(sparql,rv){\n\n \n let qq =parseTextForVariables(sparql, this.props);\n \n\n window.top.query(qq,function(arg){\n console.log(arg);\n if (rv!=null) rv.call(this,arg);}\n ,function(arg2){console.log(arg2);});\n \n\n }\n\n onClick = (event, uri) => {\n var me = this\n if (uri == null) {\n uri = event\n }\n if (\n event != null &&\n event === 'http://www.bbsgroep.nl/application/v2/hasTextOutput'\n ) {\n me.noEvents = true\n var pvar = me.props.publishTextVariable\n if (pvar != null) {\n me.props.publish(pvar, uri)\n //PublishUtils.resetParameter(me);\n }\n me.noEvents = false\n\n return\n }\n if (\n event != null &&\n event === 'http://www.bbsgroep.nl/application/v2/hasVar1Output'\n ) {\n me.noEvents = true\n pvar = me.props.publishVariable1\n if (pvar != null) {\n if (uri !== event) {\n me.props.publish(pvar, uri)\n }\n //PublishUtils.resetParameter(me);\n }\n me.noEvents = false\n\n return\n }\n me.noEvents = true\n pvar = me.props.publishVariable\n if (pvar != null) {\n // console.log(\"event iframe, setting variable \",pvar,uri,me)\n me.props.publish(pvar, uri)\n // console.log(\"run after selection \",AfterJS);\n try {\n AfterJS.runAfterSelection(me)\n } catch (e) {\n console.log(e)\n }\n // console.log(\"run after selection ended\");\n PublishUtils.resetParameter(me)\n }\n me.noEvents = false\n }\n\n getUrl() {\n return ''\n }\n\n componentDidMount() {\n var me = this\n this.mounted = true\n // var iframe=ReactDOM.findDOMNode(this);\n var div = ReactDOM.findDOMNode(this).parentNode\n\n div.setAttribute('style', 'position:relative;')\n\n if (this.iface != null) {\n try {\n if (me.iface.afterIntegration != null) {\n me.iface.afterIntegration(this.props)\n }\n } catch (e) {\n console.log(e)\n }\n // console.log(\"registerMe componentDitMount \"+this.getUrl());\n\n\n\n this.updateMe(null)\n }\n }\n shouldComponentUpdate(arg, arg2) {\n // console.log(Component.prototype.shouldComponentUpdate.call(this,arg,arg2));\n //console.log(this,Component.prototype.shouldComponentUpdate.call(this,arg,arg2));\n //console.log(\"should iframe update \",this.mounted,this.iface);\n\n if (!this.mounted) {\n return false\n }\n if (this.iface == null) {\n return false\n }\n\n if (this.noEvents) {\n return false\n }\n try {\n if (this.getUrl().endsWith(\"indexBB.html\"))\n {\n console.log(arg.pubsub.kleur,this.props.pubsub.kleur)}\n }\n catch(e) { }\n\n // console.log(\"should component update \"+this.getUrl(),arg,arg2,this.noEvents,this.iface);\n this.updateMe(arg, arg2)\n return false\n }\n\n registerMe() {\n //console.log(\"IFRAME register me \"+this.getUrl());\n\n var me = this\n me.iface.me = me\n // console.log(\"add set loading to iface\");\n me.iface.setLoading = function (arg) {\n me.props.setLoading(arg)\n }\n me.iface.setMessage=function(msg)\n {\n //hier norents toaster functie\n if (msg==null)return;\n try\n {\n me.props.sendNotification(msg)\n }\n catch(e){}\n console.log(\"Toaster msg:\",msg)\n\n\n }\n\n me.iface.setUserActionsDisabled = (userActionsDisabled) =>\n me.props.dispatch({\n type: ACTION.SET_USER_ACTIONS_DISABLED,\n data: userActionsDisabled,\n })\n\n if (me.iface.widget == null) {\n me.iface.widget = {\n sendEvent: function (e, arg) {\n var pvar = me.props.publishVariable\n if (pvar != null) {\n // console.log(\"running iframe onclick event \",e,arg);\n me.onClick(arg)\n me.setState({ selectedUri: arg })\n }\n },\n test: function () {\n console.log('test')\n },\n reExecuteSparql: function () {\n try {\n me.reExecuteSparql()\n } catch (e) {\n console.log(e)\n }\n },\n }\n }\n\n if (this.mounted) {\n try {\n if (me.iface.afterIntegration != null) {\n // console.log(\"after integration called\");\n me.iface.afterIntegration()\n }\n } catch (e) {\n console.log(e)\n }\n //console.log(\"registerMe this.updateMe\"+this.getUrl());\n this.updateMe(this.props)\n }\n }\n updateMe = throttle((arg,arg2) => this.updateMe2(arg,arg2), 200)\n\n updateMe2(arg, arg2) {\n var data = null\n if (arg == null) {\n arg = {}\n }\n try {\n data = arg.data\n } catch (e) {}\n var me = this\n try {\n if (this.props.data == null && data == null && me.firstData != null) {\n // console.log(\"setbegin sparql results 1\");\n var q = me.props.query\n if (this.props.basequery) q = this.props.basequery\n if (arg.executedSparql != null) q = arg.executedSparql\n let qq = null\n if (q != null) {\n qq = parseTextForVariables(q, arg)\n }\n\n me.iface.setBeginSparqlResults(me.firstData, q, null, null, qq)\n delete me.firstData\n } else {\n if (arg.data != null) {\n if (this.latestData !== arg.data) {\n let q = arg.query\n if (arg.executedSparql != null) q = arg.executedSparql\n\n let qq = null\n if (q != null) {\n qq = parseTextForVariables(q, arg)\n }\n // console.log(\"BB IFRAME SET BEGIN SPARQL results 2\",this.props.pubsub,arg.pubsub);\n me.iface.setBeginSparqlResults(arg.data, q, null, null, qq)\n this.latestData = arg.data\n }\n } else {\n if (this.props.data != null) {\n if (this.latestData !== this.prop.data) {\n let q = this.props.query\n if (arg.executedSparql != null) q = arg.executedSparql\n\n let qq = null\n if (q != null) {\n qq = parseTextForVariables(q, arg)\n }\n // console.log(\"BB Iframe 3\");\n me.iface.setBeginSparqlResults(this.props.data, q, null, null, qq)\n this.latestData = this.props.data\n }\n } else {\n if (this.props.basequery != null) {\n me = this\n if (this.onlyOnce == null) {\n this.onlyOnce = 'done'\n if (this.props.basequery.length > 10) {\n // console.log(\"iframe geen data maar wel een base query\",this.props.basequery);\n window.top.query(this.props.basequery, function (data) {\n me.firstData = data\n me.updateMe(null)\n })\n }\n }\n }\n }\n }\n }\n } catch (e) {\n console.log(e)\n }\n\n //console.log(\"me iface setPubSub \",this.iface,this.props.pubsub);\n //console.log(arg);\n try {\n this.iface.setPubSub(arg.pubsub)\n } catch (e) {}\n if (arg === {}) {\n arg = this.props\n }\n //console.log(\"set selection after update\",arg);\n this.setSelection(arg)\n }\n\n setSelection(arg) {\n //console.log(\"iframe setSelection \",this.getUrl());\n try {\n var pvar = arg.subscribeVariable\n if (pvar != null && arg.pubsub != null) {\n var selectionValue = arg.pubsub[pvar]\n\n if (\n selectionValue != null &&\n this.state != null &&\n this.state.selection !== selectionValue\n ) {\n if (this.iface != null) {\n // console.log(\"set Selection iface \",selectionValue);\n this.iface.selectUri(selectionValue)\n this.state.selection = selectionValue //eslint-disable-line react/no-direct-mutation-state\n // this.iface.setBeginSparqlResults(me.props.data,me.props.query);\n } else {\n // console.log(\"iframe set selection no iface\");\n }\n }\n }\n } catch (e) {\n console.log('error met selection ', e)\n }\n }\n\n reload() {\n this.once = null\n this.iface = null\n\n this.onlyOnce = null\n window.top.Singleton.getInstance().iframes[this.htmlid] = null\n this.htmlid = null\n //console.log(\"reload iframe\");\n this.setState({ reloadID: Date.now() })\n }\n\n render() {\n //console.log(\"rendering \"+this.getUrl());\n if (this.once == null) {\n this.renderOnce()\n this.once = 'done'\n }\n var height = '100%'\n\n try {\n if (this.props.height != null) {\n height = this.props.height\n }\n } catch (e) {}\n\n var reload = 'reload=' + this.state.reloadID // used to reload the whole iframe\n\n var className = ''\n if (this.props.className) {\n className = this.props.className\n }\n var par = '?y=y'\n var title = ''\n if (this.props.title) {\n title = this.props.title\n par += '&title=' + title\n }\n var createRoot = ''\n if (this.props.createRoot) {\n createRoot = this.props.createRoot\n par += '&createRoot=' + createRoot\n }\n var icon = ''\n if (this.props.icon) {\n icon = this.props.icon\n par += '&icon=' + icon\n }\n\n var expandLevel = ''\n if (this.props.expandLevel) {\n expandLevel = this.props.expandLevel\n par += '&expandLevel=' + expandLevel\n }\n var direction = ''\n if (this.props.direction) {\n direction = this.props.direction\n par += '&direction=' + direction\n }\n\n //onderstaande code moeten we eigenlijk vanaf. IFrame objecten kunnen nu via IFace toegang krijgen\n par = ''\n let extra = '?'\n for (let key in this.props) {\n if (key == 'loading') continue\n if (key == 'save') continue\n if (key == 'query') continue\n if (key == 'definition') continue\n if (key == 'children') continue\n if (key == 'pubsub') continue\n if (key == 'basequery') continue\n if (key == 'repoURL') continue\n if (key == 'localRepoURL') continue\n if (key == 'sparqlErrorMessage') continue\n if (key == 'titleMenubar') continue\n if (key == 'widget') continue\n if (key == 'panelstyle') continue\n if (key == 'panelstyle2') continue\n if (key == 'extendquery') continue\n if (key == 'jsAfterSelection') continue\n if (key == 'parameterValues') continue\n if (key == 'data') continue\n if (key == 'withinSelectedTab') continue\n if (key == 'selectguidquery') continue\n\n let value = this.props[key]\n\n if (value != null) {\n if (typeof value === 'function') continue\n if (Array.isArray(value)) {\n continue //value=JSON.stringify(value); console.log(\"submitting array key to iframe\",key);\n }\n\n try {\n if (value.toString().includes('||')) {\n value = value.toString().replaceAll('||', '@@')\n }\n } catch (e) {}\n try {\n value = value.toString().replaceAll('{{', '!@!@')\n } catch (e) {}\n try {\n value = value.toString().replaceAll('}}', '@!@!')\n } catch (e) {}\n par += extra + key + '=' + value\n extra = '&'\n }\n }\n\n //console.log(par,this.props);\n\n let loading = 'lazy'\n if (par === '') reload = '?' + reload\n else reload = '&' + reload\n\n //\n // console.log(this.state);\n return (\n