@banch0u/core-project-test-repository 2.1.2 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7876,4 +7876,260 @@ _defineProperty(Services, "OwnersVisibility", /*#__PURE__*/function () {
7876
7876
  return _ref416.apply(this, arguments);
7877
7877
  };
7878
7878
  }());
7879
+ // ---- end generated ----
7880
+ // ---- generated by questionnaireGenerator: ContractTopics ----
7881
+ _defineProperty(Services, "getContractTopics", /*#__PURE__*/function () {
7882
+ var _ref417 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee417(size, page, query, visibility) {
7883
+ var response;
7884
+ return _regeneratorRuntime.wrap(function _callee417$(_context417) {
7885
+ while (1) switch (_context417.prev = _context417.next) {
7886
+ case 0:
7887
+ _context417.next = 2;
7888
+ return api.get("/contracttopics/".concat(size, "/page/").concat(page, "?visibility=").concat(visibility, "&name=").concat(query === null || query === void 0 ? void 0 : query.name));
7889
+ case 2:
7890
+ response = _context417.sent;
7891
+ return _context417.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
7892
+ case 4:
7893
+ case "end":
7894
+ return _context417.stop();
7895
+ }
7896
+ }, _callee417);
7897
+ }));
7898
+ return function (_x635, _x636, _x637, _x638) {
7899
+ return _ref417.apply(this, arguments);
7900
+ };
7901
+ }());
7902
+ _defineProperty(Services, "getContractTopicsAll", /*#__PURE__*/function () {
7903
+ var _ref418 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee418(visibility) {
7904
+ var response;
7905
+ return _regeneratorRuntime.wrap(function _callee418$(_context418) {
7906
+ while (1) switch (_context418.prev = _context418.next) {
7907
+ case 0:
7908
+ _context418.next = 2;
7909
+ return api.get("/contracttopics?visibility=".concat(visibility));
7910
+ case 2:
7911
+ response = _context418.sent;
7912
+ return _context418.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
7913
+ case 4:
7914
+ case "end":
7915
+ return _context418.stop();
7916
+ }
7917
+ }, _callee418);
7918
+ }));
7919
+ return function (_x639) {
7920
+ return _ref418.apply(this, arguments);
7921
+ };
7922
+ }());
7923
+ _defineProperty(Services, "addContractTopics", /*#__PURE__*/function () {
7924
+ var _ref419 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee419(value) {
7925
+ var response;
7926
+ return _regeneratorRuntime.wrap(function _callee419$(_context419) {
7927
+ while (1) switch (_context419.prev = _context419.next) {
7928
+ case 0:
7929
+ _context419.next = 2;
7930
+ return api.post("/contracttopics", value);
7931
+ case 2:
7932
+ response = _context419.sent;
7933
+ return _context419.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
7934
+ case 4:
7935
+ case "end":
7936
+ return _context419.stop();
7937
+ }
7938
+ }, _callee419);
7939
+ }));
7940
+ return function (_x640) {
7941
+ return _ref419.apply(this, arguments);
7942
+ };
7943
+ }());
7944
+ _defineProperty(Services, "editContractTopics", /*#__PURE__*/function () {
7945
+ var _ref420 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee420(data) {
7946
+ var response;
7947
+ return _regeneratorRuntime.wrap(function _callee420$(_context420) {
7948
+ while (1) switch (_context420.prev = _context420.next) {
7949
+ case 0:
7950
+ _context420.next = 2;
7951
+ return api.put("/contracttopics/".concat(data === null || data === void 0 ? void 0 : data.id), data);
7952
+ case 2:
7953
+ response = _context420.sent;
7954
+ return _context420.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
7955
+ case 4:
7956
+ case "end":
7957
+ return _context420.stop();
7958
+ }
7959
+ }, _callee420);
7960
+ }));
7961
+ return function (_x641) {
7962
+ return _ref420.apply(this, arguments);
7963
+ };
7964
+ }());
7965
+ _defineProperty(Services, "deleteContractTopics", /*#__PURE__*/function () {
7966
+ var _ref421 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee421(id) {
7967
+ var response;
7968
+ return _regeneratorRuntime.wrap(function _callee421$(_context421) {
7969
+ while (1) switch (_context421.prev = _context421.next) {
7970
+ case 0:
7971
+ _context421.next = 2;
7972
+ return api["delete"]("/contracttopics/".concat(id));
7973
+ case 2:
7974
+ response = _context421.sent;
7975
+ return _context421.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
7976
+ case 4:
7977
+ case "end":
7978
+ return _context421.stop();
7979
+ }
7980
+ }, _callee421);
7981
+ }));
7982
+ return function (_x642) {
7983
+ return _ref421.apply(this, arguments);
7984
+ };
7985
+ }());
7986
+ _defineProperty(Services, "contractTopicsVisibility", /*#__PURE__*/function () {
7987
+ var _ref422 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee422(data) {
7988
+ var response;
7989
+ return _regeneratorRuntime.wrap(function _callee422$(_context422) {
7990
+ while (1) switch (_context422.prev = _context422.next) {
7991
+ case 0:
7992
+ _context422.next = 2;
7993
+ return api.patch("/contracttopics/".concat(data === null || data === void 0 ? void 0 : data.id, "/visibility/").concat(data === null || data === void 0 ? void 0 : data.checked));
7994
+ case 2:
7995
+ response = _context422.sent;
7996
+ return _context422.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
7997
+ case 4:
7998
+ case "end":
7999
+ return _context422.stop();
8000
+ }
8001
+ }, _callee422);
8002
+ }));
8003
+ return function (_x643) {
8004
+ return _ref422.apply(this, arguments);
8005
+ };
8006
+ }());
8007
+ // ---- end generated ----
8008
+ // ---- generated by questionnaireGenerator: ContractTypesSubtypes ----
8009
+ _defineProperty(Services, "getContractTypesSubtypes", /*#__PURE__*/function () {
8010
+ var _ref423 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee423(size, page, query, visibility, contractTypeId) {
8011
+ var response;
8012
+ return _regeneratorRuntime.wrap(function _callee423$(_context423) {
8013
+ while (1) switch (_context423.prev = _context423.next) {
8014
+ case 0:
8015
+ _context423.next = 2;
8016
+ return api.get("/contracttypes/subtypes/".concat(size, "/page/").concat(page, "?visibility=").concat(visibility, "&contractTypeId=").concat(contractTypeId, "&name=").concat(query === null || query === void 0 ? void 0 : query.name));
8017
+ case 2:
8018
+ response = _context423.sent;
8019
+ return _context423.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
8020
+ case 4:
8021
+ case "end":
8022
+ return _context423.stop();
8023
+ }
8024
+ }, _callee423);
8025
+ }));
8026
+ return function (_x644, _x645, _x646, _x647, _x648) {
8027
+ return _ref423.apply(this, arguments);
8028
+ };
8029
+ }());
8030
+ _defineProperty(Services, "getContractTypesSubtypesAll", /*#__PURE__*/function () {
8031
+ var _ref424 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee424(typeId, visibility) {
8032
+ var response;
8033
+ return _regeneratorRuntime.wrap(function _callee424$(_context424) {
8034
+ while (1) switch (_context424.prev = _context424.next) {
8035
+ case 0:
8036
+ _context424.next = 2;
8037
+ return api.get("/contracttypes/subtypes?visibility=".concat(visibility, "&contractTypeId=").concat(typeId));
8038
+ case 2:
8039
+ response = _context424.sent;
8040
+ return _context424.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
8041
+ case 4:
8042
+ case "end":
8043
+ return _context424.stop();
8044
+ }
8045
+ }, _callee424);
8046
+ }));
8047
+ return function (_x649, _x650) {
8048
+ return _ref424.apply(this, arguments);
8049
+ };
8050
+ }());
8051
+ _defineProperty(Services, "addContractTypesSubtypes", /*#__PURE__*/function () {
8052
+ var _ref425 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee425(value) {
8053
+ var response;
8054
+ return _regeneratorRuntime.wrap(function _callee425$(_context425) {
8055
+ while (1) switch (_context425.prev = _context425.next) {
8056
+ case 0:
8057
+ _context425.next = 2;
8058
+ return api.post("/contracttypes/subtypes", value);
8059
+ case 2:
8060
+ response = _context425.sent;
8061
+ return _context425.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
8062
+ case 4:
8063
+ case "end":
8064
+ return _context425.stop();
8065
+ }
8066
+ }, _callee425);
8067
+ }));
8068
+ return function (_x651) {
8069
+ return _ref425.apply(this, arguments);
8070
+ };
8071
+ }());
8072
+ _defineProperty(Services, "editContractTypesSubtypes", /*#__PURE__*/function () {
8073
+ var _ref426 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee426(data) {
8074
+ var response;
8075
+ return _regeneratorRuntime.wrap(function _callee426$(_context426) {
8076
+ while (1) switch (_context426.prev = _context426.next) {
8077
+ case 0:
8078
+ _context426.next = 2;
8079
+ return api.put("/contracttypes/subtypes/".concat(data === null || data === void 0 ? void 0 : data.id), data);
8080
+ case 2:
8081
+ response = _context426.sent;
8082
+ return _context426.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
8083
+ case 4:
8084
+ case "end":
8085
+ return _context426.stop();
8086
+ }
8087
+ }, _callee426);
8088
+ }));
8089
+ return function (_x652) {
8090
+ return _ref426.apply(this, arguments);
8091
+ };
8092
+ }());
8093
+ _defineProperty(Services, "deleteContractTypesSubtypes", /*#__PURE__*/function () {
8094
+ var _ref427 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee427(id) {
8095
+ var response;
8096
+ return _regeneratorRuntime.wrap(function _callee427$(_context427) {
8097
+ while (1) switch (_context427.prev = _context427.next) {
8098
+ case 0:
8099
+ _context427.next = 2;
8100
+ return api["delete"]("/contracttypes/subtypes/".concat(id));
8101
+ case 2:
8102
+ response = _context427.sent;
8103
+ return _context427.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
8104
+ case 4:
8105
+ case "end":
8106
+ return _context427.stop();
8107
+ }
8108
+ }, _callee427);
8109
+ }));
8110
+ return function (_x653) {
8111
+ return _ref427.apply(this, arguments);
8112
+ };
8113
+ }());
8114
+ _defineProperty(Services, "contractTypesSubtypesVisibility", /*#__PURE__*/function () {
8115
+ var _ref428 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee428(data) {
8116
+ var response;
8117
+ return _regeneratorRuntime.wrap(function _callee428$(_context428) {
8118
+ while (1) switch (_context428.prev = _context428.next) {
8119
+ case 0:
8120
+ _context428.next = 2;
8121
+ return api.patch("/contracttypes/subtypes/".concat(data === null || data === void 0 ? void 0 : data.id, "/visibility/").concat(data === null || data === void 0 ? void 0 : data.checked));
8122
+ case 2:
8123
+ response = _context428.sent;
8124
+ return _context428.abrupt("return", response === null || response === void 0 ? void 0 : response.data);
8125
+ case 4:
8126
+ case "end":
8127
+ return _context428.stop();
8128
+ }
8129
+ }, _callee428);
8130
+ }));
8131
+ return function (_x654) {
8132
+ return _ref428.apply(this, arguments);
8133
+ };
8134
+ }());
7879
8135
  export default Services;
@@ -2,7 +2,7 @@ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol
2
2
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
3
3
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
4
4
  /////////////////////////////// README ///////////////////////////////
5
- // IN ORDER TO USE THIS SCRIPT YOU HAVETO CHANGE DIRECTION INTO
5
+ // IN ORDER TO USE THIS SCRIPT YOU HAVE TO CHANGE DIRECTION INTO
6
6
  // /src/ then execute the script
7
7
  //////////////////////////////////////////////////////////////////////////
8
8
 
@@ -10,25 +10,24 @@ var fs = require("fs");
10
10
  var path = require("path");
11
11
 
12
12
  ////////// === CONFIG === //////////
13
- var questionnaireName = "Owners"; // change as needed
14
- var constantColumnName = "Mülkiyyətçi";
15
- var endpointName = "/owners";
13
+ var questionnaireName = "ContractTypesSubtypes"; // change as needed
14
+ var constantColumnName = "Müqavilə alt növü";
15
+ var endpointName = "/contracttypes/subtypes";
16
16
  ///////////////////////////////////
17
17
 
18
18
  var upperName = questionnaireName.toUpperCase();
19
19
  var pathConstA = "QUESTIONNAIRES_".concat(upperName);
20
- var pathConstB = "SETTINGS_QUESTIONNAIRES_".concat(upperName);
21
20
 
22
21
  /* ------------------ TEMPLATES ------------------ */
23
22
  function lowercaseFirstChar(questionnaireName) {
24
23
  if (!questionnaireName) return "";
25
24
  return questionnaireName.charAt(0).toLowerCase() + questionnaireName.slice(1);
26
25
  }
27
- var boilerplateTemplate = "import React from \"react\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport Cookies from \"js-cookie\";\nimport style from \"../Questionnaires.module.scss\";\nimport { Form, Input, Layout } from \"antd\";\nimport { PlusIcon } from \"../../../assets/icons\";\nimport FormModal from \"../../../components/FormModal\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Delete from \"../../../components/Delete/Delete\";\nimport DeleteModal from \"../../../components/DeleteModal/DeleteModal\";\nimport Success from \"../../../components/Success/Success\";\nimport {\n setDeleteModalVisible,\n setViewModalVisible,\n} from \"../../../store/slices/global\";\nimport ViewModal from \"../../../components/ViewModal\";\nimport { getStreetColumns } from \"./constant\";\n\nimport Pagination from \"../../../components/Pagination\";\nimport ColSort from \"../../../components/ColSort\";\nimport { setPaginationLength } from \"../../../helpers/paginationLength\";\nimport Button from \"../../../components/Button\";\nimport Loading from \"../../../components/Loading\";\nimport Table from \"../../../components/Table\";\nimport Filter from \"../../../components/Filter\";\nimport {\n add".concat(questionnaireName, ",\n delete").concat(questionnaireName, ",\n edit").concat(questionnaireName, ",\n get").concat(questionnaireName, ",\n ").concat(questionnaireName, "Visibility,\n} from \"../../../store/slices/questionnaire\";\n\nconst { Content } = Layout;\nconst { Item } = Form;\nconst Questionnaires").concat(questionnaireName, "Content = () => {\n const [innerW, setInnerW] = useState(null);\n const ref = useRef();\n const dispatch = useDispatch();\n const [id, setId] = useState(0);\n const [page, setPage] = useState(1);\n const [size, setSize] = useState(\n Cookies.get(\"pagination-size-questionnaire-").concat(questionnaireName.toLowerCase(), "\")\n ? JSON.parse(Cookies.get(\"pagination-size-questionnaire-").concat(questionnaireName.toLowerCase(), "\"))\n : 20\n );\n const [query, setQuery] = useState({ name: \"\" });\n const { loading, ").concat(questionnaireName, "Render } = useSelector((state) => state.global);\n\n const ").concat(questionnaireName, " = useSelector(\n (state) => state.questionnaire.").concat(lowercaseFirstChar(questionnaireName), "\n );\n const paginationLength = setPaginationLength(\n ").concat(questionnaireName, "?.count,\n ").concat(questionnaireName, "?.size\n );\n\n const onSubmit = useCallback(\n async (data) => {\n dispatch(add").concat(questionnaireName, "(data));\n },\n [dispatch]\n );\n const onEdit = useCallback(\n (id, record) => {\n const data = {\n id: id,\n name: record?.name,\n };\n dispatch(edit").concat(questionnaireName, "(data));\n },\n [dispatch]\n );\n const onStatusChange = useCallback(\n (data, checked) => {\n const data_ = {\n id: data?.id,\n checked: checked,\n };\n dispatch(").concat(questionnaireName, "Visibility(data_));\n },\n [dispatch]\n );\n const closeOnViewModal = useCallback(() => {\n dispatch(setViewModalVisible(false));\n }, [dispatch]);\n const onClickModal = () => {\n ref?.current?.open();\n };\n const onEditClick = useCallback((data) => {\n ref?.current?.setEdit(data);\n }, []);\n const onDelete = useCallback((id) => {\n setId(id);\n }, []);\n const handleColumnToggle = (checked, dataIndex) => {\n setSelectedColumns((prevSelected) => {\n if (checked) {\n return [...prevSelected, dataIndex];\n } else {\n return prevSelected.filter((col) => col !== dataIndex);\n }\n });\n };\n\n let data = [];\n if (").concat(questionnaireName, "?.items) {\n data = ").concat(questionnaireName, "?.items?.map((dataObj, i) => ({\n num:\n ").concat(questionnaireName, "?.size * ").concat(questionnaireName, "?.page + i + 1 - ").concat(questionnaireName, "?.size,\n id: dataObj?.id,\n name: dataObj?.name,\n isActive: dataObj?.isActive,\n className: \"rowClassName1\",\n }));\n }\n const columns = useMemo(\n () => getStreetColumns(onEditClick, onDelete, onStatusChange, dispatch),\n [onEditClick, onDelete, onStatusChange, dispatch]\n );\n const [selectedColumns, setSelectedColumns] = useState(\n columns.map((col) => col.dataIndex)\n );\n useEffect(() => {\n if (window.innerWidth >= 1900) {\n setInnerW(210);\n } else {\n setInnerW(155);\n }\n const data = {\n page: page,\n size: size,\n query: query,\n visibility: \"nondeleted\",\n };\n dispatch(get").concat(questionnaireName, "(data));\n }, [dispatch, page, ").concat(questionnaireName, "Render, query, size]);\n const updateSize = (newSize) => {\n setSize(newSize); // Update state\n Cookies.set(\n \"pagination-size-questionnaire-").concat(questionnaireName.toLowerCase(), "\",\n JSON.stringify(newSize),\n {\n expires: 7,\n }\n ); // Save to cookies\n };\n\n return (\n <>\n {loading ? <Loading /> : null}\n <Layout className={style.layout}>\n <Content className={style.content}>\n <header className={style.header}>\n <Button onClick={onClickModal} color=\"green\">\n <PlusIcon /> Soraq\xE7a \u0259lav\u0259 et\n </Button>\n <Filter\n columns={columns}\n selectedColumns={selectedColumns}\n setQuery={setQuery}\n disabledElementCount={3}\n setPage={setPage}\n />\n </header>\n </Content>\n <Layout className={style.layout1}>\n <Content className={style.content}>\n <div className={style.table_header}>\n <h2>").concat(constantColumnName, "</h2>\n <div className={style.buttons}>\n <ColSort\n columns={columns}\n selectedColumns={selectedColumns}\n handleColumnToggle={handleColumnToggle}\n />\n </div>\n </div>\n <div className=\"bigTable\">\n <Table\n selectedColumns={selectedColumns}\n innerW={innerW}\n dataSource={data}\n columns={columns}\n disableDrag={true}\n />\n </div>\n <div className={style.pagination}>\n <Pagination\n size={size}\n setSize={updateSize}\n total={paginationLength}\n page={page}\n onChange={setPage}\n />\n </div>\n <FormModal\n ref={ref}\n width={454}\n title={\"Yeni soraq\xE7a yaratma\"}\n titleEdit={\"Soraq\xE7a redakt\u0259 etm\u0259\"}\n okText={\"Yadda saxla\"}\n cancelText={\"Ba\u011Fla\"}\n onSubmit={onSubmit}\n onEdit={onEdit}\n className={\"absolute\"}\n centered={false}>\n <Item\n rules={[\n { required: true, message: \"\" },\n { min: 3, message: \"\u018Fn az\u0131ndan 3 simvol olmal\u0131d\u0131r\" },\n ]}\n name={\"name\"}\n label={\"Ad\"}>\n <Input className={style.modal_input} />\n </Item>\n </FormModal>\n <DeleteModal\n onCancel={() => dispatch(setDeleteModalVisible(false))}\n width={280}>\n <Delete\n onDelete={() => dispatch(delete").concat(questionnaireName, "(id))}\n onCancel={() => dispatch(setDeleteModalVisible(false))}\n value={\"Soraq\xE7an\u0131\"}\n />\n </DeleteModal>\n <ViewModal onCancel={closeOnViewModal} width={695}>\n {<Success onClick={closeOnViewModal} value={\"Soraq\xE7a\"} />}\n </ViewModal>\n </Content>\n </Layout>\n </Layout>\n </>\n );\n};\n\nexport default Questionnaires").concat(questionnaireName, "Content;\n");
26
+ var boilerplateTemplate = "import React from \"react\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport Cookies from \"js-cookie\";\nimport style from \"../Questionnaires.module.scss\";\nimport { Form, Input, Layout } from \"antd\";\nimport { PlusIcon } from \"../../../assets/icons\";\nimport FormModal from \"../../../components/FormModal\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Delete from \"../../../components/Delete/Delete\";\nimport DeleteModal from \"../../../components/DeleteModal/DeleteModal\";\nimport Success from \"../../../components/Success/Success\";\nimport {\n setDeleteModalVisible,\n setViewModalVisible,\n} from \"../../../store/slices/global\";\nimport ViewModal from \"../../../components/ViewModal\";\nimport { getStreetColumns } from \"./constant\";\n\nimport Pagination from \"../../../components/Pagination\";\nimport ColSort from \"../../../components/ColSort\";\nimport { setPaginationLength } from \"../../../helpers/paginationLength\";\nimport Button from \"../../../components/Button\";\nimport Loading from \"../../../components/Loading\";\nimport Table from \"../../../components/Table\";\nimport Filter from \"../../../components/Filter\";\nimport {\n add".concat(questionnaireName, ",\n delete").concat(questionnaireName, ",\n edit").concat(questionnaireName, ",\n get").concat(questionnaireName, ",\n ").concat(lowercaseFirstChar(questionnaireName), "Visibility,\n} from \"../../../store/slices/questionnaire\";\n\nconst { Content } = Layout;\nconst { Item } = Form;\nconst Questionnaires").concat(questionnaireName, "Content = () => {\n const [innerW, setInnerW] = useState(null);\n const ref = useRef();\n const dispatch = useDispatch();\n const [id, setId] = useState(0);\n const [page, setPage] = useState(1);\n const [size, setSize] = useState(\n Cookies.get(\"pagination-size-questionnaire-").concat(questionnaireName.toLowerCase(), "\")\n ? JSON.parse(Cookies.get(\"pagination-size-questionnaire-").concat(questionnaireName.toLowerCase(), "\"))\n : 20\n );\n const [query, setQuery] = useState({ name: \"\" });\n const { loading, ").concat(questionnaireName, "Render } = useSelector((state) => state.global);\n\n const ").concat(questionnaireName, " = useSelector(\n (state) => state.questionnaire.").concat(lowercaseFirstChar(questionnaireName), "\n );\n const paginationLength = setPaginationLength(\n ").concat(questionnaireName, "?.count,\n ").concat(questionnaireName, "?.size\n );\n\n const onSubmit = useCallback(\n async (data) => {\n dispatch(add").concat(questionnaireName, "(data));\n },\n [dispatch]\n );\n const onEdit = useCallback(\n (id, record) => {\n const data = {\n id: id,\n name: record?.name,\n };\n dispatch(edit").concat(questionnaireName, "(data));\n },\n [dispatch]\n );\n const onStatusChange = useCallback(\n (data, checked) => {\n const data_ = {\n id: data?.id,\n checked: checked,\n };\n dispatch(").concat(lowercaseFirstChar(questionnaireName), "Visibility(data_));\n },\n [dispatch]\n );\n const closeOnViewModal = useCallback(() => {\n dispatch(setViewModalVisible(false));\n }, [dispatch]);\n const onClickModal = () => {\n ref?.current?.open();\n };\n const onEditClick = useCallback((data) => {\n ref?.current?.setEdit(data);\n }, []);\n const onDelete = useCallback((id) => {\n setId(id);\n }, []);\n const handleColumnToggle = (checked, dataIndex) => {\n setSelectedColumns((prevSelected) => {\n if (checked) {\n return [...prevSelected, dataIndex];\n } else {\n return prevSelected.filter((col) => col !== dataIndex);\n }\n });\n };\n\n let data = [];\n if (").concat(questionnaireName, "?.items) {\n data = ").concat(questionnaireName, "?.items?.map((dataObj, i) => ({\n num:\n ").concat(questionnaireName, "?.size * ").concat(questionnaireName, "?.page + i + 1 - ").concat(questionnaireName, "?.size,\n id: dataObj?.id,\n name: dataObj?.name,\n isActive: dataObj?.isActive,\n className: \"rowClassName1\",\n }));\n }\n const columns = useMemo(\n () => getStreetColumns(onEditClick, onDelete, onStatusChange, dispatch),\n [onEditClick, onDelete, onStatusChange, dispatch]\n );\n const [selectedColumns, setSelectedColumns] = useState(\n columns.map((col) => col.dataIndex)\n );\n useEffect(() => {\n if (window.innerWidth >= 1900) {\n setInnerW(210);\n } else {\n setInnerW(155);\n }\n const data = {\n page: page,\n size: size,\n query: query,\n visibility: \"nondeleted\",\n };\n dispatch(get").concat(questionnaireName, "(data));\n }, [dispatch, page, ").concat(questionnaireName, "Render, query, size]);\n const updateSize = (newSize) => {\n setSize(newSize);\n Cookies.set(\n \"pagination-size-questionnaire-").concat(questionnaireName.toLowerCase(), "\",\n JSON.stringify(newSize),\n {\n expires: 7,\n }\n );\n };\n\n return (\n <>\n {loading ? <Loading /> : null}\n <Layout className={style.layout}>\n <Content className={style.content}>\n <header className={style.header}>\n <Button onClick={onClickModal} color=\"green\">\n <PlusIcon /> Soraq\xE7a \u0259lav\u0259 et\n </Button>\n <Filter\n columns={columns}\n selectedColumns={selectedColumns}\n setQuery={setQuery}\n disabledElementCount={3}\n setPage={setPage}\n />\n </header>\n </Content>\n <Layout className={style.layout1}>\n <Content className={style.content}>\n <div className={style.table_header}>\n <h2>").concat(constantColumnName, "</h2>\n <div className={style.buttons}>\n <ColSort\n columns={columns}\n selectedColumns={selectedColumns}\n handleColumnToggle={handleColumnToggle}\n />\n </div>\n </div>\n <div className=\"bigTable\">\n <Table\n selectedColumns={selectedColumns}\n innerW={innerW}\n dataSource={data}\n columns={columns}\n disableDrag={true}\n />\n </div>\n <div className={style.pagination}>\n <Pagination\n size={size}\n setSize={updateSize}\n total={paginationLength}\n page={page}\n onChange={setPage}\n />\n </div>\n <FormModal\n ref={ref}\n width={454}\n title={\"Yeni soraq\xE7a yaratma\"}\n titleEdit={\"Soraq\xE7a redakt\u0259 etm\u0259\"}\n okText={\"Yadda saxla\"}\n cancelText={\"Ba\u011Fla\"}\n onSubmit={onSubmit}\n onEdit={onEdit}\n className={\"absolute\"}\n centered={false}>\n <Item\n rules={[\n { required: true, message: \"\" },\n { min: 3, message: \"\u018Fn az\u0131ndan 3 simvol olmal\u0131d\u0131r\" },\n ]}\n name={\"name\"}\n label={\"Ad\"}>\n <Input className={style.modal_input} />\n </Item>\n </FormModal>\n <DeleteModal\n onCancel={() => dispatch(setDeleteModalVisible(false))}\n width={280}>\n <Delete\n onDelete={() => dispatch(delete").concat(questionnaireName, "(id))}\n onCancel={() => dispatch(setDeleteModalVisible(false))}\n value={\"Soraq\xE7an\u0131\"}\n />\n </DeleteModal>\n <ViewModal onCancel={closeOnViewModal} width={695}>\n {<Success onClick={closeOnViewModal} value={\"Soraq\xE7a\"} />}\n </ViewModal>\n </Content>\n </Layout>\n </Layout>\n </>\n );\n};\n\nexport default Questionnaires").concat(questionnaireName, "Content;\n");
28
27
  var constantBoilerplateTemplate = "import * as React from \"react\";\nimport { Switch, Tooltip } from \"antd\";\nimport style from \"../Questionnaires.module.scss\";\nimport { setDeleteModalVisible } from \"../../../store/slices/global\";\nimport { DeleteIconQ, EditIcon } from \"../../../assets/icons\";\n\nexport const getStreetColumns = (\n onEditClick,\n onDelete,\n onStatusChange,\n dispatch,\n innerW\n) => [\n {\n title: \"\u2116\",\n dataIndex: \"num\",\n showCheckbox: false,\n ellipsis: true,\n width: 35,\n },\n {\n title: \"".concat(constantColumnName, "\",\n dataIndex: \"name\",\n width: innerW,\n disabled: true,\n ellipsis: true,\n },\n {\n title: \"Status\",\n key: \"status\",\n disabled: true,\n\n filter: false,\n render: (data) => (\n <Tooltip placement=\"top\" title=\"Statusu d\u0259yi\u015F\">\n <Switch\n size=\"medium\"\n checked={data?.isActive}\n onChange={(checked) => onStatusChange(data, checked, dispatch)}\n />\n </Tooltip>\n ),\n },\n {\n title: \"\",\n key: \"actions\",\n showCheckbox: false,\n width: 80,\n render: (data) => (\n <>\n <div className={style.number}>\n <div className={style.actions}>\n <div onClick={() => onEditClick(data)}>\n <EditIcon />\n </div>\n <div\n onClick={() => {\n onDelete(data?.id);\n dispatch(setDeleteModalVisible(true));\n }}\n >\n <DeleteIconQ />\n </div>\n </div>\n </div>\n </>\n ),\n },\n ];\n");
29
- var sliceBoilerplateTemplate = "\nexport const get".concat(questionnaireName, " = createAsyncThunk(\n \"/get").concat(questionnaireName, "\",\n async (data, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n const response = await Services.get").concat(questionnaireName, "(\n data.size,\n data.page,\n data.query,\n data.visibility\n );\n dispatch(setLoading(false));\n return response?.data;\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\nexport const get").concat(questionnaireName, "All = createAsyncThunk(\n \"/get").concat(questionnaireName, "All\",\n async (visibility, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n const response = await Services.get").concat(questionnaireName, "All(visibility);\n dispatch(setLoading(false));\n return response?.data;\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\nexport const add").concat(questionnaireName, " = createAsyncThunk(\n \"/add").concat(questionnaireName, "\",\n async (data, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n await Services.add").concat(questionnaireName, "(data);\n dispatch(setLoading(false));\n dispatch(set").concat(questionnaireName, "Render((prev) => !prev));\n dispatch(setViewModalVisible(true));\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\nexport const edit").concat(questionnaireName, " = createAsyncThunk(\n \"/edit").concat(questionnaireName, "\",\n async (data, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n const response = await Services.edit").concat(questionnaireName, "(data);\n dispatch(setLoading(false));\n dispatch(set").concat(questionnaireName, "Render((prev) => !prev));\n return response?.data;\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\nexport const delete").concat(questionnaireName, " = createAsyncThunk(\n \"/delete").concat(questionnaireName, "\",\n async (id, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n await Services.delete").concat(questionnaireName, "(id);\n dispatch(setLoading(false));\n dispatch(setDeleteModalVisible(false));\n dispatch(set").concat(questionnaireName, "Render((prev) => !prev));\n } catch (error) {\n dispatch(setDeleteModalVisible(false));\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\nexport const ").concat(questionnaireName, "Visibility = createAsyncThunk(\n \"").concat(questionnaireName, "Visibility\",\n async (data, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n const response = await Services.").concat(questionnaireName, "Visibility(data);\n dispatch(setLoading(false));\n dispatch(set").concat(questionnaireName, "Render((prev) => !prev));\n return response?.data;\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\n// ---- end generated ----\n");
30
- var servicesBoilerplateTemplate = "\n// ---- generated by questionnaireGenerator: ".concat(questionnaireName, " ----\n static get").concat(questionnaireName, " = async (size, page, query, visibility) => {\n const response = await api.get(`").concat(endpointName, "/${size}/page/${page}?visibility=${visibility}&name=${query?.name}`);\n return response?.data;\n };\n static get").concat(questionnaireName, "All = async (visibility) => {\n const response = await api.get(`").concat(endpointName, "?visibility=${visibility}`);\n return response?.data;\n };\n static add").concat(questionnaireName, " = async (value) => {\n const response = await api.post(\"").concat(endpointName, "\", value);\n return response?.data;\n };\n static edit").concat(questionnaireName, " = async (data) => {\n const response = await api.put(`").concat(endpointName, "/${data?.id}`, data);\n return response?.data;\n };\n static delete").concat(questionnaireName, " = async (id) => {\n const response = await api.delete(`").concat(endpointName, "/${id}`);\n return response?.data;\n };\n static ").concat(questionnaireName, "Visibility = async (data) => {\n const response = await api.patch(`").concat(endpointName, "/${data?.id}/visibility/${data?.checked}`);\n return response?.data;\n };\n// ---- end generated ----\n");
31
- var pathExportsTemplate = "\n// ---- generated by questionnaireGenerator: ".concat(questionnaireName.toUpperCase(), " ----\nexport const ").concat(pathConstA, " = QUESTIONNAIRES + \"").concat(endpointName, "\";\nexport const ").concat(pathConstB, " = SETTINGS_QUESTIONNAIRES + \"").concat(endpointName, "\";\n// ---- end generated ----\n");
28
+ var sliceBoilerplateTemplate = "\nexport const get".concat(questionnaireName, " = createAsyncThunk(\n \"/get").concat(questionnaireName, "\",\n async (data, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n const response = await Services.get").concat(questionnaireName, "(\n data.size,\n data.page,\n data.query,\n data.visibility\n );\n dispatch(setLoading(false));\n return response?.data;\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\nexport const get").concat(questionnaireName, "All = createAsyncThunk(\n \"/get").concat(questionnaireName, "All\",\n async (visibility, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n const response = await Services.get").concat(questionnaireName, "All(visibility);\n dispatch(setLoading(false));\n return response?.data;\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\nexport const add").concat(questionnaireName, " = createAsyncThunk(\n \"/add").concat(questionnaireName, "\",\n async (data, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n await Services.add").concat(questionnaireName, "(data);\n dispatch(setLoading(false));\n dispatch(set").concat(questionnaireName, "Render((prev) => !prev));\n dispatch(setViewModalVisible(true));\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\nexport const edit").concat(questionnaireName, " = createAsyncThunk(\n \"/edit").concat(questionnaireName, "\",\n async (data, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n const response = await Services.edit").concat(questionnaireName, "(data);\n dispatch(setLoading(false));\n dispatch(set").concat(questionnaireName, "Render((prev) => !prev));\n return response?.data;\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\nexport const delete").concat(questionnaireName, " = createAsyncThunk(\n \"/delete").concat(questionnaireName, "\",\n async (id, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n await Services.delete").concat(questionnaireName, "(id);\n dispatch(setLoading(false));\n dispatch(setDeleteModalVisible(false));\n dispatch(set").concat(questionnaireName, "Render((prev) => !prev));\n } catch (error) {\n dispatch(setDeleteModalVisible(false));\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\nexport const ").concat(lowercaseFirstChar(questionnaireName), "Visibility = createAsyncThunk(\n \"").concat(lowercaseFirstChar(questionnaireName), "Visibility\",\n async (data, { dispatch }) => {\n try {\n dispatch(setLoading(true));\n const response = await Services.").concat(lowercaseFirstChar(questionnaireName), "Visibility(data);\n dispatch(setLoading(false));\n dispatch(set").concat(questionnaireName, "Render((prev) => !prev));\n return response?.data;\n } catch (error) {\n errorMessage(error.response?.data?.message);\n dispatch(setLoading(false));\n }\n }\n);\n\n// ---- end generated ----\n");
29
+ var servicesBoilerplateTemplate = "\n// ---- generated by questionnaireGenerator: ".concat(questionnaireName, " ----\n static get").concat(questionnaireName, " = async (size, page, query, visibility) => {\n const response = await api.get(`").concat(endpointName, "/${size}/page/${page}?visibility=${visibility}&name=${query?.name}`);\n return response?.data;\n };\n static get").concat(questionnaireName, "All = async (visibility) => {\n const response = await api.get(`").concat(endpointName, "?visibility=${visibility}`);\n return response?.data;\n };\n static add").concat(questionnaireName, " = async (value) => {\n const response = await api.post(\"").concat(endpointName, "\", value);\n return response?.data;\n };\n static edit").concat(questionnaireName, " = async (data) => {\n const response = await api.put(`").concat(endpointName, "/${data?.id}`, data);\n return response?.data;\n };\n static delete").concat(questionnaireName, " = async (id) => {\n const response = await api.delete(`").concat(endpointName, "/${id}`);\n return response?.data;\n };\n static ").concat(lowercaseFirstChar(questionnaireName), "Visibility = async (data) => {\n const response = await api.patch(`").concat(endpointName, "/${data?.id}/visibility/${data?.checked}`);\n return response?.data;\n };\n// ---- end generated ----\n");
30
+ var pathExportsTemplate = "\n// ---- generated by questionnaireGenerator: ".concat(questionnaireName.toUpperCase(), " ----\nexport const ").concat(pathConstA, " = QUESTIONNAIRES + \"").concat(endpointName, "\";\n// ---- end generated ----\n");
32
31
 
