Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
najiu-admin-template
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
najiu-frontend
najiu-admin-template
Commits
b49950a3
Commit
b49950a3
authored
Nov 21, 2020
by
vben
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: fix useTimeoutFn not work
parent
f7aa93f5
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
64 additions
and
14 deletions
+64
-14
LazyContainer.vue
src/components/Container/src/LazyContainer.vue
+4
-4
CollapseContainer.vue
src/components/Container/src/collapse/CollapseContainer.vue
+1
-1
Modal.tsx
src/components/Modal/src/Modal.tsx
+1
-1
useDataSource.ts
src/components/Table/src/hooks/useDataSource.ts
+1
-1
DragVerify.tsx
src/components/Verify/src/DragVerify.tsx
+1
-1
ImgRotate.tsx
src/components/Verify/src/ImgRotate.tsx
+1
-1
VerifyModal.vue
src/components/Verify/src/VerifyModal.vue
+1
-1
useTimeout.ts
src/hooks/core/useTimeout.ts
+43
-0
useApexCharts.ts
src/hooks/web/useApexCharts.ts
+1
-1
useECharts.ts
src/hooks/web/useECharts.ts
+1
-1
useMessage.tsx
src/hooks/web/useMessage.tsx
+7
-0
useTabs.ts
src/hooks/web/useTabs.ts
+1
-1
index.vue
src/layouts/logo/index.vue
+1
-1
No files found.
src/components/Container/src/LazyContainer.vue
View file @
b49950a3
...
...
@@ -22,7 +22,7 @@
import
{
defineComponent
,
reactive
,
onMounted
,
ref
,
toRef
,
toRefs
}
from
'
vue
'
;
import
{
Skeleton
}
from
'
ant-design-vue
'
;
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
useIntersectionObserver
}
from
'
/@/hooks/event/useIntersectionObserver
'
;
interface
State
{
isInit
:
boolean
;
...
...
@@ -40,9 +40,9 @@
// The viewport where the component is located. If the component is scrolling in the page container, the viewport is the container
viewport
:
{
type
:
(
typeof
window
!==
'
undefined
'
?
window
.
HTMLElement
:
Object
)
as
PropType
<
HTMLElement
>
,
type
:
(
typeof
window
!==
'
undefined
'
?
window
.
HTMLElement
:
Object
)
as
PropType
<
HTMLElement
>
,
default
:
()
=>
null
,
},
...
...
src/components/Container/src/collapse/CollapseContainer.vue
View file @
b49950a3
...
...
@@ -32,7 +32,7 @@
import
{
triggerWindowResize
}
from
'
/@/utils/event/triggerWindowResizeEvent
'
;
// hook
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
export
default
defineComponent
({
components
:
{
...
...
src/components/Modal/src/Modal.tsx
View file @
b49950a3
import
{
Modal
}
from
'
ant-design-vue
'
;
import
{
defineComponent
,
watchEffect
}
from
'
vue
'
;
import
{
basicProps
}
from
'
./props
'
;
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
extendSlots
}
from
'
/@/utils/helper/tsxHelper
'
;
export
default
defineComponent
({
...
...
src/components/Table/src/hooks/useDataSource.ts
View file @
b49950a3
...
...
@@ -3,7 +3,7 @@ import type { PaginationProps } from '../types/pagination';
import
{
watch
,
ref
,
unref
,
ComputedRef
,
computed
,
onMounted
,
Ref
}
from
'
vue
'
;
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
buildUUID
}
from
'
/@/utils/uuid
'
;
import
{
isFunction
,
isBoolean
}
from
'
/@/utils/is
'
;
...
...
src/components/Verify/src/DragVerify.tsx
View file @
b49950a3
import
{
defineComponent
,
ref
,
computed
,
unref
,
reactive
,
watch
,
watchEffect
}
from
'
vue
'
;
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
useEventListener
}
from
'
/@/hooks/event/useEventListener
'
;
import
{
basicProps
}
from
'
./props
'
;
import
{
getSlot
}
from
'
/@/utils/helper/tsxHelper
'
;
...
...
src/components/Verify/src/ImgRotate.tsx
View file @
b49950a3
import
type
{
MoveData
,
DragVerifyActionType
}
from
'
./types
'
;
import
{
defineComponent
,
computed
,
unref
,
reactive
,
watch
,
ref
,
getCurrentInstance
}
from
'
vue
'
;
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
BasicDragVerify
from
'
./DragVerify
'
;
...
...
src/components/Verify/src/VerifyModal.vue
View file @
b49950a3
<
script
lang=
"tsx"
>
import
{
defineComponent
,
ref
,
unref
}
from
'
vue
'
;
import
{
BasicModal
}
from
'
/@/components/Modal/index
'
;
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
RotateDragVerify
,
DragVerifyActionType
}
from
'
/@/components/Verify/index
'
;
export
default
defineComponent
({
...
...
src/hooks/core/useTimeout.ts
0 → 100644
View file @
b49950a3
import
{
ref
,
watch
}
from
'
vue
'
;
import
{
tryOnUnmounted
}
from
'
/@/utils/helper/vueHelper
'
;
import
{
isFunction
}
from
'
/@/utils/is
'
;
export
function
useTimeoutFn
(
handle
:
Fn
<
any
>
,
wait
:
number
)
{
if
(
!
isFunction
(
handle
))
{
throw
new
Error
(
'
handle is not Function!
'
);
}
const
{
readyRef
,
stop
,
start
}
=
useTimeoutRef
(
wait
);
watch
(
readyRef
,
(
maturity
)
=>
{
maturity
&&
handle
();
},
{
immediate
:
false
}
);
return
{
readyRef
,
stop
,
start
};
}
export
function
useTimeoutRef
(
wait
:
number
)
{
const
readyRef
=
ref
(
false
);
let
timer
:
ReturnType
<
typeof
setTimeout
>
|
undefined
;
function
stop
():
void
{
readyRef
.
value
=
false
;
timer
&&
window
.
clearTimeout
(
timer
);
}
function
start
():
void
{
stop
();
timer
=
setTimeout
(()
=>
{
readyRef
.
value
=
true
;
},
wait
);
}
start
();
tryOnUnmounted
(
stop
);
return
{
readyRef
,
stop
,
start
};
}
src/hooks/web/useApexCharts.ts
View file @
b49950a3
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
tryOnUnmounted
}
from
'
/@/utils/helper/vueHelper
'
;
import
{
unref
,
Ref
,
nextTick
}
from
'
vue
'
;
...
...
src/hooks/web/useECharts.ts
View file @
b49950a3
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
tryOnUnmounted
}
from
'
/@/utils/helper/vueHelper
'
;
import
{
unref
,
Ref
,
nextTick
}
from
'
vue
'
;
import
type
{
EChartOption
,
ECharts
}
from
'
echarts
'
;
...
...
src/hooks/web/useMessage.tsx
View file @
b49950a3
...
...
@@ -46,6 +46,7 @@ function getIcon(iconType: string) {
return
<
CloseCircleFilled
class=
"modal-icon-error"
/>;
}
}
function
renderContent
({
content
}:
Pick
<
ModalOptionsEx
,
'
content
'
>
)
{
return
<
div
innerHTML=
{
`<div>${content as string}</div>`
}
></
div
>;
}
...
...
@@ -64,6 +65,7 @@ function createConfirm(options: ModalOptionsEx): ConfirmOptions {
};
return
Modal
.
confirm
(
opt
)
as
any
;
}
const
baseOptions
=
{
okText
:
'
确定
'
,
centered
:
true
,
...
...
@@ -77,15 +79,19 @@ function createModalOptions(options: ModalOptionsPartial, icon: string): ModalOp
icon
:
getIcon
(
icon
),
};
}
function
createSuccessModal
(
options
:
ModalOptionsPartial
)
{
return
Modal
.
success
(
createModalOptions
(
options
,
'
success
'
));
}
function
createErrorModal
(
options
:
ModalOptionsPartial
)
{
return
Modal
.
error
(
createModalOptions
(
options
,
'
close
'
));
}
function
createInfoModal
(
options
:
ModalOptionsPartial
)
{
return
Modal
.
info
(
createModalOptions
(
options
,
'
info
'
));
}
function
createWarningModal
(
options
:
ModalOptionsPartial
)
{
return
Modal
.
warning
(
createModalOptions
(
options
,
'
warning
'
));
}
...
...
@@ -94,6 +100,7 @@ notification.config({
placement
:
'
topRight
'
,
duration
:
3
,
});
/**
* @description: message
*/
...
...
src/hooks/web/useTabs.ts
View file @
b49950a3
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
PageEnum
}
from
'
/@/enums/pageEnum
'
;
import
{
TabItem
,
tabStore
}
from
'
/@/store/modules/tab
'
;
import
{
appStore
}
from
'
/@/store/modules/app
'
;
...
...
src/layouts/logo/index.vue
View file @
b49950a3
...
...
@@ -8,7 +8,7 @@
import
{
computed
,
defineComponent
,
PropType
,
ref
,
watch
}
from
'
vue
'
;
// hooks
import
{
useSetting
}
from
'
/@/hooks/core/useSetting
'
;
import
{
useTimeoutFn
}
from
'
@vueuse/core
'
;
import
{
useTimeoutFn
}
from
'
/@/hooks/core/useTimeout
'
;
import
{
useGo
}
from
'
/@/hooks/web/usePage
'
;
import
{
PageEnum
}
from
'
/@/enums/pageEnum
'
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment