@fctc/interface-logic 1.1.0 → 1.2.1

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/dist/config.js CHANGED
@@ -2147,6 +2147,7 @@ function matchDomain(record, domain) {
2147
2147
  }
2148
2148
 
2149
2149
  // src/utils/function.ts
2150
+ var import_react = require("react");
2150
2151
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2151
2152
  if (!originalRequest.data) return originalRequest.data;
2152
2153
  if (typeof originalRequest.data === "string") {
package/dist/config.mjs CHANGED
@@ -2111,6 +2111,7 @@ function matchDomain(record, domain) {
2111
2111
  }
2112
2112
 
2113
2113
  // src/utils/function.ts
2114
+ import { useEffect, useState } from "react";
2114
2115
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2115
2116
  if (!originalRequest.data) return originalRequest.data;
2116
2117
  if (typeof originalRequest.data === "string") {
@@ -2150,6 +2150,7 @@ function matchDomain(record, domain) {
2150
2150
  }
2151
2151
 
2152
2152
  // src/utils/function.ts
2153
+ var import_react = require("react");
2153
2154
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2154
2155
  if (!originalRequest.data) return originalRequest.data;
2155
2156
  if (typeof originalRequest.data === "string") {
@@ -2111,6 +2111,7 @@ function matchDomain(record, domain) {
2111
2111
  }
2112
2112
 
2113
2113
  // src/utils/function.ts
2114
+ import { useEffect, useState } from "react";
2114
2115
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2115
2116
  if (!originalRequest.data) return originalRequest.data;
2116
2117
  if (typeof originalRequest.data === "string") {
package/dist/hook.js CHANGED
@@ -2254,6 +2254,7 @@ function matchDomain(record, domain) {
2254
2254
  }
2255
2255
 
2256
2256
  // src/utils/function.ts
2257
+ var import_react = require("react");
2257
2258
  var toQueryString = (params) => {
2258
2259
  return Object.keys(params).map(
2259
2260
  (key) => encodeURIComponent(key) + "=" + encodeURIComponent(params[key].toString())
@@ -4225,9 +4226,9 @@ var model_service_default = ModelService;
4225
4226
 
4226
4227
  // src/services/user-service/index.ts
4227
4228
  var UserService = {
4228
- async getProfile() {
4229
+ async getProfile(path) {
4229
4230
  const env2 = getEnv();
4230
- return env2.requests.get("/userinfo" /* PROFILE_PATH */, {
4231
+ return env2.requests.get(path ?? "/userinfo" /* PROFILE_PATH */, {
4231
4232
  headers: {
4232
4233
  "Content-Type": "application/x-www-form-urlencoded"
4233
4234
  }
package/dist/hook.mjs CHANGED
@@ -2151,6 +2151,7 @@ function matchDomain(record, domain) {
2151
2151
  }
2152
2152
 
2153
2153
  // src/utils/function.ts
2154
+ import { useEffect, useState } from "react";
2154
2155
  var toQueryString = (params) => {
2155
2156
  return Object.keys(params).map(
2156
2157
  (key) => encodeURIComponent(key) + "=" + encodeURIComponent(params[key].toString())
@@ -4122,9 +4123,9 @@ var model_service_default = ModelService;
4122
4123
 
4123
4124
  // src/services/user-service/index.ts
4124
4125
  var UserService = {
4125
- async getProfile() {
4126
+ async getProfile(path) {
4126
4127
  const env2 = getEnv();
4127
- return env2.requests.get("/userinfo" /* PROFILE_PATH */, {
4128
+ return env2.requests.get(path ?? "/userinfo" /* PROFILE_PATH */, {
4128
4129
  headers: {
4129
4130
  "Content-Type": "application/x-www-form-urlencoded"
4130
4131
  }
package/dist/index.d.mts CHANGED
@@ -12,7 +12,7 @@ export { C as ContextApi, D as DeleteParams, F as ForgotPasswordBody, G as GetAl
12
12
  export { B as BaseModelInit } from './base-model-type-DvO53Lwi.mjs';
13
13
  export { Config } from './types.mjs';
14
14
  export { C as Context } from './context-type-D5XefoL-.mjs';
15
- export { WesapError, checkIsImageLink, convertFloatToTime, convertTimeToFloat, copyTextToClipboard, domainHelper, evalJSONContext, evalJSONDomain, filterFieldDirty, formatCurrency, formatDate, formatFileSize, formatSortingString, formatUrlPath, getFieldsOnChange, getOffSet, getSubdomain, handleError, isBase64File, isBase64Image, isObjectEmpty, mergeObjects, removeUndefinedFields, resequence, stringToColor, toQueryString, updateTokenParamInOriginalRequest, useTabModel, validateAndParseDate } from './utils.mjs';
15
+ export { WesapError, checkIsImageLink, convertFloatToTime, convertTimeToFloat, copyTextToClipboard, domainHelper, evalJSONContext, evalJSONDomain, filterFieldDirty, formatCurrency, formatDate, formatFileSize, formatSortingString, formatUrlPath, getFieldsOnChange, getOffSet, getSubdomain, handleError, isBase64File, isBase64Image, isObjectEmpty, mergeObjects, removeUndefinedFields, resequence, stringToColor, toQueryString, updateTokenParamInOriginalRequest, useField, useTabModel, validateAndParseDate } from './utils.mjs';
16
16
  export { L as LocalStorageUtilsType, S as SessionStorageUtilsType, l as localStorageUtils, s as sessionStorageUtils } from './session-storage-CxkkEmQh.mjs';
17
17
  import '@reduxjs/toolkit';
18
18
  import '@tanstack/react-query';
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export { C as ContextApi, D as DeleteParams, F as ForgotPasswordBody, G as GetAl
12
12
  export { B as BaseModelInit } from './base-model-type-DvO53Lwi.js';
13
13
  export { Config } from './types.js';
14
14
  export { C as Context } from './context-type-D5XefoL-.js';
15
- export { WesapError, checkIsImageLink, convertFloatToTime, convertTimeToFloat, copyTextToClipboard, domainHelper, evalJSONContext, evalJSONDomain, filterFieldDirty, formatCurrency, formatDate, formatFileSize, formatSortingString, formatUrlPath, getFieldsOnChange, getOffSet, getSubdomain, handleError, isBase64File, isBase64Image, isObjectEmpty, mergeObjects, removeUndefinedFields, resequence, stringToColor, toQueryString, updateTokenParamInOriginalRequest, useTabModel, validateAndParseDate } from './utils.js';
15
+ export { WesapError, checkIsImageLink, convertFloatToTime, convertTimeToFloat, copyTextToClipboard, domainHelper, evalJSONContext, evalJSONDomain, filterFieldDirty, formatCurrency, formatDate, formatFileSize, formatSortingString, formatUrlPath, getFieldsOnChange, getOffSet, getSubdomain, handleError, isBase64File, isBase64Image, isObjectEmpty, mergeObjects, removeUndefinedFields, resequence, stringToColor, toQueryString, updateTokenParamInOriginalRequest, useField, useTabModel, validateAndParseDate } from './utils.js';
16
16
  export { L as LocalStorageUtilsType, S as SessionStorageUtilsType, l as localStorageUtils, s as sessionStorageUtils } from './session-storage-CxkkEmQh.js';
17
17
  import '@reduxjs/toolkit';
18
18
  import '@tanstack/react-query';
package/dist/index.js CHANGED
@@ -178,6 +178,7 @@ __export(index_exports, {
178
178
  useDuplicateRecord: () => use_duplicate_record_default,
179
179
  useExecuteImport: () => uss_execute_import_default,
180
180
  useExportExcel: () => use_export_excel_default,
181
+ useField: () => useField,
181
182
  useForgotPassword: () => use_forgot_password_default,
182
183
  useForgotPasswordSSO: () => use_forgotpassword_sso_default,
183
184
  useGet2FAMethods: () => uset_get_2FA_method_default,
@@ -2891,6 +2892,7 @@ var matchDomains = (context, domains) => {
2891
2892
  };
2892
2893
 
2893
2894
  // src/utils/function.ts
2895
+ var import_react = require("react");
2894
2896
  var evalJSONContext = (_context, context = {}) => {
2895
2897
  try {
2896
2898
  return evalPartialContext(_context, context);
@@ -3230,6 +3232,38 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
3230
3232
  var isObjectEmpty = (obj) => {
3231
3233
  return Object.keys(obj).length === 0;
3232
3234
  };
3235
+ var useField = (props) => {
3236
+ const [invisible, setInvisible] = (0, import_react.useState)(true);
3237
+ const [required, setRequired] = (0, import_react.useState)(false);
3238
+ const [readonly, setReadOnly] = (0, import_react.useState)(false);
3239
+ const {
3240
+ invisible: inv,
3241
+ required: req,
3242
+ readonly: rea,
3243
+ onchangeData,
3244
+ rootField,
3245
+ index,
3246
+ name
3247
+ } = props;
3248
+ const nameField = rootField ? `${rootField?.name}.${index}.${name}` : null;
3249
+ (0, import_react.useEffect)(() => {
3250
+ if (onchangeData && Object.keys(onchangeData).length > 0) {
3251
+ setRequired(
3252
+ typeof req === "object" ? matchDomains(onchangeData, req) : checkDomain(onchangeData, req)
3253
+ );
3254
+ setInvisible(matchDomains(onchangeData, inv));
3255
+ setReadOnly(
3256
+ typeof req === "object" ? matchDomains(onchangeData, rea) : checkDomain(onchangeData, rea)
3257
+ );
3258
+ }
3259
+ }, [onchangeData]);
3260
+ return {
3261
+ invisible,
3262
+ required,
3263
+ readonly,
3264
+ nameField
3265
+ };
3266
+ };
3233
3267
 
3234
3268
  // src/utils/storage/local-storage.ts
3235
3269
  var localStorageUtils = () => {
@@ -5187,9 +5221,9 @@ var model_service_default = ModelService;
5187
5221
 
5188
5222
  // src/services/user-service/index.ts
5189
5223
  var UserService = {
5190
- async getProfile() {
5224
+ async getProfile(path) {
5191
5225
  const env2 = getEnv();
5192
- return env2.requests.get("/userinfo" /* PROFILE_PATH */, {
5226
+ return env2.requests.get(path ?? "/userinfo" /* PROFILE_PATH */, {
5193
5227
  headers: {
5194
5228
  "Content-Type": "application/x-www-form-urlencoded"
5195
5229
  }
@@ -6963,13 +6997,13 @@ var MainProvider = ({ children }) => {
6963
6997
  };
6964
6998
 
6965
6999
  // src/provider/version-gate-provider.tsx
6966
- var import_react = require("react");
7000
+ var import_react2 = require("react");
6967
7001
  var import_react_query68 = require("@tanstack/react-query");
6968
7002
  var import_jsx_runtime4 = require("react/jsx-runtime");
6969
7003
  var VersionGate = ({ children }) => {
6970
7004
  const queryClient = (0, import_react_query68.useQueryClient)();
6971
- const [ready, setReady] = (0, import_react.useState)(false);
6972
- (0, import_react.useEffect)(() => {
7005
+ const [ready, setReady] = (0, import_react2.useState)(false);
7006
+ (0, import_react2.useEffect)(() => {
6973
7007
  const clearVersion = () => {
6974
7008
  queryClient.clear();
6975
7009
  localStorage.removeItem("__api_version__");
@@ -7148,6 +7182,7 @@ var VersionGate = ({ children }) => {
7148
7182
  useDuplicateRecord,
7149
7183
  useExecuteImport,
7150
7184
  useExportExcel,
7185
+ useField,
7151
7186
  useForgotPassword,
7152
7187
  useForgotPasswordSSO,
7153
7188
  useGet2FAMethods,
package/dist/index.mjs CHANGED
@@ -2645,6 +2645,7 @@ var matchDomains = (context, domains) => {
2645
2645
  };
2646
2646
 
2647
2647
  // src/utils/function.ts
2648
+ import { useEffect, useState } from "react";
2648
2649
  var evalJSONContext = (_context, context = {}) => {
2649
2650
  try {
2650
2651
  return evalPartialContext(_context, context);
@@ -2984,6 +2985,38 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2984
2985
  var isObjectEmpty = (obj) => {
2985
2986
  return Object.keys(obj).length === 0;
2986
2987
  };
2988
+ var useField = (props) => {
2989
+ const [invisible, setInvisible] = useState(true);
2990
+ const [required, setRequired] = useState(false);
2991
+ const [readonly, setReadOnly] = useState(false);
2992
+ const {
2993
+ invisible: inv,
2994
+ required: req,
2995
+ readonly: rea,
2996
+ onchangeData,
2997
+ rootField,
2998
+ index,
2999
+ name
3000
+ } = props;
3001
+ const nameField = rootField ? `${rootField?.name}.${index}.${name}` : null;
3002
+ useEffect(() => {
3003
+ if (onchangeData && Object.keys(onchangeData).length > 0) {
3004
+ setRequired(
3005
+ typeof req === "object" ? matchDomains(onchangeData, req) : checkDomain(onchangeData, req)
3006
+ );
3007
+ setInvisible(matchDomains(onchangeData, inv));
3008
+ setReadOnly(
3009
+ typeof req === "object" ? matchDomains(onchangeData, rea) : checkDomain(onchangeData, rea)
3010
+ );
3011
+ }
3012
+ }, [onchangeData]);
3013
+ return {
3014
+ invisible,
3015
+ required,
3016
+ readonly,
3017
+ nameField
3018
+ };
3019
+ };
2987
3020
 
2988
3021
  // src/utils/storage/local-storage.ts
2989
3022
  var localStorageUtils = () => {
@@ -4941,9 +4974,9 @@ var model_service_default = ModelService;
4941
4974
 
4942
4975
  // src/services/user-service/index.ts
4943
4976
  var UserService = {
4944
- async getProfile() {
4977
+ async getProfile(path) {
4945
4978
  const env2 = getEnv();
4946
- return env2.requests.get("/userinfo" /* PROFILE_PATH */, {
4979
+ return env2.requests.get(path ?? "/userinfo" /* PROFILE_PATH */, {
4947
4980
  headers: {
4948
4981
  "Content-Type": "application/x-www-form-urlencoded"
4949
4982
  }
@@ -6717,13 +6750,13 @@ var MainProvider = ({ children }) => {
6717
6750
  };
6718
6751
 
6719
6752
  // src/provider/version-gate-provider.tsx
6720
- import { useEffect, useState } from "react";
6753
+ import { useEffect as useEffect2, useState as useState2 } from "react";
6721
6754
  import { useQueryClient } from "@tanstack/react-query";
6722
6755
  import { Fragment, jsx as jsx4 } from "react/jsx-runtime";
6723
6756
  var VersionGate = ({ children }) => {
6724
6757
  const queryClient = useQueryClient();
6725
- const [ready, setReady] = useState(false);
6726
- useEffect(() => {
6758
+ const [ready, setReady] = useState2(false);
6759
+ useEffect2(() => {
6727
6760
  const clearVersion = () => {
6728
6761
  queryClient.clear();
6729
6762
  localStorage.removeItem("__api_version__");
@@ -6901,6 +6934,7 @@ export {
6901
6934
  use_duplicate_record_default as useDuplicateRecord,
6902
6935
  uss_execute_import_default as useExecuteImport,
6903
6936
  use_export_excel_default as useExportExcel,
6937
+ useField,
6904
6938
  use_forgot_password_default as useForgotPassword,
6905
6939
  use_forgotpassword_sso_default as useForgotPasswordSSO,
6906
6940
  uset_get_2FA_method_default as useGet2FAMethods,
package/dist/model.js CHANGED
@@ -2298,6 +2298,7 @@ function matchDomain(record, domain) {
2298
2298
  }
2299
2299
 
2300
2300
  // src/utils/function.ts
2301
+ var import_react = require("react");
2301
2302
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2302
2303
  if (!originalRequest.data) return originalRequest.data;
2303
2304
  if (typeof originalRequest.data === "string") {
@@ -3263,9 +3264,9 @@ var company_service_default = CompanyService;
3263
3264
 
3264
3265
  // src/services/user-service/index.ts
3265
3266
  var UserService = {
3266
- async getProfile() {
3267
+ async getProfile(path) {
3267
3268
  const env2 = getEnv();
3268
- return env2.requests.get("/userinfo" /* PROFILE_PATH */, {
3269
+ return env2.requests.get(path ?? "/userinfo" /* PROFILE_PATH */, {
3269
3270
  headers: {
3270
3271
  "Content-Type": "application/x-www-form-urlencoded"
3271
3272
  }
package/dist/model.mjs CHANGED
@@ -2260,6 +2260,7 @@ function matchDomain(record, domain) {
2260
2260
  }
2261
2261
 
2262
2262
  // src/utils/function.ts
2263
+ import { useEffect, useState } from "react";
2263
2264
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2264
2265
  if (!originalRequest.data) return originalRequest.data;
2265
2266
  if (typeof originalRequest.data === "string") {
@@ -3225,9 +3226,9 @@ var company_service_default = CompanyService;
3225
3226
 
3226
3227
  // src/services/user-service/index.ts
3227
3228
  var UserService = {
3228
- async getProfile() {
3229
+ async getProfile(path) {
3229
3230
  const env2 = getEnv();
3230
- return env2.requests.get("/userinfo" /* PROFILE_PATH */, {
3231
+ return env2.requests.get(path ?? "/userinfo" /* PROFILE_PATH */, {
3231
3232
  headers: {
3232
3233
  "Content-Type": "application/x-www-form-urlencoded"
3233
3234
  }
package/dist/provider.js CHANGED
@@ -684,7 +684,7 @@ var MainProvider = ({ children }) => {
684
684
  };
685
685
 
686
686
  // src/provider/version-gate-provider.tsx
687
- var import_react = require("react");
687
+ var import_react2 = require("react");
688
688
  var import_react_query2 = require("@tanstack/react-query");
689
689
 
690
690
  // src/configs/axios-client.ts
@@ -2800,6 +2800,7 @@ function matchDomain(record, domain) {
2800
2800
  }
2801
2801
 
2802
2802
  // src/utils/function.ts
2803
+ var import_react = require("react");
2803
2804
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2804
2805
  if (!originalRequest.data) return originalRequest.data;
2805
2806
  if (typeof originalRequest.data === "string") {
@@ -3564,8 +3565,8 @@ var view_service_default = ViewService;
3564
3565
  var import_jsx_runtime4 = require("react/jsx-runtime");
3565
3566
  var VersionGate = ({ children }) => {
3566
3567
  const queryClient = (0, import_react_query2.useQueryClient)();
3567
- const [ready, setReady] = (0, import_react.useState)(false);
3568
- (0, import_react.useEffect)(() => {
3568
+ const [ready, setReady] = (0, import_react2.useState)(false);
3569
+ (0, import_react2.useEffect)(() => {
3569
3570
  const clearVersion = () => {
3570
3571
  queryClient.clear();
3571
3572
  localStorage.removeItem("__api_version__");
package/dist/provider.mjs CHANGED
@@ -646,7 +646,7 @@ var MainProvider = ({ children }) => {
646
646
  };
647
647
 
648
648
  // src/provider/version-gate-provider.tsx
649
- import { useEffect, useState } from "react";
649
+ import { useEffect as useEffect2, useState as useState2 } from "react";
650
650
  import { useQueryClient } from "@tanstack/react-query";
651
651
 
652
652
  // src/configs/axios-client.ts
@@ -2762,6 +2762,7 @@ function matchDomain(record, domain) {
2762
2762
  }
2763
2763
 
2764
2764
  // src/utils/function.ts
2765
+ import { useEffect, useState } from "react";
2765
2766
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2766
2767
  if (!originalRequest.data) return originalRequest.data;
2767
2768
  if (typeof originalRequest.data === "string") {
@@ -3526,8 +3527,8 @@ var view_service_default = ViewService;
3526
3527
  import { Fragment, jsx as jsx4 } from "react/jsx-runtime";
3527
3528
  var VersionGate = ({ children }) => {
3528
3529
  const queryClient = useQueryClient();
3529
- const [ready, setReady] = useState(false);
3530
- useEffect(() => {
3530
+ const [ready, setReady] = useState2(false);
3531
+ useEffect2(() => {
3531
3532
  const clearVersion = () => {
3532
3533
  queryClient.clear();
3533
3534
  localStorage.removeItem("__api_version__");
@@ -182,7 +182,7 @@ declare const ModelService: {
182
182
  };
183
183
 
184
184
  declare const UserService: {
185
- getProfile(): Promise<any>;
185
+ getProfile(path?: string): Promise<any>;
186
186
  getUser({ context, id }: {
187
187
  context: any;
188
188
  id: any;
@@ -182,7 +182,7 @@ declare const ModelService: {
182
182
  };
183
183
 
184
184
  declare const UserService: {
185
- getProfile(): Promise<any>;
185
+ getProfile(path?: string): Promise<any>;
186
186
  getUser({ context, id }: {
187
187
  context: any;
188
188
  id: any;
package/dist/services.js CHANGED
@@ -2185,6 +2185,7 @@ function matchDomain(record, domain) {
2185
2185
  }
2186
2186
 
2187
2187
  // src/utils/function.ts
2188
+ var import_react = require("react");
2188
2189
  var toQueryString = (params) => {
2189
2190
  return Object.keys(params).map(
2190
2191
  (key) => encodeURIComponent(key) + "=" + encodeURIComponent(params[key].toString())
@@ -4141,9 +4142,9 @@ var model_service_default = ModelService;
4141
4142
 
4142
4143
  // src/services/user-service/index.ts
4143
4144
  var UserService = {
4144
- async getProfile() {
4145
+ async getProfile(path) {
4145
4146
  const env2 = getEnv();
4146
- return env2.requests.get("/userinfo" /* PROFILE_PATH */, {
4147
+ return env2.requests.get(path ?? "/userinfo" /* PROFILE_PATH */, {
4147
4148
  headers: {
4148
4149
  "Content-Type": "application/x-www-form-urlencoded"
4149
4150
  }
package/dist/services.mjs CHANGED
@@ -2141,6 +2141,7 @@ function matchDomain(record, domain) {
2141
2141
  }
2142
2142
 
2143
2143
  // src/utils/function.ts
2144
+ import { useEffect, useState } from "react";
2144
2145
  var toQueryString = (params) => {
2145
2146
  return Object.keys(params).map(
2146
2147
  (key) => encodeURIComponent(key) + "=" + encodeURIComponent(params[key].toString())
@@ -4097,9 +4098,9 @@ var model_service_default = ModelService;
4097
4098
 
4098
4099
  // src/services/user-service/index.ts
4099
4100
  var UserService = {
4100
- async getProfile() {
4101
+ async getProfile(path) {
4101
4102
  const env2 = getEnv();
4102
- return env2.requests.get("/userinfo" /* PROFILE_PATH */, {
4103
+ return env2.requests.get(path ?? "/userinfo" /* PROFILE_PATH */, {
4103
4104
  headers: {
4104
4105
  "Content-Type": "application/x-www-form-urlencoded"
4105
4106
  }
package/dist/utils.d.mts CHANGED
@@ -86,5 +86,11 @@ declare const updateTokenParamInOriginalRequest: (originalRequest: {
86
86
  data?: any;
87
87
  }, newAccessToken: string) => any;
88
88
  declare const isObjectEmpty: (obj: object) => boolean;
89
+ declare const useField: (props: any) => {
90
+ invisible: boolean;
91
+ required: boolean;
92
+ readonly: boolean;
93
+ nameField: string | null;
94
+ };
89
95
 
90
- export { WesapError, checkIsImageLink, convertFloatToTime, convertTimeToFloat, copyTextToClipboard, domainHelper, evalJSONContext, evalJSONDomain, filterFieldDirty, formatCurrency, formatDate, formatFileSize, formatSortingString, formatUrlPath, getFieldsOnChange, getOffSet, getSubdomain, handleError, isBase64File, isBase64Image, isObjectEmpty, mergeObjects, removeUndefinedFields, resequence, stringToColor, toQueryString, updateTokenParamInOriginalRequest, useTabModel, validateAndParseDate };
96
+ export { WesapError, checkIsImageLink, convertFloatToTime, convertTimeToFloat, copyTextToClipboard, domainHelper, evalJSONContext, evalJSONDomain, filterFieldDirty, formatCurrency, formatDate, formatFileSize, formatSortingString, formatUrlPath, getFieldsOnChange, getOffSet, getSubdomain, handleError, isBase64File, isBase64Image, isObjectEmpty, mergeObjects, removeUndefinedFields, resequence, stringToColor, toQueryString, updateTokenParamInOriginalRequest, useField, useTabModel, validateAndParseDate };
package/dist/utils.d.ts CHANGED
@@ -86,5 +86,11 @@ declare const updateTokenParamInOriginalRequest: (originalRequest: {
86
86
  data?: any;
87
87
  }, newAccessToken: string) => any;
88
88
  declare const isObjectEmpty: (obj: object) => boolean;
89
+ declare const useField: (props: any) => {
90
+ invisible: boolean;
91
+ required: boolean;
92
+ readonly: boolean;
93
+ nameField: string | null;
94
+ };
89
95
 
90
- export { WesapError, checkIsImageLink, convertFloatToTime, convertTimeToFloat, copyTextToClipboard, domainHelper, evalJSONContext, evalJSONDomain, filterFieldDirty, formatCurrency, formatDate, formatFileSize, formatSortingString, formatUrlPath, getFieldsOnChange, getOffSet, getSubdomain, handleError, isBase64File, isBase64Image, isObjectEmpty, mergeObjects, removeUndefinedFields, resequence, stringToColor, toQueryString, updateTokenParamInOriginalRequest, useTabModel, validateAndParseDate };
96
+ export { WesapError, checkIsImageLink, convertFloatToTime, convertTimeToFloat, copyTextToClipboard, domainHelper, evalJSONContext, evalJSONDomain, filterFieldDirty, formatCurrency, formatDate, formatFileSize, formatSortingString, formatUrlPath, getFieldsOnChange, getOffSet, getSubdomain, handleError, isBase64File, isBase64Image, isObjectEmpty, mergeObjects, removeUndefinedFields, resequence, stringToColor, toQueryString, updateTokenParamInOriginalRequest, useField, useTabModel, validateAndParseDate };
package/dist/utils.js CHANGED
@@ -59,6 +59,7 @@ __export(utils_exports, {
59
59
  stringToColor: () => stringToColor,
60
60
  toQueryString: () => toQueryString,
61
61
  updateTokenParamInOriginalRequest: () => updateTokenParamInOriginalRequest,
62
+ useField: () => useField,
62
63
  useTabModel: () => useTabModel,
63
64
  validateAndParseDate: () => validateAndParseDate
64
65
  });
@@ -2556,6 +2557,7 @@ var matchDomains = (context, domains) => {
2556
2557
  };
2557
2558
 
2558
2559
  // src/utils/function.ts
2560
+ var import_react = require("react");
2559
2561
  var evalJSONContext = (_context, context = {}) => {
2560
2562
  try {
2561
2563
  return evalPartialContext(_context, context);
@@ -2895,6 +2897,38 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2895
2897
  var isObjectEmpty = (obj) => {
2896
2898
  return Object.keys(obj).length === 0;
2897
2899
  };
2900
+ var useField = (props) => {
2901
+ const [invisible, setInvisible] = (0, import_react.useState)(true);
2902
+ const [required, setRequired] = (0, import_react.useState)(false);
2903
+ const [readonly, setReadOnly] = (0, import_react.useState)(false);
2904
+ const {
2905
+ invisible: inv,
2906
+ required: req,
2907
+ readonly: rea,
2908
+ onchangeData,
2909
+ rootField,
2910
+ index,
2911
+ name
2912
+ } = props;
2913
+ const nameField = rootField ? `${rootField?.name}.${index}.${name}` : null;
2914
+ (0, import_react.useEffect)(() => {
2915
+ if (onchangeData && Object.keys(onchangeData).length > 0) {
2916
+ setRequired(
2917
+ typeof req === "object" ? matchDomains(onchangeData, req) : checkDomain(onchangeData, req)
2918
+ );
2919
+ setInvisible(matchDomains(onchangeData, inv));
2920
+ setReadOnly(
2921
+ typeof req === "object" ? matchDomains(onchangeData, rea) : checkDomain(onchangeData, rea)
2922
+ );
2923
+ }
2924
+ }, [onchangeData]);
2925
+ return {
2926
+ invisible,
2927
+ required,
2928
+ readonly,
2929
+ nameField
2930
+ };
2931
+ };
2898
2932
 
2899
2933
  // src/utils/storage/local-storage.ts
2900
2934
  var localStorageUtils = () => {
@@ -2963,6 +2997,7 @@ var sessionStorageUtils = () => {
2963
2997
  stringToColor,
2964
2998
  toQueryString,
2965
2999
  updateTokenParamInOriginalRequest,
3000
+ useField,
2966
3001
  useTabModel,
2967
3002
  validateAndParseDate
2968
3003
  });
package/dist/utils.mjs CHANGED
@@ -2490,6 +2490,7 @@ var matchDomains = (context, domains) => {
2490
2490
  };
2491
2491
 
2492
2492
  // src/utils/function.ts
2493
+ import { useEffect, useState } from "react";
2493
2494
  var evalJSONContext = (_context, context = {}) => {
2494
2495
  try {
2495
2496
  return evalPartialContext(_context, context);
@@ -2829,6 +2830,38 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2829
2830
  var isObjectEmpty = (obj) => {
2830
2831
  return Object.keys(obj).length === 0;
2831
2832
  };
2833
+ var useField = (props) => {
2834
+ const [invisible, setInvisible] = useState(true);
2835
+ const [required, setRequired] = useState(false);
2836
+ const [readonly, setReadOnly] = useState(false);
2837
+ const {
2838
+ invisible: inv,
2839
+ required: req,
2840
+ readonly: rea,
2841
+ onchangeData,
2842
+ rootField,
2843
+ index,
2844
+ name
2845
+ } = props;
2846
+ const nameField = rootField ? `${rootField?.name}.${index}.${name}` : null;
2847
+ useEffect(() => {
2848
+ if (onchangeData && Object.keys(onchangeData).length > 0) {
2849
+ setRequired(
2850
+ typeof req === "object" ? matchDomains(onchangeData, req) : checkDomain(onchangeData, req)
2851
+ );
2852
+ setInvisible(matchDomains(onchangeData, inv));
2853
+ setReadOnly(
2854
+ typeof req === "object" ? matchDomains(onchangeData, rea) : checkDomain(onchangeData, rea)
2855
+ );
2856
+ }
2857
+ }, [onchangeData]);
2858
+ return {
2859
+ invisible,
2860
+ required,
2861
+ readonly,
2862
+ nameField
2863
+ };
2864
+ };
2832
2865
 
2833
2866
  // src/utils/storage/local-storage.ts
2834
2867
  var localStorageUtils = () => {
@@ -2896,6 +2929,7 @@ export {
2896
2929
  stringToColor,
2897
2930
  toQueryString,
2898
2931
  updateTokenParamInOriginalRequest,
2932
+ useField,
2899
2933
  useTabModel,
2900
2934
  validateAndParseDate
2901
2935
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fctc/interface-logic",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "types": "dist/index.d.ts",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",