You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Keypad plugin extends Framework7 with additional custom keyboards. By default it comes with predefinedNumpad andCalculator keyboards, but it also can be used to create custom keyboards with custom buttons.
Installation
Just grab plugin files fromdist/ folder or using npm:
npm install framework7-plugin-keypad
And link them to your app right AFTER Framework7's scripts and styles:
Can beauto,popover (to open keypad in popover) orsheet (to open in sheet modal). In case ofauto will open in sheet modal on small screens and in popover on large screens.
backdrop
boolean
Allows enable/disable backdrop. If not specified then it will be enabled when it opened in Popover.
containerEl
string or HTMLElement
String with CSS selector or HTMLElement where to place generated Keypad HTML. Use only for inline keypad
containerEl
string or HTMLElement
String with CSS selector or HTMLElement where to place generated Keypad HTML. Use only for inline keypad
inputEl
string or HTMLElement
String with CSS selector or HTMLElement with related input element
scrollToInput
boolean
true
Scroll viewport (page-content) to input when keypad opened
inputReadOnly
boolean
true
Sets "readonly" attribute on specified input
cssClass
string
Additional CSS class name to be set on keypad modal
toolbar
boolean
true
Enables keypad modal toolbar
toolbarCloseText
string
Done
Text for Done/Close toolbar button
value
string
Initial Keypad value
formatValue
function (value)
Function to format input value, should return new/formatted string value.value is the current keypad value
type
string
numpad
Keypad type, could be 'numpad', 'calculator' or 'custom'
valueMaxLength
number
null
Limit value by selected number of characters
dotButton
boolean
true
Only for 'numpad' type. Show or hide "dot" button
dotCharacter
string
'.'
Dot character symbol. Only for 'numpad' and 'calculator' types
buttons
array
Array with keypad buttons, by default it is predefined for numpad and calculator, but can be used for custom keypad.
Each button should be presented as object with the following properties:
html -string - button inner HTML
value -string/number - button value
cssClass -string - additional CSS class on button
dark -boolean - defines "dark" color button
onClick -function (keypad, button) - callback function that will be executed when you click on button
As a reference look at source code to see how buttons defined for Numpad and Calculator
Function to render toolbar. Must return toolbar HTML string
renderPopover
function (keypad)
Function to render popover. Must return popover HTML string
renderSheet
function (keypad)
Function to render sheet modal. Must return sheet modal HTML string
renderInline
function (keypad)
Function to render inline keypad modal. Must return full keypad HTML string
Keypad Methods & Properties
After we initialize Keypad we have its initialized instance in variable (likemyKeypad variable in example above) with helpful methods and properties:
Properties
myKeypad.params
Object with passed initialization parameters
myKeypad.value
Current keypad value
myKeypad.opened
true if Keypad is currently opened
myKeypad.inline
true if Keypad is inline Keypad
myKeypad.$el
Dom7 instance with Keypad container HTML element
myKeypad.$inputEl
Dom7 instance with Keypad input HTML element
Methods
myKeypad.setValue(value)
Set new keypad value.
myKeypad.getValue(value)
Get keypad value.
myKeypad.open()
Open Keypad
myKeypad.close()
Close Keypad
myKeypad.destroy()
Destroy Keypad instance and remove all events
Keypad Events
Event
Target
Arguments
Description
change
keypad
(keypad, value)
Event will be triggered when Keypad value changed
keypadChange
app
(keypad, value)
Event will be triggered when Keypad value changed
buttonClick
keypad
(keypad, button)
Event will be triggered on Keypad button click
keypadButtonClick
app
(keypad, button)
Event will be triggered on Keypad button click
open
keypad
(keypad)
Event will be triggered when Keypad item starts its opening animation (modal open transition)
keypadOpen
app
(keypad)
Event will be triggered when Keypad item starts its opening animation (modal open transition)
opened
keypad
(keypad)
Event will be triggered after Keypad item completes its opening animation (modal open transition)
keypadOpened
app
(keypad)
Event will be triggered after Keypad item completes its opening animation (modal open transition)
close
keypad
(keypad)
Event will be triggered when Keypad item starts its closing animation (modal close transition)
keypadClose
app
(keypad)
Event will be triggered when Keypad item starts its closing animation (modal close transition)
closed
keypad
(keypad)
Event will be triggered after Keypad item completes its closing animation (modal close transition)
keypadClosed
app
(keypad)
Event will be triggered after Keypad item completes its closing animation (modal close transition)
Automatic initialization
Such predefined Numpad and Calculator keypads could be initialized automatically. Just use usual inputs but with special type attribute:
<inputtype="numpad"><inputtype="calculator">
Access to Keypad's Instance
If you initialize Keypad as inline Keypad or using automatic initialization, it is still possible to access to Keypad's instance from its HTML container:
varmyKeypad=$$('.keypad-inline')[0].f7Keypad;
CSS Custom Properties
The following CSS custom properties available to customize it: