@banch0u/core-project-test-repository 2.2.15 → 2.3.0

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.
@@ -0,0 +1,118 @@
1
+ import React, { useMemo } from "react";
2
+ var LicenseWatermark = function LicenseWatermark(_ref) {
3
+ var companyInfo = _ref.companyInfo,
4
+ pathname = _ref.pathname;
5
+ // ----------------------------
6
+ // URL → project mapping
7
+ // ----------------------------
8
+ var projectCodeFromUrl = useMemo(function () {
9
+ var path = (pathname || "").toLowerCase();
10
+ if (path.startsWith("/docflow")) return "docflow-api";
11
+ if (path.startsWith("/hr")) return "hr-api";
12
+ if (path.startsWith("/contracts")) return "contracts-api";
13
+ if (path.startsWith("/accounts")) return "accounts-api";
14
+ if (path.startsWith("/archive")) return "archive-api";
15
+ if (path.startsWith("/transport")) return "transport-api";
16
+ if (path.startsWith("/laboratory")) return "laboratory-api";
17
+ return null;
18
+ }, [pathname]);
19
+
20
+ // ----------------------------
21
+ // normalize company info
22
+ // ----------------------------
23
+ var rawProjects = useMemo(function () {
24
+ if (Array.isArray(companyInfo)) {
25
+ var _companyInfo$;
26
+ return companyInfo === null || companyInfo === void 0 || (_companyInfo$ = companyInfo[0]) === null || _companyInfo$ === void 0 ? void 0 : _companyInfo$.projects;
27
+ }
28
+ return companyInfo === null || companyInfo === void 0 ? void 0 : companyInfo.projects;
29
+ }, [companyInfo]);
30
+
31
+ // ----------------------------
32
+ // parse projects safely
33
+ // ----------------------------
34
+ var parseProjects = function parseProjects(raw) {
35
+ if (!raw || typeof raw !== "string") return [];
36
+ try {
37
+ var cleaned = raw.trim();
38
+ cleaned = cleaned.replace(/^.*?\[/, "[");
39
+ cleaned = cleaned.replace(/\}\}\\"?$/, "");
40
+ cleaned = cleaned.replace(/\}\}$/, "");
41
+ if (!cleaned.endsWith("]")) {
42
+ cleaned += "]";
43
+ }
44
+ return JSON.parse(cleaned);
45
+ } catch (err) {
46
+ console.error("Failed to parse projects:", err);
47
+ return [];
48
+ }
49
+ };
50
+ var projects = useMemo(function () {
51
+ return parseProjects(rawProjects);
52
+ }, [rawProjects]);
53
+
54
+ // ----------------------------
55
+ // find current project
56
+ // ----------------------------
57
+ var currentProject = useMemo(function () {
58
+ if (!Array.isArray(projects) || !projectCodeFromUrl) return null;
59
+ return projects.find(function (p) {
60
+ var _p$Code;
61
+ return (p === null || p === void 0 || (_p$Code = p.Code) === null || _p$Code === void 0 ? void 0 : _p$Code.toLowerCase().trim()) === projectCodeFromUrl.toLowerCase().trim();
62
+ });
63
+ }, [projects, projectCodeFromUrl]);
64
+
65
+ // ----------------------------
66
+ // license logic
67
+ // ----------------------------
68
+ var licenseStatus = useMemo(function () {
69
+ if (!(currentProject !== null && currentProject !== void 0 && currentProject.EndDate)) {
70
+ return {
71
+ status: "unknown"
72
+ };
73
+ }
74
+ var endDate = new Date(currentProject.EndDate);
75
+ var today = new Date();
76
+ var end = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());
77
+ var now = new Date(today.getFullYear(), today.getMonth(), today.getDate());
78
+ var diffDays = Math.ceil((end - now) / (1000 * 60 * 60 * 24));
79
+ if (diffDays <= 0) {
80
+ return {
81
+ status: "expired",
82
+ text: "Lisenziya müddəti bitib",
83
+ color: "red"
84
+ };
85
+ }
86
+ if (diffDays <= 30) {
87
+ return {
88
+ status: "warning",
89
+ text: "Lisenziya m\xFCdd\u0259tinin bitm\u0259sin\u0259 ".concat(diffDays, " g\xFCn qal\u0131b"),
90
+ color: "yellow"
91
+ };
92
+ }
93
+ return {
94
+ status: "valid"
95
+ };
96
+ }, [currentProject]);
97
+
98
+ // ----------------------------
99
+ // render
100
+ // ----------------------------
101
+ if (licenseStatus.status === "valid") return null;
102
+ return /*#__PURE__*/React.createElement("div", {
103
+ style: {
104
+ position: "absolute",
105
+ top: 0,
106
+ left: 0,
107
+ background: licenseStatus.color,
108
+ fontSize: 18,
109
+ color: "#000",
110
+ width: "100%",
111
+ zIndex: 9999,
112
+ display: "flex",
113
+ justifyContent: "center",
114
+ alignItems: "center"
115
+ }
116
+ }, licenseStatus.status === "expired" ? "Lisenziya müddəti bitib" : licenseStatus.text);
117
+ };
118
+ export default LicenseWatermark;
@@ -3,10 +3,10 @@ import React, { useEffect, useState } from "react";
3
3
  import style from "./index.module.scss";
