1: <?php
2:
3: class InputMasked {
4:
5: public static function maskedText(ExtendedFormHelper $helper, $fieldName, $options) {
6: $id = $helper->createNewDomId();
7: $hiddenInput = self::__hiddenInput($helper, $fieldName);
8: $visibleInput = self::__visibleInput($helper, $fieldName, $options);
9: $initData = json_encode(array(
10: 'mask' => $options['mask'],
11: ));
12: return <<<EOT
13: <span id="$id" initCallback="ExtendedFormHelper.InputMasked.initInput" initData='$initData' >
14: $hiddenInput
15: $visibleInput
16: </span>
17: EOT;
18: }
19:
20: private static function __hiddenInput($helper, $fieldName) {
21: return $helper->hidden($fieldName, array('subId' => 'hiddenInput'));
22: }
23:
24: private static function __visibleInput($helper, $fieldName, $attributes) {
25: $visibleInputName = $fieldName . '_masked';
26: $helper->setEntity($visibleInputName);
27: $visibleId = $helper->createNewDomId();
28: return $helper->nonExtendedText(
29: $visibleInputName, array_merge(
30: $attributes, array(
31: 'id' => $visibleId,
32: 'subId' => 'visibleInput',
33: )
34: )
35: );
36: }
37:
38: }
39: