namirasoft-site-react 1.5.27 → 1.5.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +86 -86
- package/.env.template +10 -10
- package/Dockerfile +18 -18
- package/SKILL.md +307 -307
- package/config-overrides.js +72 -72
- package/dist/App.css +33 -33
- package/dist/App.js +3 -25
- package/dist/App.js.map +1 -1
- package/dist/components/NSBanner.module.css +47 -47
- package/dist/components/NSBarAction.module.css +91 -91
- package/dist/components/NSBarAlert.module.css +79 -79
- package/dist/components/NSBarNotification.module.css +34 -34
- package/dist/components/NSBarTitle.module.css +9 -9
- package/dist/components/NSBox.module.css +87 -87
- package/dist/components/NSBoxBaseCombo.module.css +24 -24
- package/dist/components/NSBoxBoolean.js +1 -1
- package/dist/components/NSBoxBoolean.js.map +1 -1
- package/dist/components/NSBoxBoolean.module.css +73 -73
- package/dist/components/NSBoxDate.module.css +4 -4
- package/dist/components/NSBoxDateRangeBase.module.css +73 -73
- package/dist/components/NSBoxDateTime.module.css +4 -4
- package/dist/components/NSBoxDuration.module.css +4 -4
- package/dist/components/NSBoxFile.module.css +10 -10
- package/dist/components/NSBoxInteger.module.css +16 -16
- package/dist/components/NSBoxOptions.module.css +53 -53
- package/dist/components/NSBoxPhone.module.css +35 -35
- package/dist/components/NSBoxRadio.module.css +33 -33
- package/dist/components/NSBoxSchemaBase.module.css +17 -17
- package/dist/components/NSBoxSchemaVariable.module.css +16 -16
- package/dist/components/NSBoxTextArea.module.css +12 -12
- package/dist/components/NSBoxTime.module.css +4 -4
- package/dist/components/NSButton.module.css +57 -57
- package/dist/components/NSButtonBlue.module.css +4 -4
- package/dist/components/NSButtonGreen.module.css +4 -4
- package/dist/components/NSButtonRed.module.css +4 -4
- package/dist/components/NSCard.module.css +113 -113
- package/dist/components/NSCardScreenshot.module.css +41 -41
- package/dist/components/NSColumn.module.css +16 -16
- package/dist/components/NSCopyBox.module.css +39 -39
- package/dist/components/NSDialog.module.css +105 -105
- package/dist/components/NSDialogPageSelection.module.css +103 -103
- package/dist/components/NSDownTimer.module.css +55 -55
- package/dist/components/NSDownload.module.css +46 -46
- package/dist/components/NSElectronicCard.module.css +60 -60
- package/dist/components/NSEntityCardBackground.module.css +27 -27
- package/dist/components/NSFilterBox.module.css +27 -27
- package/dist/components/NSFilterBoxItems.module.css +15 -15
- package/dist/components/NSFilterItem.module.css +24 -24
- package/dist/components/NSFooter.module.css +140 -140
- package/dist/components/NSGauge.module.css +67 -67
- package/dist/components/NSGaugeDate.module.css +57 -57
- package/dist/components/NSGaugeNumber.module.css +66 -66
- package/dist/components/NSHeader.module.css +316 -316
- package/dist/components/NSHeaderScreenshot.module.css +35 -35
- package/dist/components/NSLabel.module.css +25 -25
- package/dist/components/NSLabelErrorNotifier.module.css +2 -2
- package/dist/components/NSLabelSensitive.module.css +9 -9
- package/dist/components/NSLayout.module.css +22 -22
- package/dist/components/NSLine.module.css +15 -15
- package/dist/components/NSLineText.module.css +38 -38
- package/dist/components/NSLink.module.css +36 -36
- package/dist/components/NSListGrouped.module.css +69 -69
- package/dist/components/NSLoading.module.css +10 -10
- package/dist/components/NSMegaMenu.module.css +133 -133
- package/dist/components/NSMenuAction.module.css +88 -88
- package/dist/components/NSMenuButton.module.css +44 -44
- package/dist/components/NSNoData.module.css +11 -11
- package/dist/components/NSPagination.module.css +94 -94
- package/dist/components/NSPanel.module.css +28 -28
- package/dist/components/NSPanelAccordion.module.css +4 -4
- package/dist/components/NSProductSearch.module.css +73 -73
- package/dist/components/NSProgressBar.module.css +38 -38
- package/dist/components/NSRange.module.css +66 -66
- package/dist/components/NSReorderDialog.d.ts +3 -0
- package/dist/components/NSReorderDialog.js +10 -4
- package/dist/components/NSReorderDialog.js.map +1 -1
- package/dist/components/NSReorderDialog.module.css +53 -49
- package/dist/components/NSRow.module.css +17 -17
- package/dist/components/NSSection.module.css +4 -4
- package/dist/components/NSSectionCards.module.css +38 -38
- package/dist/components/NSSectionTiles.module.css +10 -10
- package/dist/components/NSSplitter.d.ts +3 -0
- package/dist/components/NSSplitter.js +25 -2
- package/dist/components/NSSplitter.js.map +1 -1
- package/dist/components/NSSplitter.module.css +59 -59
- package/dist/components/NSTabPage.module.css +59 -59
- package/dist/components/NSTable.js +23 -23
- package/dist/components/NSTable.module.css +376 -374
- package/dist/components/NSTableChart.module.css +119 -119
- package/dist/components/NSTile.module.css +76 -76
- package/dist/components/NSTimelineMonthly.module.css +71 -71
- package/dist/components/NSTitle.module.css +15 -15
- package/dist/index.css +5 -5
- package/dist/pages/NSImplementing.module.css +35 -35
- package/dist/pages/NSNotFoundPage.module.css +18 -18
- package/dist/pages/NSUpdating.module.css +35 -35
- package/package.json +86 -86
- package/public/index.html +38 -38
- package/src/App.css +33 -33
- package/src/App.tsx +850 -870
- package/src/BrowserDetector.ts +109 -109
- package/src/Color.tsx +10 -10
- package/src/CopyToClipboard.ts +6 -6
- package/src/EncryptionOperation.ts +98 -98
- package/src/KeyOperation.ts +109 -109
- package/src/LinkOperation.ts +101 -101
- package/src/NSBoxBuilder.tsx +922 -922
- package/src/ProductCacheService.ts +36 -36
- package/src/Validator.ts +199 -199
- package/src/components/INSBox.tsx +7 -7
- package/src/components/NSBanner.module.css +47 -47
- package/src/components/NSBanner.tsx +80 -80
- package/src/components/NSBarAction.module.css +91 -91
- package/src/components/NSBarAction.tsx +95 -95
- package/src/components/NSBarAlert.module.css +79 -79
- package/src/components/NSBarAlert.tsx +35 -35
- package/src/components/NSBarNotification.module.css +34 -34
- package/src/components/NSBarNotification.tsx +89 -89
- package/src/components/NSBarTitle.module.css +9 -9
- package/src/components/NSBarTitle.tsx +23 -23
- package/src/components/NSBox.module.css +87 -87
- package/src/components/NSBox.tsx +19 -19
- package/src/components/NSBoxBaseCombo.module.css +24 -24
- package/src/components/NSBoxBaseCombo.tsx +501 -501
- package/src/components/NSBoxBaseLayout.tsx +163 -163
- package/src/components/NSBoxBaseLayoutRecursive.tsx +59 -59
- package/src/components/NSBoxBoolean.module.css +73 -73
- package/src/components/NSBoxBoolean.tsx +151 -152
- package/src/components/NSBoxBooleans.tsx +181 -181
- package/src/components/NSBoxColor.tsx +107 -107
- package/src/components/NSBoxCombo.tsx +95 -95
- package/src/components/NSBoxDate.module.css +4 -4
- package/src/components/NSBoxDate.tsx +144 -144
- package/src/components/NSBoxDateRange.tsx +88 -88
- package/src/components/NSBoxDateRangeBase.module.css +73 -73
- package/src/components/NSBoxDateRangeBase.tsx +236 -236
- package/src/components/NSBoxDateTime.module.css +4 -4
- package/src/components/NSBoxDateTime.tsx +136 -136
- package/src/components/NSBoxDateTimeRange.tsx +66 -66
- package/src/components/NSBoxDouble.tsx +110 -110
- package/src/components/NSBoxDuration.module.css +4 -4
- package/src/components/NSBoxDuration.tsx +107 -107
- package/src/components/NSBoxDynamic.tsx +73 -73
- package/src/components/NSBoxDynamics.tsx +68 -68
- package/src/components/NSBoxEmail.tsx +117 -117
- package/src/components/NSBoxEntity.tsx +180 -180
- package/src/components/NSBoxEnum.tsx +113 -113
- package/src/components/NSBoxFile.module.css +10 -10
- package/src/components/NSBoxFile.tsx +106 -106
- package/src/components/NSBoxFilePath.tsx +106 -106
- package/src/components/NSBoxFont.tsx +107 -107
- package/src/components/NSBoxIPV4.tsx +107 -107
- package/src/components/NSBoxIPV4Range.tsx +107 -107
- package/src/components/NSBoxIPV6.tsx +104 -104
- package/src/components/NSBoxIPV6Range.tsx +107 -107
- package/src/components/NSBoxInteger.module.css +16 -16
- package/src/components/NSBoxInteger.tsx +126 -126
- package/src/components/NSBoxMoney.tsx +115 -115
- package/src/components/NSBoxOptions.module.css +53 -53
- package/src/components/NSBoxOptions.tsx +182 -182
- package/src/components/NSBoxPhone.module.css +35 -35
- package/src/components/NSBoxPhone.tsx +120 -120
- package/src/components/NSBoxRadio.module.css +33 -33
- package/src/components/NSBoxRadio.tsx +104 -104
- package/src/components/NSBoxSchemaBase.module.css +17 -17
- package/src/components/NSBoxSchemaBase.tsx +562 -562
- package/src/components/NSBoxSchemaVariable.module.css +16 -16
- package/src/components/NSBoxSchemaVariable.tsx +262 -262
- package/src/components/NSBoxSearch.tsx +112 -112
- package/src/components/NSBoxSensitive.tsx +133 -133
- package/src/components/NSBoxString.tsx +106 -106
- package/src/components/NSBoxTextArea.module.css +12 -12
- package/src/components/NSBoxTextArea.tsx +136 -136
- package/src/components/NSBoxTime.module.css +4 -4
- package/src/components/NSBoxTime.tsx +106 -106
- package/src/components/NSBoxTimeRange.tsx +220 -220
- package/src/components/NSBoxTimeZone.tsx +122 -122
- package/src/components/NSBoxURL.tsx +117 -117
- package/src/components/NSBoxVersion.tsx +107 -107
- package/src/components/NSButton.module.css +57 -57
- package/src/components/NSButton.tsx +74 -74
- package/src/components/NSButtonBlue.module.css +4 -4
- package/src/components/NSButtonBlue.tsx +29 -29
- package/src/components/NSButtonGreen.module.css +4 -4
- package/src/components/NSButtonGreen.tsx +29 -29
- package/src/components/NSButtonRed.module.css +4 -4
- package/src/components/NSButtonRed.tsx +29 -29
- package/src/components/NSCard.module.css +113 -113
- package/src/components/NSCard.tsx +67 -67
- package/src/components/NSCardScreenshot.module.css +41 -41
- package/src/components/NSCardScreenshot.tsx +31 -31
- package/src/components/NSChartBar.tsx +134 -134
- package/src/components/NSChartDoughnut.tsx +114 -114
- package/src/components/NSChartLine.tsx +110 -110
- package/src/components/NSChartPie.tsx +105 -105
- package/src/components/NSChartRange.tsx +14 -14
- package/src/components/NSColumn.module.css +16 -16
- package/src/components/NSColumn.tsx +24 -24
- package/src/components/NSCopy.tsx +95 -95
- package/src/components/NSCopyBox.module.css +39 -39
- package/src/components/NSCopyBox.tsx +53 -53
- package/src/components/NSDialog.module.css +105 -105
- package/src/components/NSDialog.tsx +72 -72
- package/src/components/NSDialogBox.tsx +38 -38
- package/src/components/NSDialogBoxDate.tsx +28 -28
- package/src/components/NSDialogBoxDateTime.tsx +28 -28
- package/src/components/NSDialogBoxPhone.tsx +28 -28
- package/src/components/NSDialogBoxString.tsx +28 -28
- package/src/components/NSDialogDelete.tsx +36 -36
- package/src/components/NSDialogInfo.tsx +49 -49
- package/src/components/NSDialogPageSelection.module.css +103 -103
- package/src/components/NSDialogPageSelection.tsx +233 -233
- package/src/components/NSDownTimer.module.css +55 -55
- package/src/components/NSDownTimer.tsx +91 -91
- package/src/components/NSDownload.module.css +46 -46
- package/src/components/NSDownload.tsx +69 -69
- package/src/components/NSElectronicCard.module.css +60 -60
- package/src/components/NSElectronicCard.tsx +46 -46
- package/src/components/NSEntityCardBackground.module.css +27 -27
- package/src/components/NSEntityCardBackground.tsx +36 -36
- package/src/components/NSFilterBox.module.css +27 -27
- package/src/components/NSFilterBox.tsx +477 -477
- package/src/components/NSFilterBoxItems.module.css +15 -15
- package/src/components/NSFilterBoxItems.tsx +52 -52
- package/src/components/NSFilterItem.module.css +24 -24
- package/src/components/NSFilterItem.tsx +27 -27
- package/src/components/NSFooter.module.css +140 -140
- package/src/components/NSFooter.tsx +321 -321
- package/src/components/NSGauge.module.css +67 -67
- package/src/components/NSGauge.tsx +52 -52
- package/src/components/NSGaugeDate.module.css +57 -57
- package/src/components/NSGaugeDate.tsx +125 -125
- package/src/components/NSGaugeNumber.module.css +66 -66
- package/src/components/NSGaugeNumber.tsx +93 -93
- package/src/components/NSHeader.module.css +316 -316
- package/src/components/NSHeader.tsx +337 -337
- package/src/components/NSHeaderScreenshot.module.css +35 -35
- package/src/components/NSHeaderScreenshot.tsx +39 -39
- package/src/components/NSID.tsx +178 -178
- package/src/components/NSInfo.tsx +50 -50
- package/src/components/NSLabel.module.css +25 -25
- package/src/components/NSLabel.tsx +47 -47
- package/src/components/NSLabelErrorNotifier.module.css +2 -2
- package/src/components/NSLabelErrorNotifier.tsx +35 -35
- package/src/components/NSLabelSensitive.module.css +9 -9
- package/src/components/NSLabelSensitive.tsx +101 -101
- package/src/components/NSLayout.module.css +22 -22
- package/src/components/NSLayout.tsx +143 -143
- package/src/components/NSLine.module.css +15 -15
- package/src/components/NSLine.tsx +13 -13
- package/src/components/NSLineText.module.css +38 -38
- package/src/components/NSLineText.tsx +17 -17
- package/src/components/NSLink.module.css +36 -36
- package/src/components/NSLink.tsx +26 -26
- package/src/components/NSLinkBlue.tsx +22 -22
- package/src/components/NSLinkGreen.tsx +13 -13
- package/src/components/NSLinkRed.tsx +13 -13
- package/src/components/NSListGrouped.module.css +69 -69
- package/src/components/NSListGrouped.tsx +106 -106
- package/src/components/NSListProduct.tsx +78 -78
- package/src/components/NSLoading.module.css +10 -10
- package/src/components/NSLoading.tsx +43 -43
- package/src/components/NSMegaMenu.module.css +133 -133
- package/src/components/NSMegaMenu.tsx +188 -188
- package/src/components/NSMenuAction.module.css +88 -88
- package/src/components/NSMenuAction.tsx +106 -106
- package/src/components/NSMenuButton.module.css +44 -44
- package/src/components/NSMenuButton.tsx +198 -198
- package/src/components/NSNoData.module.css +11 -11
- package/src/components/NSNoData.tsx +24 -24
- package/src/components/NSPagination.module.css +94 -94
- package/src/components/NSPagination.tsx +182 -182
- package/src/components/NSPanel.module.css +28 -28
- package/src/components/NSPanel.tsx +26 -26
- package/src/components/NSPanelAccordion.module.css +4 -4
- package/src/components/NSPanelAccordion.tsx +51 -51
- package/src/components/NSProductSearch.module.css +73 -73
- package/src/components/NSProductSearch.tsx +193 -193
- package/src/components/NSProgressBar.module.css +38 -38
- package/src/components/NSProgressBar.tsx +29 -29
- package/src/components/NSRange.module.css +66 -66
- package/src/components/NSRange.tsx +83 -83
- package/src/components/NSReorderDialog.module.css +53 -49
- package/src/components/NSReorderDialog.tsx +203 -184
- package/src/components/NSRepeater.tsx +327 -327
- package/src/components/NSRepeaterNSBoxSchemaVariable.tsx +96 -96
- package/src/components/NSRepeaterNSTag.tsx +86 -86
- package/src/components/NSRow.module.css +17 -17
- package/src/components/NSRow.tsx +24 -24
- package/src/components/NSSection.module.css +4 -4
- package/src/components/NSSection.tsx +26 -26
- package/src/components/NSSectionCards.module.css +38 -38
- package/src/components/NSSectionCards.tsx +51 -51
- package/src/components/NSSectionTiles.module.css +10 -10
- package/src/components/NSSectionTiles.tsx +25 -25
- package/src/components/NSSectionTitle.tsx +19 -19
- package/src/components/NSSortDialog.tsx +124 -124
- package/src/components/NSSpace.tsx +28 -28
- package/src/components/NSSplitter.module.css +59 -59
- package/src/components/NSSplitter.tsx +244 -211
- package/src/components/NSTabPage.module.css +59 -59
- package/src/components/NSTabPage.tsx +122 -122
- package/src/components/NSTable.module.css +376 -374
- package/src/components/NSTable.tsx +1451 -1451
- package/src/components/NSTableChart.module.css +119 -119
- package/src/components/NSTableChart.tsx +732 -732
- package/src/components/NSTag.tsx +74 -74
- package/src/components/NSTile.module.css +76 -76
- package/src/components/NSTile.tsx +27 -27
- package/src/components/NSTimelineMonthly.module.css +71 -71
- package/src/components/NSTimelineMonthly.tsx +44 -44
- package/src/components/NSTitle.module.css +15 -15
- package/src/components/NSTitle.tsx +19 -19
- package/src/css.d.ts +13 -13
- package/src/formatter/BackColorFormatter.tsx +23 -23
- package/src/formatter/BaseColumnFormatter.ts +86 -86
- package/src/formatter/BaseURLImageFormatter.tsx +37 -37
- package/src/formatter/BooleanFormatter.ts +26 -26
- package/src/formatter/BytesFormatter.tsx +19 -19
- package/src/formatter/DateFormatter.ts +26 -26
- package/src/formatter/DateTimeFormatter.ts +26 -26
- package/src/formatter/DurationFormatter.ts +17 -17
- package/src/formatter/EmailFormatter.tsx +25 -25
- package/src/formatter/EnumFormatter.ts +17 -17
- package/src/formatter/FloatFormatter.ts +27 -27
- package/src/formatter/ForeColorFormatter.tsx +24 -24
- package/src/formatter/IDFormatter.tsx +58 -58
- package/src/formatter/IPFormatter.ts +39 -39
- package/src/formatter/IntegerFormatter.ts +27 -27
- package/src/formatter/JsonFormatter.tsx +75 -75
- package/src/formatter/MoneyFormatter.ts +39 -39
- package/src/formatter/PercentFormatter.tsx +43 -43
- package/src/formatter/PhoneFormatter.tsx +25 -25
- package/src/formatter/SensitiveFormatter.tsx +40 -40
- package/src/formatter/StringFormatter.tsx +49 -49
- package/src/formatter/TimeFormatter.ts +25 -25
- package/src/formatter/URLFormatter.tsx +28 -28
- package/src/formatter/UnknowFormatter.ts +22 -22
- package/src/index.css +5 -5
- package/src/index.tsx +7 -7
- package/src/main.ts +263 -263
- package/src/pages/NSImplementing.module.css +35 -35
- package/src/pages/NSImplementing.tsx +32 -32
- package/src/pages/NSNotFoundPage.module.css +18 -18
- package/src/pages/NSNotFoundPage.tsx +14 -14
- package/src/pages/NSUpdating.module.css +35 -35
- package/src/pages/NSUpdating.tsx +32 -32
- package/src/props/IBackgroundProps.ts +5 -5
- package/src/props/IBaseComponentProps.ts +8 -8
- package/src/props/IHeaderIconProps.ts +10 -10
- package/src/props/IHeaderLeftProps.ts +6 -6
- package/src/props/IHeaderRightProps.ts +8 -8
- package/src/props/IImageProps.ts +4 -4
- package/src/props/ILinkProps.ts +4 -4
- package/src/props/IValidationNumberProps.ts +4 -4
- package/src/props/IValidationPrecisionProps.ts +3 -3
- package/src/props/IValidationProps.ts +9 -9
- package/src/props/IValidationRegexProps.ts +4 -4
- package/src/props/IValidationStringProps.ts +4 -4
- package/src/routing/NSNotifier.ts +114 -114
- package/src/routing/NSRouterMaker.tsx +28 -28
- package/tsconfig.json +43 -43
- package/dist/components/NSListMenu.d.ts +0 -9
- package/dist/components/NSListMenu.js +0 -135
- package/dist/components/NSListMenu.js.map +0 -1
package/src/css.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
let css_d = "";
|
|
2
|
-
|
|
3
|
-
declare module "*.module.css" {
|
|
4
|
-
const classes: { readonly [key: string]: string };
|
|
5
|
-
export default classes;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
declare module "*.module.scss" {
|
|
9
|
-
const classes: { readonly [key: string]: string };
|
|
10
|
-
export default classes;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
declare module "*.css";
|
|
1
|
+
let css_d = "";
|
|
2
|
+
|
|
3
|
+
declare module "*.module.css" {
|
|
4
|
+
const classes: { readonly [key: string]: string };
|
|
5
|
+
export default classes;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
declare module "*.module.scss" {
|
|
9
|
+
const classes: { readonly [key: string]: string };
|
|
10
|
+
export default classes;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare module "*.css";
|
|
14
14
|
declare module "*.scss";
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { TableColumnInfo, TableRowInfo } from "../components/NSTable";
|
|
2
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
-
|
|
4
|
-
export class BackColorFormatter extends BaseColumnFormatter
|
|
5
|
-
{
|
|
6
|
-
private formatter: BaseColumnFormatter;
|
|
7
|
-
private colors: { [value: string]: string }
|
|
8
|
-
constructor(formatter: BaseColumnFormatter, colors: { [value: string]: string }, width?: string)
|
|
9
|
-
{
|
|
10
|
-
super();
|
|
11
|
-
this.formatter = formatter;
|
|
12
|
-
this.colors = colors;
|
|
13
|
-
if (width)
|
|
14
|
-
this.width = width;
|
|
15
|
-
}
|
|
16
|
-
override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean)
|
|
17
|
-
{
|
|
18
|
-
let formatted = this.formatter.format(value, column, row, printable);
|
|
19
|
-
if (!printable)
|
|
20
|
-
if (this.colors[value])
|
|
21
|
-
return <span style={{ background: this.colors[value], borderRadius: "16px", width: "100px", textAlign: "center" }}> {formatted} </span>;
|
|
22
|
-
return formatted;
|
|
23
|
-
}
|
|
1
|
+
import { TableColumnInfo, TableRowInfo } from "../components/NSTable";
|
|
2
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
+
|
|
4
|
+
export class BackColorFormatter extends BaseColumnFormatter
|
|
5
|
+
{
|
|
6
|
+
private formatter: BaseColumnFormatter;
|
|
7
|
+
private colors: { [value: string]: string }
|
|
8
|
+
constructor(formatter: BaseColumnFormatter, colors: { [value: string]: string }, width?: string)
|
|
9
|
+
{
|
|
10
|
+
super();
|
|
11
|
+
this.formatter = formatter;
|
|
12
|
+
this.colors = colors;
|
|
13
|
+
if (width)
|
|
14
|
+
this.width = width;
|
|
15
|
+
}
|
|
16
|
+
override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean)
|
|
17
|
+
{
|
|
18
|
+
let formatted = this.formatter.format(value, column, row, printable);
|
|
19
|
+
if (!printable)
|
|
20
|
+
if (this.colors[value])
|
|
21
|
+
return <span style={{ background: this.colors[value], borderRadius: "16px", width: "100px", textAlign: "center" }}> {formatted} </span>;
|
|
22
|
+
return formatted;
|
|
23
|
+
}
|
|
24
24
|
}
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import { BaseMetaColumn } from "namirasoft-core";
|
|
2
|
-
import { TableColumnInfo, TableRowInfo } from "../components/NSTable";
|
|
3
|
-
|
|
4
|
-
export abstract class BaseColumnFormatter
|
|
5
|
-
{
|
|
6
|
-
public width: string = "100px";
|
|
7
|
-
public onclick_overrided: boolean = false;
|
|
8
|
-
abstract format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any;
|
|
9
|
-
|
|
10
|
-
compare(a: any, b: any): number
|
|
11
|
-
{
|
|
12
|
-
return BaseColumnFormatter.smartCompare(a, b);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static isEmpty(v: any): boolean
|
|
16
|
-
{
|
|
17
|
-
return v === null || v === undefined || v === "";
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
static compareEmpty(a: any, b: any): number | null
|
|
21
|
-
{
|
|
22
|
-
const ae = BaseColumnFormatter.isEmpty(a);
|
|
23
|
-
const be = BaseColumnFormatter.isEmpty(b);
|
|
24
|
-
if (ae && be)
|
|
25
|
-
return 0;
|
|
26
|
-
if (ae)
|
|
27
|
-
return 1;
|
|
28
|
-
if (be)
|
|
29
|
-
return -1;
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
static numberCompare(a: any, b: any): number
|
|
34
|
-
{
|
|
35
|
-
const e = BaseColumnFormatter.compareEmpty(a, b);
|
|
36
|
-
if (e !== null)
|
|
37
|
-
return e;
|
|
38
|
-
const na = Number(a);
|
|
39
|
-
const nb = Number(b);
|
|
40
|
-
if (isNaN(na) || isNaN(nb))
|
|
41
|
-
return BaseColumnFormatter.stringCompare(a, b);
|
|
42
|
-
return na - nb;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
static dateCompare(a: any, b: any): number
|
|
46
|
-
{
|
|
47
|
-
const e = BaseColumnFormatter.compareEmpty(a, b);
|
|
48
|
-
if (e !== null)
|
|
49
|
-
return e;
|
|
50
|
-
const ta = new Date(a).getTime();
|
|
51
|
-
const tb = new Date(b).getTime();
|
|
52
|
-
if (isNaN(ta) || isNaN(tb))
|
|
53
|
-
return BaseColumnFormatter.stringCompare(a, b);
|
|
54
|
-
return ta - tb;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
static stringCompare(a: any, b: any): number
|
|
58
|
-
{
|
|
59
|
-
const e = BaseColumnFormatter.compareEmpty(a, b);
|
|
60
|
-
if (e !== null)
|
|
61
|
-
return e;
|
|
62
|
-
return String(a).localeCompare(String(b));
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
static smartCompare(a: any, b: any): number
|
|
66
|
-
{
|
|
67
|
-
const e = BaseColumnFormatter.compareEmpty(a, b);
|
|
68
|
-
if (e !== null)
|
|
69
|
-
return e;
|
|
70
|
-
const na = Number(a);
|
|
71
|
-
const nb = Number(b);
|
|
72
|
-
if (!isNaN(na) && !isNaN(nb))
|
|
73
|
-
return na - nb;
|
|
74
|
-
return String(a).localeCompare(String(b));
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
static getColumn(column: BaseMetaColumn, formatter: BaseColumnFormatter, group?: string, defaults?: { hidden?: boolean }): TableColumnInfo
|
|
78
|
-
{
|
|
79
|
-
return {
|
|
80
|
-
index: 0,
|
|
81
|
-
...column,
|
|
82
|
-
formatter,
|
|
83
|
-
group,
|
|
84
|
-
defaults
|
|
85
|
-
};
|
|
86
|
-
}
|
|
1
|
+
import { BaseMetaColumn } from "namirasoft-core";
|
|
2
|
+
import { TableColumnInfo, TableRowInfo } from "../components/NSTable";
|
|
3
|
+
|
|
4
|
+
export abstract class BaseColumnFormatter
|
|
5
|
+
{
|
|
6
|
+
public width: string = "100px";
|
|
7
|
+
public onclick_overrided: boolean = false;
|
|
8
|
+
abstract format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any;
|
|
9
|
+
|
|
10
|
+
compare(a: any, b: any): number
|
|
11
|
+
{
|
|
12
|
+
return BaseColumnFormatter.smartCompare(a, b);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static isEmpty(v: any): boolean
|
|
16
|
+
{
|
|
17
|
+
return v === null || v === undefined || v === "";
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static compareEmpty(a: any, b: any): number | null
|
|
21
|
+
{
|
|
22
|
+
const ae = BaseColumnFormatter.isEmpty(a);
|
|
23
|
+
const be = BaseColumnFormatter.isEmpty(b);
|
|
24
|
+
if (ae && be)
|
|
25
|
+
return 0;
|
|
26
|
+
if (ae)
|
|
27
|
+
return 1;
|
|
28
|
+
if (be)
|
|
29
|
+
return -1;
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static numberCompare(a: any, b: any): number
|
|
34
|
+
{
|
|
35
|
+
const e = BaseColumnFormatter.compareEmpty(a, b);
|
|
36
|
+
if (e !== null)
|
|
37
|
+
return e;
|
|
38
|
+
const na = Number(a);
|
|
39
|
+
const nb = Number(b);
|
|
40
|
+
if (isNaN(na) || isNaN(nb))
|
|
41
|
+
return BaseColumnFormatter.stringCompare(a, b);
|
|
42
|
+
return na - nb;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static dateCompare(a: any, b: any): number
|
|
46
|
+
{
|
|
47
|
+
const e = BaseColumnFormatter.compareEmpty(a, b);
|
|
48
|
+
if (e !== null)
|
|
49
|
+
return e;
|
|
50
|
+
const ta = new Date(a).getTime();
|
|
51
|
+
const tb = new Date(b).getTime();
|
|
52
|
+
if (isNaN(ta) || isNaN(tb))
|
|
53
|
+
return BaseColumnFormatter.stringCompare(a, b);
|
|
54
|
+
return ta - tb;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static stringCompare(a: any, b: any): number
|
|
58
|
+
{
|
|
59
|
+
const e = BaseColumnFormatter.compareEmpty(a, b);
|
|
60
|
+
if (e !== null)
|
|
61
|
+
return e;
|
|
62
|
+
return String(a).localeCompare(String(b));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static smartCompare(a: any, b: any): number
|
|
66
|
+
{
|
|
67
|
+
const e = BaseColumnFormatter.compareEmpty(a, b);
|
|
68
|
+
if (e !== null)
|
|
69
|
+
return e;
|
|
70
|
+
const na = Number(a);
|
|
71
|
+
const nb = Number(b);
|
|
72
|
+
if (!isNaN(na) && !isNaN(nb))
|
|
73
|
+
return na - nb;
|
|
74
|
+
return String(a).localeCompare(String(b));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static getColumn(column: BaseMetaColumn, formatter: BaseColumnFormatter, group?: string, defaults?: { hidden?: boolean }): TableColumnInfo
|
|
78
|
+
{
|
|
79
|
+
return {
|
|
80
|
+
index: 0,
|
|
81
|
+
...column,
|
|
82
|
+
formatter,
|
|
83
|
+
group,
|
|
84
|
+
defaults
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
87
|
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { HTMLAttributeAnchorTarget } from "react";
|
|
2
|
-
import { TableColumnInfo, TableRowInfo } from "../main";
|
|
3
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
4
|
-
|
|
5
|
-
export class BaseURLImageFormatter extends BaseColumnFormatter
|
|
6
|
-
{
|
|
7
|
-
private target: HTMLAttributeAnchorTarget;
|
|
8
|
-
constructor(target: HTMLAttributeAnchorTarget = "_blank", width: string = "250px")
|
|
9
|
-
{
|
|
10
|
-
super();
|
|
11
|
-
this.target = target;
|
|
12
|
-
this.width = width;
|
|
13
|
-
}
|
|
14
|
-
override format(value: {
|
|
15
|
-
text: any,
|
|
16
|
-
image: { url: string, alt: string },
|
|
17
|
-
href: string
|
|
18
|
-
}, _?: TableColumnInfo, __?: TableRowInfo<any>, printable?: boolean): any
|
|
19
|
-
{
|
|
20
|
-
if (!printable)
|
|
21
|
-
{
|
|
22
|
-
return (
|
|
23
|
-
<div style={{ display: "flex", alignItems: "center", gap: "4px" }}>
|
|
24
|
-
{
|
|
25
|
-
value.image.url &&
|
|
26
|
-
<img src={value.image.url} alt={value.image.alt} style={{ width: "20px", height: "20px" }} />
|
|
27
|
-
}
|
|
28
|
-
<a href={value.href} target={this.target} rel="noreferrer" style={{ overflow: "hidden", textOverflow: "ellipsis" }}>{value.text}</a>
|
|
29
|
-
</div >
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
return value.text;
|
|
33
|
-
}
|
|
34
|
-
override compare(a: any, b: any): number
|
|
35
|
-
{
|
|
36
|
-
return BaseColumnFormatter.stringCompare(a?.text, b?.text);
|
|
37
|
-
}
|
|
1
|
+
import { HTMLAttributeAnchorTarget } from "react";
|
|
2
|
+
import { TableColumnInfo, TableRowInfo } from "../main";
|
|
3
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
4
|
+
|
|
5
|
+
export class BaseURLImageFormatter extends BaseColumnFormatter
|
|
6
|
+
{
|
|
7
|
+
private target: HTMLAttributeAnchorTarget;
|
|
8
|
+
constructor(target: HTMLAttributeAnchorTarget = "_blank", width: string = "250px")
|
|
9
|
+
{
|
|
10
|
+
super();
|
|
11
|
+
this.target = target;
|
|
12
|
+
this.width = width;
|
|
13
|
+
}
|
|
14
|
+
override format(value: {
|
|
15
|
+
text: any,
|
|
16
|
+
image: { url: string, alt: string },
|
|
17
|
+
href: string
|
|
18
|
+
}, _?: TableColumnInfo, __?: TableRowInfo<any>, printable?: boolean): any
|
|
19
|
+
{
|
|
20
|
+
if (!printable)
|
|
21
|
+
{
|
|
22
|
+
return (
|
|
23
|
+
<div style={{ display: "flex", alignItems: "center", gap: "4px" }}>
|
|
24
|
+
{
|
|
25
|
+
value.image.url &&
|
|
26
|
+
<img src={value.image.url} alt={value.image.alt} style={{ width: "20px", height: "20px" }} />
|
|
27
|
+
}
|
|
28
|
+
<a href={value.href} target={this.target} rel="noreferrer" style={{ overflow: "hidden", textOverflow: "ellipsis" }}>{value.text}</a>
|
|
29
|
+
</div >
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
return value.text;
|
|
33
|
+
}
|
|
34
|
+
override compare(a: any, b: any): number
|
|
35
|
+
{
|
|
36
|
+
return BaseColumnFormatter.stringCompare(a?.text, b?.text);
|
|
37
|
+
}
|
|
38
38
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
2
|
-
|
|
3
|
-
export class BooleanFormatter extends BaseColumnFormatter
|
|
4
|
-
{
|
|
5
|
-
private true_value: string;
|
|
6
|
-
private false_value: string;
|
|
7
|
-
constructor(true_value: string, false_value: string, width: string = "80px")
|
|
8
|
-
{
|
|
9
|
-
super();
|
|
10
|
-
this.true_value = true_value;
|
|
11
|
-
this.false_value = false_value;
|
|
12
|
-
if (width)
|
|
13
|
-
this.width = width;
|
|
14
|
-
}
|
|
15
|
-
override format(value: any): any
|
|
16
|
-
{
|
|
17
|
-
if (value === true)
|
|
18
|
-
return this.true_value;
|
|
19
|
-
if (value === false)
|
|
20
|
-
return this.false_value;
|
|
21
|
-
return value;
|
|
22
|
-
}
|
|
23
|
-
override compare(a: any, b: any): number
|
|
24
|
-
{
|
|
25
|
-
return BaseColumnFormatter.numberCompare(a, b);
|
|
26
|
-
}
|
|
1
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
2
|
+
|
|
3
|
+
export class BooleanFormatter extends BaseColumnFormatter
|
|
4
|
+
{
|
|
5
|
+
private true_value: string;
|
|
6
|
+
private false_value: string;
|
|
7
|
+
constructor(true_value: string, false_value: string, width: string = "80px")
|
|
8
|
+
{
|
|
9
|
+
super();
|
|
10
|
+
this.true_value = true_value;
|
|
11
|
+
this.false_value = false_value;
|
|
12
|
+
if (width)
|
|
13
|
+
this.width = width;
|
|
14
|
+
}
|
|
15
|
+
override format(value: any): any
|
|
16
|
+
{
|
|
17
|
+
if (value === true)
|
|
18
|
+
return this.true_value;
|
|
19
|
+
if (value === false)
|
|
20
|
+
return this.false_value;
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
override compare(a: any, b: any): number
|
|
24
|
+
{
|
|
25
|
+
return BaseColumnFormatter.numberCompare(a, b);
|
|
26
|
+
}
|
|
27
27
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ByteOperation, ByteUnit } from "namirasoft-core";
|
|
2
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
-
|
|
4
|
-
export class BytesFormatter extends BaseColumnFormatter
|
|
5
|
-
{
|
|
6
|
-
constructor(width: string = "120px")
|
|
7
|
-
{
|
|
8
|
-
super();
|
|
9
|
-
this.width = width;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
override format(bytes: number): string
|
|
13
|
-
{
|
|
14
|
-
return ByteOperation.format(bytes, ByteUnit.B);
|
|
15
|
-
}
|
|
16
|
-
override compare(a: any, b: any): number
|
|
17
|
-
{
|
|
18
|
-
return BaseColumnFormatter.numberCompare(a, b);
|
|
19
|
-
}
|
|
1
|
+
import { ByteOperation, ByteUnit } from "namirasoft-core";
|
|
2
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
+
|
|
4
|
+
export class BytesFormatter extends BaseColumnFormatter
|
|
5
|
+
{
|
|
6
|
+
constructor(width: string = "120px")
|
|
7
|
+
{
|
|
8
|
+
super();
|
|
9
|
+
this.width = width;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
override format(bytes: number): string
|
|
13
|
+
{
|
|
14
|
+
return ByteOperation.format(bytes, ByteUnit.B);
|
|
15
|
+
}
|
|
16
|
+
override compare(a: any, b: any): number
|
|
17
|
+
{
|
|
18
|
+
return BaseColumnFormatter.numberCompare(a, b);
|
|
19
|
+
}
|
|
20
20
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { TimeOperation } from "namirasoft-core";
|
|
2
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
-
|
|
4
|
-
export class DateFormatter extends BaseColumnFormatter
|
|
5
|
-
{
|
|
6
|
-
constructor(width: string = "130px")
|
|
7
|
-
{
|
|
8
|
-
super();
|
|
9
|
-
this.width = width;
|
|
10
|
-
}
|
|
11
|
-
override format(value: any): any
|
|
12
|
-
{
|
|
13
|
-
if (value)
|
|
14
|
-
try
|
|
15
|
-
{
|
|
16
|
-
let date = new Date(value);
|
|
17
|
-
return TimeOperation.format(date, "YYYY/MM/DD");
|
|
18
|
-
} catch (e)
|
|
19
|
-
{
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
}
|
|
23
|
-
override compare(a: any, b: any): number
|
|
24
|
-
{
|
|
25
|
-
return BaseColumnFormatter.dateCompare(a, b);
|
|
26
|
-
}
|
|
1
|
+
import { TimeOperation } from "namirasoft-core";
|
|
2
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
+
|
|
4
|
+
export class DateFormatter extends BaseColumnFormatter
|
|
5
|
+
{
|
|
6
|
+
constructor(width: string = "130px")
|
|
7
|
+
{
|
|
8
|
+
super();
|
|
9
|
+
this.width = width;
|
|
10
|
+
}
|
|
11
|
+
override format(value: any): any
|
|
12
|
+
{
|
|
13
|
+
if (value)
|
|
14
|
+
try
|
|
15
|
+
{
|
|
16
|
+
let date = new Date(value);
|
|
17
|
+
return TimeOperation.format(date, "YYYY/MM/DD");
|
|
18
|
+
} catch (e)
|
|
19
|
+
{
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
override compare(a: any, b: any): number
|
|
24
|
+
{
|
|
25
|
+
return BaseColumnFormatter.dateCompare(a, b);
|
|
26
|
+
}
|
|
27
27
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { TimeOperation } from "namirasoft-core";
|
|
2
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
-
|
|
4
|
-
export class DateTimeFormatter extends BaseColumnFormatter
|
|
5
|
-
{
|
|
6
|
-
constructor(width: string = "185px")
|
|
7
|
-
{
|
|
8
|
-
super();
|
|
9
|
-
this.width = width;
|
|
10
|
-
}
|
|
11
|
-
override format(value: any): any
|
|
12
|
-
{
|
|
13
|
-
if (value)
|
|
14
|
-
try
|
|
15
|
-
{
|
|
16
|
-
let date = new Date(value);
|
|
17
|
-
return TimeOperation.format(date, "YYYY/MM/DD HH:mm:ss");
|
|
18
|
-
} catch (e)
|
|
19
|
-
{
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
}
|
|
23
|
-
override compare(a: any, b: any): number
|
|
24
|
-
{
|
|
25
|
-
return BaseColumnFormatter.dateCompare(a, b);
|
|
26
|
-
}
|
|
1
|
+
import { TimeOperation } from "namirasoft-core";
|
|
2
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
+
|
|
4
|
+
export class DateTimeFormatter extends BaseColumnFormatter
|
|
5
|
+
{
|
|
6
|
+
constructor(width: string = "185px")
|
|
7
|
+
{
|
|
8
|
+
super();
|
|
9
|
+
this.width = width;
|
|
10
|
+
}
|
|
11
|
+
override format(value: any): any
|
|
12
|
+
{
|
|
13
|
+
if (value)
|
|
14
|
+
try
|
|
15
|
+
{
|
|
16
|
+
let date = new Date(value);
|
|
17
|
+
return TimeOperation.format(date, "YYYY/MM/DD HH:mm:ss");
|
|
18
|
+
} catch (e)
|
|
19
|
+
{
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
override compare(a: any, b: any): number
|
|
24
|
+
{
|
|
25
|
+
return BaseColumnFormatter.dateCompare(a, b);
|
|
26
|
+
}
|
|
27
27
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
2
|
-
|
|
3
|
-
export class DurationFormatter extends BaseColumnFormatter
|
|
4
|
-
{
|
|
5
|
-
constructor(width: string = "200px")
|
|
6
|
-
{
|
|
7
|
-
super();
|
|
8
|
-
this.width = width;
|
|
9
|
-
}
|
|
10
|
-
override format(value: any): any
|
|
11
|
-
{
|
|
12
|
-
return value;
|
|
13
|
-
}
|
|
14
|
-
override compare(a: any, b: any): number
|
|
15
|
-
{
|
|
16
|
-
return BaseColumnFormatter.numberCompare(a, b);
|
|
17
|
-
}
|
|
1
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
2
|
+
|
|
3
|
+
export class DurationFormatter extends BaseColumnFormatter
|
|
4
|
+
{
|
|
5
|
+
constructor(width: string = "200px")
|
|
6
|
+
{
|
|
7
|
+
super();
|
|
8
|
+
this.width = width;
|
|
9
|
+
}
|
|
10
|
+
override format(value: any): any
|
|
11
|
+
{
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
override compare(a: any, b: any): number
|
|
15
|
+
{
|
|
16
|
+
return BaseColumnFormatter.numberCompare(a, b);
|
|
17
|
+
}
|
|
18
18
|
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { TableColumnInfo, TableRowInfo } from "../main";
|
|
2
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
-
import { BaseURLImageFormatter } from "./BaseURLImageFormatter";
|
|
4
|
-
|
|
5
|
-
export class EmailFormatter extends BaseColumnFormatter
|
|
6
|
-
{
|
|
7
|
-
private formatter: BaseURLImageFormatter = new BaseURLImageFormatter();
|
|
8
|
-
constructor(width: string = "250px")
|
|
9
|
-
{
|
|
10
|
-
super();
|
|
11
|
-
this.onclick_overrided = true;
|
|
12
|
-
this.width = width;
|
|
13
|
-
}
|
|
14
|
-
override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any
|
|
15
|
-
{
|
|
16
|
-
return this.formatter.format({
|
|
17
|
-
text: value,
|
|
18
|
-
href: `mailto:${value}`,
|
|
19
|
-
image: { url: "https://static.namirasoft.com/image/concept/type/email.png", alt: "phone" }
|
|
20
|
-
}, column, row, printable);
|
|
21
|
-
}
|
|
22
|
-
override compare(a: any, b: any): number
|
|
23
|
-
{
|
|
24
|
-
return BaseColumnFormatter.stringCompare(a, b);
|
|
25
|
-
}
|
|
1
|
+
import { TableColumnInfo, TableRowInfo } from "../main";
|
|
2
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
3
|
+
import { BaseURLImageFormatter } from "./BaseURLImageFormatter";
|
|
4
|
+
|
|
5
|
+
export class EmailFormatter extends BaseColumnFormatter
|
|
6
|
+
{
|
|
7
|
+
private formatter: BaseURLImageFormatter = new BaseURLImageFormatter();
|
|
8
|
+
constructor(width: string = "250px")
|
|
9
|
+
{
|
|
10
|
+
super();
|
|
11
|
+
this.onclick_overrided = true;
|
|
12
|
+
this.width = width;
|
|
13
|
+
}
|
|
14
|
+
override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any
|
|
15
|
+
{
|
|
16
|
+
return this.formatter.format({
|
|
17
|
+
text: value,
|
|
18
|
+
href: `mailto:${value}`,
|
|
19
|
+
image: { url: "https://static.namirasoft.com/image/concept/type/email.png", alt: "phone" }
|
|
20
|
+
}, column, row, printable);
|
|
21
|
+
}
|
|
22
|
+
override compare(a: any, b: any): number
|
|
23
|
+
{
|
|
24
|
+
return BaseColumnFormatter.stringCompare(a, b);
|
|
25
|
+
}
|
|
26
26
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
2
|
-
|
|
3
|
-
export class EnumFormatter extends BaseColumnFormatter
|
|
4
|
-
{
|
|
5
|
-
constructor(width: string = "125px")
|
|
6
|
-
{
|
|
7
|
-
super();
|
|
8
|
-
this.width = width;
|
|
9
|
-
}
|
|
10
|
-
override format(value: any): any
|
|
11
|
-
{
|
|
12
|
-
return value;
|
|
13
|
-
}
|
|
14
|
-
override compare(a: any, b: any): number
|
|
15
|
-
{
|
|
16
|
-
return BaseColumnFormatter.smartCompare(a, b);
|
|
17
|
-
}
|
|
1
|
+
import { BaseColumnFormatter } from "./BaseColumnFormatter";
|
|
2
|
+
|
|
3
|
+
export class EnumFormatter extends BaseColumnFormatter
|
|
4
|
+
{
|
|
5
|
+
constructor(width: string = "125px")
|
|
6
|
+
{
|
|
7
|
+
super();
|
|
8
|
+
this.width = width;
|
|
9
|
+
}
|
|
10
|
+
override format(value: any): any
|
|
11
|
+
{
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
override compare(a: any, b: any): number
|
|
15
|
+
{
|
|
16
|
+
return BaseColumnFormatter.smartCompare(a, b);
|
|
17
|
+
}
|
|
18
18
|
}
|