4
4
  import ProfileOptions from "../../components/ProfileOptions";
5
5
  import AppSelect from "./AppSelect";
6
- import { useDispatch } from "react-redux";
6
+ import { useDispatch, useSelector } from "react-redux";
7
7
  import { getLoginType } from "../../store/slices/auth";
8
8
  import { getCompanyInfo } from "../../store/slices/companyInfo";
9
- import { useSelector } from "react-redux";
9
+ import LicenseWatermark from "../../components/LicenseWatermark/LicenseWatermark";
10
10
  var Header = function Header() {
11
11
  var _companyInfo$;
12
12
  var _useState = useState(localStorage.getItem("theme") || "light"),
@@ -17,14 +17,14 @@ var Header = function Header() {
17
17
  var companyInfo = useSelector(function (state) {
18
18
  return state.companyInfo.companyInfo;
19
19
  });
20
- var updateTheme = function updateTheme() {
21
- var newTheme = localStorage.getItem("theme") || "light";
22
- setTheme(newTheme);
23
- };
20
+ var pathname = window.location.pathname;
24
21
  useEffect(function () {
25
- window.addEventListener("themeChange", updateTheme);
22
+ var handler = function handler() {
23
+ return setTheme(localStorage.getItem("theme") || "light");
24
+ };
25
+ window.addEventListener("themeChange", handler);
26
26
  return function () {
27
- return window.removeEventListener("themeChange", updateTheme);
27
+ return window.removeEventListener("themeChange", handler);
28
28
  };
29
29
  }, []);
30
30
  useEffect(function () {
@@ -34,7 +34,10 @@ var Header = function Header() {
34
34
  return /*#__PURE__*/React.createElement("header", {
35
35
  className: style.header,
36
36
  "data-no-invert": true
37
- }, /*#__PURE__*/React.createElement(AppSelect, {
37
+ }, /*#__PURE__*/React.createElement(LicenseWatermark, {
38
+ companyInfo: companyInfo,
39
+ pathname: pathname
40
+ }), /*#__PURE__*/React.createElement(AppSelect, {
38
41
  mainPage: companyInfo === null || companyInfo === void 0 || (_companyInfo$ = companyInfo[0]) === null || _companyInfo$ === void 0 ? void 0 : _companyInfo$.mainPage
39
42
  }), /*#__PURE__*/React.createElement(ProfileOptions, null));
40
43
  };
@@ -5,7 +5,7 @@ import style from "./index.module.scss";
5
5
  import { Layout, Menu, Input } from "antd";
6
6
  import { QUESTIONNAIRES_ACADEMIC_DEGREES, QUESTIONNAIRES_APPLICATION_FORMS, QUESTIONNAIRES_AREAS, QUESTIONNAIRES_BRANDS, QUESTIONNAIRES_CATEGORIES, QUESTIONNAIRES_CHASSIS_TYPES, QUESTIONNAIRES_CHEMICALS, QUESTIONNAIRES_COLORS, QUESTIONNAIRES_COMPANIES, QUESTIONNAIRES_CONTRACTCURRENCIES, QUESTIONNAIRES_CONTRACTTYPES, QUESTIONNAIRES_CONTRAGENTTYPES, QUESTIONNAIRES_COUNTRIES, QUESTIONNAIRES_CRUSH_REASONS, QUESTIONNAIRES_DETAIL_PARTS, QUESTIONNAIRES_DISABILITY_STATUSES, QUESTIONNAIRES_DOCUMENT_RECIEVE_METHODS, QUESTIONNAIRES_DOCUMENT_TYPES, QUESTIONNAIRES_DOCUMENT_WHOM, QUESTIONNAIRES_DRIVING_CATEGORIES, QUESTIONNAIRES_EDUCATION_INSTITUTIONS, QUESTIONNAIRES_EDUCATION_LEVELS, QUESTIONNAIRES_EDUCATION_PAYMENTS, QUESTIONNAIRES_EMPLOYEE_CONFIGURATIONS, QUESTIONNAIRES_ENGINE_TYPES, QUESTIONNAIRES_EXECUTION_RULES, QUESTIONNAIRES_EXTRA_SERVICES, QUESTIONNAIRES_FUEL_TYPES, QUESTIONNAIRES_GEARBOX_TYPES, QUESTIONNAIRES_GENERAL_STRUCTURE_STATUSES, QUESTIONNAIRES_GENERAL_STRUCTURE_TYPES, QUESTIONNAIRES_HALLS, QUESTIONNAIRES_HONORARY_TITLES, QUESTIONNAIRES_INSURANCE_TYPES, QUESTIONNAIRES_ISSUED_AUTHORITIES, QUESTIONNAIRES_MARGIN_NOTE_TEXTS, QUESTIONNAIRES_MEASUREMENT_TYPES, QUESTIONNAIRES_MILITARY_CATEGORIES, QUESTIONNAIRES_MILITARY_GROUPS, QUESTIONNAIRES_MILITARY_RANKS, QUESTIONNAIRES_MILITARY_STAFFS, QUESTIONNAIRES_MODELS, QUESTIONNAIRES_OIL_FIELDS, QUESTIONNAIRES_ORDERS, QUESTIONNAIRES_ORGANIZATIONS, QUESTIONNAIRES_OWNERSHIP_TYPES, QUESTIONNAIRES_PENALTY_TYPES, QUESTIONNAIRES_POSITIONS, QUESTIONNAIRES_REPAIR_TYPES, QUESTIONNAIRES_REPAIRMENT_WORK_TYPES,
7
7
  // QUESTIONNAIRES_REGIONS,
8
- QUESTIONNAIRES_REPRIMAND_TYPES, QUESTIONNAIRES_SPECIAL_DAYS, QUESTIONNAIRES_SPECIALIZATIONS, QUESTIONNAIRES_STRUCTURES, QUESTIONNAIRES_SUBTOPIC, QUESTIONNAIRES_TOPIC, QUESTIONNAIRES_TRANSMITTER_TYPES, QUESTIONNAIRES_VEHICLE_CATEGORIES, QUESTIONNAIRES_VEHICLE_GROUPS, QUESTIONNAIRES_VEHICLE_TYPES, QUESTIONNAIRES_WAR_PARTICIPANTS, QUESTIONNAIRES_WORK_MODES, QUESTIONNAIRES_WORK_SCHEDULES, QUESTIONNAIRES_OWNERS, QUESTIONNAIRES_CONTRACTTOPICS, QUESTIONNAIRES_CONTRACTTYPESSUBTYPES, QUESTIONNAIRES_DEFAULTAGREEMENTPLANS, QUESTIONNAIRES_ROUTELOCATIONS, QUESTIONNAIRES_INTERNALSTRUCTURE, QUESTIONNAIRES_FIELD, QUESTIONNAIRES_WELL, QUESTIONNAIRES_BARREL, QUESTIONNAIRES_BUDGETCOMPONENTS, QUESTIONNAIRES_DEPARTMENTS, QUESTIONNAIRES_PENTIONS } from "../../utils/path";
8
+ QUESTIONNAIRES_REPRIMAND_TYPES, QUESTIONNAIRES_SPECIAL_DAYS, QUESTIONNAIRES_SPECIALIZATIONS, QUESTIONNAIRES_STRUCTURES, QUESTIONNAIRES_SUBTOPIC, QUESTIONNAIRES_TOPIC, QUESTIONNAIRES_TRANSMITTER_TYPES, QUESTIONNAIRES_VEHICLE_CATEGORIES, QUESTIONNAIRES_VEHICLE_GROUPS, QUESTIONNAIRES_VEHICLE_TYPES, QUESTIONNAIRES_WAR_PARTICIPANTS, QUESTIONNAIRES_WORK_MODES, QUESTIONNAIRES_WORK_SCHEDULES, QUESTIONNAIRES_OWNERS, QUESTIONNAIRES_CONTRACTTOPICS, QUESTIONNAIRES_CONTRACTTYPESSUBTYPES, QUESTIONNAIRES_DEFAULTAGREEMENTPLANS, QUESTIONNAIRES_ROUTELOCATIONS, QUESTIONNAIRES_INTERNALSTRUCTURE, QUESTIONNAIRES_FIELD, QUESTIONNAIRES_WELL, QUESTIONNAIRES_BARREL, QUESTIONNAIRES_BUDGETCOMPONENTS, QUESTIONNAIRES_DEPARTMENTS, QUESTIONNAIRES_PENTIONS, QUESTIONNAIRES_PROJECTS, QUESTIONNAIRES_CUSTOMERS } from "../../utils/path";
9
9
  import { SearchIcon } from "../../assets/icons";
10
10
  var Sider = Layout.Sider;
11
11
  var SubMenu = Menu.SubMenu;
@@ -364,8 +364,24 @@ var QuestionnairesSidebar = function QuestionnairesSidebar(_ref) {
364
364
  //delete the "/" at the start of string
365
365
  label: "Təqaüd növü",
366
366
  link: QUESTIONNAIRES_PENTIONS
367
- }
367
+ },
368
368
  // ---- generated sidebar item by questionnaireGenerator: Pentions ----
369
+
370
+ {
371
+ key: "projects",
372
+ //delete the "/" at the start of string
373
+ label: "Layihələr",
374
+ link: QUESTIONNAIRES_PROJECTS
375
+ },
376
+ // ---- generated sidebar item by questionnaireGenerator: Projects ----
377
+
378
+ {
379
+ key: "customers",
380
+ //delete the "/" at the start of string
381
+ label: "Müştərilər",
382
+ link: QUESTIONNAIRES_CUSTOMERS
383
+ }
384
+ // ---- generated sidebar item by questionnaireGenerator: Customers ----
369
385
  ];
370
386
  var sortedItems = items.sort(function (a, b) {
371
387
  return a.label.localeCompare(b.label);
@@ -0,0 +1,70 @@
1
+ import * as React from "react";
2
+ import { Switch, Tooltip } from "antd";
3
+ import style from "../Questionnaires.module.scss";
4
+ import { setDeleteModalVisible } from "../../../store/slices/global";
5
+ import { DeleteIconQ, EditIcon } from "../../../assets/icons";
6
+ export var getStreetColumns = function getStreetColumns(onEditClick, onDelete, onStatusChange, dispatch, innerW) {
7
+ return [{
8
+ title: "№",
9
+ dataIndex: "num",
10
+ showCheckbox: false,
11
+ ellipsis: true,
12
+ width: 35
13
+ }, {
14
+ title: "Müştərilər",
15
+ dataIndex: "name",
16
+ width: innerW,
17
+ disabled: true,
18
+ ellipsis: true
19
+ }, {
20
+ title: "VÖEN",
21
+ dataIndex: "tin",
22
+ width: innerW,
23
+ disabled: false,
24
+ ellipsis: true
25
+ }, {
26
+ title: "Müştəri nömrəsi",
27
+ dataIndex: "customerNumber",
28
+ width: innerW,
29
+ disabled: false,
30
+ ellipsis: true
31
+ }, {
32
+ title: "Status",
33
+ key: "status",
34
+ disabled: true,
35
+ filter: false,
36
+ render: function render(data) {
37
+ return /*#__PURE__*/React.createElement(Tooltip, {
38
+ placement: "top",
39
+ title: "Statusu d\u0259yi\u015F"
40
+ }, /*#__PURE__*/React.createElement(Switch, {
41
+ size: "medium",
42
+ checked: data === null || data === void 0 ? void 0 : data.isActive,
43
+ onChange: function onChange(checked) {
44
+ return onStatusChange(data, checked, dispatch);
45
+ }
46
+ }));
47
+ }
48
+ }, {
49
+ title: "",
50
+ key: "actions",
51
+ showCheckbox: false,
52
+ width: 80,
53
+ render: function render(data) {
54
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
55
+ className: style.number
56
+ }, /*#__PURE__*/React.createElement("div", {
57
+ className: style.actions
58
+ }, /*#__PURE__*/React.createElement("div", {
59
+ onClick: function onClick() {
60
+ return onEditClick(data);
61
+ }
62
+ }, /*#__PURE__*/React.createElement(EditIcon, null)), /*#__PURE__*/React.createElement("div", {
63
+ onClick: function onClick() {
64
+ onDelete(data === null || data === void 0 ? void 0 : data.id);
65
+ dispatch(setDeleteModalVisible(true));
66
+ }
67
+ }, /*#__PURE__*/React.createElement(DeleteIconQ, null)))));
68
+ }
69
+ }];
70
+ };
@@ -0,0 +1,269 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+ import React from "react";
6
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
7
+ import Cookies from "js-cookie";
8
+ import style from "../Questionnaires.module.scss";
9
+ import { Form, Input, Layout } from "antd";
10
+ import { PlusIcon } from "../../../assets/icons";
11
+ import FormModal from "../../../components/FormModal";
12
+ import { useDispatch, useSelector } from "react-redux";
13
+ import Delete from "../../../components/Delete/Delete";
14
+ import DeleteModal from "../../../components/DeleteModal/DeleteModal";
15
+ import Success from "../../../components/Success/Success";
16
+ import { setDeleteModalVisible, setViewModalVisible } from "../../../store/slices/global";
17
+ import ViewModal from "../../../components/ViewModal";
18
+ import { getStreetColumns } from "./constant";
19
+ import Pagination from "../../../components/Pagination";
20
+ import ColSort from "../../../components/ColSort";
21
+ import { setPaginationLength } from "../../../helpers/paginationLength";
22
+ import Button from "../../../components/Button";
23
+ import Loading from "../../../components/Loading";
24
+ import Table from "../../../components/Table";
25
+ import Filter from "../../../components/Filter";
26
+ import { addCustomers, deleteCustomers, editCustomers, getCustomers, customersVisibility } from "../../../store/slices/questionnaire";
27
+ var Content = Layout.Content;
28
+ var Item = Form.Item;
29
+ var QuestionnairesCustomersContent = function QuestionnairesCustomersContent() {
30
+ var _useState = useState(null),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ innerW = _useState2[0],
33
+ setInnerW = _useState2[1];
34
+ var ref = useRef();
35
+ var dispatch = useDispatch();
36
+ var _useState3 = useState(0),
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ id = _useState4[0],
39
+ setId = _useState4[1];
40
+ var _useState5 = useState(1),
41
+ _useState6 = _slicedToArray(_useState5, 2),
42
+ page = _useState6[0],
43
+ setPage = _useState6[1];
44
+ var _useState7 = useState(Cookies.get("pagination-size-questionnaire-customers") ? JSON.parse(Cookies.get("pagination-size-questionnaire-customers")) : 20),
45
+ _useState8 = _slicedToArray(_useState7, 2),
46
+ size = _useState8[0],
47
+ setSize = _useState8[1];
48
+ var _useState9 = useState({
49
+ name: ""
50
+ }),
51
+ _useState0 = _slicedToArray(_useState9, 2),
52
+ query = _useState0[0],
53
+ setQuery = _useState0[1];
54
+ var _useSelector = useSelector(function (state) {
55
+ return state.global;
56
+ }),
57
+ loading = _useSelector.loading,
58
+ CustomersRender = _useSelector.CustomersRender;
59
+ var Customers = useSelector(function (state) {
60
+ return state.questionnaire.customers;
61
+ });
62
+ var paginationLength = setPaginationLength(Customers === null || Customers === void 0 ? void 0 : Customers.count, Customers === null || Customers === void 0 ? void 0 : Customers.size);
63
+ var onSubmit = useCallback(/*#__PURE__*/function () {
64
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(data) {
65
+ return _regeneratorRuntime.wrap(function (_context) {
66
+ while (1) switch (_context.prev = _context.next) {
67
+ case 0:
68
+ dispatch(addCustomers(data));
69
+ case 1:
70
+ case "end":
71
+ return _context.stop();
72
+ }
73
+ }, _callee);
74
+ }));
75
+ return function (_x) {
76
+ return _ref.apply(this, arguments);
77
+ };
78
+ }(), [dispatch]);
79
+ var onEdit = useCallback(function (id, record) {
80
+ var data = {
81
+ id: id,
82
+ name: record === null || record === void 0 ? void 0 : record.name,
83
+ tin: record === null || record === void 0 ? void 0 : record.tin
84
+ };
85
+ dispatch(editCustomers(data));
86
+ }, [dispatch]);
87
+ var onStatusChange = useCallback(function (data, checked) {
88
+ var data_ = {
89
+ id: data === null || data === void 0 ? void 0 : data.id,
90
+ checked: checked
91
+ };
92
+ dispatch(customersVisibility(data_));
93
+ }, [dispatch]);
94
+ var closeOnViewModal = useCallback(function () {
95
+ dispatch(setViewModalVisible(false));
96
+ }, [dispatch]);
97
+ var onClickModal = function onClickModal() {
98
+ var _ref$current;
99
+ ref === null || ref === void 0 || (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.open();
100
+ };
101
+ var onEditClick = useCallback(function (data) {
102
+ var _ref$current2;
103
+ ref === null || ref === void 0 || (_ref$current2 = ref.current) === null || _ref$current2 === void 0 || _ref$current2.setEdit(data);
104
+ }, []);
105
+ var onDelete = useCallback(function (id) {
106
+ setId(id);
107
+ }, []);
108
+ var handleColumnToggle = function handleColumnToggle(checked, dataIndex) {
109
+ setSelectedColumns(function (prevSelected) {
110
+ if (checked) {
111
+ return [].concat(_toConsumableArray(prevSelected), [dataIndex]);
112
+ } else {
113
+ return prevSelected.filter(function (col) {
114
+ return col !== dataIndex;
115
+ });
116
+ }
117
+ });
118
+ };
119
+ var data = [];
120
+ if (Customers !== null && Customers !== void 0 && Customers.items) {
121
+ var _Customers$items;
122
+ data = Customers === null || Customers === void 0 || (_Customers$items = Customers.items) === null || _Customers$items === void 0 ? void 0 : _Customers$items.map(function (dataObj, i) {
123
+ return {
124
+ num: (Customers === null || Customers === void 0 ? void 0 : Customers.size) * (Customers === null || Customers === void 0 ? void 0 : Customers.page) + i + 1 - (Customers === null || Customers === void 0 ? void 0 : Customers.size),
125
+ id: dataObj === null || dataObj === void 0 ? void 0 : dataObj.id,
126
+ name: dataObj === null || dataObj === void 0 ? void 0 : dataObj.name,
127
+ customerNumber: dataObj === null || dataObj === void 0 ? void 0 : dataObj.customerNumber,
128
+ tin: dataObj === null || dataObj === void 0 ? void 0 : dataObj.tin,
129
+ isActive: dataObj === null || dataObj === void 0 ? void 0 : dataObj.isActive,
130
+ className: "rowClassName1"
131
+ };
132
+ });
133
+ }
134
+ var columns = useMemo(function () {
135
+ return getStreetColumns(onEditClick, onDelete, onStatusChange, dispatch);
136
+ }, [onEditClick, onDelete, onStatusChange, dispatch]);
137
+ var _useState1 = useState(columns.map(function (col) {
138
+ return col.dataIndex;
139
+ })),
140
+ _useState10 = _slicedToArray(_useState1, 2),
141
+ selectedColumns = _useState10[0],
142
+ setSelectedColumns = _useState10[1];
143
+ useEffect(function () {
144
+ if (window.innerWidth >= 1900) {
145
+ setInnerW(210);
146
+ } else {
147
+ setInnerW(155);
148
+ }
149
+ var data = {
150
+ page: page,
151
+ size: size,
152
+ query: query,
153
+ visibility: "nondeleted"
154
+ };
155
+ dispatch(getCustomers(data));
156
+ }, [dispatch, page, CustomersRender, query, size]);
157
+ var updateSize = function updateSize(newSize) {
158
+ setSize(newSize);
159
+ Cookies.set("pagination-size-questionnaire-customers", JSON.stringify(newSize), {
160
+ expires: 7
161
+ });
162
+ };
163
+ return /*#__PURE__*/React.createElement(React.Fragment, null, loading ? /*#__PURE__*/React.createElement(Loading, null) : null, /*#__PURE__*/React.createElement(Layout, {
164
+ className: style.layout
165
+ }, /*#__PURE__*/React.createElement(Content, {
166
+ className: style.content
167
+ }, /*#__PURE__*/React.createElement("header", {
168
+ className: style.header
169
+ }, /*#__PURE__*/React.createElement(Button, {
170
+ onClick: onClickModal,
171
+ color: "green"
172
+ }, /*#__PURE__*/React.createElement(PlusIcon, null), " Soraq\xE7a \u0259lav\u0259 et"), /*#__PURE__*/React.createElement(Filter, {
173
+ columns: columns,
174
+ selectedColumns: selectedColumns,
175
+ setQuery: setQuery,
176
+ disabledElementCount: 3,
177
+ setPage: setPage
178
+ }))), /*#__PURE__*/React.createElement(Layout, {
179
+ className: style.layout1
180
+ }, /*#__PURE__*/React.createElement(Content, {
181
+ className: style.content
182
+ }, /*#__PURE__*/React.createElement("div", {
183
+ className: style.table_header
184
+ }, /*#__PURE__*/React.createElement("h2", null, "M\xFC\u015Ft\u0259ril\u0259r"), /*#__PURE__*/React.createElement("div", {
185
+ className: style.buttons
186
+ }, /*#__PURE__*/React.createElement(ColSort, {
187
+ columns: columns,
188
+ selectedColumns: selectedColumns,
189
+ handleColumnToggle: handleColumnToggle
190
+ }))), /*#__PURE__*/React.createElement("div", {
191
+ className: "bigTable"
192
+ }, /*#__PURE__*/React.createElement(Table, {
193
+ selectedColumns: selectedColumns,
194
+ innerW: innerW,
195
+ dataSource: data,
196
+ columns: columns,
197
+ disableDrag: true
198
+ })), /*#__PURE__*/React.createElement("div", {
199
+ className: style.pagination
200
+ }, /*#__PURE__*/React.createElement(Pagination, {
201
+ size: size,
202
+ setSize: updateSize,
203
+ total: paginationLength,
204
+ page: page,
205
+ onChange: setPage
206
+ })), /*#__PURE__*/React.createElement(FormModal, {
207
+ ref: ref,
208
+ width: 454,
209
+ title: "Yeni soraqça yaratma",
210
+ titleEdit: "Soraqça redaktə etmə",
211
+ okText: "Yadda saxla",
212
+ cancelText: "Bağla",
213
+ onSubmit: onSubmit,
214
+ onEdit: onEdit,
215
+ className: "absolute",
216
+ centered: false
217
+ }, /*#__PURE__*/React.createElement(Item, {
218
+ rules: [{
219
+ required: true,
220
+ message: ""
221
+ }, {
222
+ min: 3,
223
+ message: "Ən azından 3 simvol olmalıdır"
224
+ }],
225
+ name: "name",
226
+ label: "Ad"
227
+ }, /*#__PURE__*/React.createElement(Input, {
228
+ className: style.modal_input
229
+ })), /*#__PURE__*/React.createElement(Item, {
230
+ name: "tin",
231
+ label: "VÖEN",
232
+ rules: [{
233
+ required: true,
234
+ message: "VÖEN tələb olunur"
235
+ }, {
236
+ pattern: /^\d{10}$/,
237
+ message: "VÖEN yalnız 10 rəqəmdən ibarət olmalıdır"
238
+ }]
239
+ }, /*#__PURE__*/React.createElement(Input, {
240
+ className: style.modal_input,
241
+ maxLength: 10,
242
+ inputMode: "numeric",
243
+ onKeyPress: function onKeyPress(e) {
244
+ if (!/[0-9]/.test(e.key)) {
245
+ e.preventDefault();
246
+ }
247
+ }
248
+ }))), /*#__PURE__*/React.createElement(DeleteModal, {
249
+ onCancel: function onCancel() {
250
+ return dispatch(setDeleteModalVisible(false));
251
+ },
252
+ width: 280
253
+ }, /*#__PURE__*/React.createElement(Delete, {
254
+ onDelete: function onDelete() {
255
+ return dispatch(deleteCustomers(id));
256
+ },
257
+ onCancel: function onCancel() {
258
+ return dispatch(setDeleteModalVisible(false));
259
+ },
260
+ value: "Soraqçanı"
261
+ })), /*#__PURE__*/React.createElement(ViewModal, {
262
+ onCancel: closeOnViewModal,
263
+ width: 695
264
+ }, /*#__PURE__*/React.createElement(Success, {
265
+ onClick: closeOnViewModal,
266
+ value: "Soraqça"
267
+ }))))));
268
+ };
269
+ export default QuestionnairesCustomersContent;
@@ -0,0 +1,58 @@
1
+ import * as React from "react";
2
+ import { Switch, Tooltip } from "antd";
3
+ import style from "../Questionnaires.module.scss";
4
+ import { setDeleteModalVisible } from "../../../store/slices/global";
5
+ import { DeleteIconQ, EditIcon } from "../../../assets/icons";
6
+ export var getStreetColumns = function getStreetColumns(onEditClick, onDelete, onStatusChange, dispatch, innerW) {
7
+ return [{
8
+ title: "№",
9
+ dataIndex: "num",
10
+ showCheckbox: false,
11
+ ellipsis: true,
12
+ width: 35
13
+ }, {
14
+ title: "Layihələr",
15
+ dataIndex: "name",
16
+ width: innerW,
17
+ disabled: true,
18
+ ellipsis: true
19
+ }, {
20
+ title: "Status",
21
+ key: "status",
22
+ disabled: true,
23
+ filter: false,
24
+ render: function render(data) {
25
+ return /*#__PURE__*/React.createElement(Tooltip, {
26
+ placement: "top",
27
+ title: "Statusu d\u0259yi\u015F"
28
+ }, /*#__PURE__*/React.createElement(Switch, {
29
+ size: "medium",
30
+ checked: data === null || data === void 0 ? void 0 : data.isActive,
31
+ onChange: function onChange(checked) {
32
+ return onStatusChange(data, checked, dispatch);
33
+ }
34
+ }));
35
+ }
36
+ }, {
37
+ title: "",
38
+ key: "actions",
39
+ showCheckbox: false,
40
+ width: 80,
41
+ render: function render(data) {
42
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
43
+ className: style.number
44
+ }, /*#__PURE__*/React.createElement("div", {
45
+ className: style.actions
46
+ }, /*#__PURE__*/React.createElement("div", {
47
+ onClick: function onClick() {
48
+ return onEditClick(data);
49
+ }
50
+ }, /*#__PURE__*/React.createElement(EditIcon, null)), /*#__PURE__*/React.createElement("div", {
51
+ onClick: function onClick() {
52
+ onDelete(data === null || data === void 0 ? void 0 : data.id);
53
+ dispatch(setDeleteModalVisible(true));
54
+ }
55
+ }, /*#__PURE__*/React.createElement(DeleteIconQ, null)))));
56
+ }
57
+ }];
58
+ };