Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59f990bebb | ||
|
|
e426a53f7e |
2
assets/pasted-20260331-220901-00af1a98.jpg
Normal file
2
assets/pasted-20260331-220901-00af1a98.jpg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 499 KiB |
@ -20,6 +20,7 @@ const pexelsRoutes = require('./routes/pexels');
|
|||||||
const organizationForAuthRoutes = require('./routes/organizationLogin');
|
const organizationForAuthRoutes = require('./routes/organizationLogin');
|
||||||
|
|
||||||
const openaiRoutes = require('./routes/openai');
|
const openaiRoutes = require('./routes/openai');
|
||||||
|
const salesHubRoutes = require('./routes/sales_hub');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -154,6 +155,7 @@ app.use('/api/leads', passport.authenticate('jwt', {session: false}), leadsRoute
|
|||||||
app.use('/api/deals', passport.authenticate('jwt', {session: false}), dealsRoutes);
|
app.use('/api/deals', passport.authenticate('jwt', {session: false}), dealsRoutes);
|
||||||
|
|
||||||
app.use('/api/activities', passport.authenticate('jwt', {session: false}), activitiesRoutes);
|
app.use('/api/activities', passport.authenticate('jwt', {session: false}), activitiesRoutes);
|
||||||
|
app.use('/api/sales-hub', passport.authenticate('jwt', {session: false}), salesHubRoutes);
|
||||||
|
|
||||||
app.use('/api/materials', passport.authenticate('jwt', {session: false}), materialsRoutes);
|
app.use('/api/materials', passport.authenticate('jwt', {session: false}), materialsRoutes);
|
||||||
|
|
||||||
|
|||||||
305
backend/src/routes/sales_hub.js
Normal file
305
backend/src/routes/sales_hub.js
Normal file
@ -0,0 +1,305 @@
|
|||||||
|
const express = require('express');
|
||||||
|
|
||||||
|
const db = require('../db/models');
|
||||||
|
const wrapAsync = require('../helpers').wrapAsync;
|
||||||
|
const ActivitiesDBApi = require('../db/api/activities');
|
||||||
|
|
||||||
|
const router = express.Router();
|
||||||
|
const { QueryTypes } = db.Sequelize;
|
||||||
|
|
||||||
|
const RELATION_MODELS = {
|
||||||
|
lead: db.leads,
|
||||||
|
deal: db.deals,
|
||||||
|
contact: db.contacts,
|
||||||
|
};
|
||||||
|
|
||||||
|
const RELATION_LABELS = {
|
||||||
|
lead: 'Potansiyel müşteri',
|
||||||
|
deal: 'Fırsat',
|
||||||
|
contact: 'Kişi',
|
||||||
|
};
|
||||||
|
|
||||||
|
const ACTIVITY_TYPES = new Set([
|
||||||
|
'call',
|
||||||
|
'email',
|
||||||
|
'meeting',
|
||||||
|
'task',
|
||||||
|
'note',
|
||||||
|
'demo',
|
||||||
|
'follow_up',
|
||||||
|
]);
|
||||||
|
|
||||||
|
function getOrganizationId(currentUser) {
|
||||||
|
return (
|
||||||
|
currentUser?.organizations?.id ||
|
||||||
|
currentUser?.organization?.id ||
|
||||||
|
currentUser?.organizationsId ||
|
||||||
|
currentUser?.organizationId ||
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildScopedWhere(alias, globalAccess, organizationId, extraClauses = []) {
|
||||||
|
const clauses = [`${alias}."deletedAt" IS NULL`];
|
||||||
|
|
||||||
|
if (!globalAccess && organizationId) {
|
||||||
|
clauses.push(`${alias}."organizationsId" = :organizationId`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return [...clauses, ...extraClauses].join(' AND ');
|
||||||
|
}
|
||||||
|
|
||||||
|
async function findScopedEntity(model, id, organizationId, globalAccess) {
|
||||||
|
const where = { id };
|
||||||
|
|
||||||
|
if (!globalAccess && organizationId) {
|
||||||
|
where.organizationsId = organizationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return model.findOne({ where });
|
||||||
|
}
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/',
|
||||||
|
wrapAsync(async (req, res) => {
|
||||||
|
const { currentUser } = req;
|
||||||
|
const globalAccess = Boolean(currentUser?.app_role?.globalAccess);
|
||||||
|
const organizationId = getOrganizationId(currentUser);
|
||||||
|
const replacements = {
|
||||||
|
userId: currentUser.id,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!globalAccess && organizationId) {
|
||||||
|
replacements.organizationId = organizationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
const leadScope = buildScopedWhere('l', globalAccess, organizationId, [
|
||||||
|
'l."ownerId" = :userId',
|
||||||
|
'COALESCE(l.status, \'new\') NOT IN (\'disqualified\', \'converted\')',
|
||||||
|
]);
|
||||||
|
const dealScope = buildScopedWhere('d', globalAccess, organizationId, [
|
||||||
|
'd."ownerId" = :userId',
|
||||||
|
'COALESCE(d.status, \'open\') = \'open\'',
|
||||||
|
]);
|
||||||
|
const activityOpenScope = buildScopedWhere('a', globalAccess, organizationId, [
|
||||||
|
'a."assigned_toId" = :userId',
|
||||||
|
'COALESCE(a.status, \'planned\') NOT IN (\'done\', \'canceled\')',
|
||||||
|
]);
|
||||||
|
const activityDoneScope = buildScopedWhere('a', globalAccess, organizationId, [
|
||||||
|
'a."assigned_toId" = :userId',
|
||||||
|
'COALESCE(a.status, \'planned\') = \'done\'',
|
||||||
|
]);
|
||||||
|
|
||||||
|
const [statsRows, followUps, recentLeads, stageSummary, quickOptions] =
|
||||||
|
await Promise.all([
|
||||||
|
db.sequelize.query(
|
||||||
|
`SELECT
|
||||||
|
(SELECT COUNT(*)::int FROM "leads" l WHERE ${leadScope}) AS "myOpenLeads",
|
||||||
|
(SELECT COUNT(*)::int FROM "deals" d WHERE ${dealScope}) AS "myActiveDeals",
|
||||||
|
(SELECT COUNT(*)::int FROM "activities" a WHERE ${activityOpenScope} AND a."due_at" IS NOT NULL AND DATE(a."due_at") = CURRENT_DATE) AS "dueToday",
|
||||||
|
(SELECT COUNT(*)::int FROM "activities" a WHERE ${activityOpenScope} AND a."due_at" IS NOT NULL AND a."due_at" < NOW()) AS "overdue",
|
||||||
|
(SELECT COUNT(*)::int FROM "activities" a WHERE ${activityDoneScope} AND a."completed_at" >= NOW() - INTERVAL '7 days') AS "completedThisWeek"`,
|
||||||
|
{
|
||||||
|
replacements,
|
||||||
|
type: QueryTypes.SELECT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
db.sequelize.query(
|
||||||
|
`SELECT
|
||||||
|
a.id,
|
||||||
|
a.subject,
|
||||||
|
a.status,
|
||||||
|
a."activity_type" AS "activityType",
|
||||||
|
a."due_at" AS "dueAt",
|
||||||
|
COALESCE(d.name, l.title, NULLIF(TRIM(CONCAT(c.first_name, ' ', c.last_name)), ''), c.email, 'Unlinked activity') AS "relatedName",
|
||||||
|
CASE
|
||||||
|
WHEN a."dealId" IS NOT NULL THEN 'deal'
|
||||||
|
WHEN a."leadId" IS NOT NULL THEN 'lead'
|
||||||
|
WHEN a."contactId" IS NOT NULL THEN 'contact'
|
||||||
|
ELSE 'activity'
|
||||||
|
END AS "relatedType",
|
||||||
|
COALESCE(a."dealId", a."leadId", a."contactId") AS "relatedId"
|
||||||
|
FROM "activities" a
|
||||||
|
LEFT JOIN "deals" d ON d.id = a."dealId" AND d."deletedAt" IS NULL
|
||||||
|
LEFT JOIN "leads" l ON l.id = a."leadId" AND l."deletedAt" IS NULL
|
||||||
|
LEFT JOIN "contacts" c ON c.id = a."contactId" AND c."deletedAt" IS NULL
|
||||||
|
WHERE ${activityOpenScope}
|
||||||
|
ORDER BY
|
||||||
|
CASE WHEN a."due_at" IS NULL THEN 1 ELSE 0 END,
|
||||||
|
a."due_at" ASC,
|
||||||
|
a."createdAt" DESC
|
||||||
|
LIMIT 8`,
|
||||||
|
{
|
||||||
|
replacements,
|
||||||
|
type: QueryTypes.SELECT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
db.sequelize.query(
|
||||||
|
`SELECT
|
||||||
|
l.id,
|
||||||
|
l.title,
|
||||||
|
l.status,
|
||||||
|
l."estimated_value" AS "estimatedValue",
|
||||||
|
l."next_follow_up_at" AS "nextFollowUpAt",
|
||||||
|
c.name AS "companyName",
|
||||||
|
ps.name AS "stageName"
|
||||||
|
FROM "leads" l
|
||||||
|
LEFT JOIN "companies" c ON c.id = l."companyId" AND c."deletedAt" IS NULL
|
||||||
|
LEFT JOIN "pipeline_stages" ps ON ps.id = l."stageId" AND ps."deletedAt" IS NULL
|
||||||
|
WHERE ${leadScope}
|
||||||
|
ORDER BY l."createdAt" DESC
|
||||||
|
LIMIT 6`,
|
||||||
|
{
|
||||||
|
replacements,
|
||||||
|
type: QueryTypes.SELECT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
db.sequelize.query(
|
||||||
|
`SELECT
|
||||||
|
COALESCE(ps.id::text, 'unassigned') AS id,
|
||||||
|
COALESCE(ps.name, 'Unassigned') AS name,
|
||||||
|
COUNT(d.id)::int AS "dealCount",
|
||||||
|
COALESCE(SUM(d.amount), 0)::float AS amount
|
||||||
|
FROM "deals" d
|
||||||
|
LEFT JOIN "pipeline_stages" ps ON ps.id = d."stageId" AND ps."deletedAt" IS NULL
|
||||||
|
WHERE ${dealScope}
|
||||||
|
GROUP BY COALESCE(ps.id::text, 'unassigned'), COALESCE(ps.name, 'Unassigned'), COALESCE(ps."sort_order", 999)
|
||||||
|
ORDER BY COALESCE(ps."sort_order", 999) ASC, COALESCE(ps.name, 'Unassigned') ASC`,
|
||||||
|
{
|
||||||
|
replacements,
|
||||||
|
type: QueryTypes.SELECT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
Promise.all([
|
||||||
|
db.sequelize.query(
|
||||||
|
`SELECT l.id, l.title AS label
|
||||||
|
FROM "leads" l
|
||||||
|
WHERE ${leadScope}
|
||||||
|
ORDER BY l."updatedAt" DESC
|
||||||
|
LIMIT 8`,
|
||||||
|
{
|
||||||
|
replacements,
|
||||||
|
type: QueryTypes.SELECT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
db.sequelize.query(
|
||||||
|
`SELECT d.id, d.name AS label
|
||||||
|
FROM "deals" d
|
||||||
|
WHERE ${dealScope}
|
||||||
|
ORDER BY d."updatedAt" DESC
|
||||||
|
LIMIT 8`,
|
||||||
|
{
|
||||||
|
replacements,
|
||||||
|
type: QueryTypes.SELECT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
db.sequelize.query(
|
||||||
|
`SELECT c.id, COALESCE(NULLIF(TRIM(CONCAT(c.first_name, ' ', c.last_name)), ''), c.email, 'Untitled contact') AS label
|
||||||
|
FROM "contacts" c
|
||||||
|
WHERE ${buildScopedWhere('c', globalAccess, organizationId, ['c."ownerId" = :userId'])}
|
||||||
|
ORDER BY c."updatedAt" DESC
|
||||||
|
LIMIT 8`,
|
||||||
|
{
|
||||||
|
replacements,
|
||||||
|
type: QueryTypes.SELECT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
]);
|
||||||
|
|
||||||
|
return res.status(200).json({
|
||||||
|
stats: statsRows[0] || {
|
||||||
|
myOpenLeads: 0,
|
||||||
|
myActiveDeals: 0,
|
||||||
|
dueToday: 0,
|
||||||
|
overdue: 0,
|
||||||
|
completedThisWeek: 0,
|
||||||
|
},
|
||||||
|
followUps,
|
||||||
|
recentLeads,
|
||||||
|
stageSummary,
|
||||||
|
quickOptions: {
|
||||||
|
leads: quickOptions[0],
|
||||||
|
deals: quickOptions[1],
|
||||||
|
contacts: quickOptions[2],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
router.post(
|
||||||
|
'/follow-ups',
|
||||||
|
wrapAsync(async (req, res) => {
|
||||||
|
const { currentUser } = req;
|
||||||
|
const globalAccess = Boolean(currentUser?.app_role?.globalAccess);
|
||||||
|
const organizationId = getOrganizationId(currentUser);
|
||||||
|
const data = req.body?.data || {};
|
||||||
|
const subject = typeof data.subject === 'string' ? data.subject.trim() : '';
|
||||||
|
const details = typeof data.details === 'string' ? data.details.trim() : '';
|
||||||
|
const relationType = data.relationType;
|
||||||
|
const relationId = data.relationId;
|
||||||
|
const activityType = ACTIVITY_TYPES.has(data.activity_type)
|
||||||
|
? data.activity_type
|
||||||
|
: 'follow_up';
|
||||||
|
|
||||||
|
if (!subject) {
|
||||||
|
return res.status(400).json({ message: 'Konu alanı zorunludur.' });
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!data.due_at) {
|
||||||
|
return res.status(400).json({ message: 'Termin tarihi zorunludur.' });
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!RELATION_MODELS[relationType] || !relationId) {
|
||||||
|
return res.status(400).json({
|
||||||
|
message: 'Takibin bağlanacağı bir potansiyel müşteri, fırsat veya kişi seçin.',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const relationEntity = await findScopedEntity(
|
||||||
|
RELATION_MODELS[relationType],
|
||||||
|
relationId,
|
||||||
|
organizationId,
|
||||||
|
globalAccess,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!relationEntity) {
|
||||||
|
return res.status(400).json({
|
||||||
|
message: `${RELATION_LABELS[relationType]} bulunamadı veya erişilemez durumda.`,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const transaction = await db.sequelize.transaction();
|
||||||
|
|
||||||
|
try {
|
||||||
|
const activity = await ActivitiesDBApi.create(
|
||||||
|
{
|
||||||
|
activity_type: activityType,
|
||||||
|
status: 'planned',
|
||||||
|
subject,
|
||||||
|
details: details || null,
|
||||||
|
due_at: data.due_at,
|
||||||
|
assigned_to: currentUser.id,
|
||||||
|
organizations: organizationId,
|
||||||
|
[relationType]: relationId,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
currentUser,
|
||||||
|
transaction,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
await transaction.commit();
|
||||||
|
|
||||||
|
return res.status(200).json({
|
||||||
|
id: activity.id,
|
||||||
|
subject: activity.subject,
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
await transaction.rollback();
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
2
frontend/public/brand/dakiktabela-logo.svg
Normal file
2
frontend/public/brand/dakiktabela-logo.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 499 KiB |
52
frontend/public/locales/tr/common.json
Normal file
52
frontend/public/locales/tr/common.json
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
{
|
||||||
|
"pages": {
|
||||||
|
"dashboard": {
|
||||||
|
"pageTitle": "Dashboard",
|
||||||
|
"overview": "Overview",
|
||||||
|
"loadingWidgets": "Loading widgets...",
|
||||||
|
"loading": "Loading..."
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"pageTitle": "Login",
|
||||||
|
|
||||||
|
"form": {
|
||||||
|
"loginLabel": "Login",
|
||||||
|
"loginHelp": "Please enter your login",
|
||||||
|
"passwordLabel": "Password",
|
||||||
|
"passwordHelp": "Please enter your password",
|
||||||
|
"remember": "Remember",
|
||||||
|
"forgotPassword": "Forgot password?",
|
||||||
|
"loginButton": "Login",
|
||||||
|
"loading": "Loading...",
|
||||||
|
"noAccountYet": "Don’t have an account yet?",
|
||||||
|
"newAccount": "New Account"
|
||||||
|
},
|
||||||
|
|
||||||
|
"pexels": {
|
||||||
|
"photoCredit": "Photo by {{photographer}} on Pexels",
|
||||||
|
"videoCredit": "Video by {{name}} on Pexels",
|
||||||
|
"videoUnsupported": "Your browser does not support the video tag."
|
||||||
|
},
|
||||||
|
|
||||||
|
"footer": {
|
||||||
|
"copyright": "© {{year}} {{title}}. All rights reserved",
|
||||||
|
"privacy": "Privacy Policy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"widgetCreator": {
|
||||||
|
"title": "Create Chart or Widget",
|
||||||
|
"helpText": "Describe your new widget or chart in natural language. For example: \"Number of admin users\" OR \"red chart with number of closed contracts grouped by month\"",
|
||||||
|
"settingsTitle": "Widget Creator Settings",
|
||||||
|
"settingsDescription": "What role are we showing and creating widgets for?",
|
||||||
|
"doneButton": "Done",
|
||||||
|
"loading": "Loading..."
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"placeholder": "Search",
|
||||||
|
"required": "Required",
|
||||||
|
"minLength": "Minimum length: {{count}} characters"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -78,7 +78,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ActivityType</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Aktivite Türü</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.activity_type }
|
{ item.activity_type }
|
||||||
@ -90,7 +90,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -102,7 +102,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Subject</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Konu</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.subject }
|
{ item.subject }
|
||||||
@ -114,7 +114,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Details</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Detaylar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.details }
|
{ item.details }
|
||||||
@ -126,7 +126,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>DueAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Termin Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.due_at) }
|
{ dataFormatter.dateTimeFormatter(item.due_at) }
|
||||||
@ -138,7 +138,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>CompletedAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Tamamlanma Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.completed_at) }
|
{ dataFormatter.dateTimeFormatter(item.completed_at) }
|
||||||
@ -150,7 +150,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>AssignedTo</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Atanan Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.assigned_to) }
|
{ dataFormatter.usersOneListFormatter(item.assigned_to) }
|
||||||
@ -162,7 +162,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.companiesOneListFormatter(item.company) }
|
{ dataFormatter.companiesOneListFormatter(item.company) }
|
||||||
@ -174,7 +174,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Contact</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.contactsOneListFormatter(item.contact) }
|
{ dataFormatter.contactsOneListFormatter(item.contact) }
|
||||||
@ -186,7 +186,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Lead</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Potansiyel Müşteri</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.leadsOneListFormatter(item.lead) }
|
{ dataFormatter.leadsOneListFormatter(item.lead) }
|
||||||
@ -198,7 +198,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Deal</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Fırsat</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dealsOneListFormatter(item.deal) }
|
{ dataFormatter.dealsOneListFormatter(item.deal) }
|
||||||
@ -210,7 +210,7 @@ const CardActivities = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Attachments</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Ekler</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium'>
|
<div className='font-medium'>
|
||||||
{dataFormatter.filesFormatter(item.attachments).map(link => (
|
{dataFormatter.filesFormatter(item.attachments).map(link => (
|
||||||
@ -232,7 +232,7 @@ const CardActivities = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && activities.length === 0 && (
|
{!loading && activities.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ActivityType</p>
|
<p className={'text-xs text-gray-500 '}>Aktivite Türü</p>
|
||||||
<p className={'line-clamp-2'}>{ item.activity_type }</p>
|
<p className={'line-clamp-2'}>{ item.activity_type }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Subject</p>
|
<p className={'text-xs text-gray-500 '}>Konu</p>
|
||||||
<p className={'line-clamp-2'}>{ item.subject }</p>
|
<p className={'line-clamp-2'}>{ item.subject }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Details</p>
|
<p className={'text-xs text-gray-500 '}>Detaylar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.details }</p>
|
<p className={'line-clamp-2'}>{ item.details }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>DueAt</p>
|
<p className={'text-xs text-gray-500 '}>Termin Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>CompletedAt</p>
|
<p className={'text-xs text-gray-500 '}>Tamamlanma Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.completed_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.completed_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>AssignedTo</p>
|
<p className={'text-xs text-gray-500 '}>Atanan Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Company</p>
|
<p className={'text-xs text-gray-500 '}>Şirket</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Contact</p>
|
<p className={'text-xs text-gray-500 '}>Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.contact) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.contact) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Lead</p>
|
<p className={'text-xs text-gray-500 '}>Potansiyel Müşteri</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.leadsOneListFormatter(item.lead) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.leadsOneListFormatter(item.lead) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Deal</p>
|
<p className={'text-xs text-gray-500 '}>Fırsat</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dealsOneListFormatter(item.deal) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dealsOneListFormatter(item.deal) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Attachments</p>
|
<p className={'text-xs text-gray-500 '}>Ekler</p>
|
||||||
{dataFormatter.filesFormatter(item.attachments).map(link => (
|
{dataFormatter.filesFormatter(item.attachments).map(link => (
|
||||||
<button
|
<button
|
||||||
key={link.publicUrl}
|
key={link.publicUrl}
|
||||||
@ -165,7 +165,7 @@ const ListActivities = ({ activities, loading, onDelete, currentPage, numPages,
|
|||||||
))}
|
))}
|
||||||
{!loading && activities.length === 0 && (
|
{!loading && activities.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -286,7 +286,7 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -310,7 +310,7 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -320,7 +320,7 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -335,22 +335,22 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='Bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -365,12 +365,12 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -378,11 +378,11 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='Bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -392,11 +392,11 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerir'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -404,12 +404,12 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -422,13 +422,13 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -438,14 +438,14 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -476,7 +476,7 @@ const TableSampleActivities = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`${selectedRows.length} satırı sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'activity_type',
|
field: 'activity_type',
|
||||||
headerName: 'ActivityType',
|
headerName: 'Aktivite Türü',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'subject',
|
field: 'subject',
|
||||||
headerName: 'Subject',
|
headerName: 'Konu',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'details',
|
field: 'details',
|
||||||
headerName: 'Details',
|
headerName: 'Detaylar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -103,7 +103,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'due_at',
|
field: 'due_at',
|
||||||
headerName: 'DueAt',
|
headerName: 'Termin Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -121,7 +121,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'completed_at',
|
field: 'completed_at',
|
||||||
headerName: 'CompletedAt',
|
headerName: 'Tamamlanma Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -139,7 +139,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'assigned_to',
|
field: 'assigned_to',
|
||||||
headerName: 'AssignedTo',
|
headerName: 'Atanan Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -161,7 +161,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'company',
|
field: 'company',
|
||||||
headerName: 'Company',
|
headerName: 'Şirket',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -183,7 +183,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'contact',
|
field: 'contact',
|
||||||
headerName: 'Contact',
|
headerName: 'Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -205,7 +205,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'lead',
|
field: 'lead',
|
||||||
headerName: 'Lead',
|
headerName: 'Potansiyel',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -227,7 +227,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'deal',
|
field: 'deal',
|
||||||
headerName: 'Deal',
|
headerName: 'Fırsat',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -249,7 +249,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'attachments',
|
field: 'attachments',
|
||||||
headerName: 'Attachments',
|
headerName: 'Ekler',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -29,16 +29,30 @@ const AsideMenuItem = ({ item, isDropdownList = false }: Props) => {
|
|||||||
const { asPath, isReady } = useRouter()
|
const { asPath, isReady } = useRouter()
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (item.href && isReady) {
|
if (!isReady) {
|
||||||
const linkPathName = new URL(item.href, location.href).pathname + '/';
|
return
|
||||||
const activePathname = new URL(asPath, location.href).pathname
|
|
||||||
|
|
||||||
const activeView = activePathname.split('/')[1];
|
|
||||||
const linkPathNameView = linkPathName.split('/')[1];
|
|
||||||
|
|
||||||
setIsLinkActive(linkPathNameView === activeView);
|
|
||||||
}
|
}
|
||||||
}, [item.href, isReady, asPath])
|
|
||||||
|
const activePathname = new URL(asPath, location.href).pathname
|
||||||
|
|
||||||
|
if (item.href) {
|
||||||
|
const linkPathName = new URL(item.href, location.href).pathname + '/'
|
||||||
|
const activeView = activePathname.split('/')[1]
|
||||||
|
const linkPathNameView = linkPathName.split('/')[1]
|
||||||
|
setIsLinkActive(linkPathNameView === activeView)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.menu?.length) {
|
||||||
|
const hasActiveChild = item.menu.some((child) => {
|
||||||
|
if (!child.href) return false
|
||||||
|
const childPath = new URL(child.href, location.href).pathname
|
||||||
|
return childPath.split('/')[1] === activePathname.split('/')[1]
|
||||||
|
})
|
||||||
|
|
||||||
|
setIsDropdownActive(hasActiveChild)
|
||||||
|
setIsLinkActive(hasActiveChild)
|
||||||
|
}
|
||||||
|
}, [item.href, item.menu, isReady, asPath])
|
||||||
|
|
||||||
const asideMenuItemInnerContents = (
|
const asideMenuItemInnerContents = (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@ -1,15 +1,12 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { mdiLogout, mdiClose } from '@mdi/js'
|
import { mdiClose } from '@mdi/js'
|
||||||
import BaseIcon from './BaseIcon'
|
import BaseIcon from './BaseIcon'
|
||||||
import AsideMenuList from './AsideMenuList'
|
import AsideMenuList from './AsideMenuList'
|
||||||
import { MenuAsideItem } from '../interfaces'
|
import { MenuAsideItem } from '../interfaces'
|
||||||
import { useAppSelector } from '../stores/hooks'
|
import { useAppDispatch, useAppSelector } from '../stores/hooks'
|
||||||
import Link from 'next/link';
|
import { createAsyncThunk } from '@reduxjs/toolkit'
|
||||||
|
import axios from 'axios'
|
||||||
import { useAppDispatch } from '../stores/hooks';
|
import Logo from './Logo'
|
||||||
import { createAsyncThunk } from '@reduxjs/toolkit';
|
|
||||||
import axios from 'axios';
|
|
||||||
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
menu: MenuAsideItem[]
|
menu: MenuAsideItem[]
|
||||||
@ -18,7 +15,7 @@ type Props = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default function AsideMenuLayer({ menu, className = '', ...props }: Props) {
|
export default function AsideMenuLayer({ menu, className = '', ...props }: Props) {
|
||||||
const corners = useAppSelector((state) => state.style.corners);
|
const corners = useAppSelector((state) => state.style.corners)
|
||||||
const asideStyle = useAppSelector((state) => state.style.asideStyle)
|
const asideStyle = useAppSelector((state) => state.style.asideStyle)
|
||||||
const asideBrandStyle = useAppSelector((state) => state.style.asideBrandStyle)
|
const asideBrandStyle = useAppSelector((state) => state.style.asideBrandStyle)
|
||||||
const asideScrollbarsStyle = useAppSelector((state) => state.style.asideScrollbarsStyle)
|
const asideScrollbarsStyle = useAppSelector((state) => state.style.asideScrollbarsStyle)
|
||||||
@ -29,55 +26,49 @@ export default function AsideMenuLayer({ menu, className = '', ...props }: Props
|
|||||||
props.onAsideLgCloseClick()
|
props.onAsideLgCloseClick()
|
||||||
}
|
}
|
||||||
|
|
||||||
const dispatch = useAppDispatch();
|
const dispatch = useAppDispatch()
|
||||||
const { currentUser } = useAppSelector((state) => state.auth);
|
const { currentUser } = useAppSelector((state) => state.auth)
|
||||||
const organizationsId = currentUser?.organizations?.id;
|
const organizationsId = currentUser?.organizations?.id
|
||||||
const [organizations, setOrganizations] = React.useState(null);
|
const [organizations, setOrganizations] = React.useState<any[]>([])
|
||||||
|
|
||||||
const fetchOrganizations = createAsyncThunk('/org-for-auth', async () => {
|
const fetchOrganizations = createAsyncThunk('/org-for-auth', async () => {
|
||||||
try {
|
try {
|
||||||
const response = await axios.get('/org-for-auth');
|
const response = await axios.get('/org-for-auth')
|
||||||
setOrganizations(response.data);
|
setOrganizations(response.data)
|
||||||
return response.data;
|
return response.data
|
||||||
} catch (error) {
|
} catch (error: any) {
|
||||||
console.error(error.response);
|
console.error(error?.response || error)
|
||||||
throw error;
|
throw error
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
dispatch(fetchOrganizations());
|
dispatch(fetchOrganizations())
|
||||||
}, [dispatch]);
|
}, [dispatch])
|
||||||
|
|
||||||
let organizationName = organizations?.find(item => item.id === organizationsId)?.name;
|
let organizationName = organizations?.find((item) => item.id === organizationsId)?.name
|
||||||
if(organizationName?.length > 25){
|
if (organizationName?.length > 28) {
|
||||||
organizationName = organizationName?.substring(0, 25) + '...';
|
organizationName = organizationName.substring(0, 28) + '...'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<aside
|
<aside
|
||||||
id='asideMenu'
|
id='asideMenu'
|
||||||
className={`${className} zzz lg:py-2 lg:pl-2 w-60 fixed flex z-40 top-0 h-screen transition-position overflow-hidden`}
|
className={`${className} zzz lg:py-2 lg:pl-2 w-60 fixed flex z-40 top-0 h-screen transition-position overflow-hidden`}
|
||||||
>
|
>
|
||||||
<div
|
<div className={`flex-1 flex flex-col overflow-hidden dark:bg-dark-900 ${asideStyle} ${corners}`}>
|
||||||
className={`flex-1 flex flex-col overflow-hidden dark:bg-dark-900 ${asideStyle} ${corners}`}
|
<div className={`flex min-h-14 items-center justify-between gap-3 px-4 py-3 ${asideBrandStyle}`}>
|
||||||
>
|
<div className='flex min-w-0 items-center gap-3'>
|
||||||
<div
|
<Logo className='h-10 w-auto shrink-0 rounded-xl bg-white p-1.5 shadow-sm' />
|
||||||
className={`flex flex-row h-14 items-center justify-between ${asideBrandStyle}`}
|
<div className='min-w-0'>
|
||||||
>
|
<p className='truncate text-sm font-semibold text-slate-900 dark:text-white'>DakikTabela</p>
|
||||||
<div className="text-center flex-1 lg:text-left lg:pl-6 xl:text-center xl:pl-0">
|
<p className='truncate text-xs text-slate-500 dark:text-slate-300'>Operasyon Platformu</p>
|
||||||
|
{organizationName && (
|
||||||
<b className="font-black">DakikTabela Ops Suite</b>
|
<p className='truncate text-[11px] text-slate-400 dark:text-slate-400'>{organizationName}</p>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
{organizationName && <p>{organizationName}</p>}
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button className='hidden lg:inline-block xl:hidden p-3' onClick={handleAsideLgCloseClick}>
|
||||||
className="hidden lg:inline-block xl:hidden p-3"
|
|
||||||
onClick={handleAsideLgCloseClick}
|
|
||||||
>
|
|
||||||
<BaseIcon path={mdiClose} />
|
<BaseIcon path={mdiClose} />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -138,7 +138,7 @@ const CardBudget_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>DueAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Termin Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.due_at) }
|
{ dataFormatter.dateTimeFormatter(item.due_at) }
|
||||||
@ -220,7 +220,7 @@ const CardBudget_items = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && budget_items.length === 0 && (
|
{!loading && budget_items.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -88,7 +88,7 @@ const ListBudget_items = ({ budget_items, loading, onDelete, currentPage, numPag
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>DueAt</p>
|
<p className={'text-xs text-gray-500 '}>Termin Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ const ListBudget_items = ({ budget_items, loading, onDelete, currentPage, numPag
|
|||||||
))}
|
))}
|
||||||
{!loading && budget_items.length === 0 && (
|
{!loading && budget_items.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,18 +326,18 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -356,12 +356,12 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,7 +369,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -383,11 +383,11 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSampleBudget_items = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'BudgetItemName',
|
headerName: 'Bütçe Kalemi Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'category',
|
field: 'category',
|
||||||
headerName: 'Category',
|
headerName: 'Kategori',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'estimated_cost',
|
field: 'estimated_cost',
|
||||||
headerName: 'EstimatedCost',
|
headerName: 'Tahmini Maliyet',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -104,7 +104,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'actual_cost',
|
field: 'actual_cost',
|
||||||
headerName: 'ActualCost',
|
headerName: 'Gerçekleşen Maliyet',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -120,7 +120,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'due_at',
|
field: 'due_at',
|
||||||
headerName: 'DueAt',
|
headerName: 'Vade Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -138,7 +138,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'paid_at',
|
field: 'paid_at',
|
||||||
headerName: 'PaidAt',
|
headerName: 'Ödeme Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -156,7 +156,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'event',
|
field: 'event',
|
||||||
headerName: 'Event',
|
headerName: 'Etkinlik',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -178,7 +178,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'vendor',
|
field: 'vendor',
|
||||||
headerName: 'Vendor',
|
headerName: 'Tedarikçi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -200,7 +200,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'notes',
|
field: 'notes',
|
||||||
headerName: 'Notes',
|
headerName: 'Notlar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -215,7 +215,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'attachments',
|
field: 'attachments',
|
||||||
headerName: 'Attachments',
|
headerName: 'Ekler',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -33,7 +33,7 @@ const CardBoxModal = ({
|
|||||||
const footer = (
|
const footer = (
|
||||||
<BaseButtons>
|
<BaseButtons>
|
||||||
<BaseButton label={buttonLabel} color={buttonColor} onClick={onConfirm} />
|
<BaseButton label={buttonLabel} color={buttonColor} onClick={onConfirm} />
|
||||||
{!!onCancel && <BaseButton label="Cancel" color={buttonColor} outline onClick={onCancel} />}
|
{!!onCancel && <BaseButton label="İptal" color={buttonColor} outline onClick={onCancel} />}
|
||||||
</BaseButtons>
|
</BaseButtons>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -213,7 +213,7 @@ const CardCompanies = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && companies.length === 0 && (
|
{!loading && companies.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -150,7 +150,7 @@ const ListCompanies = ({ companies, loading, onDelete, currentPage, numPages, on
|
|||||||
))}
|
))}
|
||||||
{!loading && companies.length === 0 && (
|
{!loading && companies.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,18 +326,18 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -356,12 +356,12 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,7 +369,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -383,11 +383,11 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSampleCompanies = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'CompanyName',
|
headerName: 'Şirket Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'legal_name',
|
field: 'legal_name',
|
||||||
headerName: 'LegalName',
|
headerName: 'Resmi Ünvan',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'tax_number',
|
field: 'tax_number',
|
||||||
headerName: 'TaxNumber',
|
headerName: 'Vergi Numarası',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'industry',
|
field: 'industry',
|
||||||
headerName: 'Industry',
|
headerName: 'Sektör',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -103,7 +103,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'website',
|
field: 'website',
|
||||||
headerName: 'Website',
|
headerName: 'Web Sitesi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -118,7 +118,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'phone',
|
field: 'phone',
|
||||||
headerName: 'Phone',
|
headerName: 'Telefon',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -133,7 +133,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'email',
|
field: 'email',
|
||||||
headerName: 'Email',
|
headerName: 'E-posta',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -148,7 +148,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'billing_address',
|
field: 'billing_address',
|
||||||
headerName: 'BillingAddress',
|
headerName: 'Fatura Adresi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -163,7 +163,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'shipping_address',
|
field: 'shipping_address',
|
||||||
headerName: 'ShippingAddress',
|
headerName: 'Sevkiyat Adresi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -178,7 +178,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -193,7 +193,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardContacts = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>FirstName</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Ad</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.first_name }
|
{ item.first_name }
|
||||||
@ -90,7 +90,7 @@ const CardContacts = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>LastName</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Soyad</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.last_name }
|
{ item.last_name }
|
||||||
@ -102,7 +102,7 @@ const CardContacts = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Email</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>E-posta</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.email }
|
{ item.email }
|
||||||
@ -114,7 +114,7 @@ const CardContacts = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Phone</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Telefon</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.phone }
|
{ item.phone }
|
||||||
@ -138,7 +138,7 @@ const CardContacts = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -150,7 +150,7 @@ const CardContacts = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.companiesOneListFormatter(item.company) }
|
{ dataFormatter.companiesOneListFormatter(item.company) }
|
||||||
@ -162,7 +162,7 @@ const CardContacts = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.owner) }
|
{ dataFormatter.usersOneListFormatter(item.owner) }
|
||||||
@ -174,7 +174,7 @@ const CardContacts = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Notes</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Notlar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.notes }
|
{ item.notes }
|
||||||
@ -189,7 +189,7 @@ const CardContacts = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && contacts.length === 0 && (
|
{!loading && contacts.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>FirstName</p>
|
<p className={'text-xs text-gray-500 '}>Ad</p>
|
||||||
<p className={'line-clamp-2'}>{ item.first_name }</p>
|
<p className={'line-clamp-2'}>{ item.first_name }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>LastName</p>
|
<p className={'text-xs text-gray-500 '}>Soyad</p>
|
||||||
<p className={'line-clamp-2'}>{ item.last_name }</p>
|
<p className={'line-clamp-2'}>{ item.last_name }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Email</p>
|
<p className={'text-xs text-gray-500 '}>E-posta</p>
|
||||||
<p className={'line-clamp-2'}>{ item.email }</p>
|
<p className={'line-clamp-2'}>{ item.email }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Phone</p>
|
<p className={'text-xs text-gray-500 '}>Telefon</p>
|
||||||
<p className={'line-clamp-2'}>{ item.phone }</p>
|
<p className={'line-clamp-2'}>{ item.phone }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Company</p>
|
<p className={'text-xs text-gray-500 '}>Şirket</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Owner</p>
|
<p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Notes</p>
|
<p className={'text-xs text-gray-500 '}>Notlar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.notes }</p>
|
<p className={'line-clamp-2'}>{ item.notes }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ const ListContacts = ({ contacts, loading, onDelete, currentPage, numPages, onPa
|
|||||||
))}
|
))}
|
||||||
{!loading && contacts.length === 0 && (
|
{!loading && contacts.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,22 +326,22 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='Bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -356,12 +356,12 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,11 +369,11 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='Bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -383,11 +383,11 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerir'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSampleContacts = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`${selectedRows.length} satırı sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'first_name',
|
field: 'first_name',
|
||||||
headerName: 'FirstName',
|
headerName: 'Ad',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'last_name',
|
field: 'last_name',
|
||||||
headerName: 'LastName',
|
headerName: 'Soyad',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'email',
|
field: 'email',
|
||||||
headerName: 'Email',
|
headerName: 'E-posta',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'phone',
|
field: 'phone',
|
||||||
headerName: 'Phone',
|
headerName: 'Telefon',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -103,7 +103,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'job_title',
|
field: 'job_title',
|
||||||
headerName: 'JobTitle',
|
headerName: 'Pozisyon',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -118,7 +118,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -133,7 +133,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'company',
|
field: 'company',
|
||||||
headerName: 'Company',
|
headerName: 'Şirket',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -155,7 +155,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -177,7 +177,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'notes',
|
field: 'notes',
|
||||||
headerName: 'Notes',
|
headerName: 'Notlar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>DealName</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Fırsat Adı</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.name }
|
{ item.name }
|
||||||
@ -90,7 +90,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>DealType</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Fırsat Türü</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.deal_type }
|
{ item.deal_type }
|
||||||
@ -102,7 +102,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -114,7 +114,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Amount</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Tutar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.amount }
|
{ item.amount }
|
||||||
@ -126,7 +126,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Probability</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Olasılık</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.probability }
|
{ item.probability }
|
||||||
@ -138,7 +138,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ExpectedCloseAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Beklenen Kapanış Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.expected_close_at) }
|
{ dataFormatter.dateTimeFormatter(item.expected_close_at) }
|
||||||
@ -150,7 +150,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ClosedAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Kapanış Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.closed_at) }
|
{ dataFormatter.dateTimeFormatter(item.closed_at) }
|
||||||
@ -162,7 +162,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.companiesOneListFormatter(item.company) }
|
{ dataFormatter.companiesOneListFormatter(item.company) }
|
||||||
@ -174,7 +174,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>PrimaryContact</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Ana Yetkili</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.contactsOneListFormatter(item.primary_contact) }
|
{ dataFormatter.contactsOneListFormatter(item.primary_contact) }
|
||||||
@ -186,7 +186,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.owner) }
|
{ dataFormatter.usersOneListFormatter(item.owner) }
|
||||||
@ -198,7 +198,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Pipeline</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Satış Hattı</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.pipelinesOneListFormatter(item.pipeline) }
|
{ dataFormatter.pipelinesOneListFormatter(item.pipeline) }
|
||||||
@ -210,7 +210,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Stage</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Aşama</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.pipeline_stagesOneListFormatter(item.stage) }
|
{ dataFormatter.pipeline_stagesOneListFormatter(item.stage) }
|
||||||
@ -222,7 +222,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Lead</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Potansiyel Müşteri</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.leadsOneListFormatter(item.lead) }
|
{ dataFormatter.leadsOneListFormatter(item.lead) }
|
||||||
@ -234,7 +234,7 @@ const CardDeals = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Notes</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Notlar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.notes }
|
{ item.notes }
|
||||||
@ -249,7 +249,7 @@ const CardDeals = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && deals.length === 0 && (
|
{!loading && deals.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>DealName</p>
|
<p className={'text-xs text-gray-500 '}>Fırsat Adı</p>
|
||||||
<p className={'line-clamp-2'}>{ item.name }</p>
|
<p className={'line-clamp-2'}>{ item.name }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>DealType</p>
|
<p className={'text-xs text-gray-500 '}>Fırsat Türü</p>
|
||||||
<p className={'line-clamp-2'}>{ item.deal_type }</p>
|
<p className={'line-clamp-2'}>{ item.deal_type }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Amount</p>
|
<p className={'text-xs text-gray-500 '}>Tutar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.amount }</p>
|
<p className={'line-clamp-2'}>{ item.amount }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Probability</p>
|
<p className={'text-xs text-gray-500 '}>Olasılık</p>
|
||||||
<p className={'line-clamp-2'}>{ item.probability }</p>
|
<p className={'line-clamp-2'}>{ item.probability }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ExpectedCloseAt</p>
|
<p className={'text-xs text-gray-500 '}>Beklenen Kapanış Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.expected_close_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.expected_close_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ClosedAt</p>
|
<p className={'text-xs text-gray-500 '}>Kapanış Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.closed_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.closed_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Company</p>
|
<p className={'text-xs text-gray-500 '}>Şirket</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>PrimaryContact</p>
|
<p className={'text-xs text-gray-500 '}>Ana Yetkili</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.primary_contact) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.primary_contact) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Owner</p>
|
<p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Pipeline</p>
|
<p className={'text-xs text-gray-500 '}>Satış Hattı</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.pipelinesOneListFormatter(item.pipeline) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.pipelinesOneListFormatter(item.pipeline) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Stage</p>
|
<p className={'text-xs text-gray-500 '}>Aşama</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.pipeline_stagesOneListFormatter(item.stage) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.pipeline_stagesOneListFormatter(item.stage) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Lead</p>
|
<p className={'text-xs text-gray-500 '}>Potansiyel Müşteri</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.leadsOneListFormatter(item.lead) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.leadsOneListFormatter(item.lead) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Notes</p>
|
<p className={'text-xs text-gray-500 '}>Notlar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.notes }</p>
|
<p className={'line-clamp-2'}>{ item.notes }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -174,7 +174,7 @@ const ListDeals = ({ deals, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
))}
|
))}
|
||||||
{!loading && deals.length === 0 && (
|
{!loading && deals.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -307,7 +307,7 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -331,7 +331,7 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -341,7 +341,7 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -356,22 +356,22 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='Bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -386,12 +386,12 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -399,11 +399,11 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='Bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -413,11 +413,11 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerir'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -425,12 +425,12 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -443,13 +443,13 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -459,14 +459,14 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -493,7 +493,7 @@ const TableSampleDeals = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`${selectedRows.length} satırı sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'DealName',
|
headerName: 'Fırsat Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'deal_type',
|
field: 'deal_type',
|
||||||
headerName: 'DealType',
|
headerName: 'Fırsat Türü',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'amount',
|
field: 'amount',
|
||||||
headerName: 'Amount',
|
headerName: 'Tutar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -104,7 +104,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'probability',
|
field: 'probability',
|
||||||
headerName: 'Probability',
|
headerName: 'Olasılık',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -120,7 +120,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'expected_close_at',
|
field: 'expected_close_at',
|
||||||
headerName: 'ExpectedCloseAt',
|
headerName: 'Beklenen Kapanış',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -138,7 +138,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'closed_at',
|
field: 'closed_at',
|
||||||
headerName: 'ClosedAt',
|
headerName: 'Kapanış Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -156,7 +156,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'company',
|
field: 'company',
|
||||||
headerName: 'Company',
|
headerName: 'Şirket',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -178,7 +178,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'primary_contact',
|
field: 'primary_contact',
|
||||||
headerName: 'PrimaryContact',
|
headerName: 'Ana Kontak',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -200,7 +200,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -244,7 +244,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'stage',
|
field: 'stage',
|
||||||
headerName: 'Stage',
|
headerName: 'Aşama',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -266,7 +266,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'lead',
|
field: 'lead',
|
||||||
headerName: 'Lead',
|
headerName: 'Potansiyel',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -288,7 +288,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'notes',
|
field: 'notes',
|
||||||
headerName: 'Notes',
|
headerName: 'Notlar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -202,7 +202,7 @@ class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|||||||
className='w-full py-2 px-4 border border-pavitra-600 text-pavitra-800 hover:bg-pavitra-400 rounded-md transition-colors'
|
className='w-full py-2 px-4 border border-pavitra-600 text-pavitra-800 hover:bg-pavitra-400 rounded-md transition-colors'
|
||||||
onClick={this.resetError}
|
onClick={this.resetError}
|
||||||
>
|
>
|
||||||
Go Back
|
Geri Dön
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -189,7 +189,7 @@ const CardEvent_guests = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && event_guests.length === 0 && (
|
{!loading && event_guests.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -134,7 +134,7 @@ const ListEvent_guests = ({ event_guests, loading, onDelete, currentPage, numPag
|
|||||||
))}
|
))}
|
||||||
{!loading && event_guests.length === 0 && (
|
{!loading && event_guests.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,18 +326,18 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -356,12 +356,12 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,7 +369,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -383,11 +383,11 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSampleEvent_guests = ({ filterItems, setFilterItems, filters, showGri
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'full_name',
|
field: 'full_name',
|
||||||
headerName: 'FullName',
|
headerName: 'Ad Soyad',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'email',
|
field: 'email',
|
||||||
headerName: 'Email',
|
headerName: 'E-posta',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'phone',
|
field: 'phone',
|
||||||
headerName: 'Phone',
|
headerName: 'Telefon',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'rsvp_status',
|
field: 'rsvp_status',
|
||||||
headerName: 'RSVPStatus',
|
headerName: 'Katılım Durumu',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -103,7 +103,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'guest_type',
|
field: 'guest_type',
|
||||||
headerName: 'GuestType',
|
headerName: 'Davetli Türü',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -118,7 +118,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'invited_at',
|
field: 'invited_at',
|
||||||
headerName: 'InvitedAt',
|
headerName: 'Davet Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -136,7 +136,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'checked_in_at',
|
field: 'checked_in_at',
|
||||||
headerName: 'CheckedInAt',
|
headerName: 'Giriş Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -154,7 +154,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'event',
|
field: 'event',
|
||||||
headerName: 'Event',
|
headerName: 'Etkinlik',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -176,7 +176,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'notes',
|
field: 'notes',
|
||||||
headerName: 'Notes',
|
headerName: 'Notlar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -196,7 +196,7 @@ const CardEvent_schedule_items = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && event_schedule_items.length === 0 && (
|
{!loading && event_schedule_items.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -141,7 +141,7 @@ const ListEvent_schedule_items = ({ event_schedule_items, loading, onDelete, cur
|
|||||||
))}
|
))}
|
||||||
{!loading && event_schedule_items.length === 0 && (
|
{!loading && event_schedule_items.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -286,7 +286,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -310,7 +310,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -320,7 +320,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -335,18 +335,18 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -365,12 +365,12 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -378,7 +378,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -392,11 +392,11 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -404,12 +404,12 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -422,13 +422,13 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -438,14 +438,14 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -476,7 +476,7 @@ const TableSampleEvent_schedule_items = ({ filterItems, setFilterItems, filters,
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'title',
|
field: 'title',
|
||||||
headerName: 'ScheduleItemTitle',
|
headerName: 'Takvim Kalemi Başlığı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'start_at',
|
field: 'start_at',
|
||||||
headerName: 'StartAt',
|
headerName: 'Başlangıç Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -91,7 +91,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'end_at',
|
field: 'end_at',
|
||||||
headerName: 'EndAt',
|
headerName: 'Bitiş Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -109,7 +109,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'event',
|
field: 'event',
|
||||||
headerName: 'Event',
|
headerName: 'Etkinlik',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -131,7 +131,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -153,7 +153,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'location',
|
field: 'location',
|
||||||
headerName: 'Location',
|
headerName: 'Konum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -168,7 +168,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'description',
|
field: 'description',
|
||||||
headerName: 'Description',
|
headerName: 'Açıklama',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -183,7 +183,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'attachments',
|
field: 'attachments',
|
||||||
headerName: 'Attachments',
|
headerName: 'Ekler',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -114,7 +114,7 @@ const CardEvent_tasks = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>DueAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Termin Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.due_at) }
|
{ dataFormatter.dateTimeFormatter(item.due_at) }
|
||||||
@ -150,7 +150,7 @@ const CardEvent_tasks = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>AssignedTo</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Atanan Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.assigned_to) }
|
{ dataFormatter.usersOneListFormatter(item.assigned_to) }
|
||||||
@ -174,7 +174,7 @@ const CardEvent_tasks = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Details</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Detaylar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.details }
|
{ item.details }
|
||||||
@ -208,7 +208,7 @@ const CardEvent_tasks = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && event_tasks.length === 0 && (
|
{!loading && event_tasks.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -72,7 +72,7 @@ const ListEvent_tasks = ({ event_tasks, loading, onDelete, currentPage, numPages
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>DueAt</p>
|
<p className={'text-xs text-gray-500 '}>Termin Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListEvent_tasks = ({ event_tasks, loading, onDelete, currentPage, numPages
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>AssignedTo</p>
|
<p className={'text-xs text-gray-500 '}>Atanan Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListEvent_tasks = ({ event_tasks, loading, onDelete, currentPage, numPages
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Details</p>
|
<p className={'text-xs text-gray-500 '}>Detaylar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.details }</p>
|
<p className={'line-clamp-2'}>{ item.details }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -149,7 +149,7 @@ const ListEvent_tasks = ({ event_tasks, loading, onDelete, currentPage, numPages
|
|||||||
))}
|
))}
|
||||||
{!loading && event_tasks.length === 0 && (
|
{!loading && event_tasks.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -308,7 +308,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -332,7 +332,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -342,7 +342,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -357,18 +357,18 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -387,12 +387,12 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -400,7 +400,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -414,11 +414,11 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -426,12 +426,12 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -444,13 +444,13 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -460,14 +460,14 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -494,7 +494,7 @@ const TableSampleEvent_tasks = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'title',
|
field: 'title',
|
||||||
headerName: 'TaskTitle',
|
headerName: 'Görev Başlığı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'priority',
|
field: 'priority',
|
||||||
headerName: 'Priority',
|
headerName: 'Öncelik',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'due_at',
|
field: 'due_at',
|
||||||
headerName: 'DueAt',
|
headerName: 'Termin Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -106,7 +106,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'completed_at',
|
field: 'completed_at',
|
||||||
headerName: 'CompletedAt',
|
headerName: 'Tamamlanma Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -124,7 +124,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'event',
|
field: 'event',
|
||||||
headerName: 'Event',
|
headerName: 'Etkinlik',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -146,7 +146,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'assigned_to',
|
field: 'assigned_to',
|
||||||
headerName: 'AssignedTo',
|
headerName: 'Atanan Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -168,7 +168,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'vendor',
|
field: 'vendor',
|
||||||
headerName: 'Vendor',
|
headerName: 'Tedarikçi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -190,7 +190,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'details',
|
field: 'details',
|
||||||
headerName: 'Details',
|
headerName: 'Detaylar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -205,7 +205,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'attachments',
|
field: 'attachments',
|
||||||
headerName: 'Attachments',
|
headerName: 'Ekler',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -150,7 +150,7 @@ const CardEvents = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>BudgetTotal</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Toplam Bütçe</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.budget_total }
|
{ item.budget_total }
|
||||||
@ -208,7 +208,7 @@ const CardEvents = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && events.length === 0 && (
|
{!loading && events.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -96,7 +96,7 @@ const ListEvents = ({ events, loading, onDelete, currentPage, numPages, onPageCh
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>BudgetTotal</p>
|
<p className={'text-xs text-gray-500 '}>Toplam Bütçe</p>
|
||||||
<p className={'line-clamp-2'}>{ item.budget_total }</p>
|
<p className={'line-clamp-2'}>{ item.budget_total }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -149,7 +149,7 @@ const ListEvents = ({ events, loading, onDelete, currentPage, numPages, onPageCh
|
|||||||
))}
|
))}
|
||||||
{!loading && events.length === 0 && (
|
{!loading && events.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -286,7 +286,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -310,7 +310,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -320,7 +320,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -335,18 +335,18 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -365,12 +365,12 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -378,7 +378,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -392,11 +392,11 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -404,12 +404,12 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -422,13 +422,13 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -438,14 +438,14 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -476,7 +476,7 @@ const TableSampleEvents = ({ filterItems, setFilterItems, filters, showGrid }) =
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'EventName',
|
headerName: 'Etkinlik Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'start_at',
|
field: 'start_at',
|
||||||
headerName: 'StartAt',
|
headerName: 'Başlangıç Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -91,7 +91,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'end_at',
|
field: 'end_at',
|
||||||
headerName: 'EndAt',
|
headerName: 'Bitiş Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -109,7 +109,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'venue',
|
field: 'venue',
|
||||||
headerName: 'Venue',
|
headerName: 'Mekan',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -131,7 +131,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -153,7 +153,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'budget_total',
|
field: 'budget_total',
|
||||||
headerName: 'BudgetTotal',
|
headerName: 'Toplam Bütçe',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -169,7 +169,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'budget_spent',
|
field: 'budget_spent',
|
||||||
headerName: 'BudgetSpent',
|
headerName: 'Harcanan Bütçe',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -185,7 +185,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'description',
|
field: 'description',
|
||||||
headerName: 'Description',
|
headerName: 'Açıklama',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -200,7 +200,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'attachments',
|
field: 'attachments',
|
||||||
headerName: 'Attachments',
|
headerName: 'Ekler',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -10,25 +10,16 @@ export default function FooterBar({ children }: Props) {
|
|||||||
const year = new Date().getFullYear()
|
const year = new Date().getFullYear()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<footer className={`py-2 px-6 ${containerMaxW}`}>
|
<footer className={`py-3 px-6 ${containerMaxW}`}>
|
||||||
<div className="block md:flex items-center justify-between">
|
<div className="block md:flex items-center justify-between gap-4">
|
||||||
<div className="text-center md:text-left mb-6 md:mb-0">
|
<div className="text-center md:text-left mb-4 md:mb-0 text-sm text-slate-600 dark:text-slate-300">
|
||||||
<b>
|
<b className='text-slate-900 dark:text-white'>© {year} DakikTabela.</b>{' '}
|
||||||
©{year},{` `}
|
{children || 'Satış, üretim ve etkinlik operasyonları tek platformda.'}
|
||||||
<a href="https://flatlogic.com/" rel="noreferrer" target="_blank">
|
|
||||||
Flatlogic
|
|
||||||
</a>
|
|
||||||
.
|
|
||||||
</b>
|
|
||||||
{` `}
|
|
||||||
{children}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="flex item-center md:py-2 gap-4">
|
<div className="flex items-center justify-center md:justify-end gap-3">
|
||||||
<a href="https://flatlogic.com/" rel="noreferrer" target="_blank">
|
<Logo className="w-auto h-10 md:h-8" />
|
||||||
<Logo className="w-auto h-8 md:h-6 mx-auto" />
|
</div>
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
)
|
)
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Material</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Malzeme</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.materialsOneListFormatter(item.material) }
|
{ dataFormatter.materialsOneListFormatter(item.material) }
|
||||||
@ -90,7 +90,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Warehouse</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Depo</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.warehousesOneListFormatter(item.warehouse) }
|
{ dataFormatter.warehousesOneListFormatter(item.warehouse) }
|
||||||
@ -102,7 +102,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>LotNumber</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Lot Numarası</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.lot_number }
|
{ item.lot_number }
|
||||||
@ -114,7 +114,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>SerialNumber</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Seri Numarası</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.serial_number }
|
{ item.serial_number }
|
||||||
@ -126,7 +126,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>QuantityOnHand</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Mevcut Miktar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.quantity_on_hand }
|
{ item.quantity_on_hand }
|
||||||
@ -138,7 +138,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>QuantityReserved</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Rezerve Miktar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.quantity_reserved }
|
{ item.quantity_reserved }
|
||||||
@ -150,7 +150,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ReceivedAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Giriş Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.received_at) }
|
{ dataFormatter.dateTimeFormatter(item.received_at) }
|
||||||
@ -162,7 +162,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ExpiresAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Son Kullanma Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.expires_at) }
|
{ dataFormatter.dateTimeFormatter(item.expires_at) }
|
||||||
@ -174,7 +174,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -186,7 +186,7 @@ const CardInventory_items = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>LocationBin</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Raf Konumu</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.location_bin }
|
{ item.location_bin }
|
||||||
@ -201,7 +201,7 @@ const CardInventory_items = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && inventory_items.length === 0 && (
|
{!loading && inventory_items.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Material</p>
|
<p className={'text-xs text-gray-500 '}>Malzeme</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.materialsOneListFormatter(item.material) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.materialsOneListFormatter(item.material) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Warehouse</p>
|
<p className={'text-xs text-gray-500 '}>Depo</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.warehousesOneListFormatter(item.warehouse) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.warehousesOneListFormatter(item.warehouse) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>LotNumber</p>
|
<p className={'text-xs text-gray-500 '}>Lot Numarası</p>
|
||||||
<p className={'line-clamp-2'}>{ item.lot_number }</p>
|
<p className={'line-clamp-2'}>{ item.lot_number }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>SerialNumber</p>
|
<p className={'text-xs text-gray-500 '}>Seri Numarası</p>
|
||||||
<p className={'line-clamp-2'}>{ item.serial_number }</p>
|
<p className={'line-clamp-2'}>{ item.serial_number }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>QuantityOnHand</p>
|
<p className={'text-xs text-gray-500 '}>Mevcut Miktar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.quantity_on_hand }</p>
|
<p className={'line-clamp-2'}>{ item.quantity_on_hand }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>QuantityReserved</p>
|
<p className={'text-xs text-gray-500 '}>Rezerve Miktar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.quantity_reserved }</p>
|
<p className={'line-clamp-2'}>{ item.quantity_reserved }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ReceivedAt</p>
|
<p className={'text-xs text-gray-500 '}>Giriş Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.received_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.received_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ExpiresAt</p>
|
<p className={'text-xs text-gray-500 '}>Son Kullanma Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.expires_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.expires_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>LocationBin</p>
|
<p className={'text-xs text-gray-500 '}>Raf Konumu</p>
|
||||||
<p className={'line-clamp-2'}>{ item.location_bin }</p>
|
<p className={'line-clamp-2'}>{ item.location_bin }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -142,7 +142,7 @@ const ListInventory_items = ({ inventory_items, loading, onDelete, currentPage,
|
|||||||
))}
|
))}
|
||||||
{!loading && inventory_items.length === 0 && (
|
{!loading && inventory_items.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer Seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,22 +326,22 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -356,12 +356,12 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,11 +369,11 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -383,11 +383,11 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçeren'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSampleInventory_items = ({ filterItems, setFilterItems, filters, show
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'material',
|
field: 'material',
|
||||||
headerName: 'Material',
|
headerName: 'Malzeme',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -65,7 +65,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'warehouse',
|
field: 'warehouse',
|
||||||
headerName: 'Warehouse',
|
headerName: 'Depo',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -87,7 +87,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'lot_number',
|
field: 'lot_number',
|
||||||
headerName: 'LotNumber',
|
headerName: 'Lot Numarası',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -102,7 +102,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'serial_number',
|
field: 'serial_number',
|
||||||
headerName: 'SerialNumber',
|
headerName: 'Seri Numarası',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -117,7 +117,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'quantity_on_hand',
|
field: 'quantity_on_hand',
|
||||||
headerName: 'QuantityOnHand',
|
headerName: 'Mevcut Miktar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -133,7 +133,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'quantity_reserved',
|
field: 'quantity_reserved',
|
||||||
headerName: 'QuantityReserved',
|
headerName: 'Rezerve Miktar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -149,7 +149,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'received_at',
|
field: 'received_at',
|
||||||
headerName: 'ReceivedAt',
|
headerName: 'Giriş Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -167,7 +167,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'expires_at',
|
field: 'expires_at',
|
||||||
headerName: 'ExpiresAt',
|
headerName: 'Son Kullanma Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -185,7 +185,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -200,7 +200,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'location_bin',
|
field: 'location_bin',
|
||||||
headerName: 'LocationBin',
|
headerName: 'Raf Konumu',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -42,7 +42,7 @@ const KanbanCard = ({
|
|||||||
href={`/${entityName}/${entityName}-view/?id=${item.id}`}
|
href={`/${entityName}/${entityName}-view/?id=${item.id}`}
|
||||||
className={'text-base font-semibold'}
|
className={'text-base font-semibold'}
|
||||||
>
|
>
|
||||||
{item[showFieldName] ?? 'No data'}
|
{item[showFieldName] ?? 'Veri yok'}
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<div className={'flex items-center justify-between'}>
|
<div className={'flex items-center justify-between'}>
|
||||||
|
|||||||
@ -138,7 +138,7 @@ const KanbanColumn = ({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const onDeleteConfirm = () => {
|
const onDeleteOnayla = () => {
|
||||||
if (!itemIdToDelete) return;
|
if (!itemIdToDelete) return;
|
||||||
|
|
||||||
dispatch(deleteThunk(itemIdToDelete))
|
dispatch(deleteThunk(itemIdToDelete))
|
||||||
@ -188,19 +188,19 @@ const KanbanColumn = ({
|
|||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
{!data?.length && (
|
{!data?.length && (
|
||||||
<p className={'text-center py-8 bg-gray-50 dark:bg-dark-800'}>No data</p>
|
<p className={'text-center py-8 bg-gray-50 dark:bg-dark-800'}>Veri yok</p>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</CardBox>
|
</CardBox>
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title='Please confirm'
|
title='Lütfen onaylayın'
|
||||||
buttonColor='info'
|
buttonColor='info'
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={!!itemIdToDelete}
|
isActive={!!itemIdToDelete}
|
||||||
onConfirm={onDeleteConfirm}
|
onConfirm={onDeleteOnayla}
|
||||||
onCancel={() => setItemIdToDelete('')}
|
onCancel={() => setItemIdToDelete('')}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1,96 +1,102 @@
|
|||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react'
|
||||||
import Select, { components, SingleValueProps, OptionProps } from 'react-select';
|
import Select, { components, SingleValueProps, OptionProps } from 'react-select'
|
||||||
|
import { useTranslation } from 'react-i18next'
|
||||||
|
|
||||||
type LanguageOption = { label: string; value: string };
|
type LanguageOption = { label: string; value: string }
|
||||||
|
|
||||||
const LANGS: LanguageOption[] = [
|
const LANGS: LanguageOption[] = [
|
||||||
{ value: 'en', label: '🇬🇧 EN' },
|
{ value: 'tr', label: '🇹🇷 TR' },
|
||||||
{ value: 'fr', label: '🇫🇷 FR' },
|
{ value: 'en', label: '🇬🇧 EN' },
|
||||||
{ value: 'es', label: '🇪🇸 ES' },
|
{ value: 'fr', label: '🇫🇷 FR' },
|
||||||
{ value: 'de', label: '🇩🇪 DE' },
|
{ value: 'es', label: '🇪🇸 ES' },
|
||||||
];
|
{ value: 'de', label: '🇩🇪 DE' },
|
||||||
|
]
|
||||||
|
|
||||||
const Option = (props: OptionProps<LanguageOption, false>) => (
|
const Option = (props: OptionProps<LanguageOption, false>) => (
|
||||||
<components.Option {...props}>
|
<components.Option {...props}>
|
||||||
<span className='flex items-center gap-1'>{props.data.label}</span>
|
<span className='flex items-center gap-1'>{props.data.label}</span>
|
||||||
</components.Option>
|
</components.Option>
|
||||||
);
|
)
|
||||||
|
|
||||||
const SingleVal = (props: SingleValueProps<LanguageOption, false>) => (
|
const SingleVal = (props: SingleValueProps<LanguageOption, false>) => (
|
||||||
<components.SingleValue {...props}>
|
<components.SingleValue {...props}>
|
||||||
<span className='flex items-center gap-1'>{props.data.label}</span>
|
<span className='flex items-center gap-1'>{props.data.label}</span>
|
||||||
</components.SingleValue>
|
</components.SingleValue>
|
||||||
);
|
)
|
||||||
|
|
||||||
const LanguageSwitcher: React.FC = () => {
|
const LanguageSwitcher: React.FC = () => {
|
||||||
const [mounted, setMounted] = useState(false);
|
const { i18n } = useTranslation()
|
||||||
const [selected, setSelected] = useState<LanguageOption>(LANGS[0]);
|
const [mounted, setMounted] = useState(false)
|
||||||
|
const [selected, setSelected] = useState<LanguageOption>(LANGS[0])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setMounted(true);
|
const active = LANGS.find((item) => item.value === i18n.language) || LANGS[0]
|
||||||
}, []);
|
setSelected(active)
|
||||||
|
setMounted(true)
|
||||||
|
}, [i18n.language])
|
||||||
|
|
||||||
const handleChange = (opt: LanguageOption | null) => {
|
const handleChange = (opt: LanguageOption | null) => {
|
||||||
if (!opt) return;
|
if (!opt) return
|
||||||
setSelected(opt);
|
setSelected(opt)
|
||||||
};
|
i18n.changeLanguage(opt.value)
|
||||||
|
}
|
||||||
|
|
||||||
if (!mounted) return null;
|
if (!mounted) return null
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={{ width: 88 }}>
|
<div style={{ width: 88 }}>
|
||||||
<Select
|
<Select
|
||||||
value={selected}
|
value={selected}
|
||||||
options={LANGS}
|
options={LANGS}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
isSearchable={false}
|
isSearchable={false}
|
||||||
menuPlacement='top'
|
menuPlacement='top'
|
||||||
components={{
|
components={{
|
||||||
Option,
|
Option,
|
||||||
SingleValue: SingleVal,
|
SingleValue: SingleVal,
|
||||||
IndicatorSeparator: () => null,
|
IndicatorSeparator: () => null,
|
||||||
}}
|
}}
|
||||||
styles={{
|
styles={{
|
||||||
control: (base) => ({
|
control: (base) => ({
|
||||||
...base,
|
...base,
|
||||||
minHeight: 28,
|
minHeight: 28,
|
||||||
height: 28,
|
height: 28,
|
||||||
paddingTop: 0,
|
paddingTop: 0,
|
||||||
paddingBottom: 0,
|
paddingBottom: 0,
|
||||||
borderColor: '#d1d5db',
|
borderColor: '#d1d5db',
|
||||||
cursor: 'pointer',
|
cursor: 'pointer',
|
||||||
}),
|
}),
|
||||||
valueContainer: (base) => ({
|
valueContainer: (base) => ({
|
||||||
...base,
|
...base,
|
||||||
paddingTop: 0,
|
paddingTop: 0,
|
||||||
paddingBottom: 0,
|
paddingBottom: 0,
|
||||||
paddingLeft: 6,
|
paddingLeft: 6,
|
||||||
}),
|
}),
|
||||||
indicatorsContainer: (base) => ({
|
indicatorsContainer: (base) => ({
|
||||||
...base,
|
...base,
|
||||||
height: 24,
|
height: 24,
|
||||||
}),
|
}),
|
||||||
dropdownIndicator: (base) => ({
|
dropdownIndicator: (base) => ({
|
||||||
...base,
|
...base,
|
||||||
padding: 2,
|
padding: 2,
|
||||||
}),
|
}),
|
||||||
option: (base, state) => ({
|
option: (base, state) => ({
|
||||||
...base,
|
...base,
|
||||||
paddingTop: 4,
|
paddingTop: 4,
|
||||||
paddingBottom: 4,
|
paddingBottom: 4,
|
||||||
height: 26,
|
height: 26,
|
||||||
fontSize: '0.875rem',
|
fontSize: '0.875rem',
|
||||||
backgroundColor: state.isFocused ? '#f3f4f6' : 'white',
|
backgroundColor: state.isFocused ? '#f3f4f6' : 'white',
|
||||||
color: '#111827',
|
color: '#111827',
|
||||||
}),
|
}),
|
||||||
menu: (base) => ({
|
menu: (base) => ({
|
||||||
...base,
|
...base,
|
||||||
zIndex: 9999,
|
zIndex: 9999,
|
||||||
}),
|
}),
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
)
|
||||||
};
|
}
|
||||||
|
|
||||||
export default LanguageSwitcher;
|
export default LanguageSwitcher
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>LeadTitle</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Potansiyel Müşteri Başlığı</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.title }
|
{ item.title }
|
||||||
@ -90,7 +90,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Source</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Kaynak</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.source }
|
{ item.source }
|
||||||
@ -102,7 +102,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -114,7 +114,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>EstimatedValue</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Tahmini Tutar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.estimated_value }
|
{ item.estimated_value }
|
||||||
@ -126,7 +126,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Description</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Açıklama</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.description }
|
{ item.description }
|
||||||
@ -138,7 +138,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Company</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Şirket</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.companiesOneListFormatter(item.company) }
|
{ dataFormatter.companiesOneListFormatter(item.company) }
|
||||||
@ -150,7 +150,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>PrimaryContact</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Ana Yetkili</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.contactsOneListFormatter(item.primary_contact) }
|
{ dataFormatter.contactsOneListFormatter(item.primary_contact) }
|
||||||
@ -162,7 +162,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.owner) }
|
{ dataFormatter.usersOneListFormatter(item.owner) }
|
||||||
@ -210,7 +210,7 @@ const CardLeads = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ClosedAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Kapanış Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.closed_at) }
|
{ dataFormatter.dateTimeFormatter(item.closed_at) }
|
||||||
@ -225,7 +225,7 @@ const CardLeads = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && leads.length === 0 && (
|
{!loading && leads.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>LeadTitle</p>
|
<p className={'text-xs text-gray-500 '}>Potansiyel Müşteri Başlığı</p>
|
||||||
<p className={'line-clamp-2'}>{ item.title }</p>
|
<p className={'line-clamp-2'}>{ item.title }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Source</p>
|
<p className={'text-xs text-gray-500 '}>Kaynak</p>
|
||||||
<p className={'line-clamp-2'}>{ item.source }</p>
|
<p className={'line-clamp-2'}>{ item.source }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>EstimatedValue</p>
|
<p className={'text-xs text-gray-500 '}>Tahmini Tutar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.estimated_value }</p>
|
<p className={'line-clamp-2'}>{ item.estimated_value }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Description</p>
|
<p className={'text-xs text-gray-500 '}>Açıklama</p>
|
||||||
<p className={'line-clamp-2'}>{ item.description }</p>
|
<p className={'line-clamp-2'}>{ item.description }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Company</p>
|
<p className={'text-xs text-gray-500 '}>Şirket</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.companiesOneListFormatter(item.company) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>PrimaryContact</p>
|
<p className={'text-xs text-gray-500 '}>Ana Yetkili</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.primary_contact) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.contactsOneListFormatter(item.primary_contact) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Owner</p>
|
<p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ClosedAt</p>
|
<p className={'text-xs text-gray-500 '}>Kapanış Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.closed_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.closed_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -158,7 +158,7 @@ const ListLeads = ({ leads, loading, onDelete, currentPage, numPages, onPageChan
|
|||||||
))}
|
))}
|
||||||
{!loading && leads.length === 0 && (
|
{!loading && leads.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -307,7 +307,7 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -331,7 +331,7 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -341,7 +341,7 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -356,22 +356,22 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='Bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -386,12 +386,12 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -399,11 +399,11 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='Bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -413,11 +413,11 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerir'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -425,12 +425,12 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -443,13 +443,13 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -459,14 +459,14 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -493,7 +493,7 @@ const TableSampleLeads = ({ filterItems, setFilterItems, filters, showGrid }) =>
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`${selectedRows.length} satırı sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'title',
|
field: 'title',
|
||||||
headerName: 'LeadTitle',
|
headerName: 'Potansiyel Başlığı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'source',
|
field: 'source',
|
||||||
headerName: 'Source',
|
headerName: 'Kaynak',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'estimated_value',
|
field: 'estimated_value',
|
||||||
headerName: 'EstimatedValue',
|
headerName: 'Tahmini Değer',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -104,7 +104,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'description',
|
field: 'description',
|
||||||
headerName: 'Description',
|
headerName: 'Açıklama',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -119,7 +119,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'company',
|
field: 'company',
|
||||||
headerName: 'Company',
|
headerName: 'Şirket',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -141,7 +141,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'primary_contact',
|
field: 'primary_contact',
|
||||||
headerName: 'PrimaryContact',
|
headerName: 'Ana Kontak',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -163,7 +163,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -207,7 +207,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'stage',
|
field: 'stage',
|
||||||
headerName: 'Stage',
|
headerName: 'Aşama',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -247,7 +247,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'closed_at',
|
field: 'closed_at',
|
||||||
headerName: 'ClosedAt',
|
headerName: 'Kapanış Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -81,7 +81,7 @@ const ListActionsPopover = ({
|
|||||||
href={linkView}
|
href={linkView}
|
||||||
sx={{ justifyContent: "start" }}
|
sx={{ justifyContent: "start" }}
|
||||||
>
|
>
|
||||||
View
|
Görüntüle
|
||||||
</Button>
|
</Button>
|
||||||
{hasUpdatePermission && (
|
{hasUpdatePermission && (
|
||||||
<Button
|
<Button
|
||||||
@ -90,7 +90,7 @@ const ListActionsPopover = ({
|
|||||||
href={linkEdit}
|
href={linkEdit}
|
||||||
sx={{ justifyContent: "start" }}
|
sx={{ justifyContent: "start" }}
|
||||||
>
|
>
|
||||||
Edit
|
Düzenle
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
{hasUpdatePermission && (
|
{hasUpdatePermission && (
|
||||||
@ -103,7 +103,7 @@ const ListActionsPopover = ({
|
|||||||
}}
|
}}
|
||||||
sx={{ justifyContent: "start" }}
|
sx={{ justifyContent: "start" }}
|
||||||
>
|
>
|
||||||
Delete
|
Sil
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -7,9 +7,9 @@ type Props = {
|
|||||||
export default function Logo({ className = '' }: Props) {
|
export default function Logo({ className = '' }: Props) {
|
||||||
return (
|
return (
|
||||||
<img
|
<img
|
||||||
src={"https://flatlogic.com/logo.svg"}
|
src='/brand/dakiktabela-logo.svg'
|
||||||
className={className}
|
className={className}
|
||||||
alt={'Flatlogic logo'}>
|
alt='DakikTabela logosu'
|
||||||
</img>
|
/>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardMachines = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>MachineName</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Makine Adı</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.name }
|
{ item.name }
|
||||||
@ -90,7 +90,7 @@ const CardMachines = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Code</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Kod</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.code }
|
{ item.code }
|
||||||
@ -102,7 +102,7 @@ const CardMachines = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>MachineType</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Makine Türü</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.machine_type }
|
{ item.machine_type }
|
||||||
@ -114,7 +114,7 @@ const CardMachines = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -126,7 +126,7 @@ const CardMachines = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>LastMaintenanceAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Son Bakım Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.last_maintenance_at) }
|
{ dataFormatter.dateTimeFormatter(item.last_maintenance_at) }
|
||||||
@ -138,7 +138,7 @@ const CardMachines = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>NextMaintenanceAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Sonraki Bakım Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.next_maintenance_at) }
|
{ dataFormatter.dateTimeFormatter(item.next_maintenance_at) }
|
||||||
@ -150,7 +150,7 @@ const CardMachines = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Notes</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Notlar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.notes }
|
{ item.notes }
|
||||||
@ -162,7 +162,7 @@ const CardMachines = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.owner) }
|
{ dataFormatter.usersOneListFormatter(item.owner) }
|
||||||
@ -177,7 +177,7 @@ const CardMachines = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && machines.length === 0 && (
|
{!loading && machines.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>MachineName</p>
|
<p className={'text-xs text-gray-500 '}>Makine Adı</p>
|
||||||
<p className={'line-clamp-2'}>{ item.name }</p>
|
<p className={'line-clamp-2'}>{ item.name }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Code</p>
|
<p className={'text-xs text-gray-500 '}>Kod</p>
|
||||||
<p className={'line-clamp-2'}>{ item.code }</p>
|
<p className={'line-clamp-2'}>{ item.code }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>MachineType</p>
|
<p className={'text-xs text-gray-500 '}>Makine Türü</p>
|
||||||
<p className={'line-clamp-2'}>{ item.machine_type }</p>
|
<p className={'line-clamp-2'}>{ item.machine_type }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>LastMaintenanceAt</p>
|
<p className={'text-xs text-gray-500 '}>Son Bakım Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.last_maintenance_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.last_maintenance_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>NextMaintenanceAt</p>
|
<p className={'text-xs text-gray-500 '}>Sonraki Bakım Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.next_maintenance_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.next_maintenance_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Notes</p>
|
<p className={'text-xs text-gray-500 '}>Notlar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.notes }</p>
|
<p className={'line-clamp-2'}>{ item.notes }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Owner</p>
|
<p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ const ListMachines = ({ machines, loading, onDelete, currentPage, numPages, onPa
|
|||||||
))}
|
))}
|
||||||
{!loading && machines.length === 0 && (
|
{!loading && machines.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer Seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,22 +326,22 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -356,12 +356,12 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,11 +369,11 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -383,11 +383,11 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçeren'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSampleMachines = ({ filterItems, setFilterItems, filters, showGrid })
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'MachineName',
|
headerName: 'Makine Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'code',
|
field: 'code',
|
||||||
headerName: 'Code',
|
headerName: 'Kod',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'machine_type',
|
field: 'machine_type',
|
||||||
headerName: 'MachineType',
|
headerName: 'Makine Türü',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -103,7 +103,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'last_maintenance_at',
|
field: 'last_maintenance_at',
|
||||||
headerName: 'LastMaintenanceAt',
|
headerName: 'Son Bakım Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -121,7 +121,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'next_maintenance_at',
|
field: 'next_maintenance_at',
|
||||||
headerName: 'NextMaintenanceAt',
|
headerName: 'Sonraki Bakım Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -139,7 +139,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'notes',
|
field: 'notes',
|
||||||
headerName: 'Notes',
|
headerName: 'Notlar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -154,7 +154,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>SKU</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Stok Kodu</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.sku }
|
{ item.sku }
|
||||||
@ -90,7 +90,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>MaterialName</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Malzeme Adı</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.name }
|
{ item.name }
|
||||||
@ -102,7 +102,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>MaterialType</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Malzeme Türü</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.material_type }
|
{ item.material_type }
|
||||||
@ -114,7 +114,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>UnitofMeasure</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Ölçü Birimi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.unit_of_measure }
|
{ item.unit_of_measure }
|
||||||
@ -126,7 +126,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>StandardCost</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Standart Maliyet</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.standard_cost }
|
{ item.standard_cost }
|
||||||
@ -138,7 +138,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ReorderPoint</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Yeniden Sipariş Noktası</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.reorder_point }
|
{ item.reorder_point }
|
||||||
@ -150,7 +150,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ReorderQuantity</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Yeniden Sipariş Miktarı</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.reorder_quantity }
|
{ item.reorder_quantity }
|
||||||
@ -162,7 +162,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -174,7 +174,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>PreferredVendor</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Tercih Edilen Tedarikçi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.vendorsOneListFormatter(item.preferred_vendor) }
|
{ dataFormatter.vendorsOneListFormatter(item.preferred_vendor) }
|
||||||
@ -186,7 +186,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Specification</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Teknik Özellik</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.specification }
|
{ item.specification }
|
||||||
@ -198,7 +198,7 @@ const CardMaterials = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>SpecFiles</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Teknik Dosyalar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium'>
|
<div className='font-medium'>
|
||||||
{dataFormatter.filesFormatter(item.spec_files).map(link => (
|
{dataFormatter.filesFormatter(item.spec_files).map(link => (
|
||||||
@ -220,7 +220,7 @@ const CardMaterials = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && materials.length === 0 && (
|
{!loading && materials.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>SKU</p>
|
<p className={'text-xs text-gray-500 '}>Stok Kodu</p>
|
||||||
<p className={'line-clamp-2'}>{ item.sku }</p>
|
<p className={'line-clamp-2'}>{ item.sku }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>MaterialName</p>
|
<p className={'text-xs text-gray-500 '}>Malzeme Adı</p>
|
||||||
<p className={'line-clamp-2'}>{ item.name }</p>
|
<p className={'line-clamp-2'}>{ item.name }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>MaterialType</p>
|
<p className={'text-xs text-gray-500 '}>Malzeme Türü</p>
|
||||||
<p className={'line-clamp-2'}>{ item.material_type }</p>
|
<p className={'line-clamp-2'}>{ item.material_type }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>UnitofMeasure</p>
|
<p className={'text-xs text-gray-500 '}>Ölçü Birimi</p>
|
||||||
<p className={'line-clamp-2'}>{ item.unit_of_measure }</p>
|
<p className={'line-clamp-2'}>{ item.unit_of_measure }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>StandardCost</p>
|
<p className={'text-xs text-gray-500 '}>Standart Maliyet</p>
|
||||||
<p className={'line-clamp-2'}>{ item.standard_cost }</p>
|
<p className={'line-clamp-2'}>{ item.standard_cost }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ReorderPoint</p>
|
<p className={'text-xs text-gray-500 '}>Yeniden Sipariş Noktası</p>
|
||||||
<p className={'line-clamp-2'}>{ item.reorder_point }</p>
|
<p className={'line-clamp-2'}>{ item.reorder_point }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ReorderQuantity</p>
|
<p className={'text-xs text-gray-500 '}>Yeniden Sipariş Miktarı</p>
|
||||||
<p className={'line-clamp-2'}>{ item.reorder_quantity }</p>
|
<p className={'line-clamp-2'}>{ item.reorder_quantity }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>PreferredVendor</p>
|
<p className={'text-xs text-gray-500 '}>Tercih Edilen Tedarikçi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.vendorsOneListFormatter(item.preferred_vendor) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.vendorsOneListFormatter(item.preferred_vendor) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Specification</p>
|
<p className={'text-xs text-gray-500 '}>Teknik Özellik</p>
|
||||||
<p className={'line-clamp-2'}>{ item.specification }</p>
|
<p className={'line-clamp-2'}>{ item.specification }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>SpecFiles</p>
|
<p className={'text-xs text-gray-500 '}>Teknik Dosyalar</p>
|
||||||
{dataFormatter.filesFormatter(item.spec_files).map(link => (
|
{dataFormatter.filesFormatter(item.spec_files).map(link => (
|
||||||
<button
|
<button
|
||||||
key={link.publicUrl}
|
key={link.publicUrl}
|
||||||
@ -157,7 +157,7 @@ const ListMaterials = ({ materials, loading, onDelete, currentPage, numPages, on
|
|||||||
))}
|
))}
|
||||||
{!loading && materials.length === 0 && (
|
{!loading && materials.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer Seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,22 +326,22 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -356,12 +356,12 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,11 +369,11 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -383,11 +383,11 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçeren'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSampleMaterials = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'sku',
|
field: 'sku',
|
||||||
headerName: 'SKU',
|
headerName: 'Stok Kodu',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'MaterialName',
|
headerName: 'Malzeme Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'material_type',
|
field: 'material_type',
|
||||||
headerName: 'MaterialType',
|
headerName: 'Malzeme Türü',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'unit_of_measure',
|
field: 'unit_of_measure',
|
||||||
headerName: 'UnitofMeasure',
|
headerName: 'Ölçü Birimi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -103,7 +103,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'standard_cost',
|
field: 'standard_cost',
|
||||||
headerName: 'StandardCost',
|
headerName: 'Standart Maliyet',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -119,7 +119,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'reorder_point',
|
field: 'reorder_point',
|
||||||
headerName: 'ReorderPoint',
|
headerName: 'Yeniden Sipariş Noktası',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -135,7 +135,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'reorder_quantity',
|
field: 'reorder_quantity',
|
||||||
headerName: 'ReorderQuantity',
|
headerName: 'Yeniden Sipariş Miktarı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -151,7 +151,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -166,7 +166,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'preferred_vendor',
|
field: 'preferred_vendor',
|
||||||
headerName: 'PreferredVendor',
|
headerName: 'Tercih Edilen Tedarikçi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -188,7 +188,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'specification',
|
field: 'specification',
|
||||||
headerName: 'Specification',
|
headerName: 'Teknik Özellik',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -203,7 +203,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'spec_files',
|
field: 'spec_files',
|
||||||
headerName: 'SpecFiles',
|
headerName: 'Teknik Dosyalar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import React, {useEffect, useRef} from 'react'
|
import React, { useEffect, useRef, useState } from 'react'
|
||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import { useState } from 'react'
|
|
||||||
import { mdiChevronUp, mdiChevronDown } from '@mdi/js'
|
import { mdiChevronUp, mdiChevronDown } from '@mdi/js'
|
||||||
import BaseDivider from './BaseDivider'
|
import BaseDivider from './BaseDivider'
|
||||||
import BaseIcon from './BaseIcon'
|
import BaseIcon from './BaseIcon'
|
||||||
@ -67,8 +66,10 @@ export default function NavBarItem({ item }: Props) {
|
|||||||
const getItemId = (label) => {
|
const getItemId = (label) => {
|
||||||
switch (label) {
|
switch (label) {
|
||||||
case 'Light/Dark':
|
case 'Light/Dark':
|
||||||
|
case 'Açık/Koyu Tema':
|
||||||
return 'themeToggle';
|
return 'themeToggle';
|
||||||
case 'Log out':
|
case 'Log out':
|
||||||
|
case 'Çıkış yap':
|
||||||
return 'logout';
|
return 'logout';
|
||||||
default:
|
default:
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|||||||
@ -162,7 +162,7 @@ const CardNonconformances = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>CorrectiveAction</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Düzeltici İşlem</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.corrective_action }
|
{ item.corrective_action }
|
||||||
@ -174,7 +174,7 @@ const CardNonconformances = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>DueAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Termin Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.due_at) }
|
{ dataFormatter.dateTimeFormatter(item.due_at) }
|
||||||
@ -220,7 +220,7 @@ const CardNonconformances = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && nonconformances.length === 0 && (
|
{!loading && nonconformances.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -104,7 +104,7 @@ const ListNonconformances = ({ nonconformances, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>CorrectiveAction</p>
|
<p className={'text-xs text-gray-500 '}>Düzeltici İşlem</p>
|
||||||
<p className={'line-clamp-2'}>{ item.corrective_action }</p>
|
<p className={'line-clamp-2'}>{ item.corrective_action }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListNonconformances = ({ nonconformances, loading, onDelete, currentPage,
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>DueAt</p>
|
<p className={'text-xs text-gray-500 '}>Termin Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.due_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ const ListNonconformances = ({ nonconformances, loading, onDelete, currentPage,
|
|||||||
))}
|
))}
|
||||||
{!loading && nonconformances.length === 0 && (
|
{!loading && nonconformances.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -308,7 +308,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -332,7 +332,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -342,7 +342,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -357,18 +357,18 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -387,12 +387,12 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -400,7 +400,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -414,11 +414,11 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -426,12 +426,12 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -444,13 +444,13 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -460,14 +460,14 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -494,7 +494,7 @@ const TableSampleNonconformances = ({ filterItems, setFilterItems, filters, show
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'ncr_number',
|
field: 'ncr_number',
|
||||||
headerName: 'NCRNumber',
|
headerName: 'Uygunsuzluk No',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'severity',
|
field: 'severity',
|
||||||
headerName: 'Severity',
|
headerName: 'Şiddet',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -88,7 +88,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'inspection',
|
field: 'inspection',
|
||||||
headerName: 'Inspection',
|
headerName: 'Kontrol',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -110,7 +110,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -132,7 +132,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'description',
|
field: 'description',
|
||||||
headerName: 'Description',
|
headerName: 'Açıklama',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -147,7 +147,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'root_cause',
|
field: 'root_cause',
|
||||||
headerName: 'RootCause',
|
headerName: 'Kök Neden',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -162,7 +162,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'corrective_action',
|
field: 'corrective_action',
|
||||||
headerName: 'CorrectiveAction',
|
headerName: 'Düzeltici Faaliyet',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -177,7 +177,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'due_at',
|
field: 'due_at',
|
||||||
headerName: 'DueAt',
|
headerName: 'Termin Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -195,7 +195,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'closed_at',
|
field: 'closed_at',
|
||||||
headerName: 'ClosedAt',
|
headerName: 'Kapanış Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -213,7 +213,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'attachments',
|
field: 'attachments',
|
||||||
headerName: 'Attachments',
|
headerName: 'Ekler',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -93,7 +93,7 @@ const CardOrganizations = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && organizations.length === 0 && (
|
{!loading && organizations.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -70,7 +70,7 @@ const ListOrganizations = ({ organizations, loading, onDelete, currentPage, numP
|
|||||||
))}
|
))}
|
||||||
{!loading && organizations.length === 0 && (
|
{!loading && organizations.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,18 +326,18 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -356,12 +356,12 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,7 +369,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -383,11 +383,11 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSampleOrganizations = ({ filterItems, setFilterItems, filters, showGr
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'Name',
|
headerName: 'Organizasyon Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -49,16 +49,16 @@ export default function PasswordSetOrReset() {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Head>
|
<Head>
|
||||||
{isInvitation && <title>{getPageTitle('Set Password')}</title>}
|
{isInvitation && <title>{getPageTitle('Şifre Belirle')}</title>}
|
||||||
{!isInvitation && <title>{getPageTitle('Reset Password')}</title>}
|
{!isInvitation && <title>{getPageTitle('Şifreyi Sıfırla')}</title>}
|
||||||
</Head>
|
</Head>
|
||||||
|
|
||||||
<SectionFullScreen bg='violet'>
|
<SectionFullScreen bg='violet'>
|
||||||
<div className='w-full flex flex-col items-center justify-center'>
|
<div className='w-full flex flex-col items-center justify-center'>
|
||||||
<CardBox className='w-11/12 md:w-7/12 lg:w-6/12 xl:w-4/12'>
|
<CardBox className='w-11/12 md:w-7/12 lg:w-6/12 xl:w-4/12'>
|
||||||
{isInvitation && <p className='text-xl mb-2'>Set Password</p>}
|
{isInvitation && <p className='text-xl mb-2'>Şifre Belirle</p>}
|
||||||
{!isInvitation && <p className='text-xl mb-2'>Reset Password</p>}
|
{!isInvitation && <p className='text-xl mb-2'>Şifreyi Sıfırla</p>}
|
||||||
<p className='text-base mb-4'>Enter your new password</p>
|
<p className='text-base mb-4'>Yeni şifrenizi girin</p>
|
||||||
|
|
||||||
<Formik
|
<Formik
|
||||||
initialValues={{
|
initialValues={{
|
||||||
@ -74,7 +74,7 @@ export default function PasswordSetOrReset() {
|
|||||||
<Field
|
<Field
|
||||||
type='password'
|
type='password'
|
||||||
name='password'
|
name='password'
|
||||||
placeholder='Password'
|
placeholder='Şifre'
|
||||||
/>
|
/>
|
||||||
</FormField>
|
</FormField>
|
||||||
<FormField
|
<FormField
|
||||||
@ -82,7 +82,7 @@ export default function PasswordSetOrReset() {
|
|||||||
<Field
|
<Field
|
||||||
type='password'
|
type='password'
|
||||||
name='confirm'
|
name='confirm'
|
||||||
placeholder='Confirm Password'
|
placeholder='Şifre Tekrarı'
|
||||||
/>
|
/>
|
||||||
</FormField>
|
</FormField>
|
||||||
|
|
||||||
@ -93,10 +93,10 @@ export default function PasswordSetOrReset() {
|
|||||||
disabled={loading}
|
disabled={loading}
|
||||||
label={
|
label={
|
||||||
loading
|
loading
|
||||||
? 'Loading...'
|
? 'Yükleniyor...'
|
||||||
: isInvitation
|
: isInvitation
|
||||||
? 'Set Password'
|
? 'Şifre Belirle'
|
||||||
: 'Reset Password'
|
: 'Şifreyi Sıfırla'
|
||||||
}
|
}
|
||||||
color='info'
|
color='info'
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -93,7 +93,7 @@ const CardPermissions = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && permissions.length === 0 && (
|
{!loading && permissions.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -70,7 +70,7 @@ const ListPermissions = ({ permissions, loading, onDelete, currentPage, numPages
|
|||||||
))}
|
))}
|
||||||
{!loading && permissions.length === 0 && (
|
{!loading && permissions.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,18 +326,18 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -356,12 +356,12 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,7 +369,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -383,11 +383,11 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSamplePermissions = ({ filterItems, setFilterItems, filters, showGrid
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'Name',
|
headerName: 'Yetki Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -141,7 +141,7 @@ const CardPipeline_stages = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && pipeline_stages.length === 0 && (
|
{!loading && pipeline_stages.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -102,7 +102,7 @@ const ListPipeline_stages = ({ pipeline_stages, loading, onDelete, currentPage,
|
|||||||
))}
|
))}
|
||||||
{!loading && pipeline_stages.length === 0 && (
|
{!loading && pipeline_stages.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -277,7 +277,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -301,7 +301,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -311,7 +311,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -326,18 +326,18 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -356,12 +356,12 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -369,7 +369,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -383,11 +383,11 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -395,12 +395,12 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -413,13 +413,13 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -429,14 +429,14 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ const TableSamplePipeline_stages = ({ filterItems, setFilterItems, filters, show
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'StageName',
|
headerName: 'Aşama Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'sort_order',
|
field: 'sort_order',
|
||||||
headerName: 'SortOrder',
|
headerName: 'Sıralama No',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -74,7 +74,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'stage_type',
|
field: 'stage_type',
|
||||||
headerName: 'StageType',
|
headerName: 'Aşama Türü',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -111,7 +111,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'is_active',
|
field: 'is_active',
|
||||||
headerName: 'IsActive',
|
headerName: 'Aktif',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -129,7 +129,7 @@ const CardPipelines = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && pipelines.length === 0 && (
|
{!loading && pipelines.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -94,7 +94,7 @@ const ListPipelines = ({ pipelines, loading, onDelete, currentPage, numPages, on
|
|||||||
))}
|
))}
|
||||||
{!loading && pipelines.length === 0 && (
|
{!loading && pipelines.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -279,7 +279,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -303,7 +303,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -313,7 +313,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -328,18 +328,18 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -358,12 +358,12 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -371,7 +371,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
@ -385,11 +385,11 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçerik'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -397,12 +397,12 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -415,13 +415,13 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -431,14 +431,14 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -463,7 +463,7 @@ const TableSamplePipelines = ({ filterItems, setFilterItems, filters, showGrid }
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'PipelineName',
|
headerName: 'Pipeline Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'module',
|
field: 'module',
|
||||||
headerName: 'Module',
|
headerName: 'Modül',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -95,7 +95,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'is_default',
|
field: 'is_default',
|
||||||
headerName: 'IsDefault',
|
headerName: 'Varsayılan',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>OperationName</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Operasyon Adı</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.name }
|
{ item.name }
|
||||||
@ -90,7 +90,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Sequence</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Sıra</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.sequence }
|
{ item.sequence }
|
||||||
@ -102,7 +102,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -114,7 +114,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ScheduledStartAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Planlanan Başlangıç Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.scheduled_start_at) }
|
{ dataFormatter.dateTimeFormatter(item.scheduled_start_at) }
|
||||||
@ -126,7 +126,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ScheduledEndAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Planlanan Bitiş Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.scheduled_end_at) }
|
{ dataFormatter.dateTimeFormatter(item.scheduled_end_at) }
|
||||||
@ -138,7 +138,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>StartedAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Başlangıç Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.started_at) }
|
{ dataFormatter.dateTimeFormatter(item.started_at) }
|
||||||
@ -150,7 +150,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>EndedAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Bitiş Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.ended_at) }
|
{ dataFormatter.dateTimeFormatter(item.ended_at) }
|
||||||
@ -162,7 +162,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ProductionOrder</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Üretim Emri</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.production_ordersOneListFormatter(item.production_order) }
|
{ dataFormatter.production_ordersOneListFormatter(item.production_order) }
|
||||||
@ -174,7 +174,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Machine</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Makine</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.machinesOneListFormatter(item.machine) }
|
{ dataFormatter.machinesOneListFormatter(item.machine) }
|
||||||
@ -186,7 +186,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>AssignedTo</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Atanan Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.assigned_to) }
|
{ dataFormatter.usersOneListFormatter(item.assigned_to) }
|
||||||
@ -198,7 +198,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>PlannedQuantity</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Planlanan Miktar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.planned_quantity }
|
{ item.planned_quantity }
|
||||||
@ -210,7 +210,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>GoodQuantity</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Uygun Miktar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.good_quantity }
|
{ item.good_quantity }
|
||||||
@ -222,7 +222,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ScrapQuantity</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Hurda Miktarı</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.scrap_quantity }
|
{ item.scrap_quantity }
|
||||||
@ -234,7 +234,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>WorkInstructions</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>İş Talimatları</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.work_instructions }
|
{ item.work_instructions }
|
||||||
@ -246,7 +246,7 @@ const CardProduction_operations = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Attachments</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Ekler</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium'>
|
<div className='font-medium'>
|
||||||
{dataFormatter.filesFormatter(item.attachments).map(link => (
|
{dataFormatter.filesFormatter(item.attachments).map(link => (
|
||||||
@ -268,7 +268,7 @@ const CardProduction_operations = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && production_operations.length === 0 && (
|
{!loading && production_operations.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>OperationName</p>
|
<p className={'text-xs text-gray-500 '}>Operasyon Adı</p>
|
||||||
<p className={'line-clamp-2'}>{ item.name }</p>
|
<p className={'line-clamp-2'}>{ item.name }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Sequence</p>
|
<p className={'text-xs text-gray-500 '}>Sıra</p>
|
||||||
<p className={'line-clamp-2'}>{ item.sequence }</p>
|
<p className={'line-clamp-2'}>{ item.sequence }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ScheduledStartAt</p>
|
<p className={'text-xs text-gray-500 '}>Planlanan Başlangıç Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_start_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_start_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ScheduledEndAt</p>
|
<p className={'text-xs text-gray-500 '}>Planlanan Bitiş Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_end_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_end_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>StartedAt</p>
|
<p className={'text-xs text-gray-500 '}>Başlangıç Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.started_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.started_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>EndedAt</p>
|
<p className={'text-xs text-gray-500 '}>Bitiş Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.ended_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.ended_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ProductionOrder</p>
|
<p className={'text-xs text-gray-500 '}>Üretim Emri</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.production_ordersOneListFormatter(item.production_order) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.production_ordersOneListFormatter(item.production_order) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Machine</p>
|
<p className={'text-xs text-gray-500 '}>Makine</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.machinesOneListFormatter(item.machine) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.machinesOneListFormatter(item.machine) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>AssignedTo</p>
|
<p className={'text-xs text-gray-500 '}>Atanan Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.assigned_to) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>PlannedQuantity</p>
|
<p className={'text-xs text-gray-500 '}>Planlanan Miktar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.planned_quantity }</p>
|
<p className={'line-clamp-2'}>{ item.planned_quantity }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>GoodQuantity</p>
|
<p className={'text-xs text-gray-500 '}>Uygun Miktar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.good_quantity }</p>
|
<p className={'line-clamp-2'}>{ item.good_quantity }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ScrapQuantity</p>
|
<p className={'text-xs text-gray-500 '}>Hurda Miktarı</p>
|
||||||
<p className={'line-clamp-2'}>{ item.scrap_quantity }</p>
|
<p className={'line-clamp-2'}>{ item.scrap_quantity }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>WorkInstructions</p>
|
<p className={'text-xs text-gray-500 '}>İş Talimatları</p>
|
||||||
<p className={'line-clamp-2'}>{ item.work_instructions }</p>
|
<p className={'line-clamp-2'}>{ item.work_instructions }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Attachments</p>
|
<p className={'text-xs text-gray-500 '}>Ekler</p>
|
||||||
{dataFormatter.filesFormatter(item.attachments).map(link => (
|
{dataFormatter.filesFormatter(item.attachments).map(link => (
|
||||||
<button
|
<button
|
||||||
key={link.publicUrl}
|
key={link.publicUrl}
|
||||||
@ -189,7 +189,7 @@ const ListProduction_operations = ({ production_operations, loading, onDelete, c
|
|||||||
))}
|
))}
|
||||||
{!loading && production_operations.length === 0 && (
|
{!loading && production_operations.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -310,7 +310,7 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -334,7 +334,7 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -344,7 +344,7 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer Seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -359,22 +359,22 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -389,12 +389,12 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -402,11 +402,11 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -416,11 +416,11 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçeren'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -428,12 +428,12 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -446,13 +446,13 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -462,14 +462,14 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -496,7 +496,7 @@ const TableSampleProduction_operations = ({ filterItems, setFilterItems, filters
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
headerName: 'OperationName',
|
headerName: 'Operasyon Adı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'sequence',
|
field: 'sequence',
|
||||||
headerName: 'Sequence',
|
headerName: 'Sıra',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -74,7 +74,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -89,7 +89,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'scheduled_start_at',
|
field: 'scheduled_start_at',
|
||||||
headerName: 'ScheduledStartAt',
|
headerName: 'Planlanan Başlangıç Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -107,7 +107,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'scheduled_end_at',
|
field: 'scheduled_end_at',
|
||||||
headerName: 'ScheduledEndAt',
|
headerName: 'Planlanan Bitiş Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -125,7 +125,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'started_at',
|
field: 'started_at',
|
||||||
headerName: 'StartedAt',
|
headerName: 'Başlangıç Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -143,7 +143,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'ended_at',
|
field: 'ended_at',
|
||||||
headerName: 'EndedAt',
|
headerName: 'Bitiş Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -161,7 +161,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'production_order',
|
field: 'production_order',
|
||||||
headerName: 'ProductionOrder',
|
headerName: 'Üretim Emri',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -183,7 +183,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'machine',
|
field: 'machine',
|
||||||
headerName: 'Machine',
|
headerName: 'Makine',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -205,7 +205,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'assigned_to',
|
field: 'assigned_to',
|
||||||
headerName: 'AssignedTo',
|
headerName: 'Atanan Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -227,7 +227,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'planned_quantity',
|
field: 'planned_quantity',
|
||||||
headerName: 'PlannedQuantity',
|
headerName: 'Planlanan Miktar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -243,7 +243,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'good_quantity',
|
field: 'good_quantity',
|
||||||
headerName: 'GoodQuantity',
|
headerName: 'Uygun Miktar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -259,7 +259,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'scrap_quantity',
|
field: 'scrap_quantity',
|
||||||
headerName: 'ScrapQuantity',
|
headerName: 'Hurda Miktarı',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -275,7 +275,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'work_instructions',
|
field: 'work_instructions',
|
||||||
headerName: 'WorkInstructions',
|
headerName: 'İş Talimatları',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -290,7 +290,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'attachments',
|
field: 'attachments',
|
||||||
headerName: 'Attachments',
|
headerName: 'Ekler',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>OrderNumber</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Emir Numarası</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.order_number }
|
{ item.order_number }
|
||||||
@ -90,7 +90,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Status</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Durum</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.status }
|
{ item.status }
|
||||||
@ -102,7 +102,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>PlannedStartAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Planlanan Başlangıç Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.planned_start_at) }
|
{ dataFormatter.dateTimeFormatter(item.planned_start_at) }
|
||||||
@ -114,7 +114,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>PlannedEndAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Planlanan Bitiş Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.planned_end_at) }
|
{ dataFormatter.dateTimeFormatter(item.planned_end_at) }
|
||||||
@ -126,7 +126,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ActualStartAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Gerçek Başlangıç Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.actual_start_at) }
|
{ dataFormatter.dateTimeFormatter(item.actual_start_at) }
|
||||||
@ -138,7 +138,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ActualEndAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Gerçek Bitiş Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.actual_end_at) }
|
{ dataFormatter.dateTimeFormatter(item.actual_end_at) }
|
||||||
@ -150,7 +150,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Owner</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Sorumlu Kişi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.owner) }
|
{ dataFormatter.usersOneListFormatter(item.owner) }
|
||||||
@ -162,7 +162,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>RelatedDeal</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>İlgili Fırsat</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dealsOneListFormatter(item.deal) }
|
{ dataFormatter.dealsOneListFormatter(item.deal) }
|
||||||
@ -174,7 +174,7 @@ const CardProduction_orders = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Notes</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Notlar</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.notes }
|
{ item.notes }
|
||||||
@ -189,7 +189,7 @@ const CardProduction_orders = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && production_orders.length === 0 && (
|
{!loading && production_orders.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>OrderNumber</p>
|
<p className={'text-xs text-gray-500 '}>Emir Numarası</p>
|
||||||
<p className={'line-clamp-2'}>{ item.order_number }</p>
|
<p className={'line-clamp-2'}>{ item.order_number }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Status</p>
|
<p className={'text-xs text-gray-500 '}>Durum</p>
|
||||||
<p className={'line-clamp-2'}>{ item.status }</p>
|
<p className={'line-clamp-2'}>{ item.status }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>PlannedStartAt</p>
|
<p className={'text-xs text-gray-500 '}>Planlanan Başlangıç Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.planned_start_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.planned_start_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>PlannedEndAt</p>
|
<p className={'text-xs text-gray-500 '}>Planlanan Bitiş Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.planned_end_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.planned_end_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ActualStartAt</p>
|
<p className={'text-xs text-gray-500 '}>Gerçek Başlangıç Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.actual_start_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.actual_start_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ActualEndAt</p>
|
<p className={'text-xs text-gray-500 '}>Gerçek Bitiş Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.actual_end_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.actual_end_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Owner</p>
|
<p className={'text-xs text-gray-500 '}>Sorumlu Kişi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.owner) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>RelatedDeal</p>
|
<p className={'text-xs text-gray-500 '}>İlgili Fırsat</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dealsOneListFormatter(item.deal) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dealsOneListFormatter(item.deal) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Notes</p>
|
<p className={'text-xs text-gray-500 '}>Notlar</p>
|
||||||
<p className={'line-clamp-2'}>{ item.notes }</p>
|
<p className={'line-clamp-2'}>{ item.notes }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ const ListProduction_orders = ({ production_orders, loading, onDelete, currentPa
|
|||||||
))}
|
))}
|
||||||
{!loading && production_orders.length === 0 && (
|
{!loading && production_orders.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -286,7 +286,7 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -310,7 +310,7 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -320,7 +320,7 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer Seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -335,22 +335,22 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -365,12 +365,12 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -378,11 +378,11 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -392,11 +392,11 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçeren'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -404,12 +404,12 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -422,13 +422,13 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -438,14 +438,14 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -476,7 +476,7 @@ const TableSampleProduction_orders = ({ filterItems, setFilterItems, filters, sh
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'order_number',
|
field: 'order_number',
|
||||||
headerName: 'OrderNumber',
|
headerName: 'Emir Numarası',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -58,7 +58,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
headerName: 'Status',
|
headerName: 'Durum',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -73,7 +73,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'planned_start_at',
|
field: 'planned_start_at',
|
||||||
headerName: 'PlannedStartAt',
|
headerName: 'Planlanan Başlangıç Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -91,7 +91,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'planned_end_at',
|
field: 'planned_end_at',
|
||||||
headerName: 'PlannedEndAt',
|
headerName: 'Planlanan Bitiş Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -109,7 +109,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'actual_start_at',
|
field: 'actual_start_at',
|
||||||
headerName: 'ActualStartAt',
|
headerName: 'Gerçek Başlangıç Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -127,7 +127,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'actual_end_at',
|
field: 'actual_end_at',
|
||||||
headerName: 'ActualEndAt',
|
headerName: 'Gerçek Bitiş Tarihi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -145,7 +145,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'owner',
|
field: 'owner',
|
||||||
headerName: 'Owner',
|
headerName: 'Sorumlu Kişi',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -167,7 +167,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'deal',
|
field: 'deal',
|
||||||
headerName: 'RelatedDeal',
|
headerName: 'İlgili Fırsat',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
@ -189,7 +189,7 @@ export const loadColumns = async (
|
|||||||
|
|
||||||
{
|
{
|
||||||
field: 'notes',
|
field: 'notes',
|
||||||
headerName: 'Notes',
|
headerName: 'Notlar',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
filterable: false,
|
filterable: false,
|
||||||
|
|||||||
@ -78,7 +78,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>InspectionNumber</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Kontrol Numarası</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.inspection_number }
|
{ item.inspection_number }
|
||||||
@ -90,7 +90,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>InspectionType</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Kontrol Türü</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.inspection_type }
|
{ item.inspection_type }
|
||||||
@ -102,7 +102,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Result</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Sonuç</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.result }
|
{ item.result }
|
||||||
@ -114,7 +114,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ScheduledAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Planlanan Tarih</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.scheduled_at) }
|
{ dataFormatter.dateTimeFormatter(item.scheduled_at) }
|
||||||
@ -126,7 +126,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>CompletedAt</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Tamamlanma Tarihi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.dateTimeFormatter(item.completed_at) }
|
{ dataFormatter.dateTimeFormatter(item.completed_at) }
|
||||||
@ -138,7 +138,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>ProductionOrder</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Üretim Emri</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.production_ordersOneListFormatter(item.production_order) }
|
{ dataFormatter.production_ordersOneListFormatter(item.production_order) }
|
||||||
@ -150,7 +150,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Operation</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Operasyon</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.production_operationsOneListFormatter(item.operation) }
|
{ dataFormatter.production_operationsOneListFormatter(item.operation) }
|
||||||
@ -162,7 +162,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Inspector</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Denetçi</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ dataFormatter.usersOneListFormatter(item.inspector) }
|
{ dataFormatter.usersOneListFormatter(item.inspector) }
|
||||||
@ -174,7 +174,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>Findings</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Bulgular</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium line-clamp-4'>
|
<div className='font-medium line-clamp-4'>
|
||||||
{ item.findings }
|
{ item.findings }
|
||||||
@ -186,7 +186,7 @@ const CardQuality_inspections = ({
|
|||||||
|
|
||||||
|
|
||||||
<div className='flex justify-between gap-x-4 py-3'>
|
<div className='flex justify-between gap-x-4 py-3'>
|
||||||
<dt className=' text-gray-500 dark:text-dark-600'>EvidenceFiles</dt>
|
<dt className=' text-gray-500 dark:text-dark-600'>Kanıt Dosyaları</dt>
|
||||||
<dd className='flex items-start gap-x-2'>
|
<dd className='flex items-start gap-x-2'>
|
||||||
<div className='font-medium'>
|
<div className='font-medium'>
|
||||||
{dataFormatter.filesFormatter(item.evidence_files).map(link => (
|
{dataFormatter.filesFormatter(item.evidence_files).map(link => (
|
||||||
@ -208,7 +208,7 @@ const CardQuality_inspections = ({
|
|||||||
))}
|
))}
|
||||||
{!loading && quality_inspections.length === 0 && (
|
{!loading && quality_inspections.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>InspectionNumber</p>
|
<p className={'text-xs text-gray-500 '}>Kontrol Numarası</p>
|
||||||
<p className={'line-clamp-2'}>{ item.inspection_number }</p>
|
<p className={'line-clamp-2'}>{ item.inspection_number }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>InspectionType</p>
|
<p className={'text-xs text-gray-500 '}>Kontrol Türü</p>
|
||||||
<p className={'line-clamp-2'}>{ item.inspection_type }</p>
|
<p className={'line-clamp-2'}>{ item.inspection_type }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Result</p>
|
<p className={'text-xs text-gray-500 '}>Sonuç</p>
|
||||||
<p className={'line-clamp-2'}>{ item.result }</p>
|
<p className={'line-clamp-2'}>{ item.result }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ScheduledAt</p>
|
<p className={'text-xs text-gray-500 '}>Planlanan Tarih</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.scheduled_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>CompletedAt</p>
|
<p className={'text-xs text-gray-500 '}>Tamamlanma Tarihi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.completed_at) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.dateTimeFormatter(item.completed_at) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>ProductionOrder</p>
|
<p className={'text-xs text-gray-500 '}>Üretim Emri</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.production_ordersOneListFormatter(item.production_order) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.production_ordersOneListFormatter(item.production_order) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Operation</p>
|
<p className={'text-xs text-gray-500 '}>Operasyon</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.production_operationsOneListFormatter(item.operation) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.production_operationsOneListFormatter(item.operation) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Inspector</p>
|
<p className={'text-xs text-gray-500 '}>Denetçi</p>
|
||||||
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.inspector) }</p>
|
<p className={'line-clamp-2'}>{ dataFormatter.usersOneListFormatter(item.inspector) }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>Findings</p>
|
<p className={'text-xs text-gray-500 '}>Bulgular</p>
|
||||||
<p className={'line-clamp-2'}>{ item.findings }</p>
|
<p className={'line-clamp-2'}>{ item.findings }</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
|
|
||||||
|
|
||||||
<div className={'flex-1 px-3'}>
|
<div className={'flex-1 px-3'}>
|
||||||
<p className={'text-xs text-gray-500 '}>EvidenceFiles</p>
|
<p className={'text-xs text-gray-500 '}>Kanıt Dosyaları</p>
|
||||||
{dataFormatter.filesFormatter(item.evidence_files).map(link => (
|
{dataFormatter.filesFormatter(item.evidence_files).map(link => (
|
||||||
<button
|
<button
|
||||||
key={link.publicUrl}
|
key={link.publicUrl}
|
||||||
@ -149,7 +149,7 @@ const ListQuality_inspections = ({ quality_inspections, loading, onDelete, curre
|
|||||||
))}
|
))}
|
||||||
{!loading && quality_inspections.length === 0 && (
|
{!loading && quality_inspections.length === 0 && (
|
||||||
<div className='col-span-full flex items-center justify-center h-40'>
|
<div className='col-span-full flex items-center justify-center h-40'>
|
||||||
<p className=''>No data to display</p>
|
<p className=''>Gösterilecek veri yok</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -286,7 +286,7 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
return (
|
return (
|
||||||
<div key={filterItem.id} className="flex mb-4">
|
<div key={filterItem.id} className="flex mb-4">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Filter</div>
|
<div className=" text-gray-500 font-bold">Filtre</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='selectedField'
|
name='selectedField'
|
||||||
@ -310,7 +310,7 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
)?.type === 'enum' ? (
|
)?.type === 'enum' ? (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className="text-gray-500 font-bold">
|
<div className="text-gray-500 font-bold">
|
||||||
Value
|
Değer
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
@ -320,7 +320,7 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
>
|
>
|
||||||
<option value="">Select Value</option>
|
<option value="">Değer Seçin</option>
|
||||||
{filters.find((filter) =>
|
{filters.find((filter) =>
|
||||||
filter.title === filterItem?.fields?.selectedField
|
filter.title === filterItem?.fields?.selectedField
|
||||||
)?.options?.map((option) => (
|
)?.options?.map((option) => (
|
||||||
@ -335,22 +335,22 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
)?.number ? (
|
)?.number ? (
|
||||||
<div className="flex flex-row w-full mr-3">
|
<div className="flex flex-row w-full mr-3">
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">From</div>
|
<div className=" text-gray-500 font-bold">Başlangıç</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full">
|
<div className="flex flex-col w-full">
|
||||||
<div className=" text-gray-500 font-bold">To</div>
|
<div className=" text-gray-500 font-bold">Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -365,12 +365,12 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
<div className='flex flex-row w-full mr-3'>
|
<div className='flex flex-row w-full mr-3'>
|
||||||
<div className='flex flex-col w-full mr-3'>
|
<div className='flex flex-col w-full mr-3'>
|
||||||
<div className=' text-gray-500 font-bold'>
|
<div className=' text-gray-500 font-bold'>
|
||||||
From
|
Başlangıç
|
||||||
</div>
|
</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueFrom'
|
name='filterValueFrom'
|
||||||
placeholder='From'
|
placeholder='Başlangıç'
|
||||||
id='filterValueFrom'
|
id='filterValueFrom'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueFrom || ''}
|
value={filterItem?.fields?.filterValueFrom || ''}
|
||||||
@ -378,11 +378,11 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col w-full'>
|
<div className='flex flex-col w-full'>
|
||||||
<div className=' text-gray-500 font-bold'>To</div>
|
<div className=' text-gray-500 font-bold'>Bitiş</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValueTo'
|
name='filterValueTo'
|
||||||
placeholder='to'
|
placeholder='bitiş'
|
||||||
id='filterValueTo'
|
id='filterValueTo'
|
||||||
type='datetime-local'
|
type='datetime-local'
|
||||||
value={filterItem?.fields?.filterValueTo || ''}
|
value={filterItem?.fields?.filterValueTo || ''}
|
||||||
@ -392,11 +392,11 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col w-full mr-3">
|
<div className="flex flex-col w-full mr-3">
|
||||||
<div className=" text-gray-500 font-bold">Contains</div>
|
<div className=" text-gray-500 font-bold">İçerir</div>
|
||||||
<Field
|
<Field
|
||||||
className={controlClasses}
|
className={controlClasses}
|
||||||
name='filterValue'
|
name='filterValue'
|
||||||
placeholder='Contained'
|
placeholder='İçeren'
|
||||||
id='filterValue'
|
id='filterValue'
|
||||||
value={filterItem?.fields?.filterValue || ''}
|
value={filterItem?.fields?.filterValue || ''}
|
||||||
onChange={handleChange(filterItem.id)}
|
onChange={handleChange(filterItem.id)}
|
||||||
@ -404,12 +404,12 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<div className=" text-gray-500 font-bold">Action</div>
|
<div className=" text-gray-500 font-bold">İşlem</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
type='reset'
|
type='reset'
|
||||||
color='danger'
|
color='danger'
|
||||||
label='Delete'
|
label='Sil'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
deleteFilter(filterItem.id)
|
deleteFilter(filterItem.id)
|
||||||
}}
|
}}
|
||||||
@ -422,13 +422,13 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2 mr-3"
|
className="my-2 mr-3"
|
||||||
color="success"
|
color="success"
|
||||||
label='Apply'
|
label='Uygula'
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
/>
|
/>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
className="my-2"
|
className="my-2"
|
||||||
color='info'
|
color='info'
|
||||||
label='Cancel'
|
label='İptal'
|
||||||
onClick={handleReset}
|
onClick={handleReset}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -438,14 +438,14 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
</CardBox> : null
|
</CardBox> : null
|
||||||
}
|
}
|
||||||
<CardBoxModal
|
<CardBoxModal
|
||||||
title="Please confirm"
|
title="Lütfen onaylayın"
|
||||||
buttonColor="info"
|
buttonColor="info"
|
||||||
buttonLabel={loading ? 'Deleting...' : 'Confirm'}
|
buttonLabel={loading ? 'Siliniyor...' : 'Onayla'}
|
||||||
isActive={isModalTrashActive}
|
isActive={isModalTrashActive}
|
||||||
onConfirm={handleDeleteAction}
|
onConfirm={handleDeleteAction}
|
||||||
onCancel={handleModalAction}
|
onCancel={handleModalAction}
|
||||||
>
|
>
|
||||||
<p>Are you sure you want to delete this item?</p>
|
<p>Bu kaydı silmek istediğinize emin misiniz?</p>
|
||||||
</CardBoxModal>
|
</CardBoxModal>
|
||||||
|
|
||||||
|
|
||||||
@ -476,7 +476,7 @@ const TableSampleQuality_inspections = ({ filterItems, setFilterItems, filters,
|
|||||||
<BaseButton
|
<BaseButton
|
||||||
className='me-4'
|
className='me-4'
|
||||||
color='danger'
|
color='danger'
|
||||||
label={`Delete ${selectedRows.length === 1 ? 'Row' : 'Rows'}`}
|
label={`Seçili ${selectedRows.length === 1 ? 'Satırı' : 'Satırları'} Sil`}
|
||||||
onClick={() => onDeleteRows(selectedRows)}
|
onClick={() => onDeleteRows(selectedRows)}
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('delete-rows-button'),
|
document.getElementById('delete-rows-button'),
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user