forstok-ui-lib 6.18.0 → 6.18.2
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/index.d.ts +11 -2
- package/dist/index.js +36 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +382 -382
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/assets/javascripts/function.ts +149 -13
package/package.json
CHANGED
|
@@ -3,6 +3,7 @@ import { ReactNode } from 'react';
|
|
|
3
3
|
import { TMessage, TMessageFunction, TMessageQuestion } from '../../components/message/typed';
|
|
4
4
|
import { TObject } from '../../typeds/base.typed';
|
|
5
5
|
import { errorTitle } from './helper';
|
|
6
|
+
import { THeadProps } from '../../typeds';
|
|
6
7
|
|
|
7
8
|
export const getStorage = (name: string, type: string = 'string', defaultVal?: any, loadName: string = 'load') => {
|
|
8
9
|
let result: any
|
|
@@ -456,30 +457,30 @@ export const evScrollTo = (el?: HTMLElement, range?: number) => {
|
|
|
456
457
|
}
|
|
457
458
|
}
|
|
458
459
|
|
|
459
|
-
export const evHighlight = (ids
|
|
460
|
+
export const evHighlight = (ids?: string[]|number[]) => {
|
|
460
461
|
if (!ids?.length) {
|
|
461
|
-
return
|
|
462
|
+
return false
|
|
462
463
|
}
|
|
463
|
-
const timer = Math.ceil(ids.length/10)*10 <= 10 ? 30 : (Math.ceil(ids.length/10)*10 >= 200 ? 200 : Math.ceil(ids.length/10)*10)
|
|
464
|
+
const timer: number = Math.ceil(ids.length/10)*10 <= 10 ? 30 : (Math.ceil(ids.length/10)*10 >= 200 ? 200 : Math.ceil(ids.length/10)*10)
|
|
464
465
|
setTimeout(() => {
|
|
465
|
-
const contentHightlightedEls = document.querySelectorAll('._refMasterTableBodyContent.is-highlighted') as NodeListOf<HTMLElement
|
|
466
|
+
const contentHightlightedEls = document.querySelectorAll('._refMasterTableBodyContent.is-highlighted') as NodeListOf<HTMLElement>
|
|
466
467
|
if (contentHightlightedEls?.length) {
|
|
467
468
|
for (const contentHightlightedEl of contentHightlightedEls) {
|
|
468
|
-
contentHightlightedEl.classList.remove('is-highlighted')
|
|
469
|
+
contentHightlightedEl.classList.remove('is-highlighted')
|
|
469
470
|
}
|
|
470
471
|
}
|
|
471
|
-
for(let i = 0; i < ids.length; i++) {
|
|
472
|
-
const id = ids[i]
|
|
473
|
-
const el = document.querySelector(`#row-${id}`) as HTMLElement
|
|
472
|
+
for (let i = 0; i < ids.length; i++) {
|
|
473
|
+
const id = ids[i]
|
|
474
|
+
const el = document.querySelector(`#row-${id}`) as HTMLElement
|
|
474
475
|
if (el) {
|
|
475
|
-
el.classList.add('is-highlighted')
|
|
476
|
+
el.classList.add('is-highlighted')
|
|
476
477
|
setTimeout(() => {
|
|
477
|
-
el.classList.remove('is-highlighted')
|
|
478
|
+
el.classList.remove('is-highlighted')
|
|
478
479
|
}, 1888)
|
|
479
480
|
}
|
|
480
|
-
if(i === (ids.length - 1)) {
|
|
481
|
-
const firstEl = document.querySelector(`#row-${ids[0]}`) as HTMLElement
|
|
482
|
-
|
|
481
|
+
if (i === (ids.length - 1)) {
|
|
482
|
+
const firstEl = document.querySelector(`#row-${ids[0]}`) as HTMLElement
|
|
483
|
+
firstEl && evScrollTo(firstEl, 140)
|
|
483
484
|
}
|
|
484
485
|
}
|
|
485
486
|
}, timer)
|
|
@@ -690,4 +691,139 @@ export const generateAddress = (address?: TObject | null) => {
|
|
|
690
691
|
result = firstLine + secondLine + thirdLine + lastLine
|
|
691
692
|
}
|
|
692
693
|
return result
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
export const evRemoveActiveButton = () => {
|
|
697
|
+
const nextButtonEl = document.querySelector('#btn-active-red') as HTMLButtonElement
|
|
698
|
+
nextButtonEl && nextButtonEl.removeAttribute('id')
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
export const evCheckAllValidationByHeader = (data: any[], headerColumns: THeadProps[]) => {
|
|
702
|
+
let isError = false
|
|
703
|
+
const validByHeader = (key: string, valuex: any, idx?: number, title = null) => {
|
|
704
|
+
const __idx = idx || 0
|
|
705
|
+
const validHeaderKeyFilter = headerColumns.filter(header => (header.key === key && header.validations))
|
|
706
|
+
if (validHeaderKeyFilter.length) {
|
|
707
|
+
const head = validHeaderKeyFilter[__idx]
|
|
708
|
+
const type = head.typeData || 'String'
|
|
709
|
+
const _value = generateValue(type, valuex)
|
|
710
|
+
const valid = validateByApproveJs(head, _value, title || '')
|
|
711
|
+
return valid
|
|
712
|
+
}
|
|
713
|
+
return { approved: true }
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
const newData = []
|
|
717
|
+
for (let x=0; x<data.length; x++) {
|
|
718
|
+
const _data = data[x]
|
|
719
|
+
const keys = Object.keys(_data)
|
|
720
|
+
|
|
721
|
+
for (const key of keys) {
|
|
722
|
+
let _valid: TObject = { approved: true }
|
|
723
|
+
if (Array.isArray(_data[key])) {
|
|
724
|
+
for (let i = 0; i < _data[key].length; i++) {
|
|
725
|
+
const _dataArr = _data[key][i]
|
|
726
|
+
const keysArr = Object.keys(_dataArr)
|
|
727
|
+
for (const keyArr of keysArr) {
|
|
728
|
+
if (Array.isArray(_dataArr[keyArr])) {
|
|
729
|
+
for (let z = 0; z < _dataArr[keyArr].length; z++) {
|
|
730
|
+
const _dataArrArr = _dataArr[keyArr][z]
|
|
731
|
+
const keysArrArr = Object.keys(_dataArrArr)
|
|
732
|
+
for (const keyArrArr of keysArrArr) {
|
|
733
|
+
_valid = validByHeader(keyArrArr, _dataArrArr[keyArrArr])
|
|
734
|
+
if (!_valid.approved) {
|
|
735
|
+
_dataArrArr[`${keyArr}_error`] = _valid.errors[0]
|
|
736
|
+
if (!isError) {
|
|
737
|
+
isError = true
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
if (keyArrArr.indexOf('_error') !== -1 && !isError) {
|
|
741
|
+
isError = true
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
} else {
|
|
746
|
+
_valid = validByHeader(keyArr, _dataArr[keyArr])
|
|
747
|
+
if (!_valid.approved) {
|
|
748
|
+
_dataArr[`${keyArr}_error`] = _valid.errors[0]
|
|
749
|
+
if (!isError) {
|
|
750
|
+
isError = true
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
if (keyArr.indexOf('_error') !== -1 && !isError) {
|
|
754
|
+
isError = true
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
} else {
|
|
760
|
+
_valid = validByHeader(key, _data[key])
|
|
761
|
+
if (!_valid.approved) {
|
|
762
|
+
_data[`${key}_error`] = _valid.errors[0]
|
|
763
|
+
if (!isError) {
|
|
764
|
+
isError = true
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
if (key.indexOf('_error') !== -1 && !isError) {
|
|
768
|
+
isError = true
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
newData.push(_data)
|
|
773
|
+
}
|
|
774
|
+
return { error: isError, data: newData }
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
export const evCheckAllValidationByHeaderWithVariant = (newData: any[], headerColumns: THeadProps[]) => {
|
|
778
|
+
let isError = false
|
|
779
|
+
|
|
780
|
+
const validByHeader = (key: string, valuex: any, idx?: number, content?: any) => {
|
|
781
|
+
const __idx = idx || 0
|
|
782
|
+
const validHeaderKeyFilter = headerColumns.filter(header => (header.key === key && header.validations))
|
|
783
|
+
if (validHeaderKeyFilter.length) {
|
|
784
|
+
const head = validHeaderKeyFilter[__idx]
|
|
785
|
+
const type = head.typeData || 'String'
|
|
786
|
+
const _value = generateValue(type, valuex)
|
|
787
|
+
const valid = validateByApproveJs(head, _value, undefined, evGenerateValueMatch(head.validations, content))
|
|
788
|
+
return valid
|
|
789
|
+
}
|
|
790
|
+
return { approved: true }
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
let _newData = [...newData]
|
|
794
|
+
for (let x=0; x<_newData.length; x++) {
|
|
795
|
+
let _data = _newData[x]
|
|
796
|
+
let keys = Object.keys(_data)
|
|
797
|
+
|
|
798
|
+
for (const key of keys) {
|
|
799
|
+
if (Array.isArray(_data[key]) && _data[key].length && typeof _data[key][0] === 'object') {
|
|
800
|
+
for (let i = 0; i < _data[key].length; i++){
|
|
801
|
+
const _dataArr = _data[key][i]
|
|
802
|
+
const keysArr = Object.keys(_dataArr)
|
|
803
|
+
for (const keyArr of keysArr) {
|
|
804
|
+
if (!Array.isArray(_dataArr[keyArr])) {
|
|
805
|
+
const _key = `${key}-${keyArr}`,
|
|
806
|
+
valid = validByHeader(_key, _dataArr[keyArr], undefined, _dataArr)
|
|
807
|
+
if (!valid.approved) {
|
|
808
|
+
_dataArr[`${keyArr}_error`] = valid.errors[0]
|
|
809
|
+
if (!isError) {
|
|
810
|
+
isError = true
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
} else {
|
|
817
|
+
const valid = validByHeader(key, _data[key], undefined, _data)
|
|
818
|
+
if (!valid.approved) {
|
|
819
|
+
_data[`${key}_error`] = valid.errors[0]
|
|
820
|
+
if (!isError) {
|
|
821
|
+
isError = true
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
_newData.splice(x, 1, _data)
|
|
827
|
+
}
|
|
828
|
+
return { error: isError, data: _newData }
|
|
693
829
|
}
|