<Button değişiklikleri
This commit is contained in:
parent
5110349a6b
commit
bf5088609e
134 changed files with 1126 additions and 1132 deletions
|
|
@ -270,6 +270,18 @@
|
||||||
"en": "Login",
|
"en": "Login",
|
||||||
"tr": "Giriş"
|
"tr": "Giriş"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "Save",
|
||||||
|
"en": "Save",
|
||||||
|
"tr": "Kaydet"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "Saving",
|
||||||
|
"en": "Saving...",
|
||||||
|
"tr": "Kaydediliyor..."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"resourceName": "AbpAccount",
|
"resourceName": "AbpAccount",
|
||||||
"key": "Cancel",
|
"key": "Cancel",
|
||||||
|
|
@ -1014,6 +1026,36 @@
|
||||||
"en": "Manager",
|
"en": "Manager",
|
||||||
"tr": "Yönetici"
|
"tr": "Yönetici"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "Submit",
|
||||||
|
"en": "Submit",
|
||||||
|
"tr": "Gönder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "Submitting",
|
||||||
|
"en": "Submitting",
|
||||||
|
"tr": "Submitting..."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "SendCode",
|
||||||
|
"en": "Send Code",
|
||||||
|
"tr": "Kod Gönder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "SendingCode",
|
||||||
|
"en": "Sending code...",
|
||||||
|
"tr": "Kod Gönderiliyor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "OK",
|
||||||
|
"en": "OK",
|
||||||
|
"tr": "Tamam"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"resourceName": "Platform",
|
"resourceName": "Platform",
|
||||||
"key": "Cancel",
|
"key": "Cancel",
|
||||||
|
|
@ -2382,6 +2424,12 @@
|
||||||
"en": "Sign Up",
|
"en": "Sign Up",
|
||||||
"tr": "Üye Ol"
|
"tr": "Üye Ol"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "Abp.Account.CreatingAccount",
|
||||||
|
"en": "Creating Account...",
|
||||||
|
"tr": "Hesap oluşturuluyor..."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"resourceName": "Platform",
|
"resourceName": "Platform",
|
||||||
"key": "Abp.Account.SignUp.Message",
|
"key": "Abp.Account.SignUp.Message",
|
||||||
|
|
@ -4122,12 +4170,6 @@
|
||||||
"en": "Edit Room",
|
"en": "Edit Room",
|
||||||
"tr": "Odayı Düzenle"
|
"tr": "Odayı Düzenle"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"resourceName": "Platform",
|
|
||||||
"key": "App.Videoroom.SaveChanges",
|
|
||||||
"en": "Save Changes",
|
|
||||||
"tr": "Değişiklikleri Kaydet"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"resourceName": "Platform",
|
"resourceName": "Platform",
|
||||||
"key": "App.Videoroom.CameraOff",
|
"key": "App.Videoroom.CameraOff",
|
||||||
|
|
@ -7316,10 +7358,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"resourceName": "Platform",
|
"resourceName": "Platform",
|
||||||
"key": "Public.common.send",
|
"key": "Send",
|
||||||
"tr": "Gönder",
|
"tr": "Gönder",
|
||||||
"en": "Send"
|
"en": "Send"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "Resend",
|
||||||
|
"tr": "Tekrar Gönder",
|
||||||
|
"en": "Resend"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"resourceName": "Platform",
|
"resourceName": "Platform",
|
||||||
"key": "Public.common.subscribe",
|
"key": "Public.common.subscribe",
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,6 @@ export const PanelManager: React.FC<PanelManagerProps> = ({
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
variant={panelState[key] ? "twoTone" : "plain"}
|
variant={panelState[key] ? "twoTone" : "plain"}
|
||||||
color="blue-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
title={panelState[key] ? "Hide" : "Show"}
|
title={panelState[key] ? "Hide" : "Show"}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -289,7 +289,6 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
|
||||||
onClick={() => openTailwindModal(property.name)}
|
onClick={() => openTailwindModal(property.name)}
|
||||||
icon={<FaCode className="w-3 h-3" />}
|
icon={<FaCode className="w-3 h-3" />}
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="blue-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
title="Select Tailwind Classes"
|
title="Select Tailwind Classes"
|
||||||
>
|
>
|
||||||
|
|
@ -325,7 +324,6 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
|
||||||
onClick={() => openTailwindModal(property.name)}
|
onClick={() => openTailwindModal(property.name)}
|
||||||
icon={<FaCode className="w-3 h-3" />}
|
icon={<FaCode className="w-3 h-3" />}
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="blue-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
title="Select Tailwind Classes"
|
title="Select Tailwind Classes"
|
||||||
>
|
>
|
||||||
|
|
@ -498,7 +496,6 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
|
||||||
<div className="flex gap-2 p-1">
|
<div className="flex gap-2 p-1">
|
||||||
<Button
|
<Button
|
||||||
variant={activeTab === "props" ? "twoTone" : "plain"}
|
variant={activeTab === "props" ? "twoTone" : "plain"}
|
||||||
color="blue-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
onClick={() => setActiveTab("props")}
|
onClick={() => setActiveTab("props")}
|
||||||
>
|
>
|
||||||
|
|
@ -506,7 +503,6 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
variant={activeTab === "hooks" ? "twoTone" : "plain"}
|
variant={activeTab === "hooks" ? "twoTone" : "plain"}
|
||||||
color="blue-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
onClick={() => setActiveTab("hooks")}
|
onClick={() => setActiveTab("hooks")}
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -111,8 +111,7 @@ const TailwindModal: React.FC<TailwindModalProps> = ({
|
||||||
>
|
>
|
||||||
<Button
|
<Button
|
||||||
block
|
block
|
||||||
variant="twoTone"
|
variant="solid"
|
||||||
color="blue-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
onClick={() => handleClassSelect(className)}
|
onClick={() => handleClassSelect(className)}
|
||||||
className="justify-start"
|
className="justify-start"
|
||||||
|
|
@ -142,7 +141,6 @@ const TailwindModal: React.FC<TailwindModalProps> = ({
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="blue-600"
|
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={onClose}
|
onClick={onClose}
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -347,8 +347,6 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
variant={activeTab === tab ? 'solid' : 'plain'}
|
variant={activeTab === tab ? 'solid' : 'plain'}
|
||||||
color="blue-600"
|
|
||||||
size="sm"
|
|
||||||
className={activeTab === tab ? 'shadow-md' : ''}
|
className={activeTab === tab ? 'shadow-md' : ''}
|
||||||
>
|
>
|
||||||
<span className="capitalize">{tab}</span>
|
<span className="capitalize">{tab}</span>
|
||||||
|
|
@ -379,7 +377,6 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
|
||||||
disabled={generating}
|
disabled={generating}
|
||||||
icon={<FaFileExcel className="w-3.5 h-3.5" />}
|
icon={<FaFileExcel className="w-3.5 h-3.5" />}
|
||||||
variant="twoTone"
|
variant="twoTone"
|
||||||
color="green-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
>
|
>
|
||||||
{translate('::App.Listforms.ImportManager.ExcelTemplate')}
|
{translate('::App.Listforms.ImportManager.ExcelTemplate')}
|
||||||
|
|
@ -390,7 +387,6 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
|
||||||
disabled={generating}
|
disabled={generating}
|
||||||
icon={<FaFileAlt className="w-3.5 h-3.5" />}
|
icon={<FaFileAlt className="w-3.5 h-3.5" />}
|
||||||
variant="twoTone"
|
variant="twoTone"
|
||||||
color="blue-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
>
|
>
|
||||||
{translate('::App.Listforms.ImportManager.CsvTemplate')}
|
{translate('::App.Listforms.ImportManager.CsvTemplate')}
|
||||||
|
|
@ -607,7 +603,6 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
|
||||||
}}
|
}}
|
||||||
icon={<FaSync className="w-4 h-4" />}
|
icon={<FaSync className="w-4 h-4" />}
|
||||||
variant="twoTone"
|
variant="twoTone"
|
||||||
color="blue-600"
|
|
||||||
size="xs"
|
size="xs"
|
||||||
title={translate('::App.Listforms.ImportManager.RefreshExecutionDetails')}
|
title={translate('::App.Listforms.ImportManager.RefreshExecutionDetails')}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -329,7 +329,6 @@ export const ImportPreview: React.FC<ImportPreviewProps> = ({
|
||||||
loading={loading}
|
loading={loading}
|
||||||
icon={<FaPlay className="w-4 h-4" />}
|
icon={<FaPlay className="w-4 h-4" />}
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="blue-600"
|
|
||||||
size="sm"
|
size="sm"
|
||||||
>
|
>
|
||||||
{loading
|
{loading
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import View from '@/views/Views'
|
import View from '@/views/Views'
|
||||||
import React, { useEffect, useState } from 'react'
|
import React, { useEffect, useState } from 'react'
|
||||||
import { useLocation, Link } from 'react-router-dom'
|
import { useLocation, Link, useNavigate } from 'react-router-dom'
|
||||||
import { FaFacebook, FaTwitter, FaLinkedin, FaInstagram } from 'react-icons/fa'
|
import { FaFacebook, FaTwitter, FaLinkedin, FaInstagram } from 'react-icons/fa'
|
||||||
import {
|
import {
|
||||||
LuMenu,
|
LuMenu,
|
||||||
|
|
@ -36,6 +36,7 @@ interface NavLink {
|
||||||
|
|
||||||
const PublicLayout = () => {
|
const PublicLayout = () => {
|
||||||
const location = useLocation()
|
const location = useLocation()
|
||||||
|
const navigate = useNavigate()
|
||||||
const { translate } = useLocalization()
|
const { translate } = useLocalization()
|
||||||
const [isDarkMode, setThemeMode] = useDarkMode()
|
const [isDarkMode, setThemeMode] = useDarkMode()
|
||||||
|
|
||||||
|
|
@ -155,7 +156,7 @@ const PublicLayout = () => {
|
||||||
size="xs"
|
size="xs"
|
||||||
className={`!h-8 !w-8 xl:!w-auto !px-0 xl:!px-2.5 !rounded-r-md !rounded-l-none !border-transparent !shadow-none ${
|
className={`!h-8 !w-8 xl:!w-auto !px-0 xl:!px-2.5 !rounded-r-md !rounded-l-none !border-transparent !shadow-none ${
|
||||||
isDarkMode
|
isDarkMode
|
||||||
? '!bg-white !text-gray-950'
|
? '!bg-gray-300 !text-gray-800'
|
||||||
: '!bg-transparent !text-gray-300 hover:!bg-transparent hover:!text-white'
|
: '!bg-transparent !text-gray-300 hover:!bg-transparent hover:!text-white'
|
||||||
}`}
|
}`}
|
||||||
/>
|
/>
|
||||||
|
|
@ -251,13 +252,15 @@ const PublicLayout = () => {
|
||||||
.filter((l) => isLoginLink(l.resourceKey))
|
.filter((l) => isLoginLink(l.resourceKey))
|
||||||
.map((link) =>
|
.map((link) =>
|
||||||
link.path ? (
|
link.path ? (
|
||||||
<Link
|
<Button
|
||||||
key={link.path}
|
key={link.path}
|
||||||
to={link.path}
|
type="button"
|
||||||
className="inline-flex h-9 items-center gap-1.5 px-4 text-sm font-semibold text-white bg-blue-600 hover:bg-blue-500 rounded-lg shadow-md shadow-blue-900/30 transition-all duration-200 hover:shadow-blue-700/40 hover:-translate-y-px"
|
variant="solid"
|
||||||
|
shape="round"
|
||||||
|
onClick={() => navigate(link.path!)}
|
||||||
>
|
>
|
||||||
{link.name}
|
{link.name}
|
||||||
</Link>
|
</Button>
|
||||||
) : null,
|
) : null,
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,7 @@ export const BillingControls: React.FC<BillingControlsProps> = ({
|
||||||
onClick={() => !hasCartItems && setGlobalBillingCycle('monthly')}
|
onClick={() => !hasCartItems && setGlobalBillingCycle('monthly')}
|
||||||
disabled={hasCartItems}
|
disabled={hasCartItems}
|
||||||
variant={globalBillingCycle === 'monthly' ? 'solid' : 'default'}
|
variant={globalBillingCycle === 'monthly' ? 'solid' : 'default'}
|
||||||
color="blue-600"
|
size="xs"
|
||||||
size="sm"
|
|
||||||
className={globalBillingCycle === 'monthly' ? 'shadow-md' : ''}
|
className={globalBillingCycle === 'monthly' ? 'shadow-md' : ''}
|
||||||
title={
|
title={
|
||||||
hasCartItems ? 'Sepette ürün varken faturalama döngüsü değiştirilemez' : undefined
|
hasCartItems ? 'Sepette ürün varken faturalama döngüsü değiştirilemez' : undefined
|
||||||
|
|
@ -66,8 +65,7 @@ export const BillingControls: React.FC<BillingControlsProps> = ({
|
||||||
onClick={() => !hasCartItems && setGlobalBillingCycle('yearly')}
|
onClick={() => !hasCartItems && setGlobalBillingCycle('yearly')}
|
||||||
disabled={hasCartItems}
|
disabled={hasCartItems}
|
||||||
variant={globalBillingCycle === 'yearly' ? 'solid' : 'default'}
|
variant={globalBillingCycle === 'yearly' ? 'solid' : 'default'}
|
||||||
color="blue-600"
|
size="xs"
|
||||||
size="sm"
|
|
||||||
className={globalBillingCycle === 'yearly' ? 'shadow-md' : ''}
|
className={globalBillingCycle === 'yearly' ? 'shadow-md' : ''}
|
||||||
title={
|
title={
|
||||||
hasCartItems ? 'Sepette ürün varken faturalama döngüsü değiştirilemez' : undefined
|
hasCartItems ? 'Sepette ürün varken faturalama döngüsü değiştirilemez' : undefined
|
||||||
|
|
@ -98,8 +96,8 @@ export const BillingControls: React.FC<BillingControlsProps> = ({
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div className="flex items-center space-x-2 bg-gray-50 px-2 py-1 rounded-lg dark:bg-gray-800">
|
<div className="flex items-center space-x-2 bg-gray-50 px-2 py-1 rounded-lg dark:bg-gray-800">
|
||||||
<span className="font-bold text-lg text-blue-600">{globalPeriod}</span>
|
<span className="font-bold text-lg text-gray-600 dark:text-white">{globalPeriod}</span>
|
||||||
<span className="text-sm text-gray-600 dark:text-gray-300">
|
<span className="text-xs text-gray-600 dark:text-white">
|
||||||
{globalBillingCycle === 'monthly'
|
{globalBillingCycle === 'monthly'
|
||||||
? translate('::Public.products.billingcycle.month')
|
? translate('::Public.products.billingcycle.month')
|
||||||
: translate('::Public.products.billingcycle.year')}
|
: translate('::Public.products.billingcycle.year')}
|
||||||
|
|
@ -119,10 +117,10 @@ export const BillingControls: React.FC<BillingControlsProps> = ({
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
onClick={onCartClick}
|
onClick={onCartClick}
|
||||||
icon={<FaShoppingCart className="w-5 h-5" />}
|
icon={<FaShoppingCart className="w-3 h-3" />}
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="green-600"
|
color="green-600"
|
||||||
size="sm"
|
size="xs"
|
||||||
className="relative shadow-md"
|
className="relative shadow-md"
|
||||||
>
|
>
|
||||||
<span className="font-medium text-sm">{translate('::Public.nav.basket')}</span>
|
<span className="font-medium text-sm">{translate('::Public.nav.basket')}</span>
|
||||||
|
|
|
||||||
|
|
@ -170,7 +170,6 @@ export const Cart: React.FC<CartProps> = ({
|
||||||
onClick={onCheckout}
|
onClick={onCheckout}
|
||||||
block
|
block
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="blue-600"
|
|
||||||
size="md"
|
size="md"
|
||||||
>
|
>
|
||||||
{translate('::Public.cart.checkout')}
|
{translate('::Public.cart.checkout')}
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ export const PaymentForm: React.FC<PaymentFormProps> = ({
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mx-auto px-4 lg:px-8 mb-6">
|
<div className="mx-auto px-4 lg:px-8 mt-5">
|
||||||
{loading ? (
|
{loading ? (
|
||||||
<div className="text-center py-12 text-gray-500">
|
<div className="text-center py-12 text-gray-500">
|
||||||
{translate('::App.Loading')}
|
{translate('::App.Loading')}
|
||||||
|
|
@ -258,14 +258,14 @@ export const PaymentForm: React.FC<PaymentFormProps> = ({
|
||||||
<FaLock className="w-5 h-5 text-green-600 mr-2" />{' '}
|
<FaLock className="w-5 h-5 text-green-600 mr-2" />{' '}
|
||||||
{translate('::Public.payment.method.title')}
|
{translate('::Public.payment.method.title')}
|
||||||
</h2>
|
</h2>
|
||||||
<div className="space-y-2">
|
<div className="space-y-3">
|
||||||
{paymentMethods.map((method) => (
|
{paymentMethods.map((method) => (
|
||||||
<label
|
<label
|
||||||
key={method.id}
|
key={method.id}
|
||||||
className={`flex items-center p-3 border-2 rounded-lg cursor-pointer transition-all ${
|
className={`group flex items-center gap-3 rounded-xl border p-4 cursor-pointer transition-all ${
|
||||||
selectedPaymentMethod === method.name
|
selectedPaymentMethod === method.name
|
||||||
? 'border-blue-500 bg-blue-50'
|
? 'border-blue-500 bg-blue-50 shadow-sm ring-1 ring-blue-500/20 dark:border-blue-400 dark:bg-blue-950/30 dark:ring-blue-400/20'
|
||||||
: 'border-gray-200 hover:border-gray-300 dark:border-gray-700 dark:hover:border-gray-500'
|
: 'border-gray-200 bg-white hover:border-blue-300 hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-950/40 dark:hover:border-blue-500 dark:hover:bg-gray-800/70'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|
@ -278,15 +278,30 @@ export const PaymentForm: React.FC<PaymentFormProps> = ({
|
||||||
}}
|
}}
|
||||||
className="sr-only"
|
className="sr-only"
|
||||||
/>
|
/>
|
||||||
<span className="text-2xl mr-3">{method.logo}</span>
|
<span
|
||||||
<div>
|
className={`flex h-10 w-10 shrink-0 items-center justify-center rounded-lg text-xl ${
|
||||||
<div className="font-medium text-gray-900 dark:text-gray-100">{method.name}</div>
|
selectedPaymentMethod === method.name
|
||||||
<div className="text-sm text-gray-600 dark:text-gray-300">
|
? 'bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-200'
|
||||||
|
: 'bg-gray-100 text-gray-500 group-hover:bg-blue-50 group-hover:text-blue-600 dark:bg-gray-800 dark:text-gray-300 dark:group-hover:bg-blue-900/30 dark:group-hover:text-blue-200'
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
{method.logo}
|
||||||
|
</span>
|
||||||
|
<div className="min-w-0 flex-1">
|
||||||
|
<div className="font-semibold text-gray-900 dark:text-gray-100">{method.name}</div>
|
||||||
|
<div className="text-sm text-gray-600 dark:text-gray-400">
|
||||||
{method.name === defaultPaymentMethod
|
{method.name === defaultPaymentMethod
|
||||||
? translate('::Public.payment.method.installmentsAvailable')
|
? translate('::Public.payment.method.installmentsAvailable')
|
||||||
: translate('::Public.payment.method.noCommission')}
|
: translate('::Public.payment.method.noCommission')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<span
|
||||||
|
className={`h-3 w-3 shrink-0 rounded-full border ${
|
||||||
|
selectedPaymentMethod === method.name
|
||||||
|
? 'border-blue-500 bg-blue-500 dark:border-blue-300 dark:bg-blue-300'
|
||||||
|
: 'border-gray-300 dark:border-gray-600'
|
||||||
|
}`}
|
||||||
|
/>
|
||||||
</label>
|
</label>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -304,8 +319,8 @@ export const PaymentForm: React.FC<PaymentFormProps> = ({
|
||||||
key={option.id}
|
key={option.id}
|
||||||
className={`flex flex-col items-center justify-center h-full p-4 border-2 rounded-xl cursor-pointer transition-all text-xs md:text-sm text-center select-none ${
|
className={`flex flex-col items-center justify-center h-full p-4 border-2 rounded-xl cursor-pointer transition-all text-xs md:text-sm text-center select-none ${
|
||||||
selectedInstallment?.installment === option.installment
|
selectedInstallment?.installment === option.installment
|
||||||
? 'border-blue-500 bg-blue-50 shadow-md scale-105'
|
? 'border-blue-500 bg-blue-50 shadow-md scale-105 dark:border-blue-400 dark:bg-blue-950/30 dark:shadow-blue-950/20'
|
||||||
: 'border-gray-200 hover:border-blue-200 dark:border-gray-700 dark:hover:border-blue-500'
|
: 'border-gray-200 bg-white hover:border-blue-200 hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-950/40 dark:hover:border-blue-500 dark:hover:bg-gray-800/70'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|
@ -323,7 +338,7 @@ export const PaymentForm: React.FC<PaymentFormProps> = ({
|
||||||
%{(option.commission * 100).toFixed(1)}
|
%{(option.commission * 100).toFixed(1)}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-blue-700 font-bold mb-1">
|
<div className="font-bold mb-1">
|
||||||
{option.installment > 1
|
{option.installment > 1
|
||||||
? `${option.installment} ${translate('::Public.payment.installments.monthly')}`
|
? `${option.installment} ${translate('::Public.payment.installments.monthly')}`
|
||||||
: translate('::Public.payment.installments.single')}
|
: translate('::Public.payment.installments.single')}
|
||||||
|
|
@ -457,7 +472,6 @@ export const PaymentForm: React.FC<PaymentFormProps> = ({
|
||||||
type="submit"
|
type="submit"
|
||||||
icon={<FaCreditCard className="w-5 h-5" />}
|
icon={<FaCreditCard className="w-5 h-5" />}
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="green-600"
|
|
||||||
size="sm"
|
size="sm"
|
||||||
>
|
>
|
||||||
{selectedPaymentMethod === 'bank-transfer'
|
{selectedPaymentMethod === 'bank-transfer'
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,6 @@ export const ProductCard: React.FC<ProductCardProps> = ({
|
||||||
disabled={isDisabled}
|
disabled={isDisabled}
|
||||||
block
|
block
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="blue-600"
|
|
||||||
size="md"
|
size="md"
|
||||||
className={!isDisabled ? 'hover:scale-[1.02] active:scale-[0.98]' : ''}
|
className={!isDisabled ? 'hover:scale-[1.02] active:scale-[0.98]' : ''}
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,6 @@ export const ProductCatalog: React.FC<ProductCatalogProps> = ({
|
||||||
onClick={() => setSelectedCategory(category)}
|
onClick={() => setSelectedCategory(category)}
|
||||||
block
|
block
|
||||||
variant={selectedCategory === category ? 'twoTone' : 'plain'}
|
variant={selectedCategory === category ? 'twoTone' : 'plain'}
|
||||||
color="blue-600"
|
|
||||||
size="md"
|
size="md"
|
||||||
className="justify-start text-left"
|
className="justify-start text-left"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,6 @@ export const TenantForm: React.FC<TenantFormProps> = ({ onSubmit }) => {
|
||||||
onClick={getTenantInfo}
|
onClick={getTenantInfo}
|
||||||
icon={<FaSearch className="w-4 h-4" />}
|
icon={<FaSearch className="w-4 h-4" />}
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="blue-600"
|
|
||||||
size="sm"
|
size="sm"
|
||||||
className="!h-[40px] min-w-[180px] sm:mr-2 sm:rounded-r-lg sm:rounded-l-none [&>span]:gap-2"
|
className="!h-[40px] min-w-[180px] sm:mr-2 sm:rounded-r-lg sm:rounded-l-none [&>span]:gap-2"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -798,11 +798,9 @@ const MessengerWidget = () => {
|
||||||
type="button"
|
type="button"
|
||||||
size="lg"
|
size="lg"
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="emerald-600"
|
|
||||||
shape="circle"
|
shape="circle"
|
||||||
icon={<IoChatbubbleEllipsesOutline />}
|
icon={<IoChatbubbleEllipsesOutline />}
|
||||||
onClick={() => (open ? closeWidget() : setOpen(true))}
|
onClick={() => (open ? closeWidget() : setOpen(true))}
|
||||||
className="!h-12 !w-12 !px-0 text-2xl shadow-xl transition hover:!bg-emerald-700"
|
|
||||||
/>
|
/>
|
||||||
{unread > 0 && (
|
{unread > 0 && (
|
||||||
<span className="absolute -right-1 -top-1 flex min-h-[20px] min-w-[20px] items-center justify-center rounded-full bg-red-500 px-1.5 text-xs font-semibold leading-none text-white ring-2 ring-white dark:ring-gray-800">
|
<span className="absolute -right-1 -top-1 flex min-h-[20px] min-w-[20px] items-center justify-center rounded-full bg-red-500 px-1.5 text-xs font-semibold leading-none text-white ring-2 ring-white dark:ring-gray-800">
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,7 @@ const _Search = ({ className }: { className?: string }) => {
|
||||||
onKeyDown={(e) => e.key === 'Enter' && handleSearch()}
|
onKeyDown={(e) => e.key === 'Enter' && handleSearch()}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<Button icon={<FaSearch />} size="sm" onClick={handleSearch}></Button>
|
<Button size="sm" variant='solid' icon={<FaSearch />} onClick={handleSearch}></Button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div className="flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-600">
|
<div className="flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-600">
|
||||||
|
|
|
||||||
|
|
@ -9,231 +9,210 @@ import { Spinner } from '../Spinner'
|
||||||
import type { CommonProps, TypeAttributes, ColorLevel } from '../@types/common'
|
import type { CommonProps, TypeAttributes, ColorLevel } from '../@types/common'
|
||||||
import type { ReactNode, ComponentPropsWithRef, MouseEvent } from 'react'
|
import type { ReactNode, ComponentPropsWithRef, MouseEvent } from 'react'
|
||||||
|
|
||||||
export interface ButtonProps
|
export interface ButtonProps extends CommonProps, Omit<ComponentPropsWithRef<'button'>, 'onClick'> {
|
||||||
extends CommonProps,
|
active?: boolean
|
||||||
Omit<ComponentPropsWithRef<'button'>, 'onClick'> {
|
block?: boolean
|
||||||
active?: boolean
|
color?: string
|
||||||
block?: boolean
|
disabled?: boolean
|
||||||
color?: string
|
icon?: string | ReactNode
|
||||||
disabled?: boolean
|
loading?: boolean
|
||||||
icon?: string | ReactNode
|
onClick?: (e: MouseEvent<HTMLButtonElement>) => void
|
||||||
loading?: boolean
|
shape?: TypeAttributes.Shape
|
||||||
onClick?: (e: MouseEvent<HTMLButtonElement>) => void
|
size?: TypeAttributes.Size
|
||||||
shape?: TypeAttributes.Shape
|
variant?: 'solid' | 'twoTone' | 'plain' | 'default'
|
||||||
size?: TypeAttributes.Size
|
|
||||||
variant?: 'solid' | 'twoTone' | 'plain' | 'default'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ButtonColor = {
|
type ButtonColor = {
|
||||||
bgColor: string
|
bgColor: string
|
||||||
hoverColor: string
|
hoverColor: string
|
||||||
activeColor: string
|
activeColor: string
|
||||||
textColor: string
|
textColor: string
|
||||||
}
|
}
|
||||||
|
|
||||||
const Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {
|
const Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {
|
||||||
const {
|
const {
|
||||||
active = false,
|
active = false,
|
||||||
block = false,
|
block = false,
|
||||||
children,
|
children,
|
||||||
className,
|
className,
|
||||||
color = '',
|
color = '',
|
||||||
disabled,
|
disabled,
|
||||||
icon,
|
icon,
|
||||||
loading = false,
|
loading = false,
|
||||||
shape = 'round',
|
shape = 'round',
|
||||||
size,
|
size = 'sm',
|
||||||
variant = 'default',
|
variant = 'default',
|
||||||
...rest
|
...rest
|
||||||
} = props
|
} = props
|
||||||
const { themeColor, controlSize, primaryColorLevel } = useConfig()
|
const { themeColor, controlSize, primaryColorLevel } = useConfig()
|
||||||
const formControlSize = useForm()?.size
|
const formControlSize = useForm()?.size
|
||||||
const inputGroupSize = useInputGroup()?.size
|
const inputGroupSize = useInputGroup()?.size
|
||||||
const defaultClass = 'button'
|
const defaultClass = 'button'
|
||||||
const sizeIconClass = 'inline-flex items-center justify-center'
|
const sizeIconClass = 'inline-flex items-center justify-center'
|
||||||
|
|
||||||
const splitedColor = color?.split('-') || []
|
const splitedColor = color?.split('-') || []
|
||||||
|
|
||||||
const buttonSize = size || inputGroupSize || formControlSize || controlSize
|
const buttonSize = size || inputGroupSize || formControlSize || controlSize
|
||||||
const buttonColor = splitedColor[0] || themeColor
|
const buttonColor = splitedColor[0] || themeColor
|
||||||
const buttonColorLevel = splitedColor[1] || primaryColorLevel
|
const buttonColorLevel = splitedColor[1] || primaryColorLevel
|
||||||
|
|
||||||
const [increaseLevel, decreaseLevel] = useColorLevel(
|
const [increaseLevel, decreaseLevel] = useColorLevel(buttonColorLevel as ColorLevel)
|
||||||
buttonColorLevel as ColorLevel
|
|
||||||
)
|
|
||||||
|
|
||||||
const getButtonSize = () => {
|
const getButtonSize = () => {
|
||||||
let sizeClass = ''
|
let sizeClass = ''
|
||||||
switch (buttonSize) {
|
switch (buttonSize) {
|
||||||
case SIZES.LG:
|
case SIZES.LG:
|
||||||
sizeClass = classNames(
|
sizeClass = classNames(
|
||||||
`h-${CONTROL_SIZES.lg}`,
|
`h-${CONTROL_SIZES.lg}`,
|
||||||
icon && !children
|
icon && !children ? `w-${CONTROL_SIZES.lg} ${sizeIconClass} text-2xl` : 'px-8 text-base',
|
||||||
? `w-${CONTROL_SIZES.lg} ${sizeIconClass} text-2xl`
|
)
|
||||||
: 'px-8 text-base'
|
break
|
||||||
)
|
case SIZES.SM:
|
||||||
break
|
sizeClass = classNames(
|
||||||
case SIZES.SM:
|
`h-${CONTROL_SIZES.sm}`,
|
||||||
sizeClass = classNames(
|
icon && !children ? `w-${CONTROL_SIZES.sm} ${sizeIconClass} text-lg` : 'px-3 text-sm',
|
||||||
`h-${CONTROL_SIZES.sm}`,
|
)
|
||||||
icon && !children
|
break
|
||||||
? `w-${CONTROL_SIZES.sm} ${sizeIconClass} text-lg`
|
case SIZES.XS:
|
||||||
: 'px-3 text-sm'
|
sizeClass = classNames(
|
||||||
)
|
`h-${CONTROL_SIZES.xs}`,
|
||||||
break
|
icon && !children ? `w-${CONTROL_SIZES.xs} ${sizeIconClass} text-base` : 'px-2 text-xs',
|
||||||
case SIZES.XS:
|
)
|
||||||
sizeClass = classNames(
|
break
|
||||||
`h-${CONTROL_SIZES.xs}`,
|
default:
|
||||||
icon && !children
|
sizeClass = classNames(
|
||||||
? `w-${CONTROL_SIZES.xs} ${sizeIconClass} text-base`
|
`h-${CONTROL_SIZES.md}`,
|
||||||
: 'px-2 text-xs'
|
icon && !children ? `w-${CONTROL_SIZES.md} ${sizeIconClass} text-xl` : 'px-8',
|
||||||
)
|
)
|
||||||
break
|
break
|
||||||
default:
|
}
|
||||||
sizeClass = classNames(
|
return sizeClass
|
||||||
`h-${CONTROL_SIZES.md}`,
|
}
|
||||||
icon && !children
|
|
||||||
? `w-${CONTROL_SIZES.md} ${sizeIconClass} text-xl`
|
const disabledClass = 'opacity-50 cursor-not-allowed'
|
||||||
: 'px-8'
|
|
||||||
)
|
const solidColor = () => {
|
||||||
break
|
const btn = {
|
||||||
}
|
bgColor: active
|
||||||
return sizeClass
|
? `bg-${buttonColor}-${increaseLevel}`
|
||||||
|
: `bg-${buttonColor}-${buttonColorLevel}`,
|
||||||
|
textColor: 'text-white',
|
||||||
|
hoverColor: active ? '' : `hover:bg-${buttonColor}-${decreaseLevel}`,
|
||||||
|
activeColor: `active:bg-${buttonColor}-${increaseLevel}`,
|
||||||
|
}
|
||||||
|
return getBtnColor(btn)
|
||||||
|
}
|
||||||
|
|
||||||
|
const twoToneColor = () => {
|
||||||
|
const btn = {
|
||||||
|
bgColor: active
|
||||||
|
? `bg-${buttonColor}-200 dark:bg-${buttonColor}-50`
|
||||||
|
: `bg-${buttonColor}-50 dark:bg-${buttonColor}-500 dark:bg-opacity-20`,
|
||||||
|
textColor: `text-${buttonColor}-${buttonColorLevel} dark:text-${buttonColor}-50`,
|
||||||
|
hoverColor: active
|
||||||
|
? ''
|
||||||
|
: `hover:bg-${buttonColor}-100 dark:hover:bg-${buttonColor}-500 dark:hover:bg-opacity-30`,
|
||||||
|
activeColor: `active:bg-${buttonColor}-200 dark:active:bg-${buttonColor}-500 dark:active:bg-opacity-40`,
|
||||||
|
}
|
||||||
|
return getBtnColor(btn)
|
||||||
|
}
|
||||||
|
|
||||||
|
const defaultColor = () => {
|
||||||
|
const btn = {
|
||||||
|
bgColor: active
|
||||||
|
? `bg-gray-100 border border-gray-300 dark:bg-gray-500 dark:border-gray-500`
|
||||||
|
: `bg-white border border-gray-300 dark:bg-gray-700 dark:border-gray-700`,
|
||||||
|
textColor: `text-gray-600 dark:text-gray-100`,
|
||||||
|
hoverColor: active ? '' : `hover:bg-gray-50 dark:hover:bg-gray-600`,
|
||||||
|
activeColor: `active:bg-gray-100 dark:active:bg-gray-500 dark:active:border-gray-500`,
|
||||||
|
}
|
||||||
|
return getBtnColor(btn)
|
||||||
|
}
|
||||||
|
|
||||||
|
const plainColor = () => {
|
||||||
|
const btn = {
|
||||||
|
bgColor: active ? `bg-gray-100 dark:bg-gray-500` : 'bg-transparent border border-transparent',
|
||||||
|
textColor: `text-gray-600 dark:text-gray-100`,
|
||||||
|
hoverColor: active ? '' : `hover:bg-gray-50 dark:hover:bg-gray-600`,
|
||||||
|
activeColor: `active:bg-gray-100 dark:active:bg-gray-500 dark:active:border-gray-500`,
|
||||||
|
}
|
||||||
|
return getBtnColor(btn)
|
||||||
|
}
|
||||||
|
|
||||||
|
const getBtnColor = ({ bgColor, hoverColor, activeColor, textColor }: ButtonColor) => {
|
||||||
|
return `${bgColor} ${
|
||||||
|
disabled || loading ? disabledClass : hoverColor + ' ' + activeColor
|
||||||
|
} ${textColor}`
|
||||||
|
}
|
||||||
|
|
||||||
|
const btnColor = () => {
|
||||||
|
switch (variant) {
|
||||||
|
case 'solid':
|
||||||
|
return solidColor()
|
||||||
|
case 'twoTone':
|
||||||
|
return twoToneColor()
|
||||||
|
case 'plain':
|
||||||
|
return plainColor()
|
||||||
|
case 'default':
|
||||||
|
return defaultColor()
|
||||||
|
default:
|
||||||
|
return defaultColor()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const classes = classNames(
|
||||||
|
defaultClass,
|
||||||
|
btnColor(),
|
||||||
|
`radius-${shape}`,
|
||||||
|
getButtonSize(),
|
||||||
|
className,
|
||||||
|
block ? 'w-full' : '',
|
||||||
|
)
|
||||||
|
|
||||||
|
const handleClick = (e: MouseEvent<HTMLButtonElement>) => {
|
||||||
|
const { onClick } = props
|
||||||
|
if (disabled || loading) {
|
||||||
|
e.preventDefault()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
onClick?.(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
const renderChildren = () => {
|
||||||
|
if (loading && children) {
|
||||||
|
return (
|
||||||
|
<span className="flex items-center justify-center">
|
||||||
|
<Spinner enableTheme={false} className="mr-1" />
|
||||||
|
{children}
|
||||||
|
</span>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
const disabledClass = 'opacity-50 cursor-not-allowed'
|
if (icon && !children && loading) {
|
||||||
|
return <Spinner enableTheme={false} />
|
||||||
const solidColor = () => {
|
|
||||||
const btn = {
|
|
||||||
bgColor: active
|
|
||||||
? `bg-${buttonColor}-${increaseLevel}`
|
|
||||||
: `bg-${buttonColor}-${buttonColorLevel}`,
|
|
||||||
textColor: 'text-white',
|
|
||||||
hoverColor: active
|
|
||||||
? ''
|
|
||||||
: `hover:bg-${buttonColor}-${decreaseLevel}`,
|
|
||||||
activeColor: `active:bg-${buttonColor}-${increaseLevel}`,
|
|
||||||
}
|
|
||||||
return getBtnColor(btn)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const twoToneColor = () => {
|
if (icon && !children && !loading) {
|
||||||
const btn = {
|
return <>{icon}</>
|
||||||
bgColor: active
|
|
||||||
? `bg-${buttonColor}-200 dark:bg-${buttonColor}-50`
|
|
||||||
: `bg-${buttonColor}-50 dark:bg-${buttonColor}-500 dark:bg-opacity-20`,
|
|
||||||
textColor: `text-${buttonColor}-${buttonColorLevel} dark:text-${buttonColor}-50`,
|
|
||||||
hoverColor: active
|
|
||||||
? ''
|
|
||||||
: `hover:bg-${buttonColor}-100 dark:hover:bg-${buttonColor}-500 dark:hover:bg-opacity-30`,
|
|
||||||
activeColor: `active:bg-${buttonColor}-200 dark:active:bg-${buttonColor}-500 dark:active:bg-opacity-40`,
|
|
||||||
}
|
|
||||||
return getBtnColor(btn)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultColor = () => {
|
if (icon && children && !loading) {
|
||||||
const btn = {
|
return (
|
||||||
bgColor: active
|
<span className="flex items-center justify-center">
|
||||||
? `bg-gray-100 border border-gray-300 dark:bg-gray-500 dark:border-gray-500`
|
<span className="text-lg">{icon}</span>
|
||||||
: `bg-white border border-gray-300 dark:bg-gray-700 dark:border-gray-700`,
|
<span className="ltr:ml-1 rtl:mr-1">{children}</span>
|
||||||
textColor: `text-gray-600 dark:text-gray-100`,
|
</span>
|
||||||
hoverColor: active ? '' : `hover:bg-gray-50 dark:hover:bg-gray-600`,
|
)
|
||||||
activeColor: `active:bg-gray-100 dark:active:bg-gray-500 dark:active:border-gray-500`,
|
|
||||||
}
|
|
||||||
return getBtnColor(btn)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const plainColor = () => {
|
return <>{children}</>
|
||||||
const btn = {
|
}
|
||||||
bgColor: active
|
|
||||||
? `bg-gray-100 dark:bg-gray-500`
|
|
||||||
: 'bg-transparent border border-transparent',
|
|
||||||
textColor: `text-gray-600 dark:text-gray-100`,
|
|
||||||
hoverColor: active ? '' : `hover:bg-gray-50 dark:hover:bg-gray-600`,
|
|
||||||
activeColor: `active:bg-gray-100 dark:active:bg-gray-500 dark:active:border-gray-500`,
|
|
||||||
}
|
|
||||||
return getBtnColor(btn)
|
|
||||||
}
|
|
||||||
|
|
||||||
const getBtnColor = ({
|
return (
|
||||||
bgColor,
|
<button ref={ref} className={classes} {...rest} onClick={handleClick}>
|
||||||
hoverColor,
|
{renderChildren()}
|
||||||
activeColor,
|
</button>
|
||||||
textColor,
|
)
|
||||||
}: ButtonColor) => {
|
|
||||||
return `${bgColor} ${
|
|
||||||
disabled || loading ? disabledClass : hoverColor + ' ' + activeColor
|
|
||||||
} ${textColor}`
|
|
||||||
}
|
|
||||||
|
|
||||||
const btnColor = () => {
|
|
||||||
switch (variant) {
|
|
||||||
case 'solid':
|
|
||||||
return solidColor()
|
|
||||||
case 'twoTone':
|
|
||||||
return twoToneColor()
|
|
||||||
case 'plain':
|
|
||||||
return plainColor()
|
|
||||||
case 'default':
|
|
||||||
return defaultColor()
|
|
||||||
default:
|
|
||||||
return defaultColor()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const classes = classNames(
|
|
||||||
defaultClass,
|
|
||||||
btnColor(),
|
|
||||||
`radius-${shape}`,
|
|
||||||
getButtonSize(),
|
|
||||||
className,
|
|
||||||
block ? 'w-full' : ''
|
|
||||||
)
|
|
||||||
|
|
||||||
const handleClick = (e: MouseEvent<HTMLButtonElement>) => {
|
|
||||||
const { onClick } = props
|
|
||||||
if (disabled || loading) {
|
|
||||||
e.preventDefault()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
onClick?.(e)
|
|
||||||
}
|
|
||||||
|
|
||||||
const renderChildren = () => {
|
|
||||||
if (loading && children) {
|
|
||||||
return (
|
|
||||||
<span className="flex items-center justify-center">
|
|
||||||
<Spinner enableTheme={false} className="mr-1" />
|
|
||||||
{children}
|
|
||||||
</span>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (icon && !children && loading) {
|
|
||||||
return <Spinner enableTheme={false} />
|
|
||||||
}
|
|
||||||
|
|
||||||
if (icon && !children && !loading) {
|
|
||||||
return <>{icon}</>
|
|
||||||
}
|
|
||||||
|
|
||||||
if (icon && children && !loading) {
|
|
||||||
return (
|
|
||||||
<span className="flex items-center justify-center">
|
|
||||||
<span className="text-lg">{icon}</span>
|
|
||||||
<span className="ltr:ml-1 rtl:mr-1">{children}</span>
|
|
||||||
</span>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return <>{children}</>
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<button ref={ref} className={classes} {...rest} onClick={handleClick}>
|
|
||||||
{renderChildren()}
|
|
||||||
</button>
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
Button.displayName = 'Button'
|
Button.displayName = 'Button'
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,7 @@ const DateTimepicker = forwardRef<HTMLInputElement, DateTimepickerProps>(
|
||||||
size="sm"
|
size="sm"
|
||||||
onChange={handleTimeChange}
|
onChange={handleTimeChange}
|
||||||
/>
|
/>
|
||||||
<Button size="sm" disabled={!_value} onClick={handleOk}>
|
<Button size="sm" variant='solid' disabled={!_value} onClick={handleOk}>
|
||||||
{okButtonContent}
|
{okButtonContent}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import Notification from '../Notification/Notification'
|
||||||
import toast from '../toast/toast'
|
import toast from '../toast/toast'
|
||||||
import type { CommonProps } from '../@types/common'
|
import type { CommonProps } from '../@types/common'
|
||||||
import type { ReactNode, ChangeEvent, MouseEvent } from 'react'
|
import type { ReactNode, ChangeEvent, MouseEvent } from 'react'
|
||||||
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
|
|
||||||
export interface UploadProps extends CommonProps {
|
export interface UploadProps extends CommonProps {
|
||||||
accept?: string
|
accept?: string
|
||||||
|
|
@ -56,6 +57,7 @@ const Upload = forwardRef<HTMLDivElement, UploadProps>((props, ref) => {
|
||||||
const fileInputField = useRef<HTMLInputElement>(null)
|
const fileInputField = useRef<HTMLInputElement>(null)
|
||||||
const [files, setFiles] = useState(fileList)
|
const [files, setFiles] = useState(fileList)
|
||||||
const [dragOver, setDragOver] = useState(false)
|
const [dragOver, setDragOver] = useState(false)
|
||||||
|
const { translate } = useLocalization()
|
||||||
|
|
||||||
const { themeColor, primaryColorLevel } = useConfig()
|
const { themeColor, primaryColorLevel } = useConfig()
|
||||||
|
|
||||||
|
|
@ -144,8 +146,8 @@ const Upload = forwardRef<HTMLDivElement, UploadProps>((props, ref) => {
|
||||||
const renderChildren = () => {
|
const renderChildren = () => {
|
||||||
if (!draggable && !children) {
|
if (!draggable && !children) {
|
||||||
return (
|
return (
|
||||||
<Button disabled={disabled} onClick={(e) => e.preventDefault()}>
|
<Button size="sm" variant="solid" disabled={disabled} onClick={(e) => e.preventDefault()}>
|
||||||
Upload
|
{translate('::FileManager.Upload')}
|
||||||
</Button>
|
</Button>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ const Log = ({
|
||||||
))}
|
))}
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
{loadable ? (
|
{loadable ? (
|
||||||
<Button loading={isLoading} onClick={onLoadMore} className="dark:bg-gray-700 dark:text-white dark:hover:bg-gray-600">
|
<Button size="sm" loading={isLoading} onClick={onLoadMore} variant='solid'>
|
||||||
{translate('::Abp.Identity.ActivityLogs.LoadMore')}
|
{translate('::Abp.Identity.ActivityLogs.LoadMore')}
|
||||||
</Button>
|
</Button>
|
||||||
) : (
|
) : (
|
||||||
|
|
|
||||||
|
|
@ -59,10 +59,11 @@ export const CreateFolderModal = forwardRef<HTMLDivElement, CreateFolderModalPro
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div className="flex justify-end space-x-2 pt-4 border-t">
|
<div className="flex justify-end space-x-2 pt-4 border-t">
|
||||||
<Button variant="default" onClick={handleClose} disabled={loading}>
|
<Button size='sm' variant="default" onClick={handleClose} disabled={loading}>
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
|
size='sm'
|
||||||
variant="solid"
|
variant="solid"
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
|
|
@ -156,10 +157,11 @@ export const RenameItemModal = forwardRef<HTMLDivElement, RenameItemModalProps>(
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div className="flex justify-end space-x-2 pt-4 border-t">
|
<div className="flex justify-end space-x-2 pt-4 border-t">
|
||||||
<Button variant="default" onClick={handleClose} disabled={loading}>
|
<Button size='sm' variant="default" onClick={handleClose} disabled={loading}>
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
|
size='sm'
|
||||||
variant="solid"
|
variant="solid"
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
|
|
@ -238,12 +240,12 @@ export const DeleteConfirmModal = forwardRef<HTMLDivElement, DeleteConfirmModalP
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="flex justify-end space-x-2 pt-4 border-t">
|
<div className="flex justify-end space-x-2 pt-4 border-t">
|
||||||
<Button variant="default" onClick={onClose} disabled={loading}>
|
<Button size='sm' variant="default" onClick={onClose} disabled={loading}>
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
|
size='sm'
|
||||||
variant="solid"
|
variant="solid"
|
||||||
className="bg-red-600 hover:bg-red-700 text-white"
|
|
||||||
onClick={handleDelete}
|
onClick={handleDelete}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -355,10 +355,11 @@ const FileUploadModal = forwardRef<HTMLDivElement, FileUploadModalProps>((props,
|
||||||
Clear Errors
|
Clear Errors
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
<Button variant="default" onClick={handleClose} disabled={uploading}>
|
<Button size="sm" variant="default" onClick={handleClose} disabled={uploading}>
|
||||||
{uploading ? 'Uploading...' : 'Close'}
|
{uploading ? 'Uploading...' : 'Close'}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
|
size="sm"
|
||||||
variant="solid"
|
variant="solid"
|
||||||
onClick={handleUpload}
|
onClick={handleUpload}
|
||||||
disabled={pendingFiles === 0 || uploading}
|
disabled={pendingFiles === 0 || uploading}
|
||||||
|
|
|
||||||
|
|
@ -79,8 +79,8 @@ function ChartTabAnimation(props: FormEditProps) {
|
||||||
<Field type="number" name="animationDto.maxPointCountSupported" component={Input} />
|
<Field type="number" name="animationDto.maxPointCountSupported" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -660,8 +660,8 @@ function ChartTabAnnotations(props: FormEditProps) {
|
||||||
</TabContent>
|
</TabContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -541,8 +541,8 @@ function ChartTabAxis(props: FormEditProps) {
|
||||||
</TabContent>
|
</TabContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -716,8 +716,8 @@ function ChartTabCommonSettings(props: FormEditProps) {
|
||||||
</TabContent>
|
</TabContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ function ChartTabCrosshair(props: FormEditProps) {
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
@ -112,7 +112,7 @@ function ChartTabCrosshair(props: FormEditProps) {
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
@ -157,64 +157,28 @@ function ChartTabCrosshair(props: FormEditProps) {
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
<Card className="my-2" header="Font Options">
|
<Card className="my-2" header="Font Options">
|
||||||
<FormItem
|
<FormItem label="Color">
|
||||||
label="Color"
|
|
||||||
invalid={
|
|
||||||
!!(
|
|
||||||
errors.crosshairDto?.label?.font?.color &&
|
|
||||||
touched.crosshairDto?.label?.font?.color
|
|
||||||
)
|
|
||||||
}
|
|
||||||
errorMessage={errors.crosshairDto?.label?.font?.color}
|
|
||||||
>
|
|
||||||
<Field name="crosshairDto.label.font.color">
|
<Field name="crosshairDto.label.font.color">
|
||||||
{({ field, form }: FieldProps) => (
|
{({ field, form }: FieldProps) => (
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</Field>
|
</Field>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem label="Family">
|
||||||
label="Family"
|
|
||||||
invalid={
|
|
||||||
!!(
|
|
||||||
errors.crosshairDto?.label?.font?.family &&
|
|
||||||
touched.crosshairDto?.label?.font?.family
|
|
||||||
)
|
|
||||||
}
|
|
||||||
errorMessage={errors.crosshairDto?.label?.font?.family}
|
|
||||||
>
|
|
||||||
<Field type="text" name="crosshairDto.label.font.family" component={Input} />
|
<Field type="text" name="crosshairDto.label.font.family" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem label="Size">
|
||||||
label="Size"
|
|
||||||
invalid={
|
|
||||||
!!(
|
|
||||||
errors.crosshairDto?.label?.font?.size &&
|
|
||||||
touched.crosshairDto?.label?.font?.size
|
|
||||||
)
|
|
||||||
}
|
|
||||||
errorMessage={errors.crosshairDto?.label?.font?.size}
|
|
||||||
>
|
|
||||||
<Field type="number" name="crosshairDto.label.font.size" component={Input} />
|
<Field type="number" name="crosshairDto.label.font.size" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem label="Weight">
|
||||||
label="Weight"
|
|
||||||
invalid={
|
|
||||||
!!(
|
|
||||||
errors.crosshairDto?.label?.font?.weight &&
|
|
||||||
touched.crosshairDto?.label?.font?.weight
|
|
||||||
)
|
|
||||||
}
|
|
||||||
errorMessage={errors.crosshairDto?.label?.font?.weight}
|
|
||||||
>
|
|
||||||
<Field type="number" name="crosshairDto.label.font.weight" component={Input} />
|
<Field type="number" name="crosshairDto.label.font.weight" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
@ -248,7 +212,7 @@ function ChartTabCrosshair(props: FormEditProps) {
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
@ -324,7 +288,7 @@ function ChartTabCrosshair(props: FormEditProps) {
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
@ -372,8 +336,8 @@ function ChartTabCrosshair(props: FormEditProps) {
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -65,8 +65,8 @@ function ChartTabExport(props: FormEditProps) {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -216,8 +216,8 @@ function ChartTabLegend(props: FormEditProps) {
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -155,8 +155,8 @@ function ChartTabPanes(props: FormEditProps) {
|
||||||
setData={setJsonRowOpModalData}
|
setData={setJsonRowOpModalData}
|
||||||
/>
|
/>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -523,8 +523,8 @@ function ChartTabSeries(props: FormEditProps & { listFormCode: string }) {
|
||||||
</TabContent>
|
</TabContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -176,8 +176,8 @@ const ChartTabZoomAndPan = (props: FormEditProps) => {
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -294,8 +294,8 @@ function FormCustomization({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -310,8 +310,8 @@ function FormTabColumns(props: FormEditProps) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -387,8 +387,8 @@ function FormTabDatabaseDataSource(props: FormEditProps) {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting}>
|
<Button size="sm" block variant="solid" loading={isSubmitting}>
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -116,8 +116,8 @@ function FormTabDatabaseDelete({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting}>
|
<Button size="sm" block variant="solid" loading={isSubmitting}>
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -114,8 +114,8 @@ function FormTabDatabaseInsert({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
<Button block variant="solid" loading={isSubmitting}>
|
<Button size="sm" block variant="solid" loading={isSubmitting}>
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,8 +65,8 @@ function FormTabDatabaseSelect({
|
||||||
component={Input}
|
component={Input}
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<Button block variant="solid" loading={isSubmitting}>
|
<Button size="sm" block variant="solid" loading={isSubmitting}>
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -114,8 +114,8 @@ function FormTabDatabaseUpdate({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
<Button block variant="solid" loading={isSubmitting}>
|
<Button size="sm" block variant="solid" loading={isSubmitting}>
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -437,8 +437,8 @@ function FormTabDetails(
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -454,8 +454,8 @@ function FormTabEdit(props: FormEditProps & { listFormCode: string }) {
|
||||||
)}
|
)}
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<Button block variant="solid" loading={isSubmitting}>
|
<Button size="sm" block variant="solid" loading={isSubmitting}>
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -304,8 +304,8 @@ function FormTabFilters(props: FormEditProps) {
|
||||||
</TabContent>
|
</TabContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -471,8 +471,8 @@ function FormTabGantt(props: FormEditProps) {
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -54,8 +54,8 @@ function FormTabGroup(props: FormEditProps) {
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -235,8 +235,8 @@ function FormTabPager(props: FormEditProps) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -239,8 +239,8 @@ function FormTabPermissions(props: FormEditProps) {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -186,8 +186,8 @@ function FormTabColumns(props: FormEditProps) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -98,8 +98,8 @@ function FormTabRow(props: FormEditProps) {
|
||||||
</Field>
|
</Field>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -363,8 +363,8 @@ function FormTabScheduler(props: FormEditProps) {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>{' '}
|
</Button>{' '}
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -55,8 +55,8 @@ function FormTabSearch(props: FormEditProps) {
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -128,8 +128,8 @@ function FormTabSelect(props: FormEditProps) {
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -74,8 +74,8 @@ function FormTabSorting(props: FormEditProps) {
|
||||||
</Field>
|
</Field>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -97,8 +97,8 @@ function FormTabState(props: FormEditProps) {
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -185,8 +185,8 @@ function FormTabTree(props: FormEditProps) {
|
||||||
component={Checkbox}
|
component={Checkbox}
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit" className="my-2">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -450,8 +450,8 @@ export function FormTabWorkflow(
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button block variant="solid" type="submit" loading={isSubmitting}>
|
<Button size="sm" block variant="solid" type="submit" loading={isSubmitting}>
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Card>
|
</Card>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -316,8 +316,8 @@ function FormFieldTabConditionalFormatting({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isLoading} type="submit">
|
<Button size="sm" block variant="solid" loading={isLoading} type="submit">
|
||||||
{isLoading ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isLoading ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -63,8 +63,8 @@ function FormFieldTabCssOptions({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -70,8 +70,8 @@ function FormFieldTabCustomization({
|
||||||
</Field>
|
</Field>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -133,8 +133,8 @@ function FormFieldTabDetails({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -84,8 +84,8 @@ function FormFieldTabFiltering({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -176,8 +176,8 @@ function FormFieldTabGroupSummary({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,8 @@ function FormFieldTabGrouping({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -65,8 +65,8 @@ function FormFieldTabHeadering({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -234,8 +234,8 @@ function FormFieldTabJoinOptions({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -218,10 +218,8 @@ function TablePickerModal({
|
||||||
}}
|
}}
|
||||||
block
|
block
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="indigo-600"
|
|
||||||
className="mt-1 !h-auto !rounded !py-1.5 text-xs font-semibold text-white transition-colors hover:!bg-indigo-700 disabled:cursor-not-allowed disabled:opacity-40"
|
|
||||||
>
|
>
|
||||||
Tamam
|
{translate('::OK')}
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
@ -467,8 +465,8 @@ function FormFieldTabLookup({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -113,8 +113,8 @@ function FormFieldTabOptions({
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -159,8 +159,8 @@ function FormFieldTabPermissions({
|
||||||
<Field name="permissionDto.i" component={Checkbox} />
|
<Field name="permissionDto.i" component={Checkbox} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -214,8 +214,8 @@ function FormFieldTabPivotSetting({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -177,8 +177,8 @@ function FormFieldTabTotalSummary({
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -355,8 +355,8 @@ function FormFieldTabValidationRules({
|
||||||
<Field name="trim" placeholder="Trim" component={Checkbox} />
|
<Field name="trim" placeholder="Trim" component={Checkbox} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button className="mt-1" block variant="solid" loading={isLoading} type="submit">
|
<Button size="sm" className="mt-1" block variant="solid" loading={isLoading} type="submit">
|
||||||
{isLoading ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isLoading ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -390,7 +390,7 @@ function FormFields({
|
||||||
</Field>
|
</Field>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? '...' : translate('::ListForms.ListFormField.Filter')}
|
{isSubmitting ? '...' : translate('::ListForms.ListFormField.Filter')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
@ -684,8 +684,8 @@ function FormFields({
|
||||||
</Field>
|
</Field>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -1023,8 +1023,8 @@ function FormFields({
|
||||||
<Field name="copiedFields.pivotSetting" component={Checkbox} className="mr-1" />
|
<Field name="copiedFields.pivotSetting" component={Checkbox} className="mr-1" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
<Button block variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" block variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -987,10 +987,10 @@ function EditorOptionsBuilderDialog({
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t border-gray-200 pt-3 mt-1 dark:border-gray-700">
|
<Dialog.Footer className="flex justify-end gap-2 border-t border-gray-200 pt-3 mt-1 dark:border-gray-700">
|
||||||
<Button size="sm" type="button" variant="plain" icon={<FaTimes />} onClick={onClose}>
|
<Button size="sm" type="button" variant="plain" icon={<FaTimes />} onClick={onClose}>
|
||||||
Vazgeç
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button size="sm" type="button" variant="solid" icon={<FaCheck />} onClick={applyOptions}>
|
<Button size="sm" type="button" variant="solid" icon={<FaCheck />} onClick={applyOptions}>
|
||||||
Uygula
|
{translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import { Button, Dialog } from '@/components/ui'
|
import { Button, Dialog } from '@/components/ui'
|
||||||
import { SelectBoxOption } from '@/types/shared'
|
import { SelectBoxOption } from '@/types/shared'
|
||||||
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
import Editor from '@monaco-editor/react'
|
import Editor from '@monaco-editor/react'
|
||||||
import { useEffect, useMemo, useState } from 'react'
|
import { useEffect, useMemo, useState } from 'react'
|
||||||
import { FaBolt, FaCheck, FaCode, FaMagic, FaPlus, FaTimes, FaTrash } from 'react-icons/fa'
|
import { FaBolt, FaCheck, FaCode, FaMagic, FaPlus, FaTimes, FaTrash } from 'react-icons/fa'
|
||||||
|
|
@ -558,6 +559,7 @@ function EditorScriptBuilderDialog({
|
||||||
const [serviceCall, setServiceCall] = useState('')
|
const [serviceCall, setServiceCall] = useState('')
|
||||||
const [scriptEditorValue, setScriptEditorValue] = useState('')
|
const [scriptEditorValue, setScriptEditorValue] = useState('')
|
||||||
const [lastGeneratedScript, setLastGeneratedScript] = useState('')
|
const [lastGeneratedScript, setLastGeneratedScript] = useState('')
|
||||||
|
const { translate } = useLocalization()
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!isOpen) return
|
if (!isOpen) return
|
||||||
|
|
@ -1354,7 +1356,7 @@ function EditorScriptBuilderDialog({
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t border-gray-200 pt-3 mt-1 dark:border-gray-700">
|
<Dialog.Footer className="flex justify-end gap-2 border-t border-gray-200 pt-3 mt-1 dark:border-gray-700">
|
||||||
<Button size="sm" type="button" variant="plain" icon={<FaTimes />} onClick={onClose}>
|
<Button size="sm" type="button" variant="plain" icon={<FaTimes />} onClick={onClose}>
|
||||||
Vazgeç
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size="sm"
|
size="sm"
|
||||||
|
|
@ -1366,7 +1368,7 @@ function EditorScriptBuilderDialog({
|
||||||
onClose()
|
onClose()
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Uygula
|
{translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
|
||||||
|
|
@ -95,410 +95,394 @@ function JsonRowOpDialogAnnotation({
|
||||||
>
|
>
|
||||||
{(data.operation === 'create' || data.operation === 'update') && (
|
{(data.operation === 'create' || data.operation === 'update') && (
|
||||||
<Formik
|
<Formik
|
||||||
initialValues={
|
initialValues={
|
||||||
data.chartAnnotationValues ?? {
|
data.chartAnnotationValues ?? {
|
||||||
argument: '',
|
argument: '',
|
||||||
border: {
|
border: {
|
||||||
color: '#d3d3d3',
|
color: '#d3d3d3',
|
||||||
cornerRadius: 0,
|
cornerRadius: 0,
|
||||||
dashStyle: 'solid',
|
dashStyle: 'solid',
|
||||||
visible: false,
|
visible: false,
|
||||||
width: 1,
|
width: 1,
|
||||||
},
|
},
|
||||||
color: '',
|
color: '',
|
||||||
description: '',
|
description: '',
|
||||||
font: {
|
font: {
|
||||||
color: '#FFFFFF',
|
color: '#FFFFFF',
|
||||||
family: '"Segoe UI", "Helvetica Neue", "Trebuchet MS", Verdana, sans-serif',
|
family: '"Segoe UI", "Helvetica Neue", "Trebuchet MS", Verdana, sans-serif',
|
||||||
size: 12,
|
size: 12,
|
||||||
weight: 400,
|
weight: 400,
|
||||||
},
|
},
|
||||||
height: 0,
|
height: 0,
|
||||||
image: '',
|
image: '',
|
||||||
name: '',
|
name: '',
|
||||||
offsetX: 0,
|
offsetX: 0,
|
||||||
offsetY: 0,
|
offsetY: 0,
|
||||||
paddingLeftRight: 0,
|
paddingLeftRight: 0,
|
||||||
paddingTopBottom: 0,
|
paddingTopBottom: 0,
|
||||||
series: '',
|
series: '',
|
||||||
text: '',
|
text: '',
|
||||||
tooltipEnabled: false,
|
tooltipEnabled: false,
|
||||||
type: '',
|
type: '',
|
||||||
value: '',
|
value: '',
|
||||||
width: 0,
|
width: 0,
|
||||||
wordWrap: '',
|
wordWrap: '',
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0,
|
y: 0,
|
||||||
}
|
|
||||||
}
|
}
|
||||||
validationSchema={schema}
|
}
|
||||||
onSubmit={async (values, { setSubmitting }) => {
|
validationSchema={schema}
|
||||||
setSubmitting(true)
|
onSubmit={async (values, { setSubmitting }) => {
|
||||||
try {
|
setSubmitting(true)
|
||||||
const input: ListFormJsonRowDto = {
|
try {
|
||||||
index: data.index,
|
const input: ListFormJsonRowDto = {
|
||||||
fieldName: data.tabName,
|
index: data.index,
|
||||||
itemChartAnnotation: values,
|
fieldName: data.tabName,
|
||||||
}
|
itemChartAnnotation: values,
|
||||||
if (data.index === -1) {
|
|
||||||
await postListFormJsonRow(data.id, input)
|
|
||||||
} else {
|
|
||||||
await putListFormJsonRow(data.id, input)
|
|
||||||
}
|
|
||||||
toast.push(
|
|
||||||
<Notification type="success">
|
|
||||||
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
|
|
||||||
</Notification>,
|
|
||||||
{ placement: 'top-end' },
|
|
||||||
)
|
|
||||||
handleClose()
|
|
||||||
} catch (error: any) {
|
|
||||||
toast.push(
|
|
||||||
<Notification type="danger">
|
|
||||||
Hata
|
|
||||||
<code>{error}</code>
|
|
||||||
</Notification>,
|
|
||||||
{ placement: 'top-end' },
|
|
||||||
)
|
|
||||||
} finally {
|
|
||||||
setSubmitting(false)
|
|
||||||
}
|
}
|
||||||
}}
|
if (data.index === -1) {
|
||||||
>
|
await postListFormJsonRow(data.id, input)
|
||||||
{({ touched, errors, values, isSubmitting }) => (
|
} else {
|
||||||
<Form className="flex flex-col h-full">
|
await putListFormJsonRow(data.id, input)
|
||||||
<Dialog.Body className="flex flex-col gap-2 overflow-hidden">
|
}
|
||||||
<h5 className="flex-shrink-0">{data.index === -1 ? 'Add' : 'Update'}</h5>
|
toast.push(
|
||||||
<div className="flex-1 overflow-y-auto">
|
<Notification type="success">
|
||||||
<Tabs defaultValue="annotations_general">
|
{data.index === -1 ? 'Kayıt eklendi' : 'Kayıt güncellendi'}
|
||||||
<TabList>
|
</Notification>,
|
||||||
<TabNav value="annotations_general">General</TabNav>
|
{ placement: 'top-end' },
|
||||||
<TabNav value="annotations_border">Border</TabNav>
|
)
|
||||||
</TabList>
|
handleClose()
|
||||||
<TabContent value="annotations_general">
|
} catch (error: any) {
|
||||||
<div className="p-3 grid grid-cols-3 gap-x-4 gap-y-1">
|
toast.push(
|
||||||
<FormItem
|
<Notification type="danger">
|
||||||
label="Tooltip Enabled"
|
Hata
|
||||||
invalid={errors.tooltipEnabled && touched.tooltipEnabled}
|
<code>{error}</code>
|
||||||
errorMessage={errors.tooltipEnabled}
|
</Notification>,
|
||||||
>
|
{ placement: 'top-end' },
|
||||||
<Field name="tooltipEnabled" component={Checkbox} />
|
)
|
||||||
</FormItem>
|
} finally {
|
||||||
|
setSubmitting(false)
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{({ touched, errors, values, isSubmitting }) => (
|
||||||
|
<Form className="flex flex-col h-full">
|
||||||
|
<Dialog.Body className="flex flex-col gap-2 overflow-hidden">
|
||||||
|
<h5 className="flex-shrink-0">{data.index === -1 ? 'Add' : 'Update'}</h5>
|
||||||
|
<div className="flex-1 overflow-y-auto">
|
||||||
|
<Tabs defaultValue="annotations_general">
|
||||||
|
<TabList>
|
||||||
|
<TabNav value="annotations_general">General</TabNav>
|
||||||
|
<TabNav value="annotations_border">Border</TabNav>
|
||||||
|
</TabList>
|
||||||
|
<TabContent value="annotations_general">
|
||||||
|
<div className="p-3 grid grid-cols-3 gap-x-4 gap-y-1">
|
||||||
|
<FormItem
|
||||||
|
label="Tooltip Enabled"
|
||||||
|
invalid={errors.tooltipEnabled && touched.tooltipEnabled}
|
||||||
|
errorMessage={errors.tooltipEnabled}
|
||||||
|
>
|
||||||
|
<Field name="tooltipEnabled" component={Checkbox} />
|
||||||
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Type"
|
label="Type"
|
||||||
invalid={errors.type && touched.type}
|
invalid={errors.type && touched.type}
|
||||||
errorMessage={errors.type}
|
errorMessage={errors.type}
|
||||||
>
|
>
|
||||||
<Field type="text" name="type">
|
<Field type="text" name="type">
|
||||||
{({ field, form }: FieldProps<SelectBoxOption>) => (
|
{({ field, form }: FieldProps<SelectBoxOption>) => (
|
||||||
<Select
|
<Select
|
||||||
field={field}
|
field={field}
|
||||||
form={form}
|
form={form}
|
||||||
options={chartAnnotationTypeListOptions}
|
options={chartAnnotationTypeListOptions}
|
||||||
isClearable={true}
|
isClearable={true}
|
||||||
value={chartAnnotationTypeListOptions.filter(
|
value={chartAnnotationTypeListOptions.filter(
|
||||||
(option) => option.value === values.type,
|
(option) => option.value === values.type,
|
||||||
)}
|
)}
|
||||||
onChange={(option) =>
|
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||||
form.setFieldValue(field.name, option?.value)
|
/>
|
||||||
}
|
)}
|
||||||
/>
|
</Field>
|
||||||
)}
|
</FormItem>
|
||||||
</Field>
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Series"
|
label="Series"
|
||||||
invalid={errors.series && touched.series}
|
invalid={errors.series && touched.series}
|
||||||
errorMessage={errors.series}
|
errorMessage={errors.series}
|
||||||
>
|
>
|
||||||
<Field type="text" name="series">
|
<Field type="text" name="series">
|
||||||
{({ field, form }: FieldProps<SelectBoxOption>) => (
|
{({ field, form }: FieldProps<SelectBoxOption>) => (
|
||||||
<Select
|
<Select
|
||||||
field={field}
|
field={field}
|
||||||
form={form}
|
form={form}
|
||||||
isClearable={true}
|
isClearable={true}
|
||||||
options={SeriesList()}
|
options={SeriesList()}
|
||||||
value={SeriesList()?.find(
|
value={SeriesList()?.find(
|
||||||
(option) => option.value === values.series,
|
(option) => option.value === values.series,
|
||||||
)}
|
)}
|
||||||
onChange={(option) =>
|
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||||
form.setFieldValue(field.name, option?.value)
|
/>
|
||||||
}
|
)}
|
||||||
/>
|
</Field>
|
||||||
)}
|
</FormItem>
|
||||||
</Field>
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Name"
|
label="Name"
|
||||||
invalid={errors.name && touched.name}
|
invalid={errors.name && touched.name}
|
||||||
errorMessage={errors.name}
|
errorMessage={errors.name}
|
||||||
>
|
>
|
||||||
<Field type="text" name="name" component={Input} />
|
<Field type="text" name="name" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Text"
|
label="Text"
|
||||||
invalid={errors.text && touched.text}
|
invalid={errors.text && touched.text}
|
||||||
errorMessage={errors.text}
|
errorMessage={errors.text}
|
||||||
>
|
>
|
||||||
<Field type="text" name="text" component={Input} />
|
<Field type="text" name="text" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Value"
|
label="Value"
|
||||||
invalid={errors.value && touched.value}
|
invalid={errors.value && touched.value}
|
||||||
errorMessage={errors.value}
|
errorMessage={errors.value}
|
||||||
>
|
>
|
||||||
<Field type="text" name="value" component={Input} />
|
<Field type="text" name="value" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Argument"
|
label="Argument"
|
||||||
invalid={errors.argument && touched.argument}
|
invalid={errors.argument && touched.argument}
|
||||||
errorMessage={errors.argument}
|
errorMessage={errors.argument}
|
||||||
>
|
>
|
||||||
<Field name="argument" component={Input} />
|
<Field name="argument" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Color"
|
label="Color"
|
||||||
invalid={errors.color && touched.color}
|
invalid={errors.color && touched.color}
|
||||||
errorMessage={errors.color}
|
errorMessage={errors.color}
|
||||||
>
|
>
|
||||||
<Field name="color">
|
<Field name="color">
|
||||||
{({ field, form }: FieldProps) => (
|
{({ field, form }: FieldProps) => (
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</Field>
|
</Field>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Word Wrap"
|
label="Word Wrap"
|
||||||
invalid={errors.wordWrap && touched.wordWrap}
|
invalid={errors.wordWrap && touched.wordWrap}
|
||||||
errorMessage={errors.wordWrap}
|
errorMessage={errors.wordWrap}
|
||||||
>
|
>
|
||||||
<Field type="text" name="wordWrap">
|
<Field type="text" name="wordWrap">
|
||||||
{({ field, form }: FieldProps<SelectBoxOption>) => (
|
{({ field, form }: FieldProps<SelectBoxOption>) => (
|
||||||
<Select
|
<Select
|
||||||
field={field}
|
field={field}
|
||||||
form={form}
|
form={form}
|
||||||
options={chartTitleWordWrapListOptions}
|
options={chartTitleWordWrapListOptions}
|
||||||
isClearable={true}
|
isClearable={true}
|
||||||
value={chartTitleWordWrapListOptions.filter(
|
value={chartTitleWordWrapListOptions.filter(
|
||||||
(option) => option.value === values.wordWrap,
|
(option) => option.value === values.wordWrap,
|
||||||
)}
|
)}
|
||||||
onChange={(option) =>
|
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||||
form.setFieldValue(field.name, option?.value)
|
/>
|
||||||
}
|
)}
|
||||||
/>
|
</Field>
|
||||||
)}
|
</FormItem>
|
||||||
</Field>
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Description"
|
label="Description"
|
||||||
invalid={errors.description && touched.description}
|
invalid={errors.description && touched.description}
|
||||||
errorMessage={errors.description}
|
errorMessage={errors.description}
|
||||||
>
|
>
|
||||||
<Field type="text" name="description" component={Input} />
|
<Field type="text" name="description" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Image"
|
label="Image"
|
||||||
invalid={errors.image && touched.image}
|
invalid={errors.image && touched.image}
|
||||||
errorMessage={errors.image}
|
errorMessage={errors.image}
|
||||||
>
|
>
|
||||||
<Field type="text" name="image" component={Input} />
|
<Field type="text" name="image" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Width"
|
label="Width"
|
||||||
invalid={errors.width && touched.width}
|
invalid={errors.width && touched.width}
|
||||||
errorMessage={errors.width}
|
errorMessage={errors.width}
|
||||||
>
|
>
|
||||||
<Field type="number" name="width" component={Input} />
|
<Field type="number" name="width" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Height"
|
label="Height"
|
||||||
invalid={errors.height && touched.height}
|
invalid={errors.height && touched.height}
|
||||||
errorMessage={errors.height}
|
errorMessage={errors.height}
|
||||||
>
|
>
|
||||||
<Field type="number" name="height" component={Input} />
|
<Field type="number" name="height" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Padding Left/Right"
|
label="Padding Left/Right"
|
||||||
invalid={errors.paddingLeftRight && touched.paddingLeftRight}
|
invalid={errors.paddingLeftRight && touched.paddingLeftRight}
|
||||||
errorMessage={errors.paddingLeftRight}
|
errorMessage={errors.paddingLeftRight}
|
||||||
>
|
>
|
||||||
<Field type="number" name="paddingLeftRight" component={Input} />
|
<Field type="number" name="paddingLeftRight" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Padding Top/Bottom"
|
label="Padding Top/Bottom"
|
||||||
invalid={errors.paddingTopBottom && touched.paddingTopBottom}
|
invalid={errors.paddingTopBottom && touched.paddingTopBottom}
|
||||||
errorMessage={errors.paddingTopBottom}
|
errorMessage={errors.paddingTopBottom}
|
||||||
>
|
>
|
||||||
<Field type="number" name="paddingTopBottom" component={Input} />
|
<Field type="number" name="paddingTopBottom" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem label="X" invalid={errors.x && touched.x} errorMessage={errors.x}>
|
||||||
label="X"
|
<Field type="number" name="x" component={Input} />
|
||||||
invalid={errors.x && touched.x}
|
</FormItem>
|
||||||
errorMessage={errors.x}
|
|
||||||
>
|
|
||||||
<Field type="number" name="x" component={Input} />
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem
|
<FormItem label="Y" invalid={errors.y && touched.y} errorMessage={errors.y}>
|
||||||
label="Y"
|
<Field type="number" name="y" component={Input} />
|
||||||
invalid={errors.y && touched.y}
|
</FormItem>
|
||||||
errorMessage={errors.y}
|
|
||||||
>
|
|
||||||
<Field type="number" name="y" component={Input} />
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="OffsetX"
|
label="OffsetX"
|
||||||
invalid={errors.offsetX && touched.offsetX}
|
invalid={errors.offsetX && touched.offsetX}
|
||||||
errorMessage={errors.offsetX}
|
errorMessage={errors.offsetX}
|
||||||
>
|
>
|
||||||
<Field type="number" name="offsetX" component={Input} />
|
<Field type="number" name="offsetX" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="OffsetY"
|
label="OffsetY"
|
||||||
invalid={errors.offsetY && touched.offsetY}
|
invalid={errors.offsetY && touched.offsetY}
|
||||||
errorMessage={errors.offsetY}
|
errorMessage={errors.offsetY}
|
||||||
>
|
>
|
||||||
<Field type="number" name="offsetY" component={Input} />
|
<Field type="number" name="offsetY" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
</TabContent>
|
</TabContent>
|
||||||
<TabContent value="annotations_border">
|
<TabContent value="annotations_border">
|
||||||
<div className="p-3 grid grid-cols-2 gap-x-4 gap-y-1">
|
<div className="p-3 grid grid-cols-2 gap-x-4 gap-y-1">
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Visible"
|
label="Visible"
|
||||||
invalid={errors.border?.visible && touched.border?.visible}
|
invalid={errors.border?.visible && touched.border?.visible}
|
||||||
errorMessage={errors.border?.visible}
|
errorMessage={errors.border?.visible}
|
||||||
>
|
>
|
||||||
<Field name="border.visible" component={Checkbox} />
|
<Field name="border.visible" component={Checkbox} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Color"
|
label="Color"
|
||||||
invalid={errors.border?.color && touched.border?.color}
|
invalid={errors.border?.color && touched.border?.color}
|
||||||
errorMessage={errors.border?.color}
|
errorMessage={errors.border?.color}
|
||||||
>
|
>
|
||||||
<Field name="border.color">
|
<Field name="border.color">
|
||||||
{({ field, form }: FieldProps) => (
|
{({ field, form }: FieldProps) => (
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</Field>
|
</Field>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Dash Style"
|
label="Dash Style"
|
||||||
invalid={errors.border?.dashStyle && touched.border?.dashStyle}
|
invalid={errors.border?.dashStyle && touched.border?.dashStyle}
|
||||||
errorMessage={errors.border?.dashStyle}
|
errorMessage={errors.border?.dashStyle}
|
||||||
>
|
>
|
||||||
<Field type="text" name="border.dashStyle">
|
<Field type="text" name="border.dashStyle">
|
||||||
{({ field, form }: FieldProps<SelectBoxOption>) => (
|
{({ field, form }: FieldProps<SelectBoxOption>) => (
|
||||||
<Select
|
<Select
|
||||||
field={field}
|
field={field}
|
||||||
form={form}
|
form={form}
|
||||||
options={chartSeriesDashStyleOptions}
|
options={chartSeriesDashStyleOptions}
|
||||||
isClearable={true}
|
isClearable={true}
|
||||||
value={chartSeriesDashStyleOptions.filter(
|
value={chartSeriesDashStyleOptions.filter(
|
||||||
(option) => option.value === values.border.dashStyle,
|
(option) => option.value === values.border.dashStyle,
|
||||||
)}
|
)}
|
||||||
onChange={(option) =>
|
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||||
form.setFieldValue(field.name, option?.value)
|
/>
|
||||||
}
|
)}
|
||||||
/>
|
</Field>
|
||||||
)}
|
</FormItem>
|
||||||
</Field>
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label="Width"
|
label="Width"
|
||||||
invalid={errors.border?.width && touched.border?.width}
|
invalid={errors.border?.width && touched.border?.width}
|
||||||
errorMessage={errors.border?.width}
|
errorMessage={errors.border?.width}
|
||||||
>
|
>
|
||||||
<Field type="number" name="border.width" component={Input} />
|
<Field type="number" name="border.width" component={Input} />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
</TabContent>
|
</TabContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</div>
|
</div>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
</Formik>
|
</Formik>
|
||||||
)}
|
)}
|
||||||
{data.operation === 'delete' && (
|
{data.operation === 'delete' && (
|
||||||
<Formik
|
<Formik
|
||||||
initialValues={data}
|
initialValues={data}
|
||||||
onSubmit={async (values, { setSubmitting }) => {
|
onSubmit={async (values, { setSubmitting }) => {
|
||||||
setSubmitting(true)
|
setSubmitting(true)
|
||||||
try {
|
try {
|
||||||
await deleteListFormJsonRow(data.id, data.tabName, values.index)
|
await deleteListFormJsonRow(data.id, data.tabName, values.index)
|
||||||
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
|
toast.push(<Notification type="success">Kayıt silindi </Notification>, {
|
||||||
placement: 'top-end',
|
placement: 'top-end',
|
||||||
})
|
})
|
||||||
handleClose()
|
handleClose()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
toast.push(
|
toast.push(
|
||||||
<Notification type="danger">
|
<Notification type="danger">
|
||||||
Hata
|
Hata
|
||||||
<code>{error}</code>
|
<code>{error}</code>
|
||||||
</Notification>,
|
</Notification>,
|
||||||
{ placement: 'top-end' },
|
{ placement: 'top-end' },
|
||||||
)
|
)
|
||||||
} finally {
|
} finally {
|
||||||
setSubmitting(false)
|
setSubmitting(false)
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{({ isSubmitting }) => (
|
{({ isSubmitting }) => (
|
||||||
<Form className="flex flex-col h-full">
|
<Form className="flex flex-col h-full">
|
||||||
<Dialog.Body className="flex flex-col gap-2">
|
<Dialog.Body className="flex flex-col gap-2">
|
||||||
<h5>Delete</h5>
|
<h5>Delete</h5>
|
||||||
<p>Silmek istediğinize emin misiniz?</p>
|
<p>Silmek istediğinize emin misiniz?</p>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
</Formik>
|
</Formik>
|
||||||
)}
|
)}
|
||||||
</Dialog>
|
</Dialog>
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -310,8 +310,10 @@ function JsonRowOpDialogAxis({
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) =>
|
||||||
|
form.setFieldValue(field.name, e.target.value)
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</Field>
|
</Field>
|
||||||
|
|
@ -340,8 +342,10 @@ function JsonRowOpDialogAxis({
|
||||||
<Input
|
<Input
|
||||||
{...field}
|
{...field}
|
||||||
type="color"
|
type="color"
|
||||||
className='!h-10 !p-0 !m-0 !border-0'
|
className="!h-10 !p-0 !m-0 !border-0"
|
||||||
onChange={(e) => form.setFieldValue(field.name, e.target.value)}
|
onChange={(e) =>
|
||||||
|
form.setFieldValue(field.name, e.target.value)
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</Field>
|
</Field>
|
||||||
|
|
@ -450,11 +454,16 @@ function JsonRowOpDialogAxis({
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button
|
||||||
Cancel
|
size="sm"
|
||||||
|
className="ltr:mr-2 rtl:ml-2"
|
||||||
|
variant="plain"
|
||||||
|
onClick={handleClose}
|
||||||
|
>
|
||||||
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
@ -495,10 +504,10 @@ function JsonRowOpDialogAxis({
|
||||||
<Form>
|
<Form>
|
||||||
<FormContainer size="sm">
|
<FormContainer size="sm">
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -366,11 +366,11 @@ function JsonRowOpDialogCommand({
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
@ -411,10 +411,10 @@ function JsonRowOpDialogCommand({
|
||||||
<Form>
|
<Form>
|
||||||
<FormContainer size="sm">
|
<FormContainer size="sm">
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{ translate('::Cancel') }
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -239,11 +239,11 @@ function JsonRowOpDialogDatabase({
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{ translate('::Cancel') }
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
@ -284,10 +284,10 @@ function JsonRowOpDialogDatabase({
|
||||||
<Form>
|
<Form>
|
||||||
<FormContainer size="sm">
|
<FormContainer size="sm">
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{ translate('::Cancel') }
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -893,11 +893,11 @@ function JsonRowOpDialogEditForm({
|
||||||
{translate('::ListForms.ListFormFieldEdit.HelperOpen')}
|
{translate('::ListForms.ListFormFieldEdit.HelperOpen')}
|
||||||
</Button>
|
</Button>
|
||||||
<div className="flex gap-2">
|
<div className="flex gap-2">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{ translate('::Cancel') }
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
|
|
@ -930,14 +930,14 @@ function JsonRowOpDialogEditForm({
|
||||||
{({ isSubmitting }) => (
|
{({ isSubmitting }) => (
|
||||||
<Form className="flex flex-col h-full">
|
<Form className="flex flex-col h-full">
|
||||||
<Dialog.Body className="flex flex-col gap-2">
|
<Dialog.Body className="flex flex-col gap-2">
|
||||||
<h5>Delete</h5>
|
<h5>{translate('::Delete')}</h5>
|
||||||
<p>Silmek istediğinize emin misiniz?</p>
|
<p>{translate('::DeleteConfirmation')}</p>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{ translate('::Cancel') }
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
|
|
|
||||||
|
|
@ -286,11 +286,11 @@ function JsonRowOpDialogExtraFilter({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
@ -331,10 +331,10 @@ function JsonRowOpDialogExtraFilter({
|
||||||
<Form>
|
<Form>
|
||||||
<FormContainer size="sm">
|
<FormContainer size="sm">
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -152,11 +152,11 @@ function JsonRowOpDialogPane({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
@ -196,10 +196,10 @@ function JsonRowOpDialogPane({
|
||||||
<Form>
|
<Form>
|
||||||
<FormContainer size="sm">
|
<FormContainer size="sm">
|
||||||
<div className="text-right mt-4">
|
<div className="text-right mt-4">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
<Button size="sm" className="ltr:mr-2 rtl:ml-2" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -535,11 +535,11 @@ function JsonRowOpDialogSeries({
|
||||||
</div>
|
</div>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -573,14 +573,14 @@ function JsonRowOpDialogSeries({
|
||||||
{({ isSubmitting }) => (
|
{({ isSubmitting }) => (
|
||||||
<Form className="flex flex-col h-full">
|
<Form className="flex flex-col h-full">
|
||||||
<Dialog.Body className="flex flex-col gap-2">
|
<Dialog.Body className="flex flex-col gap-2">
|
||||||
<h5>Delete</h5>
|
<h5>{translate('::Delete')}</h5>
|
||||||
<p>Silmek istediğinize emin misiniz?</p>
|
<p>{translate('::DeleteConfirmation')}</p>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
|
|
|
||||||
|
|
@ -433,11 +433,11 @@ function JsonRowOpDialogSubForm({
|
||||||
</div>
|
</div>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -470,14 +470,14 @@ function JsonRowOpDialogSubForm({
|
||||||
{({ isSubmitting }) => (
|
{({ isSubmitting }) => (
|
||||||
<Form className="flex flex-col h-full">
|
<Form className="flex flex-col h-full">
|
||||||
<Dialog.Body className="flex flex-col gap-2">
|
<Dialog.Body className="flex flex-col gap-2">
|
||||||
<h5>Delete</h5>
|
<h5>{translate('::Delete')}</h5>
|
||||||
<p>Silmek istediğinize emin misiniz?</p>
|
<p>{translate('::DeleteConfirmation')}</p>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
|
|
|
||||||
|
|
@ -427,11 +427,11 @@ function JsonRowOpDialogWidget({
|
||||||
</div>
|
</div>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -466,14 +466,14 @@ function JsonRowOpDialogWidget({
|
||||||
{({ isSubmitting }) => (
|
{({ isSubmitting }) => (
|
||||||
<Form className="flex flex-col h-full">
|
<Form className="flex flex-col h-full">
|
||||||
<Dialog.Body className="flex flex-col gap-2">
|
<Dialog.Body className="flex flex-col gap-2">
|
||||||
<h5>Delete</h5>
|
<h5>{translate('::Delete')}</h5>
|
||||||
<p>Silmek istediğinize emin misiniz?</p>
|
<p>{translate('::DeleteConfirmation')}</p>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
<Dialog.Footer className="flex justify-end gap-2 border-t pt-3 mt-1">
|
||||||
<Button variant="plain" onClick={handleClose}>
|
<Button size="sm" variant="plain" onClick={handleClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? 'Deleting' : 'Delete'}
|
{isSubmitting ? 'Deleting' : 'Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,7 @@ const WizardFileManager = () => {
|
||||||
variant="plain"
|
variant="plain"
|
||||||
className="text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20"
|
className="text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20"
|
||||||
type="button"
|
type="button"
|
||||||
title={translate('::App.Platform.Delete') || 'Delete'}
|
title={translate('::Delete') || 'Delete'}
|
||||||
loading={deletingFile === f.fileName}
|
loading={deletingFile === f.fileName}
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
setConfirm({ fileName: f.fileName, wizardName: f.wizardName || f.fileName })
|
setConfirm({ fileName: f.fileName, wizardName: f.wizardName || f.fileName })
|
||||||
|
|
@ -279,16 +279,15 @@ const WizardFileManager = () => {
|
||||||
</div>
|
</div>
|
||||||
<div className="flex justify-end gap-2 mt-4">
|
<div className="flex justify-end gap-2 mt-4">
|
||||||
<Button size="sm" variant="plain" type="button" onClick={() => setConfirm(null)}>
|
<Button size="sm" variant="plain" type="button" onClick={() => setConfirm(null)}>
|
||||||
İptal
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size="sm"
|
size="sm"
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="red"
|
|
||||||
type="button"
|
type="button"
|
||||||
onClick={handleDeleteConfirm}
|
onClick={handleDeleteConfirm}
|
||||||
>
|
>
|
||||||
{translate('::App.Platform.Delete') || 'Yes, Delete'}
|
{translate('::Delete') || 'Yes, Delete'}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -529,9 +529,7 @@ const WizardStep1 = ({
|
||||||
}}
|
}}
|
||||||
size="xs"
|
size="xs"
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="green-500"
|
|
||||||
icon={<FaPlus className="text-xs" />}
|
icon={<FaPlus className="text-xs" />}
|
||||||
className="!inline-flex !h-auto !items-center !justify-center gap-1 !rounded !px-2 !py-0.5 text-xs text-white whitespace-nowrap hover:!bg-green-600"
|
|
||||||
>
|
>
|
||||||
<span className="whitespace-nowrap">
|
<span className="whitespace-nowrap">
|
||||||
{translate('::ListForms.Wizard.Add') || 'Ekle'}
|
{translate('::ListForms.Wizard.Add') || 'Ekle'}
|
||||||
|
|
|
||||||
|
|
@ -548,7 +548,6 @@ function SortableItem({
|
||||||
}}
|
}}
|
||||||
block
|
block
|
||||||
variant="solid"
|
variant="solid"
|
||||||
color="indigo-600"
|
|
||||||
className="mt-1 !h-auto !rounded !py-1.5 text-xs font-semibold text-white transition-colors hover:!bg-indigo-700 disabled:cursor-not-allowed disabled:opacity-40"
|
className="mt-1 !h-auto !rounded !py-1.5 text-xs font-semibold text-white transition-colors hover:!bg-indigo-700 disabled:cursor-not-allowed disabled:opacity-40"
|
||||||
>
|
>
|
||||||
Tamam
|
Tamam
|
||||||
|
|
|
||||||
|
|
@ -439,10 +439,15 @@ function WizardStep4({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2">
|
<Dialog.Footer className="flex justify-end gap-2">
|
||||||
<Button type="button" variant="plain" onClick={() => setDialogIndex(null)}>
|
<Button
|
||||||
Cancel
|
size="sm"
|
||||||
|
type="button"
|
||||||
|
variant="plain"
|
||||||
|
onClick={() => setDialogIndex(null)}
|
||||||
|
>
|
||||||
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="submit" variant="solid">
|
<Button size="sm" type="submit" variant="solid">
|
||||||
{translate('::Save')}
|
{translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
|
|
@ -458,15 +463,15 @@ function WizardStep4({
|
||||||
onRequestClose={() => setDeleteIndex(null)}
|
onRequestClose={() => setDeleteIndex(null)}
|
||||||
>
|
>
|
||||||
<Dialog.Body>
|
<Dialog.Body>
|
||||||
<h5>Delete</h5>
|
<h5>{translate('::Delete')}</h5>
|
||||||
<p>Silmek istediğinize emin misiniz?</p>
|
<p>{translate('::DeleteConfirmation')}</p>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2">
|
<Dialog.Footer className="flex justify-end gap-2">
|
||||||
<Button type="button" variant="plain" onClick={() => setDeleteIndex(null)}>
|
<Button type="button" variant="plain" onClick={() => setDeleteIndex(null)}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="button" variant="solid" onClick={removeSubForm}>
|
<Button type="button" variant="solid" onClick={removeSubForm}>
|
||||||
Delete
|
{translate('::Delete')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
|
||||||
|
|
@ -318,7 +318,7 @@ function WizardStep5({ widgets, translate, onChange, onBack, onNext }: Props) {
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2">
|
<Dialog.Footer className="flex justify-end gap-2">
|
||||||
<Button type="button" variant="plain" onClick={() => setDialogIndex(null)}>
|
<Button type="button" variant="plain" onClick={() => setDialogIndex(null)}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="submit" variant="solid">
|
<Button type="submit" variant="solid">
|
||||||
{translate('::Save')}
|
{translate('::Save')}
|
||||||
|
|
@ -336,15 +336,15 @@ function WizardStep5({ widgets, translate, onChange, onBack, onNext }: Props) {
|
||||||
onRequestClose={() => setDeleteIndex(null)}
|
onRequestClose={() => setDeleteIndex(null)}
|
||||||
>
|
>
|
||||||
<Dialog.Body>
|
<Dialog.Body>
|
||||||
<h5>Delete</h5>
|
<h5>{translate('::Delete')}</h5>
|
||||||
<p>Silmek istediğinize emin misiniz?</p>
|
<p>{translate('::DeleteConfirmation')}</p>
|
||||||
</Dialog.Body>
|
</Dialog.Body>
|
||||||
<Dialog.Footer className="flex justify-end gap-2">
|
<Dialog.Footer className="flex justify-end gap-2">
|
||||||
<Button type="button" variant="plain" onClick={() => setDeleteIndex(null)}>
|
<Button type="button" variant="plain" onClick={() => setDeleteIndex(null)}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="button" variant="solid" onClick={removeWidget}>
|
<Button type="button" variant="solid" onClick={removeWidget}>
|
||||||
Delete
|
{translate('::Delete')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ function Section({ title, badge, children, defaultOpen = true }: SectionProps) {
|
||||||
onClick={() => setOpen((v) => !v)}
|
onClick={() => setOpen((v) => !v)}
|
||||||
variant="plain"
|
variant="plain"
|
||||||
shape="none"
|
shape="none"
|
||||||
className="w-full !h-auto !items-center !justify-between !rounded-none bg-gray-50 !px-4 !py-2.5 transition-colors hover:!bg-gray-100 dark:bg-gray-800 dark:hover:!bg-gray-750"
|
className="w-full !h-auto !items-center !justify-between !rounded-none !bg-gray-50 !px-4 !py-2.5 transition-colors hover:!bg-gray-100 dark:!bg-gray-800 dark:hover:!bg-gray-700"
|
||||||
>
|
>
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
{open ? (
|
{open ? (
|
||||||
|
|
|
||||||
|
|
@ -463,6 +463,7 @@ export function WorkflowCriteria({
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
|
size="sm"
|
||||||
type="button"
|
type="button"
|
||||||
variant="plain"
|
variant="plain"
|
||||||
disabled={busy || !formValues.id}
|
disabled={busy || !formValues.id}
|
||||||
|
|
@ -470,7 +471,7 @@ export function WorkflowCriteria({
|
||||||
>
|
>
|
||||||
{translate('::Delete')}
|
{translate('::Delete')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={busy} type="submit">
|
<Button size="sm" variant="solid" loading={busy} type="submit">
|
||||||
{translate('::Save')}
|
{translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
|
|
|
||||||
|
|
@ -177,8 +177,8 @@ function DesignerToolbar({
|
||||||
<div className="flex flex-wrap justify-end gap-2">
|
<div className="flex flex-wrap justify-end gap-2">
|
||||||
<Button
|
<Button
|
||||||
type="button"
|
type="button"
|
||||||
variant="plain"
|
variant="solid"
|
||||||
shape="none"
|
shape="round"
|
||||||
className={classNames(
|
className={classNames(
|
||||||
designerButtonClass,
|
designerButtonClass,
|
||||||
'border-gray-300 !bg-white text-slate-700 hover:!bg-gray-50 dark:border-gray-700 dark:!bg-gray-800 dark:text-gray-200 dark:hover:!bg-gray-700',
|
'border-gray-300 !bg-white text-slate-700 hover:!bg-gray-50 dark:border-gray-700 dark:!bg-gray-800 dark:text-gray-200 dark:hover:!bg-gray-700',
|
||||||
|
|
@ -192,8 +192,8 @@ function DesignerToolbar({
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
type="button"
|
type="button"
|
||||||
variant="plain"
|
variant="solid"
|
||||||
shape="none"
|
shape="round"
|
||||||
className={classNames(
|
className={classNames(
|
||||||
designerButtonClass,
|
designerButtonClass,
|
||||||
'border-blue-600 !bg-white text-blue-600 hover:!bg-blue-50 dark:border-blue-500 dark:!bg-gray-800 dark:text-blue-300 dark:hover:!bg-blue-900/30',
|
'border-blue-600 !bg-white text-blue-600 hover:!bg-blue-50 dark:border-blue-500 dark:!bg-gray-800 dark:text-blue-300 dark:hover:!bg-blue-900/30',
|
||||||
|
|
@ -207,8 +207,8 @@ function DesignerToolbar({
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
type="button"
|
type="button"
|
||||||
variant="plain"
|
variant="solid"
|
||||||
shape="none"
|
shape="round"
|
||||||
className={classNames(
|
className={classNames(
|
||||||
designerIconButtonClass,
|
designerIconButtonClass,
|
||||||
'border-blue-600 !bg-white text-blue-600 hover:!bg-blue-50 dark:border-blue-500 dark:!bg-gray-800 dark:text-blue-300 dark:hover:!bg-blue-900/30',
|
'border-blue-600 !bg-white text-blue-600 hover:!bg-blue-50 dark:border-blue-500 dark:!bg-gray-800 dark:text-blue-300 dark:hover:!bg-blue-900/30',
|
||||||
|
|
@ -220,8 +220,8 @@ function DesignerToolbar({
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
type="button"
|
type="button"
|
||||||
variant="plain"
|
variant="solid"
|
||||||
shape="none"
|
shape="round"
|
||||||
className={classNames(
|
className={classNames(
|
||||||
designerIconButtonClass,
|
designerIconButtonClass,
|
||||||
'border-blue-600 !bg-white text-blue-600 hover:!bg-blue-50 dark:border-blue-500 dark:!bg-gray-800 dark:text-blue-300 dark:hover:!bg-blue-900/30',
|
'border-blue-600 !bg-white text-blue-600 hover:!bg-blue-50 dark:border-blue-500 dark:!bg-gray-800 dark:text-blue-300 dark:hover:!bg-blue-900/30',
|
||||||
|
|
@ -240,8 +240,8 @@ function DesignerToolbar({
|
||||||
<Button
|
<Button
|
||||||
key={option.value}
|
key={option.value}
|
||||||
type="button"
|
type="button"
|
||||||
variant="plain"
|
variant="solid"
|
||||||
shape="none"
|
shape="round"
|
||||||
className={classNames(
|
className={classNames(
|
||||||
designerButtonClass,
|
designerButtonClass,
|
||||||
'border-blue-600 !bg-white text-blue-600 hover:!bg-blue-50 dark:border-blue-500 dark:!bg-gray-800 dark:text-blue-300 dark:hover:!bg-blue-900/30',
|
'border-blue-600 !bg-white text-blue-600 hover:!bg-blue-50 dark:border-blue-500 dark:!bg-gray-800 dark:text-blue-300 dark:hover:!bg-blue-900/30',
|
||||||
|
|
|
||||||
|
|
@ -95,10 +95,10 @@ function CreateNotification({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<div className="mt-6 flex flex-row justify-end gap-3">
|
<div className="mt-6 flex flex-row justify-end gap-3">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="button" variant="plain" onClick={onDialogClose}>
|
<Button size="sm" type="button" variant="plain" onClick={onDialogClose}>
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -388,7 +388,7 @@ const OrganizationUnits = () => {
|
||||||
<div
|
<div
|
||||||
className={classNames(
|
className={classNames(
|
||||||
'h-8 text-md flex gap-2 items-center',
|
'h-8 text-md flex gap-2 items-center',
|
||||||
node.isSelected ? 'bg-indigo-200 text-black dark:text-black' : '',
|
node.isSelected ? 'bg-indigo-100 text-gray-900 dark:bg-gray-700 dark:text-gray-100' : '',
|
||||||
)}
|
)}
|
||||||
style={style}
|
style={style}
|
||||||
ref={dragHandle}
|
ref={dragHandle}
|
||||||
|
|
@ -401,7 +401,7 @@ const OrganizationUnits = () => {
|
||||||
{node.isInternal && (node.isOpen ? <FaMinusCircle /> : <FaPlusCircle />)}
|
{node.isInternal && (node.isOpen ? <FaMinusCircle /> : <FaPlusCircle />)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<FaFolder className="w-3" color="#337ab7" />
|
<FaFolder className="w-3" />
|
||||||
|
|
||||||
<span className="node-text m-1">
|
<span className="node-text m-1">
|
||||||
{node.isEditing ? (
|
{node.isEditing ? (
|
||||||
|
|
@ -431,21 +431,27 @@ const OrganizationUnits = () => {
|
||||||
<Button
|
<Button
|
||||||
size='xs'
|
size='xs'
|
||||||
variant='plain'
|
variant='plain'
|
||||||
icon={<FaUserPlus color="#2d6da3" />}
|
shape="circle"
|
||||||
|
className="!h-6 !w-6 !bg-blue-50 !p-0 text-blue-600 hover:!bg-blue-100 hover:text-blue-700 dark:!bg-blue-900/30 dark:text-blue-300 dark:hover:!bg-blue-800/60 dark:hover:text-blue-100"
|
||||||
|
icon={<FaUserPlus className="text-xs" />}
|
||||||
onClick={() => setIsMoveAllUsersOpen(true)}
|
onClick={() => setIsMoveAllUsersOpen(true)}
|
||||||
title={translate('::Abp.Identity.OrganizationUnit.MoveAllUsers')}
|
title={translate('::Abp.Identity.OrganizationUnit.MoveAllUsers')}
|
||||||
></Button>
|
></Button>
|
||||||
<Button
|
<Button
|
||||||
size='xs'
|
size='xs'
|
||||||
variant='plain'
|
variant='plain'
|
||||||
icon={<FaEdit className="text-teal-900" />}
|
shape="circle"
|
||||||
|
className="!h-6 !w-6 !bg-teal-50 !p-0 text-teal-600 hover:!bg-teal-100 hover:text-teal-700 dark:!bg-teal-900/30 dark:text-teal-300 dark:hover:!bg-teal-800/60 dark:hover:text-teal-100"
|
||||||
|
icon={<FaEdit className="text-xs" />}
|
||||||
onClick={() => node.edit()}
|
onClick={() => node.edit()}
|
||||||
title={translate('::Abp.Identity.OrganizationUnit.Rename')}
|
title={translate('::Abp.Identity.OrganizationUnit.Rename')}
|
||||||
></Button>
|
></Button>
|
||||||
<Button
|
<Button
|
||||||
size='xs'
|
size='xs'
|
||||||
variant='plain'
|
variant='plain'
|
||||||
icon={<FaTrashAlt color="#d9534f" />}
|
shape="circle"
|
||||||
|
className="!h-6 !w-6 !bg-red-50 !p-0 text-red-600 hover:!bg-red-100 hover:text-red-700 dark:!bg-red-900/30 dark:text-red-300 dark:hover:!bg-red-800/60 dark:hover:text-red-100"
|
||||||
|
icon={<FaTrashAlt className="text-xs" />}
|
||||||
onClick={() => setDeleteRow({ id: node.data.id, name: 'Organization Unit' })}
|
onClick={() => setDeleteRow({ id: node.data.id, name: 'Organization Unit' })}
|
||||||
title={translate('::Delete')}
|
title={translate('::Delete')}
|
||||||
></Button>
|
></Button>
|
||||||
|
|
@ -715,10 +721,10 @@ const OrganizationUnits = () => {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<div className="mt-6 flex flex-row justify-end gap-3">
|
<div className="mt-6 flex flex-row justify-end gap-3">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::...') : translate('::Save')}
|
{isSubmitting ? translate('::...') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="button" variant="plain" onClick={onDialogClose}>
|
<Button size="sm" type="button" variant="plain" onClick={onDialogClose}>
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1048,10 +1054,11 @@ const OrganizationUnits = () => {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<div className="mt-6 flex flex-row justify-end gap-3">
|
<div className="mt-6 flex flex-row justify-end gap-3">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::...') : translate('::Save')}
|
{isSubmitting ? translate('::...') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
|
size="sm"
|
||||||
type="button"
|
type="button"
|
||||||
variant="plain"
|
variant="plain"
|
||||||
onClick={() => setIsMoveAllUsersOpen(false)}
|
onClick={() => setIsMoveAllUsersOpen(false)}
|
||||||
|
|
|
||||||
|
|
@ -383,9 +383,16 @@ const General = () => {
|
||||||
beforeUpload={beforeUpload}
|
beforeUpload={beforeUpload}
|
||||||
onChange={onChooseImage}
|
onChange={onChooseImage}
|
||||||
>
|
>
|
||||||
<Button icon={<FaPlus />} type="button"></Button>
|
<Button
|
||||||
|
size="sm"
|
||||||
|
variant="default"
|
||||||
|
icon={<FaPlus />}
|
||||||
|
type="button"
|
||||||
|
></Button>
|
||||||
</Upload>
|
</Upload>
|
||||||
<Button
|
<Button
|
||||||
|
size="sm"
|
||||||
|
variant="solid"
|
||||||
type="button"
|
type="button"
|
||||||
icon={<FaTrashAlt />}
|
icon={<FaTrashAlt />}
|
||||||
onClick={() => setImage(undefined)}
|
onClick={() => setImage(undefined)}
|
||||||
|
|
@ -403,11 +410,16 @@ const General = () => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-4 ltr:text-right">
|
<div className="mt-4 ltr:text-right">
|
||||||
<Button className="ltr:mr-2 rtl:ml-2" type="button" onClick={() => resetForm()}>
|
<Button
|
||||||
|
size="sm"
|
||||||
|
className="ltr:mr-2 rtl:ml-2"
|
||||||
|
type="button"
|
||||||
|
onClick={() => resetForm()}
|
||||||
|
>
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button size="sm" variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ const Password = ({ data }: { data?: LoginHistory[] }) => {
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
|
|
|
||||||
|
|
@ -165,7 +165,7 @@ function PermissionDialogContent({
|
||||||
|
|
||||||
<Dialog.Footer className="flex justify-between items-center mt-4 pt-3 border-t">
|
<Dialog.Footer className="flex justify-between items-center mt-4 pt-3 border-t">
|
||||||
<div className="flex items-center">
|
<div className="flex items-center">
|
||||||
<Button variant="solid" color="sky-500" onClick={() => setCopyDialogOpen(true)}>
|
<Button variant="plain" onClick={() => setCopyDialogOpen(true)}>
|
||||||
{translate('::AbpIdentity.Roles.CopyPermissions')}
|
{translate('::AbpIdentity.Roles.CopyPermissions')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -174,7 +174,7 @@ function PermissionDialogContent({
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isLoading} onClick={onDialogOk}>
|
<Button variant="solid" loading={isLoading} onClick={onDialogOk}>
|
||||||
{isLoading ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isLoading ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
|
|
|
||||||
|
|
@ -337,18 +337,17 @@ function TenantConnectionString({
|
||||||
disabled={connectionString.isNew}
|
disabled={connectionString.isNew}
|
||||||
className="mr-auto"
|
className="mr-auto"
|
||||||
type="button"
|
type="button"
|
||||||
color="red-500"
|
variant="plain"
|
||||||
variant="twoTone"
|
|
||||||
onClick={deleteConnectionString}
|
onClick={deleteConnectionString}
|
||||||
>
|
>
|
||||||
{translate('::Delete')}
|
{translate('::Delete')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
|
||||||
</Button>
|
|
||||||
<Button type="button" variant="plain" onClick={onDialogClose}>
|
<Button type="button" variant="plain" onClick={onDialogClose}>
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -395,6 +394,9 @@ function TenantConnectionString({
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<div className="mt-6 flex flex-row justify-end gap-3">
|
<div className="mt-6 flex flex-row justify-end gap-3">
|
||||||
|
<Button type="button" variant="plain" onClick={onDialogClose}>
|
||||||
|
{translate('::Cancel')}
|
||||||
|
</Button>
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting
|
{isSubmitting
|
||||||
? connectionString.isNew
|
? connectionString.isNew
|
||||||
|
|
@ -404,9 +406,6 @@ function TenantConnectionString({
|
||||||
? translate('::Abp.Identity.CreateUser')
|
? translate('::Abp.Identity.CreateUser')
|
||||||
: translate('::AbpTenantManagement.Tenants.DatabaseSeed')}
|
: translate('::AbpTenantManagement.Tenants.DatabaseSeed')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="button" variant="plain" onClick={onDialogClose}>
|
|
||||||
{translate('::Cancel')}
|
|
||||||
</Button>
|
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -593,7 +593,7 @@ function UserDetails() {
|
||||||
|
|
||||||
<div className="mt-4 ltr:text-right">
|
<div className="mt-4 ltr:text-right">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -705,7 +705,7 @@ function UserDetails() {
|
||||||
|
|
||||||
<div className="mt-4 ltr:text-right">
|
<div className="mt-4 ltr:text-right">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -887,7 +887,7 @@ function UserDetails() {
|
||||||
|
|
||||||
<div className="mt-4 ltr:text-right">
|
<div className="mt-4 ltr:text-right">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -1244,7 +1244,7 @@ function UserDetails() {
|
||||||
|
|
||||||
<div className="mt-4 ltr:text-right">
|
<div className="mt-4 ltr:text-right">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -1632,7 +1632,7 @@ function UserDetails() {
|
||||||
|
|
||||||
<div className="mt-4 ltr:text-right">
|
<div className="mt-4 ltr:text-right">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
@ -1747,12 +1747,12 @@ function UserDetails() {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<div className="mt-6 flex flex-row justify-end gap-3">
|
<div className="mt-6 flex flex-row justify-end gap-3">
|
||||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
|
||||||
</Button>
|
|
||||||
<Button type="button" variant="plain" onClick={() => setOpen(false)}>
|
<Button type="button" variant="plain" onClick={() => setOpen(false)}>
|
||||||
{translate('::Cancel')}
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||||
|
{isSubmitting ? translate('::Saving') : translate('::Save')}
|
||||||
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -171,10 +171,10 @@ function UserPermissionDialogContent({
|
||||||
|
|
||||||
<Dialog.Footer className="flex justify-end items-center mt-4 pt-3 border-t gap-2">
|
<Dialog.Footer className="flex justify-end items-center mt-4 pt-3 border-t gap-2">
|
||||||
<Button variant="plain" onClick={onDialogClose}>
|
<Button variant="plain" onClick={onDialogClose}>
|
||||||
Cancel
|
{translate('::Cancel')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" loading={isLoading} onClick={onDialogOk}>
|
<Button variant="solid" loading={isLoading} onClick={onDialogOk}>
|
||||||
{isLoading ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isLoading ? translate('::Saving') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -454,11 +454,11 @@ const RoomList: React.FC = () => {
|
||||||
className="flex items-center gap-1"
|
className="flex items-center gap-1"
|
||||||
onClick={() => openDeleteModal(classSession)}
|
onClick={() => openDeleteModal(classSession)}
|
||||||
disabled={!!classSession.actualStartTime}
|
disabled={!!classSession.actualStartTime}
|
||||||
title={translate('::App.Platform.Delete')}
|
title={translate('::Delete')}
|
||||||
>
|
>
|
||||||
|
|
||||||
<span className="hidden sm:inline">
|
<span className="hidden sm:inline">
|
||||||
{translate('::App.Platform.Delete')}
|
{translate('::Delete')}
|
||||||
</span>
|
</span>
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
|
|
@ -880,10 +880,10 @@ const RoomList: React.FC = () => {
|
||||||
>
|
>
|
||||||
{translate('::Cancel') || 'İptal'}
|
{translate('::Cancel') || 'İptal'}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="submit" variant="solid" color="blue-600">
|
<Button type="submit" variant="solid">
|
||||||
{showCreateModal
|
{showCreateModal
|
||||||
? translate('::App.Videoroom.CreateRoom') || 'Oda Oluştur'
|
? translate('::App.Videoroom.CreateRoom') || 'Oda Oluştur'
|
||||||
: translate('::App.Videoroom.SaveChanges') || 'Değişiklikleri Kaydet'}
|
: translate('::App.SaveChanges') || 'Değişiklikleri Kaydet'}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -932,7 +932,7 @@ const RoomList: React.FC = () => {
|
||||||
{translate('::Cancel') || 'İptal'}
|
{translate('::Cancel') || 'İptal'}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="solid" color="red-600" onClick={handleDeleteClass}>
|
<Button variant="solid" color="red-600" onClick={handleDeleteClass}>
|
||||||
{translate('::App.Platform.Delete') || 'Sil'}
|
{translate('::Delete') || 'Sil'}
|
||||||
</Button>
|
</Button>
|
||||||
</Dialog.Footer>
|
</Dialog.Footer>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
|
||||||
|
|
@ -142,8 +142,9 @@ const ExtendLogin = () => {
|
||||||
onExpire={() => setFieldValue('captchaResponse', '')}
|
onExpire={() => setFieldValue('captchaResponse', '')}
|
||||||
onSuccess={(token: string) => setFieldValue('captchaResponse', token)}
|
onSuccess={(token: string) => setFieldValue('captchaResponse', token)}
|
||||||
/>
|
/>
|
||||||
<Button block loading={isSubmitting} variant="solid" type="submit">
|
<Button variant="solid" block loading={isSubmitting} type="submit">
|
||||||
{emailSent ? 'Resend Email' : 'Send Email'}
|
{translate('::Abp.Account.Backto')}
|
||||||
|
{emailSent ? translate('::Resend') : translate('::Send')}
|
||||||
</Button>
|
</Button>
|
||||||
<div className="mt-4 text-center">
|
<div className="mt-4 text-center">
|
||||||
<span>{translate('::Abp.Account.Backto')} </span>
|
<span>{translate('::Abp.Account.Backto')} </span>
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue