Skip to content

Commit bec1419

Browse files
author
Reed Es
committed
moved showDecimalPoint into config
1 parent 7ffeb07 commit bec1419

File tree

4 files changed

+12
-17
lines changed

4 files changed

+12
-17
lines changed

Sources/NPBaseConfig.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ open class NPBaseConfig<T>: ObservableObject
3333

3434
// MARK: - Public Properties
3535

36+
public var showDecimalPoint: Bool { false }
37+
3638
public var stringValue: String {
3739
sValue
3840
}

Sources/NPFloatConfig.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ public final class NPFloatConfig<T>: NPBaseConfig<T>
5050

5151
// MARK: - Type-specific Actions
5252

53+
override public var showDecimalPoint: Bool { precision > 0 }
54+
5355
override public func decimalPointAction() -> Bool {
5456
guard decimalPointIndex == nil else { return false }
5557
sValue.append(".")

Sources/NumberPad.swift

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,18 @@ public struct NumberPad<T>: View
2424
@ObservedObject private var config: NPBaseConfig<T>
2525
private let horizontalSpacing: CGFloat
2626
private let verticalSpacing: CGFloat
27-
private let showDecimalPoint: Bool
2827
private let onEntry: (NumberPadEnum, Bool) -> Void
2928

3029
// MARK: - Parameters
3130

3231
public init(config: NPBaseConfig<T>,
3332
horizontalSpacing: CGFloat = NumberPadEnum.defaultHorizontalSpacing,
3433
verticalSpacing: CGFloat = NumberPadEnum.defaultVerticalSpacing,
35-
showDecimalPoint: Bool,
3634
onEntry: @escaping (NumberPadEnum, Bool) -> Void = { _, _ in })
3735
{
3836
self.config = config
3937
self.horizontalSpacing = horizontalSpacing
4038
self.verticalSpacing = verticalSpacing
41-
self.showDecimalPoint = showDecimalPoint
4239
self.onEntry = onEntry
4340
}
4441

@@ -62,7 +59,7 @@ public struct NumberPad<T>: View
6259
digit(.d9)
6360
}
6461
HStack(spacing: horizontalSpacing) {
65-
if showDecimalPoint {
62+
if config.showDecimalPoint {
6663
decimalPoint
6764
} else {
6865
blank
@@ -145,23 +142,17 @@ struct NumberPad_Previews: PreviewProvider {
145142
VStack {
146143
Text("\(floatConfig.stringValue)")
147144

148-
NumberPad(
149-
config: floatConfig,
150-
showDecimalPoint: true
151-
)
152-
.buttonStyle(.bordered)
153-
.font(.title2)
145+
NumberPad(config: floatConfig)
146+
.buttonStyle(.bordered)
147+
.font(.title2)
154148

155149
#if !os(watchOS) // not enough room
156150
Divider()
157151

158152
Text("\(integerConfig.stringValue)")
159-
NumberPad(
160-
config: integerConfig,
161-
showDecimalPoint: false
162-
)
163-
.buttonStyle(.bordered)
164-
.font(.title2)
153+
NumberPad(config: integerConfig)
154+
.buttonStyle(.bordered)
155+
.font(.title2)
165156
#endif
166157
}
167158
}

Sources/NumberPadExample.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import SwiftUI
3333
VStack {
3434
Text("\(config.stringValue)")
3535

36-
NumberPad(config: config, showDecimalPoint: true)
36+
NumberPad(config: config)
3737
.buttonStyle(.bordered)
3838
}
3939
.font(.largeTitle)

0 commit comments

Comments
 (0)