Skip to content

Commit 0913376

Browse files
authored
Merge pull request #47 from zhainyang/feat-add-scrollnavbar
feat: change class name
2 parents 1f9a6a4 + 0c69931 commit 0913376

9 files changed

Lines changed: 48 additions & 52 deletions

File tree

example/ReactNativeProject/package-lock.json

Lines changed: 0 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/app.mpx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@
5555
"./pages/action-sheet/index",
5656
"./pages/tab-bar/index",
5757
"./pages/slider/index",
58-
"./pages/swipe/index"
58+
"./pages/swipe/index",
59+
"/pages/scroll-nav-bar/index"
5960
]
6061
if (__mpx_mode__ === 'ios' || __mpx_mode__ === 'android') {
6162
pages = [

example/static/wx/project.config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,5 +61,6 @@
6161
"include": []
6262
},
6363
"projectname": "wx",
64-
"appid": "wx3649147d1a8da494"
64+
"appid": "wx05229ce33a9f9cad",
65+
"simulatorPluginLibVersion": {}
6566
}

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@
3030
"init:dev": "pnpm install --frozen-lockfile && cd example && npm ci --legacy-peer-deps && cd ReactNativeProject && npm ci --legacy-peer-deps && npx install-expo-modules"
3131
},
3232
"devDependencies": {
33+
"react": "18.3.1",
34+
"react-native-reanimated": "3.16.7",
35+
"react-native": "0.77.2",
36+
"@mpxjs/store": "2.10.2",
3337
"react-native-gesture-handler": "^2.23.0",
3438
"@babel/runtime-corejs3": "^7.10.4",
3539
"@babel/core": "^7.10.4",

packages/mpx-cube-ui/__tests__/components/scroll-nav-bar/scroll-nav-bar.spec.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ describe('component scroll-nav-bar unit test', function () {
88
simulate.load({
99
id: 'nav-item-content',
1010
tagName: 'nav-item-content',
11-
template: '<rich-text class="nav-item-inner" nodes="{{txt}}"></rich-text>',
11+
template: '<rich-text class="cube-nav-item-inner" nodes="{{txt}}"></rich-text>',
1212
properties: {
1313
txt: {
1414
type: String,
@@ -46,15 +46,15 @@ describe('component scroll-nav-bar unit test', function () {
4646
expect(instance.currentValue).toBe('小巴')
4747
expectCurrentViewId(instance.currentView, 1)
4848
expect(instance.rootClass).toBe('cube-scroll-nav-bar')
49-
expect(instance.containerClass).toBe('scroll-container')
50-
expect(instance.contentClass).toBe('scroll-content')
49+
expect(instance.containerClass).toBe('cube-scroll-container')
50+
expect(instance.contentClass).toBe('cube-scroll-content')
5151
expect(instance.scrollX).toBe(true)
5252
expect(instance.scrollY).toBe(false)
5353
expect(instance.enableFlex).toBe(true)
5454
expect(instance.navItems.map(item => item.plainText)).toEqual(BASE_LABELS)
5555
expect(instance.navItems[1].isActive).toBe(true)
56-
expect(instance.navItems[1].activeClass).toBe('active')
57-
expect(instance.navItems[1].className).toContain('active')
56+
expect(instance.navItems[1].activeClass).toBe('cube-active')
57+
expect(instance.navItems[1].className).toContain('cube-active')
5858
})
5959

6060
it('should render vertical nav and resolve enhanced options', async () => {
@@ -71,15 +71,15 @@ describe('component scroll-nav-bar unit test', function () {
7171
expect(component.dom.innerHTML).toMatchSnapshot()
7272
expect(instance.resolvedDirection).toBe('vertical')
7373
expect(instance.rootClass).toBe('cube-scroll-nav-bar cube-scroll-nav-bar_vertical')
74-
expect(instance.containerClass).toBe('scroll-container scroll-container_vertical')
75-
expect(instance.contentClass).toBe('scroll-content scroll-content_vertical')
74+
expect(instance.containerClass).toBe('cube-scroll-container cube-scroll-container_vertical')
75+
expect(instance.contentClass).toBe('cube-scroll-content cube-scroll-content_vertical')
7676
expect(instance.scrollX).toBe(false)
7777
expect(instance.scrollY).toBe(true)
7878
expect(instance.enableFlex).toBe(false)
7979
expect(instance.useEnhanced).toBe(true)
8080
expect(instance.showScrollbar).toBe(true)
8181
expect(instance.bounces).toBe(true)
82-
expect(instance.navItems[0].className).toContain('nav-item_vertical')
82+
expect(instance.navItems[0].className).toContain('cube-nav-item_vertical')
8383
})
8484

8585
it('should support legacy list api', async () => {
@@ -112,7 +112,7 @@ describe('component scroll-nav-bar unit test', function () {
112112
const changeFn = jest.fn()
113113
component.addEventListener('change', changeFn)
114114

115-
const navItems = component.querySelectorAll('.nav-item')
115+
const navItems = component.querySelectorAll('.cube-nav-item')
116116
navItems[2].dispatchEvent('tap')
117117
await simulate.sleep(10)
118118

@@ -143,7 +143,7 @@ describe('component scroll-nav-bar unit test', function () {
143143
const changeFn = jest.fn()
144144
component.addEventListener('change', changeFn)
145145

146-
const navItems = component.querySelectorAll('.nav-item')
146+
const navItems = component.querySelectorAll('.cube-nav-item')
147147
navItems[1].dispatchEvent('tap')
148148
await simulate.sleep(10)
149149

packages/mpx-cube-ui/src/components/scroll-nav-bar/index.mpx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
is-active="{{ item.isActive }}"
3232
active-class="{{ item.activeClass }}"
3333
></nav-item-content>
34-
<rich-text wx:else class="nav-item-inner" nodes="{{ item.txt }}"></rich-text>
34+
<rich-text wx:else class="cube-nav-item-inner" nodes="{{ item.txt }}"></rich-text>
3535
</block>
3636
<block @_web>
3737
<slot
@@ -44,7 +44,7 @@
4444
isActive="{{ item.isActive }}"
4545
activeClass="{{ item.activeClass }}"
4646
></slot>
47-
<rich-text wx:else class="nav-item-inner" nodes="{{ item.txt }}"></rich-text>
47+
<rich-text wx:else class="cube-nav-item-inner" nodes="{{ item.txt }}"></rich-text>
4848
</block>
4949
</view>
5050
</view>
@@ -65,7 +65,7 @@
6565
&_vertical
6666
height 100%
6767

68-
.scroll-container
68+
.cube-scroll-container
6969
width 100%
7070
height 90rpx
7171
white-space nowrap
@@ -74,7 +74,7 @@
7474
height 100%
7575
white-space normal
7676

77-
.scroll-content
77+
.cube-scroll-content
7878
display inline-flex
7979
width max-content
8080
align-items center
@@ -91,7 +91,7 @@
9191
min-height 100%
9292
padding 12rpx 0
9393

94-
.nav-item
94+
.cube-nav-item
9595
position relative
9696
display inline-flex
9797
align-items center
@@ -106,10 +106,10 @@
106106
transition color 0.2s
107107
box-sizing border-box
108108

109-
&.active
109+
&.cube-active
110110
color $color-primary
111111

112-
&.disabled
112+
&.cube-disabled
113113
color #c8c9cc
114114

115115
&_vertical
@@ -118,12 +118,12 @@
118118
padding 24rpx 28rpx
119119
justify-content center
120120

121-
.nav-item-inner
121+
.cube-nav-item-inner
122122
width 100%
123123
justify-content center
124124
text-align center
125125

126-
.nav-item-inner
126+
.cube-nav-item-inner
127127
display flex
128128
align-items center
129129
justify-content center

packages/mpx-cube-ui/src/components/scroll-nav-bar/nav-item-content.mpx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<rich-text @_web|_wx|_ali class="nav-item-inner" nodes="{{ txt }}"></rich-text>
2+
<rich-text @_web|_wx|_ali class="cube-nav-item-inner" nodes="{{ txt }}"></rich-text>
33
</template>
44

55
<script lang="ts">

packages/mpx-cube-ui/src/components/scroll-nav-bar/scroll-nav-bar.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ const ITEM_ID_PREFIX = 'cube-scroll-nav-item-'
44
const DIRECTION_HORIZONTAL = 'horizontal'
55
const DIRECTION_VERTICAL = 'vertical'
66
const ROOT_CLASS = 'cube-scroll-nav-bar'
7-
const CONTAINER_CLASS = 'scroll-container'
8-
const CONTENT_CLASS = 'scroll-content'
7+
const CONTAINER_CLASS = 'cube-scroll-container'
8+
const CONTENT_CLASS = 'cube-scroll-content'
99

1010
let scrollNavBarInstanceSeed = 0
1111

@@ -266,7 +266,7 @@ createComponent({
266266
disabled,
267267
isActive: false,
268268
activeClass: '',
269-
className: 'nav-item'
269+
className: 'cube-nav-item'
270270
}
271271
})
272272
},
@@ -331,24 +331,24 @@ createComponent({
331331

332332
return navItems.map((item: NormalizedNavItem, index: number): NormalizedNavItem => {
333333
const isActive = index === activeIndex
334-
const classNames = ['nav-item']
334+
const classNames = ['cube-nav-item']
335335

336336
if (isActive) {
337-
classNames.push('active')
337+
classNames.push('cube-active')
338338
}
339339

340340
if (item.disabled) {
341-
classNames.push('disabled')
341+
classNames.push('cube-disabled')
342342
}
343343

344344
if (isVertical) {
345-
classNames.push('nav-item_vertical')
345+
classNames.push('cube-nav-item_vertical')
346346
}
347347

348348
return {
349349
...item,
350350
isActive,
351-
activeClass: isActive ? 'active' : '',
351+
activeClass: isActive ? 'cube-active' : '',
352352
className: classNames.join(' ')
353353
}
354354
})

0 commit comments

Comments
 (0)