33
32
  /* ------------------ HELPERS ------------------ */
34
33
 
@@ -147,105 +146,51 @@ function insertIntoClassBody(content, classNamePatterns, insertionText, marker)
147
146
  }
148
147
 
149
148
  /**
150
- * Insert a route block into a route parent block identified by startRegex.
151
- * Finds parent <Route ...> ... </Route> and inserts insertionText before its closing </Route>.
149
+ * Robust insertRouteIntoParentBlock that works with multiline <Route ...> tags.
150
+ * It finds the parent <Route ... path="parentPath" ...> and inserts insertionText
151
+ * immediately before that parent's closing </Route>.
152
152
  *
153
- * Robust approach:
154
- * - Find the regex match for startRegex (which targets the path attribute).
155
- * - Locate the opening '<Route' tag start (lastIndexOf before the match).
156
- * - Determine if that opening tag is self-closing — if so, we cannot insert inside.
157
- * - Otherwise, scan forward from that opening tag, counting nested <Route> openings and </Route> closings
158
- * until we find the matching closing tag for the found parent, then insert before that closing tag.
153
+ * Returns { updated, inserted, reason }.
159
154
  */
160
- function insertRouteIntoParentBlock(content, startRegex, insertionText, marker) {
161
- if (marker && content.includes(marker)) return {
162
- updated: content,
163
- inserted: false,
164
- reason: "marker_present"
165
- };
166
- var match = startRegex.exec(content);
167
- if (!match) return {
168
- updated: content,
169
- inserted: false,
170
- reason: "start_not_found"
171
- };
172
- var matchIndex = match.index;
173
-
174
- // Find the opening "<Route" that contains this match (search backwards)
175
- var openTagIdx = content.lastIndexOf("<Route", matchIndex);
176
- if (openTagIdx === -1) return {
155
+ function insertRouteIntoParentBlock(content, parentPath, insertionText) {
156
+ // find <Route ... path="questionnaires" ... >
157
+ var openTagRegex = new RegExp("<Route[^>]*path=\\{?[\"']?".concat(parentPath, "[\"']?\\}?[^>]*>"), "m");
158
+ var openMatch = content.match(openTagRegex);
159
+ if (!openMatch) return {
177
160
  updated: content,
178
161
  inserted: false,
179
- reason: "open_tag_not_found"
162
+ reason: "parent_not_found"
180
163
  };
164
+ var openIndex = openMatch.index;
165
+ var openEnd = content.indexOf(">", openIndex);
181
166
 
182
- // Find end of opening tag '>'
183
- var openingTagEnd = content.indexOf(">", openTagIdx);
184
- if (openingTagEnd === -1) return {
185
- updated: content,
186
- inserted: false,
187
- reason: "opening_tag_end_not_found"
188
- };
189
- var openingTagText = content.slice(openTagIdx, openingTagEnd + 1);
190
- // detect self-closing like '<Route ... />'
191
- var selfClosing = /\/\s*>$/.test(openingTagText);
192
- if (selfClosing) return {
193
- updated: content,
194
- inserted: false,
195
- reason: "parent_self_closing"
196
- };
197
-
198
- // Now scan forward from openTagIdx and match nested <Route> ... </Route>
199
- var openRe = /<Route\b/g;
200
- var closeRe = /<\/Route>/g;
201
- var idx = openTagIdx;
167
+ // now find the matching closing </Route>
202
168
  var depth = 0;
203
- var endIdx = -1;
204
-
205
- // initialize lastIndex for both regexes
206
- openRe.lastIndex = idx;
207
- closeRe.lastIndex = idx;
208
- while (true) {
209
- var nextOpen = openRe.exec(content);
210
- var nextClose = closeRe.exec(content);
211
- if (nextOpen && (!nextClose || nextOpen.index < nextClose.index)) {
212
- // found another opening before the next closing
169
+ var closeIndex = -1;
170
+ for (var i = openEnd + 1; i < content.length; i++) {
171
+ if (content.startsWith("<Route", i)) {
213
172
  depth++;
214
- idx = nextOpen.index + 6; // move past '<Route'
215
- openRe.lastIndex = idx;
216
- closeRe.lastIndex = idx;
217
- continue;
218
- } else if (nextClose) {
219
- // found a closing tag
220
- depth--;
221
- idx = nextClose.index + 8; // move past '</Route>'
222
- // when depth goes to zero we've closed the original open we counted
173
+ } else if (content.startsWith("</Route>", i)) {
223
174
  if (depth === 0) {
224
- endIdx = nextClose.index;
175
+ closeIndex = i; // <-- we insert BEFORE this
225
176
  break;
177
+ } else {
178
+ depth--;
226
179
  }
227
- openRe.lastIndex = idx;
228
- closeRe.lastIndex = idx;
229
- continue;
230
- } else {
231
- // no more matches
232
- break;
233
180
  }
234
181
  }
235
- if (endIdx === -1) {
236
- return {
237
- updated: content,
238
- inserted: false,
239
- reason: "matching_close_not_found"
240
- };
241
- }
182
+ if (closeIndex === -1) return {
183
+ updated: content,
184
+ inserted: false,
185
+ reason: "closing_not_found"
186
+ };
242
187
 
243
- // Insert text before the found closing tag
244
- var newContent = content.slice(0, endIdx) + insertionText + content.slice(endIdx);
188
+ // insert BEFORE the parent's </Route>
189
+ var updated = content.slice(0, closeIndex) + "\n" + insertionText + "\n" + content.slice(closeIndex);
245
190
  return {
246
- updated: newContent,
191
+ updated: updated,
247
192
  inserted: true,
248
- reason: "inserted_into_parent"
193
+ reason: "ok"
249
194
  };
250
195
  }
251
196
 
@@ -484,7 +429,7 @@ try {
484
429
  console.log("Updated global slice:", globalPath);
485
430
  }
486
431
 
487
- // 5) update utils/path.js with the two route constants
432
+ // 5) update utils/path.js with the route constant (DOCUMENT only)
488
433
  var pathUtils = locatePathUtils(root);
489
434
  if (!pathUtils) {
490
435
  console.warn("utils/path.js not found — skipping path constants insertion.");
@@ -509,7 +454,7 @@ try {
509
454
  }
510
455
 
511
456
  // 6) update routes/QuestionnaireRoutes.jsx: add component import, add path constants to utils/path named import,
512
- // and insert Route entries into Document and Settings parent blocks.
457
+ // and insert Route entries into Document parent block.
513
458
  var routesPath = locateRoutesFile(root);
514
459
  if (!routesPath) {
515
460
  console.warn("QuestionnaireRoutes.jsx not found — skipping routes changes.");
@@ -532,10 +477,6 @@ try {
532
477
  _names.push(pathConstA);
533
478
  changed = true;
534
479
  }
535
- if (!_names.includes(pathConstB)) {
536
- _names.push(pathConstB);
537
- changed = true;
538
- }
539
480
  if (changed) {
540
481
  // preserve multiline formatting
541
482
  var hasMultiline = /\n/.test(_inner);
@@ -548,7 +489,7 @@ try {
548
489
  }
549
490
  } else {
550
491
  // fallback: add a small named import
551
- var safeImport = "import { ".concat(pathConstA, ", ").concat(pathConstB, " } from \"../utils/path\";\n");
492
+ var safeImport = "import { ".concat(pathConstA, " } from \"../utils/path\";\n");
552
493
  // place after first import block
553
494
  var firstNonImport = routesContent.indexOf("\n\n");
554
495
  if (firstNonImport !== -1 && firstNonImport < 5000) {
@@ -591,54 +532,24 @@ try {
591
532
  console.log("Component import already present — skipping import insertion.");
592
533
  }
593
534
 
594
- // 6.c Insert Route entries (Document & Settings). Marker-protected.
595
- // Use robust regexes that match path attribute regardless of attribute ordering / newlines
596
- var docStartRegex = /<Route\b[^>]*\bpath=(?:["'])questionnaires(?:["'])[^>]*>/m;
597
- var settingsStartRegex = /<Route\b[^>]*\bpath=(?:["'])settings\/questionnaires(?:["'])[^>]*>/m;
598
- var docRouteMarker = "";
599
- var setRouteMarker = "";
600
- var routeEntryDocument = "\n".concat(docRouteMarker, "\n <Route\n path={").concat(pathConstA, "}\n element={<Questionnaires").concat(questionnaireName, "Content />}\n />\n");
601
- var routeEntrySettings = "\n".concat(setRouteMarker, "\n <Route\n path={").concat(pathConstB, "}\n element={<Questionnaires").concat(questionnaireName, "Content />}\n />\n");
602
-
603
- // Insert into Document Circulation Routes parent block
604
- var resDoc = insertRouteIntoParentBlock(routesContent, docStartRegex, routeEntryDocument, docRouteMarker);
535
+ // 6.c Insert Route entry into questionnaires parent
536
+ var routeEntryDocument = "\n <Route \n path={".concat(pathConstA, "} \n element={<Questionnaires").concat(questionnaireName, "Content />} \n />\n");
537
+ // Insert route into <Route path="questionnaires">
538
+ var resDoc = insertRouteIntoParentBlock(routesContent, "questionnaires", routeEntryDocument);
605
539
  if (resDoc.inserted) {
606
540
  routesContent = resDoc.updated;
607
- console.log("Inserted document route entry.");
608
- } else if (resDoc.reason === "marker_present") {
609
- console.log("Document route marker present — skipping insertion.");
541
+ console.log("Inserted questionnaire route inside questionnaires block.");
610
542
  } else {
611
- // fallback: try to insert before Settings Routes anchor
612
- var settingsAnchor = routesContent.indexOf('{/* Settings Routes */}');
613
- if (settingsAnchor !== -1) {
614
- routesContent = routesContent.slice(0, settingsAnchor) + routeEntryDocument + routesContent.slice(settingsAnchor);
615
- console.log("Fallback inserted document route before Settings anchor.");
616
- } else {
617
- console.warn("Couldn't reliably insert document route — please add manually. Reason:", resDoc.reason);
618
- }
619
- }
543
+ console.warn("⚠ Could not insert questionnaire route:", resDoc.reason);
620
544
 
621
- // Insert into Settings Routes parent block
622
- var resSet = insertRouteIntoParentBlock(routesContent, settingsStartRegex, routeEntrySettings, setRouteMarker);
623
- if (resSet.inserted) {
624
- routesContent = resSet.updated;
625
- console.log("Inserted settings route entry.");
626
- } else if (resSet.reason === "marker_present") {
627
- console.log("Settings route marker present — skipping insertion.");
628
- } else {
629
- // fallback: find the settings block and append before its closing tag
630
- var settingsBlockRegex = /<Route\s*\n\s*path="settings\/questionnaires"[\s\S]*?<\/Route>/m;
631
- if (settingsBlockRegex.test(routesContent)) {
632
- routesContent = routesContent.replace(settingsBlockRegex, function (m) {
633
- var idx = m.lastIndexOf("</Route>");
634
- if (idx !== -1) {
635
- return m.slice(0, idx) + routeEntrySettings + m.slice(idx);
636
- }
637
- return m;
638
- });
639
- console.log("Fallback inserted settings route into settings block.");
545
+ // fallback inserting BEFORE the parent closing </Route>
546
+ var parentClose = routesContent.lastIndexOf("</Route>");
547
+ if (parentClose !== -1) {
548
+ routesContent = routesContent.slice(0, parentClose) + routeEntryDocument + routesContent.slice(parentClose);
549
+ console.log("Fallback inserted questionnaire route before closing </Route>.");
640
550
  } else {
641
- console.warn("Couldn't reliably insert settings routeplease add manually. Reason:", resSet.reason);
551
+ console.warn(" No parent closing </Route> found appending at bottom.");
552
+ routesContent += "\n" + routeEntryDocument;
642
553
  }
643
554
  }
644
555
 
@@ -669,10 +580,6 @@ try {
669
580
  _names2.push(pathConstA);
670
581
  _changed = true;
671
582
  }
672
- if (!_names2.includes(pathConstB)) {
673
- _names2.push(pathConstB);
674
- _changed = true;
675
- }
676
583
  if (_changed) {
677
584
  var _hasMultiline = /\n/.test(_inner2);
678
585
  var _newInner2 = _hasMultiline ? _names2.join(",\n ") : _names2.join(", ");
@@ -684,7 +591,7 @@ try {
684
591
  }
685
592
  } else {
686
593
  // fallback: add import near top
687
- var _safeImport = "import { ".concat(pathConstA, ", ").concat(pathConstB, " } from \"../../utils/path\";\n");
594
+ var _safeImport = "import { ".concat(pathConstA, " } from \"../../utils/path\";\n");
688
595
  var _firstNonImport2 = sidebarContent.indexOf("\n\n");
689
596
  if (_firstNonImport2 !== -1 && _firstNonImport2 < 5000) {
690
597
  sidebarContent = sidebarContent.slice(0, _firstNonImport2) + "\n" + _safeImport + sidebarContent.slice(_firstNonImport2);
@@ -700,7 +607,7 @@ try {
700
607
  // find the items = [ ... ] block
701
608
  var itemsArrayRegex = /const\s+items\s*=\s*\[\s*([\s\S]*?)\s*\];/m;
702
609
  var itemsMatch = sidebarContent.match(itemsArrayRegex);
703
- var menuObject = " {\n key: \"".concat(endpointName.replace(/^\//, ""), "\", //delete the \"/\" at the start of string \n label: \"").concat(constantColumnName, "\", \n link:\n mainPath === \"/settings\"\n ? ").concat(pathConstB, " \n : ").concat(pathConstA, ", \n },\n");
610
+ var menuObject = " {\n key: \"".concat(endpointName.replace(/^\//, ""), "\", //delete the \"/\" at the start of string \n label: \"").concat(constantColumnName, "\", \n link: ").concat(pathConstA, ", \n},\n");
704
611
  if (itemsMatch) {
705
612
  // insert before closing bracket of the items array
706
613
  var _startIdx = itemsMatch.index;