\r\n
\r\n Search authors\r\n\r\n
\r\n \r\n {\r\n console.log(\"onChange\", e);\r\n let value = e;\r\n var selectedIds = value;\r\n const parsed = queryString.parse(\r\n this.props.queryObj.history.location.search,\r\n { arrayFormat: \"comma\" }\r\n );\r\n parsed.countries = selectedIds;\r\n var searchStr = queryString.stringify(parsed, {\r\n arrayFormat: \"comma\",\r\n });\r\n this.props.queryObj.history.push(\r\n this.props.queryObj.history.location.pathname +\r\n \"?\" +\r\n searchStr\r\n );\r\n var promisesArray = [];\r\n if (value == \"\") {\r\n promisesArray.push(\r\n axios.get(\r\n `${process.env.REACT_APP_URL_SITE}api/History/CountryActionVoid/${this.props.uuid}`\r\n )\r\n );\r\n var ThisYear = new Date().getFullYear();\r\n this.props.updateRange(-800, ThisYear);\r\n } else {\r\n if (value.length > 10) {\r\n // de modificat pe viitor cu alta functie mai buna care trimite\r\n for (var j = 0; j < Math.ceil(value.length / 10); j++) {\r\n var newValue = [];\r\n for (var i = j * 10; i < (j + 1) * 10; i++) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/CountryActionReplace/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/CountryActionAdd/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/CountryActionReplace/${\r\n this.props.uuid\r\n }/${value.toString().replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n var self = this;\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n this.props.onLoading();\r\n await this.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(value.toString().replace(/,/g, \"_\"));\r\n this.setState({ countries: value });\r\n }}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n if (e.length > this.state.countriesExpandedMain.length) {\r\n var treeNode = {};\r\n treeNode.id = e[e.length - 1];\r\n this.onLoadDataCountries(treeNode);\r\n }\r\n this.setState({ countriesExpandedMain: e });\r\n }}\r\n onSearch={function (e) {\r\n console.log(\"onSearch\", e);\r\n if (e.length > 2) {\r\n if (self.timeout) clearTimeout(self.timeout);\r\n self.timeout = setTimeout(() => {\r\n var data = [];\r\n self.setState({ countries: [] });\r\n axios\r\n .get(\r\n `${process.env.REACT_APP_URL_SITE}api/NewData/SearchCountry/${self.props.uuid}/${e}/`\r\n )\r\n .then(function (results) {\r\n console.log(results.data);\r\n var data2 = results.data;\r\n var newData = [];\r\n for (var i = 0; i < data2.length; i++) {\r\n if (data2[i].nrKids !== 0) {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n hasChildren: true,\r\n isLeaf: true,\r\n id: data2[i].id,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n } else {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n id: data2[i].id,\r\n isLeaf: true,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n }\r\n }\r\n newData = self.removeDuplicateObjectFromArray(\r\n newData,\r\n \"id\"\r\n );\r\n\r\n var ltt = new LTT(newData, {\r\n key_id: \"id\",\r\n key_parent: \"pId\",\r\n key_child: \"children\",\r\n empty_children: true,\r\n });\r\n\r\n ltt.sort(self.compareByLabel(false));\r\n var treeData = ltt.GetTree();\r\n console.log(treeData);\r\n if (treeData.length === 0) {\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n No data found.\r\n \r\n ),\r\n });\r\n } else {\r\n self.setState({\r\n Loader: (\r\n 10) {\r\n // de modificat pe viitor cu alta functie mai buna care trimite\r\n for (\r\n var j = 0;\r\n j < Math.ceil(value.length / 10);\r\n j++\r\n ) {\r\n var newValue = [];\r\n for (\r\n var i = j * 10;\r\n i < (j + 1) * 10;\r\n i++\r\n ) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/CountryActionReplace/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/CountryActionAdd/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/CountryActionReplace/${\r\n self.props.uuid\r\n }/${value\r\n .toString()\r\n .replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(\r\n value.toString().replace(/,/g, \"_\")\r\n );\r\n console.log(newValue);\r\n\r\n self.setState({ countries: value });\r\n }}\r\n treeData={treeData}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n />\r\n ),\r\n });\r\n }\r\n });\r\n\r\n //search function\r\n }, 2000);\r\n } else if (e.length < 2 && e.length > 0) {\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n Please enter more then 2 characters.\r\n \r\n ),\r\n });\r\n } else if (e.length === 0 || e.length > 2) {\r\n self.setState({ Loader: Loader });\r\n }\r\n }}\r\n /* loadData={this.onLoadDataCountries} */\r\n\r\n treeCheckable={true}\r\n showCheckedStrategy={\"SHOW_PARENT\"}\r\n treeData={this.state.treeDataCountries}\r\n notFoundContent={this.state.Loader}\r\n listHeight={500}\r\n showArrow={true}\r\n />\r\n \r\n \r\n {\r\n console.log(\"onChange\", e);\r\n let value = e;\r\n var selectedIds = value;\r\n const parsed = queryString.parse(\r\n this.props.queryObj.history.location.search,\r\n { arrayFormat: \"comma\" }\r\n );\r\n parsed.specializations = selectedIds;\r\n var searchStr = queryString.stringify(parsed, {\r\n arrayFormat: \"comma\",\r\n });\r\n this.props.queryObj.history.push(\r\n this.props.queryObj.history.location.pathname +\r\n \"?\" +\r\n searchStr\r\n );\r\n var promisesArray = [];\r\n if (value == \"\") {\r\n promisesArray.push(\r\n axios.get(\r\n `${process.env.REACT_APP_URL_SITE}api/History/SpecializationActionVoid/${this.props.uuid}`\r\n )\r\n );\r\n var ThisYear = new Date().getFullYear();\r\n this.props.updateRange(-800, ThisYear);\r\n } else {\r\n if (value.length > 10) {\r\n for (var j = 0; j < Math.ceil(value.length / 10); j++) {\r\n var newValue = [];\r\n for (var i = j * 10; i < (j + 1) * 10; i++) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/SpecializationActionReplace/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/SpecializationActionAdd/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/SpecializationActionReplace/${\r\n this.props.uuid\r\n }/${value.toString().replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n var self = this;\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n this.props.onLoading();\r\n await this.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(value.toString().replace(/,/g, \"_\"));\r\n this.setState({ specializations: value });\r\n }}\r\n onSearch={function (e) {\r\n console.log(\"onSearch\", e);\r\n if (e.length > 2) {\r\n if (self.timeout) clearTimeout(self.timeout);\r\n self.timeout = setTimeout(() => {\r\n var data = [];\r\n self.setState({ specializations: [] });\r\n axios\r\n .get(\r\n `${process.env.REACT_APP_URL_SITE}api/NewData/SearchSpecialization/${self.props.uuid}/${e}/`\r\n )\r\n .then(function (results) {\r\n console.log(results.data);\r\n var data2 = results.data;\r\n var newData = [];\r\n for (var i = 0; i < data2.length; i++) {\r\n if (data2[i].nrKids !== 0) {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n hasChildren: true,\r\n isLeaf: true,\r\n id: data2[i].id,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n } else {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n id: data2[i].id,\r\n isLeaf: true,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n }\r\n }\r\n newData = self.removeDuplicateObjectFromArray(\r\n newData,\r\n \"id\"\r\n );\r\n\r\n var ltt = new LTT(newData, {\r\n key_id: \"id\",\r\n key_parent: \"pId\",\r\n key_child: \"children\",\r\n empty_children: true,\r\n });\r\n\r\n ltt.sort(self.compareByLabel(false));\r\n var treeData = ltt.GetTree();\r\n console.log(treeData);\r\n if (treeData.length === 0) {\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n No data found.\r\n \r\n ),\r\n });\r\n } else {\r\n self.setState({\r\n Loader: (\r\n 10) {\r\n // de modificat pe viitor cu alta functie mai buna care trimite\r\n for (\r\n var j = 0;\r\n j < Math.ceil(value.length / 10);\r\n j++\r\n ) {\r\n var newValue = [];\r\n for (\r\n var i = j * 10;\r\n i < (j + 1) * 10;\r\n i++\r\n ) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/SpecializationActionReplace/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/SpecializationActionAdd/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/SpecializationActionReplace/${\r\n self.props.uuid\r\n }/${value\r\n .toString()\r\n .replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(\r\n value.toString().replace(/,/g, \"_\")\r\n );\r\n console.log(newValue);\r\n\r\n self.setState({ specializations: value });\r\n }}\r\n treeData={treeData}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n />\r\n ),\r\n });\r\n }\r\n });\r\n\r\n //search function\r\n }, 2000);\r\n } else if (e.length < 2 && e.length > 0) {\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n Please enter more then 2 characters.\r\n \r\n ),\r\n });\r\n } else if (e.length === 0 || e.length > 2) {\r\n self.setState({ Loader: Loader });\r\n }\r\n }}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n loadData={this.onLoadDataSpecializations}\r\n treeCheckable={true}\r\n showCheckedStrategy={\"SHOW_PARENT\"}\r\n treeData={this.state.treeDataSpecializations}\r\n notFoundContent={this.state.Loader}\r\n showArrow={true}\r\n listHeight={500}\r\n />\r\n \r\n \r\n {\r\n console.log(\"onChange\", e);\r\n let value = e;\r\n var selectedIds = value;\r\n const parsed = queryString.parse(\r\n this.props.queryObj.history.location.search,\r\n { arrayFormat: \"comma\" }\r\n );\r\n parsed.movements = selectedIds;\r\n var searchStr = queryString.stringify(parsed, {\r\n arrayFormat: \"comma\",\r\n });\r\n this.props.queryObj.history.push(\r\n this.props.queryObj.history.location.pathname +\r\n \"?\" +\r\n searchStr\r\n );\r\n\r\n var promisesArray = [];\r\n if (value == \"\") {\r\n promisesArray.push(\r\n axios.get(\r\n `${process.env.REACT_APP_URL_SITE}api/History/LiteraryMovementsActionVoid/${this.props.uuid}`\r\n )\r\n );\r\n var ThisYear = new Date().getFullYear();\r\n this.props.updateRange(-800, ThisYear);\r\n } else {\r\n if (value.length > 10) {\r\n for (var j = 0; j < Math.ceil(value.length / 10); j++) {\r\n var newValue = [];\r\n for (var i = j * 10; i < (j + 1) * 10; i++) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/LiteraryMovementsActionReplace/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/LiteraryMovementsActionAdd/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/LiteraryMovementsActionReplace/${\r\n this.props.uuid\r\n }/${value.toString().replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n var self = this;\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n this.props.onLoading();\r\n await this.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(value.toString().replace(/,/g, \"_\"));\r\n this.setState({ movements: value });\r\n }}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n onSearch={function (e) {\r\n console.log(\"onSearch\", e);\r\n if (e.length > 2) {\r\n if (self.timeout) clearTimeout(self.timeout);\r\n self.timeout = setTimeout(() => {\r\n var data = [];\r\n self.setState({ specializations: [] });\r\n axios\r\n .get(\r\n `${process.env.REACT_APP_URL_SITE}api/NewData/SearchLitMov/${self.props.uuid}/${e}/`\r\n )\r\n .then(function (results) {\r\n console.log(results.data);\r\n var data2 = results.data;\r\n var newData = [];\r\n for (var i = 0; i < data2.length; i++) {\r\n if (data2[i].nrKids !== 0) {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n hasChildren: true,\r\n isLeaf: true,\r\n id: data2[i].id,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n } else {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n id: data2[i].id,\r\n isLeaf: true,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n }\r\n }\r\n newData = self.removeDuplicateObjectFromArray(\r\n newData,\r\n \"id\"\r\n );\r\n\r\n var ltt = new LTT(newData, {\r\n key_id: \"id\",\r\n key_parent: \"pId\",\r\n key_child: \"children\",\r\n empty_children: true,\r\n });\r\n\r\n ltt.sort(self.compareByLabel(false));\r\n var treeData = ltt.GetTree();\r\n console.log(treeData);\r\n console.log(treeData.length);\r\n if (treeData.length === 0) {\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n No data found.\r\n \r\n ),\r\n });\r\n } else {\r\n console.log(\"something2\");\r\n self.setState({\r\n Loader: (\r\n 10) {\r\n // de modificat pe viitor cu alta functie mai buna care trimite\r\n for (\r\n var j = 0;\r\n j < Math.ceil(value.length / 10);\r\n j++\r\n ) {\r\n var newValue = [];\r\n for (\r\n var i = j * 10;\r\n i < (j + 1) * 10;\r\n i++\r\n ) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/LiteraryMovementsActionReplace/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/LiteraryMovementsActionAdd/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/LiteraryMovementsActionReplace/${\r\n self.props.uuid\r\n }/${value\r\n .toString()\r\n .replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(\r\n value.toString().replace(/,/g, \"_\")\r\n );\r\n console.log(newValue);\r\n\r\n self.setState({ movements: value });\r\n }}\r\n treeData={treeData}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n />\r\n ),\r\n });\r\n }\r\n });\r\n\r\n //search function\r\n }, 2000);\r\n } else if (e.length < 2 && e.length > 0) {\r\n console.log(\"something\");\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n Please enter more then 2 characters.\r\n \r\n ),\r\n });\r\n } else if (e.length === 0 || e.length > 2) {\r\n self.setState({ Loader: Loader });\r\n }\r\n }}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n loadData={this.onLoadDataMovements}\r\n treeCheckable={true}\r\n showCheckedStrategy={\"SHOW_PARENT\"}\r\n treeData={this.state.treeDataMovements}\r\n notFoundContent={this.state.Loader}\r\n showArrow={true}\r\n listHeight={440}\r\n dropdownPosition=\"bottom\"\r\n />\r\n \r\n \r\n {\r\n console.log(\"onChange\", e);\r\n let value = e;\r\n var selectedIds = value;\r\n const parsed = queryString.parse(\r\n this.props.queryObj.history.location.search,\r\n { arrayFormat: \"comma\" }\r\n );\r\n parsed.professions = selectedIds;\r\n var searchStr = queryString.stringify(parsed, {\r\n arrayFormat: \"comma\",\r\n });\r\n this.props.queryObj.history.push(\r\n this.props.queryObj.history.location.pathname +\r\n \"?\" +\r\n searchStr\r\n );\r\n var promisesArray = [];\r\n if (value == \"\") {\r\n promisesArray.push(\r\n axios.get(\r\n `${process.env.REACT_APP_URL_SITE}api/History/ProfessionActionVoid/${this.props.uuid}`\r\n )\r\n );\r\n var ThisYear = new Date().getFullYear();\r\n this.props.updateRange(-800, ThisYear);\r\n } else {\r\n if (value.length > 10) {\r\n for (var j = 0; j < Math.ceil(value.length / 10); j++) {\r\n var newValue = [];\r\n for (var i = j * 10; i < (j + 1) * 10; i++) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/ProfessionActionReplace/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/ProfessionActionAdd/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/ProfessionActionReplace/${\r\n this.props.uuid\r\n }/${value.toString().replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n var self = this;\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n this.props.onLoading();\r\n await this.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(value.toString().replace(/,/g, \"_\"));\r\n this.setState({ professions: value });\r\n }}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n onSearch={function (e) {\r\n console.log(\"onSearch\", e);\r\n if (e.length > 2) {\r\n if (self.timeout) clearTimeout(self.timeout);\r\n self.timeout = setTimeout(() => {\r\n var data = [];\r\n self.setState({ specializations: [] });\r\n axios\r\n .get(\r\n `${process.env.REACT_APP_URL_SITE}api/NewData/SearchProf/${self.props.uuid}/${e}/`\r\n )\r\n .then(function (results) {\r\n console.log(results.data);\r\n var data2 = results.data;\r\n var newData = [];\r\n for (var i = 0; i < data2.length; i++) {\r\n if (data2[i].nrKids !== 0) {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n hasChildren: true,\r\n isLeaf: true,\r\n id: data2[i].id,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n } else {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n id: data2[i].id,\r\n isLeaf: true,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n }\r\n }\r\n newData = self.removeDuplicateObjectFromArray(\r\n newData,\r\n \"id\"\r\n );\r\n\r\n var ltt = new LTT(newData, {\r\n key_id: \"id\",\r\n key_parent: \"pId\",\r\n key_child: \"children\",\r\n empty_children: true,\r\n });\r\n\r\n ltt.sort(self.compareByLabel(false));\r\n var treeData = ltt.GetTree();\r\n console.log(treeData);\r\n console.log(treeData.length);\r\n if (treeData.length === 0) {\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n No data found.\r\n \r\n ),\r\n });\r\n } else {\r\n console.log(\"something2\");\r\n self.setState({\r\n Loader: (\r\n 10) {\r\n // de modificat pe viitor cu alta functie mai buna care trimite\r\n for (\r\n var j = 0;\r\n j < Math.ceil(value.length / 10);\r\n j++\r\n ) {\r\n var newValue = [];\r\n for (\r\n var i = j * 10;\r\n i < (j + 1) * 10;\r\n i++\r\n ) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/ProfessionActionReplace/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/ProfessionActionAdd/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/ProfessionActionReplace/${\r\n self.props.uuid\r\n }/${value\r\n .toString()\r\n .replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(\r\n value.toString().replace(/,/g, \"_\")\r\n );\r\n console.log(newValue);\r\n\r\n self.setState({ professions: value });\r\n }}\r\n treeData={treeData}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n />\r\n ),\r\n });\r\n }\r\n });\r\n\r\n //search function\r\n }, 2000);\r\n } else if (e.length < 2 && e.length > 0) {\r\n console.log(\"something\");\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n Please enter more then 2 characters.\r\n \r\n ),\r\n });\r\n } else if (e.length === 0 || e.length > 2) {\r\n self.setState({ Loader: Loader });\r\n }\r\n }}\r\n loadData={this.onLoadDataProfessions}\r\n treeCheckable={true}\r\n showCheckedStrategy={\"SHOW_PARENT\"}\r\n treeData={this.state.treeDataProfessions}\r\n notFoundContent={this.state.Loader}\r\n showArrow={true}\r\n listHeight={500}\r\n dropdownAlign={{\r\n overflow: {\r\n adjustX: 0,\r\n adjustY: 0, // do not auto flip in y-axis\r\n },\r\n }}\r\n />\r\n \r\n \r\n {\r\n console.log(\"onChange\", e);\r\n let value = e;\r\n var selectedIds = value;\r\n const parsed = queryString.parse(\r\n this.props.queryObj.history.location.search,\r\n { arrayFormat: \"comma\" }\r\n );\r\n parsed.topics = selectedIds;\r\n var searchStr = queryString.stringify(parsed, {\r\n arrayFormat: \"comma\",\r\n });\r\n this.props.queryObj.history.push(\r\n this.props.queryObj.history.location.pathname +\r\n \"?\" +\r\n searchStr\r\n );\r\n var promisesArray = [];\r\n if (value == \"\") {\r\n promisesArray.push(\r\n axios.get(\r\n `${process.env.REACT_APP_URL_SITE}api/History/TopicsActionVoid/${this.props.uuid}`\r\n )\r\n );\r\n var ThisYear = new Date().getFullYear();\r\n this.props.updateRange(-800, ThisYear);\r\n } else {\r\n if (value.length > 10) {\r\n for (var j = 0; j < Math.ceil(value.length / 10); j++) {\r\n var newValue = [];\r\n for (var i = j * 10; i < (j + 1) * 10; i++) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/TopicsActionReplace/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/TopicsActionAdd/${\r\n this.props.uuid\r\n }/${newValue.toString().replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(options, j)\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/TopicsActionReplace/${\r\n this.props.uuid\r\n }/${value.toString().replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n var self = this;\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n this.props.onLoading();\r\n await this.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(value.toString().replace(/,/g, \"_\"));\r\n this.setState({ topics: value });\r\n }}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n onSearch={function (e) {\r\n console.log(\"onSearch\", e);\r\n if (e.length > 2) {\r\n if (self.timeout) clearTimeout(self.timeout);\r\n self.timeout = setTimeout(() => {\r\n var data = [];\r\n self.setState({ specializations: [] });\r\n axios\r\n .get(\r\n `${process.env.REACT_APP_URL_SITE}api/NewData/SearchTopic/${self.props.uuid}/${e}/`\r\n )\r\n .then(function (results) {\r\n console.log(results.data);\r\n var data2 = results.data;\r\n var newData = [];\r\n for (var i = 0; i < data2.length; i++) {\r\n if (data2[i].nrKids !== 0) {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n hasChildren: true,\r\n isLeaf: true,\r\n id: data2[i].id,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n } else {\r\n newData.push({\r\n key: data2[i].id,\r\n value: data2[i].id,\r\n title:\r\n data2[i].name + \" \" + data2[i].numberAuthors,\r\n id: data2[i].id,\r\n isLeaf: true,\r\n name: data2[i].name,\r\n pId: 0,\r\n nrKids: data2[i].nrKids,\r\n });\r\n }\r\n }\r\n newData = self.removeDuplicateObjectFromArray(\r\n newData,\r\n \"id\"\r\n );\r\n\r\n var ltt = new LTT(newData, {\r\n key_id: \"id\",\r\n key_parent: \"pId\",\r\n key_child: \"children\",\r\n empty_children: true,\r\n });\r\n\r\n ltt.sort(self.compareByLabel(false));\r\n var treeData = ltt.GetTree();\r\n console.log(treeData);\r\n console.log(treeData.length);\r\n if (treeData.length === 0) {\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n No data found.\r\n \r\n ),\r\n });\r\n } else {\r\n self.setState({\r\n Loader: (\r\n 10) {\r\n // de modificat pe viitor cu alta functie mai buna care trimite\r\n for (\r\n var j = 0;\r\n j < Math.ceil(value.length / 10);\r\n j++\r\n ) {\r\n var newValue = [];\r\n for (\r\n var i = j * 10;\r\n i < (j + 1) * 10;\r\n i++\r\n ) {\r\n if (value[i]) {\r\n newValue.push(value[i]);\r\n }\r\n }\r\n if (j == 0) {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/TopicsActionReplace/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n } else {\r\n options.url = `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/TopicsActionAdd/${\r\n self.props.uuid\r\n }/${newValue\r\n .toString()\r\n .replace(/,/g, \"_\")}/`;\r\n promisesArray.push(\r\n axiosThrottle.getRequestPromise(\r\n options,\r\n j\r\n )\r\n );\r\n }\r\n }\r\n } else {\r\n promisesArray.push(\r\n axios.get(\r\n `${\r\n process.env.REACT_APP_URL_SITE\r\n }api/History/TopicsActionReplace/${\r\n self.props.uuid\r\n }/${value\r\n .toString()\r\n .replace(/,/g, \"_\")}/`\r\n )\r\n );\r\n }\r\n }\r\n axios\r\n .all(promisesArray)\r\n .then(\r\n axios.spread(async (...responses) => {\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n // await this.refreshAll();\r\n })\r\n )\r\n .catch(async function (err) {\r\n console.log(err.message);\r\n self.props.onLoading();\r\n await self.props.refreshAuthors(1);\r\n });\r\n console.log(\r\n value.toString().replace(/,/g, \"_\")\r\n );\r\n console.log(newValue);\r\n\r\n self.setState({ topics: value });\r\n }}\r\n treeData={treeData}\r\n onTreeExpand={(e) => {\r\n console.log(\"onChange\", e);\r\n onChange(e);\r\n }}\r\n />\r\n ),\r\n });\r\n }\r\n });\r\n\r\n //search function\r\n }, 2000);\r\n } else if (e.length < 2 && e.length > 0) {\r\n self.setState({\r\n Loader: (\r\n \r\n \r\n Please enter more then 2 characters.\r\n \r\n ),\r\n });\r\n } else if (e.length === 0 || e.length > 2) {\r\n self.setState({ Loader: Loader });\r\n }\r\n }}\r\n loadData={this.onLoadDataTopics}\r\n treeCheckable={true}\r\n showCheckedStrategy={\"SHOW_PARENT\"}\r\n treeData={this.state.treeDataTopics}\r\n notFoundContent={this.state.Loader}\r\n listWidth={600}\r\n showSearch={true}\r\n showArrow={true}\r\n listHeight={500}\r\n dropdownAlign={{\r\n overflow: {\r\n adjustX: 0,\r\n adjustY: 0, // do not auto flip in y-axis\r\n },\r\n }}\r\n // listHeight={600}\r\n />\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default sideBarSecondPage;\r\n","import React, { Component } from 'react';\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom';\r\nimport Skeleton from 'react-loading-skeleton';\r\nimport ReadMoreReact from 'read-more-react';\r\nimport M from 'materialize-css';\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser';\r\n\r\n\r\nexport default class AuthorCardFull extends Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state = { id: props.id, authorName: '', description: '',period: null, movements:[], countries: '', movementsLength: 0 };\r\n this.capitalizeFirstLetter = this.capitalizeFirstLetter.bind(this);\r\n this.isLetter = this.isLetter.bind(this);\r\n this.getIndicesOf = this.getIndicesOf.bind(this);\r\n }\r\n\r\n capitalizeFirstLetter(string) {\r\n\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n}\r\nisLetter(str) {\r\n return str.length === 1 && str.match(/[a-z]/i);\r\n}\r\n\r\ngetIndicesOf(searchStr, str, caseSensitive) {\r\n var searchStrLen = searchStr.length;\r\n if (searchStrLen == 0) {\r\n return [];\r\n }\r\n var startIndex = 0, index, indices = [];\r\n if (!caseSensitive) {\r\n str = str.toLowerCase();\r\n searchStr = searchStr.toLowerCase();\r\n }\r\n while ((index = str.indexOf(searchStr, startIndex)) > -1) {\r\n indices.push(index);\r\n startIndex = index + searchStrLen;\r\n }\r\n return indices;\r\n}\r\n componentWillMount(){\r\ntry {\r\n\r\n if (typeof this.props.datax !== \"undefined\") {\r\n\r\n\r\n var data = this.props.datax;\r\n\r\n if (data) {\r\n\r\n this.setState({authorName:data.authorName});\r\n if (data.details) {\r\n var description = data.details.slice(1,-1) + \".\";\r\n }\r\n\r\n if (typeof description !== 'undefined') {\r\n description = this.capitalizeFirstLetter(description);\r\n var synonims = data.synonims;\r\n\r\n\r\n for (var i = 0; i < synonims.length; i++) {\r\n var string = description;\r\n\r\n\r\n var StringIndexs = this.getIndicesOf(synonims[i],string);\r\n for (var z = 0; z < StringIndexs.length; z++) {\r\n var a = string.substring(0, StringIndexs[z]);\r\n var charBefore = string.substring(StringIndexs[z]-1, StringIndexs[z]);\r\n var word = string.substring(StringIndexs[z], StringIndexs[z]+synonims[i].length);\r\n var charAfter = string.substring(StringIndexs[z]+synonims[i].length, StringIndexs[z]+synonims[i].length+1);\r\n var b = string.substring(StringIndexs[z]+synonims[i].length, string.length);\r\n if (this.isLetter(charAfter) === null || this.isLetter(charAfter) === false && this.isLetter(charBefore) === null || this.isLetter(charBefore) === false) {\r\n string = a + '